Macro cross-module reference identifier length obtaining method, electronic device and medium

By acquiring and updating the set of location information of macro cross-module reference identifiers and calculating their length in the original design file, the problem of not being able to accurately obtain the length of macro cross-module reference identifiers in the prior art is solved, and accurate and fast location determination and debugging support are achieved.

CN121635900BActive Publication Date: 2026-06-09SHANGHAI UNIVISTA IND SOFTWARE GRP CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI UNIVISTA IND SOFTWARE GRP CO LTD
Filing Date
2026-02-04
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing debugging tools cannot accurately express the complete information corresponding to cross-module references, making it impossible to determine the location information of macro cross-module reference identifiers and to accurately and quickly obtain their length.

Method used

By obtaining the set of location information of macro cross-module reference identifiers to be processed, updating the location information of macro references to the location information in the original design file, calculating its length in the original design file, and combining the length of objects and interval lengths in the macro expanded text, the accurate length of the macro cross-module reference identifier is determined.

Benefits of technology

It enables accurate and rapid acquisition of the length of cross-module reference identifiers containing macros, determines their exact position in the original design file and macro expansion text, supports the execution of debugging operations, and improves processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121635900B_ABST
    Figure CN121635900B_ABST
Patent Text Reader

Abstract

This invention relates to the field of macro text processing technology, and more particularly to a method, electronic device, and medium for obtaining the length of a macro-containing cross-module reference identifier. Step S1: Obtain the macro-containing cross-module reference identifier A to be processed. n The corresponding location information set; Step S2, if A n If the starting position is the location information involving macro references, then A10 will be... n Updated to A n The starting position is the location information in the original design file; otherwise, A10 n If A remains unchanged, n If the ending position is the location information involving macro references, then A20 will be... n Updated to A n The end position information in the original design file; otherwise, A20 n Keep it unchanged; Step S3, determine as A n Length R in the original design file n Step S4: Determine B n The length W in the macro expansion file n This invention can accurately and quickly obtain the length of cross-module reference identifiers containing macros.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of macro text processing technology, and in particular to a method, electronic device, and medium for obtaining the length of a cross-module reference identifier containing macros. Background Technology

[0002] Cross-Module Referencing (XMR), also known as hierarchical referencing, is a built-in mechanism in hardware description languages ​​such as Verilog and SystemVerilog. It's used to globally reference networks within a hierarchical structure from any module, allowing direct referencing of any network from a specific module across different modules without needing to go through ports. A macro-containing cross-module referencing identifier refers to a cross-module referencing object containing macros, such as `AA.bb.cc`. This identifier includes an object (token) and a connector. In the cross-module referencing `AA.bb.cc`, `AA`, `bb`, and `cc` are tokens, and "." is the connector. For macro objects, such as `AA`, when parsing the original design file, the macro's location information is the macro expansion location information. This information is inconsistent with the location information in the original design file and cannot be directly used to calculate the length of the cross-module referencing. Therefore, it's difficult to bind complete identifier information to cross-module referencing. Existing debugging tools typically segment cross-module references and bind a complete cross-module reference object to each token. However, this approach fails to accurately represent the complete information corresponding to the cross-module reference, making it impossible to determine the location of the macro cross-module reference identifier or bind an object to it. Therefore, accurately and quickly obtaining the length of the macro cross-module reference identifier is a pressing technical problem that needs to be solved. Summary of the Invention

[0003] The purpose of this invention is to provide a method, electronic device, and medium for obtaining the length of a macro-containing cross-module reference identifier, which can accurately and quickly obtain the length of the macro-containing cross-module reference identifier.

[0004] According to a first aspect of the present invention, a method for obtaining the length of a macro-containing cross-module reference identifier is provided, comprising:

[0005] Step S1: Obtain the macro-containing cross-module reference identifier A to be processed. n The corresponding location information set {A0 n A1 n A2 n ,...,A i n ,...,A f(n) n}, where n ranges from 1 to N, and N is the total number of macro cross-module reference identifiers to be processed, A0 n Including An Corresponding starting position information A10 n and end position information A20 n A i n Including A n The starting position information A1 corresponding to the i-th object in the middle i n and end position information A2 i n The value of i ranges from 1 to f(n), and f(n) is A. n The total number of objects contained therein, where the location information involving macro references is the location information in the corresponding macro expansion file, and the location information not involving macro references is the location information in the original design file. The location information includes the row number and column number.

[0006] Step S2, if A n If the starting position is the location information involving macro references, then A10 will be... n Updated to A n The starting position is the location information in the original design file; otherwise, A10 n If A remains unchanged, n If the ending position is the location information involving macro references, then A20 will be... n Updated to A n The end position information in the original design file; otherwise, A20 n Remain unchanged;

[0007] Step S3, A20 n Subtract A10 from the column number n The value of column number is determined as A. n Length R in the original design file n ;

[0008] Step S4, based on A1 n A2 n ,...,A i n ,...,A f(n) n Get A n Corresponding macro expansion text B n The length of each object and the spacing between adjacent objects in B n The sum of the length of each object and the spacing between adjacent objects is determined as B. n The length W in the macro expansion file n .

[0009] According to a second aspect of the present invention, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being configured to perform the method described in the first aspect of the present invention.

[0010] According to a third aspect of the present invention, a computer-readable storage medium is provided, storing computer-executable instructions for performing the method described in the first aspect of the present invention.

[0011] Compared with existing technologies, this invention has significant advantages and beneficial effects. Through the above technical solution, the method, electronic device, and medium for obtaining the length of a macro-cross-module reference identifier provided by this invention achieve considerable technological advancement and practicality, and have broad industrial application value. It has at least the following beneficial effects:

[0012] This invention can accurately and quickly obtain the length of macro-containing cross-module reference identifiers, thereby determining the precise position of the macro-containing cross-module reference identifiers in the original design file and in the macro expanded text. This enables the binding of macro-containing cross-module reference identifiers in the original design file and in the macro expanded text to objects that can be recognized and support debugging operations, thus realizing the identification, annotation, and debugging of macro-containing cross-module reference identifiers and improving the efficiency of processing macro-containing cross-module reference identifiers. Attached Figure Description

[0013] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0014] Figure 1 This is a flowchart of a method for obtaining the length of a macro-based cross-module reference identifier provided in an embodiment of the present invention;

[0015] Figure 2 This is a diagram showing the location of macro cross-module reference identifiers in the original design file and the corresponding set of location information. Detailed Implementation

[0016] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0017] This invention provides a method for obtaining the length of a cross-module reference identifier containing macros, including:

[0018] Step S1: Obtain the macro-containing cross-module reference identifier A to be processed. n The corresponding location information set {A0 n A1 n A2 n ,...,A i n ,...,A f(n) n}, where n ranges from 1 to N, and N is the total number of macro cross-module reference identifiers to be processed, A0 n Including A n Corresponding starting position information A10 n and end position information A20 n A i n Including A n The starting position information A1 corresponding to the i-th object in the middle i n and end position information A2 i n The value of i ranges from 1 to f(n), and f(n) is A. n The total number of objects included, where the location information involving macro references is the location information in the corresponding macro expansion file, and the location information not involving macro references is the location information in the original design file. The location information includes the row number and column number.

[0019] Specifically, the macro-containing cross-module reference identifiers to be processed can be macro-containing cross-module reference identifiers in the chip design code file, N is the total number of macro-containing cross-module reference identifiers to be processed in the chip design code file, and the original design file is the chip design code file. The chip design code file can be a Verilog file. During front-end compilation, the Verilog file will perform object splitting on the macro-containing cross-module reference identifiers to be processed, generating macro-containing cross-module reference identifier A. n The corresponding location information includes the location information in the macro expansion file for macro references, and the location information in the original design file for non-macro references. For example... Figure 2 The example shown uses the macro cross-module reference identifier to be processed in line 4 of the original design file. The original design file code is shown in the upper half of the figure, and the corresponding location set is shown in the lower half of the figure.

[0020] Step S2, if A nIf the starting position is the location information involving macro references, then A10 will be... n Updated to A n The starting position is the location information in the original design file; otherwise, A10 n If A remains unchanged, n If the ending position is the location information involving macro references, then A20 will be... n Updated to A n The end position information in the original design file; otherwise, A20 n It remains unchanged.

[0021] It should be noted that A0 n This is for information about the length of macro cross-module reference identifiers in the original design file, but the presence of macro references may cause A10. n A20 n The information contained in the macro expansion file is not directly usable for calculating the length of the macro cross-module reference identifier in the original design file, so it needs to be converted first.

[0022] Step S3, A20 n Subtract A10 from the column number n The value of column number is determined as A. n Length R in the original design file n .

[0023] It should be noted that A20 after processing in step S2 n and A10 n All of these are location information corresponding to the original design file; therefore, they are directly based on 20. n Column number and A10 n The column number can be used to determine A n Length R in the original design file n .

[0024] Step S4, based on A1 n A2 n ,...,A i n ,...,A f(n) n Get A n Corresponding macro expansion text B n The length of each object and the spacing between adjacent objects in B n The sum of the length of each object and the spacing between adjacent objects is determined as B. n The length W in the macro expansion file n .

[0025] The spacing between adjacent objects includes spaces and connectors, with connectors specifically being . or ::.

[0026] As one embodiment, the method further includes:

[0027] Step S10: Obtain A n Each macro reference in the macro file corresponds to a macro expansion file, which includes a file identifier, the macro expansion text, and the start and end positions of the macro expansion text within the macro expansion file.

[0028] by Figure 2 In the example shown, the file identifier in the macro expansion file corresponding to `TOP is MacroFile 103, and the file identifier in the macro expansion file corresponding to `CAL is MacroFile 104.

[0029] Step S20: Establish A n The mapping relationship between the location information of each macro reference in the original design file and the location information of the expanded text object in the macro expansion file corresponding to the macro reference.

[0030] As one embodiment, step S2 includes:

[0031] Step S21, if A n If the first object is a macro reference, then A n The starting position is the location information involving macro references, then based on A n The mapping relationship between the location information of the first object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The starting position information in the original design file, A10 n Updated to A n The starting position is the location information in the original design file; otherwise, A10 n It remains unchanged.

[0032] Step S22, if A n If the last object is a macro reference, then A n The ending position is the location information involving macro references, then based on A n The mapping relationship between the location information of the last object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The end position information in the original design file, A20 n Updated to A n The end position information in the original design file; otherwise, A20 n It remains unchanged.

[0033] It should be noted that, through steps S21-S22, A10 n A20 n Unified update to A n Location information in the original design file.

[0034] As one embodiment, step S3 includes:

[0035] Step S31, update A20 n Subtract the updated A10 from the column number n The value of column number is determined as A. n Length in the original design file.

[0036] Step S32, update A10 n Determined as A n The starting position information in the original design file will be updated to A20. n Determined as A n End position information in the original design file.

[0037] Step S33, for A n Bind the corresponding object C that can be recognized and supports debugging operations. n .

[0038] It should be noted that, in determining A n Based on the length of the original design file and the determination of A n Based on the location information in the original design file, A can be... n Bind the corresponding object C that can be recognized and supports debugging operations. n This allows for subsequent functions such as highlighting and selection / jumping.

[0039] As one embodiment, step S4 includes:

[0040] Step S41, Initial settings: i=1, B n Length W n =0.

[0041] Step S42, A2 i n Subtract A1 from the column number i n The column number is determined to be B. n The length D of the i-th object i n Update W n =W n +D i n .

[0042] Step S43, if A2 i n and A1 i+1 n If all the information is not related to macro references, or if all the information is related to macro references, belongs to the same macro reference, and is on the same line, then proceed to step S45; otherwise, proceed to step S44.

[0043] It should be noted that if A2 i n and A1 i+1 n If all the information is location information that does not involve macro references, or if all the information is location information that involves macro references, belongs to the same macro reference, and is on the same line, then directly base it on A1. i+1 n A2 i n Determine B n The length of the i-th interval, if A2 i n and A1 i+1 n Not all of them involve positional information that does not involve macro references, or A1 i+1 n A2 i n They are not in the same macro position, so A2 needs to be changed. i n and A1 i+1 n After converting it to its position in the original design file, you can then perform the operation to get the length of the i-th interval.

[0044] Step S44, based on A n The location information of each macro reference in the original design file and the expanded text object in A n The mapping relationship of the position information in the corresponding macro expansion file, A1 i+1 n A2 i n The location of macro references is updated to the corresponding location information in the original design file.

[0045] Step S45, A1 i+1 n Subtract A2 from the column number i n The column number is determined to be B. n The length of the i-th interval E i n Update W n =W n +E in .

[0046] Step S46: If i = f(n), then set the current W... n Determined as B n If the length in the macro expansion file is not specified, then update i=i+1 and return to step S42.

[0047] It should be noted that for regular macro-containing cross-module reference identifiers to be processed, the expanded length B of the macro-containing cross-module reference identifier can be accurately obtained through steps S41-S46. n However, for the case of a preset optimization process during macro expansion, steps S41-S46 cannot accurately obtain the length of the macro to be processed after expansion containing cross-module reference identifiers, and there will be a length offset. The preset optimization process may include removing the middle space, replacing the parameter with the actual value, etc. For example: xmr “`AA [NUM] .data”, where AA represents top.infaa; therefore, after the macro text is replaced in the expanded line, the other content is retained, forming “top.infaa [NUM] .data”. However, when checking its second token: infaa[0], it is found that due to the existence of the constant NUM, the front-end will optimize during parsing, remove the middle space, and replace the parameter NUM with the actual value 0. In order to better accommodate such problems, this invention further proposes a secondary correction process for the identifier length during macro expansion. As an example, if there is a preset optimization process during macro expansion, then after step S46, the following is executed:

[0048] Step S47, Obtain B n All macro expanded text in A n The sum of the length differences of the corresponding macro references in F n .

[0049] Step S48, Determine W n With R n Is the difference equal to F? n If the result is equal to the given value, the process ends; otherwise, proceed to step S49.

[0050] Among them, if W is broken n With R n The difference is equal to F n This indicates that W is currently... n It is accurate and requires no correction; otherwise, correction is necessary.

[0051] Step S49: Obtain the correction value G n =F n -(W) n -R n ), Update W n =Wn +G n .

[0052] This completes the secondary correction of identifier length based on macro expansion. It resolves the issue of XMR failing to correctly obtain the binding length in macro expansion lines due to token optimization.

[0053] As one embodiment, step S47 includes:

[0054] Step S471, Obtain A n The length of each macro referenced object in B, and B n The length of the macro expanded text corresponding to each macro reference.

[0055] Step S472, Obtain B n The length of the macro expanded text corresponding to each macro reference in A is equal to the length of the macro expanded text in A. n The length difference of each macro referenced object.

[0056] Step S473, B n The length of the expanded text corresponding to all macro references in A is equal to the length of the macro references in A. n The sum of the length differences of the corresponding macro reference objects is determined as F. n .

[0057] As one embodiment, the step S49 is followed by:

[0058] Step S50, if A n If the first object is a non-macro reference, then it is based on A. n The mapping relationship between the location information of the first object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The position information of the first object in the macro expansion file, which will be A n The position information of the first object in the macro expansion file is determined to be B. n The starting position is the location information in the macro expansion file; otherwise, directly use A11. n Determined as B n The starting position of the macro is its location within the macro expansion file.

[0059] Step S51, if A n If the last object is a non-macro reference, then based on A n The mapping relationship between the location information of the last object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The location information of the last object in the macro expansion file, which will be A n The location information of the last object in the macro expansion file is determined to be B. nThe ending position is the location information in the macro expansion file; otherwise, directly add A2. f(n) n Determined as B n The position of the end of the macro in the macro expansion file.

[0060] Step S53, for B n Bind the corresponding object C that can be recognized and supports debugging operations. n .

[0061] It should be noted that, in determining B n Based on the length of the macro expansion file and determining B n Based on the position information in the macro expansion file, B can be... n Bind the corresponding object C that can be recognized and supports debugging operations. n This allows for subsequent functions such as highlighting and selection / jumping.

[0062] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of this invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0063] It should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the steps as sequential processes, many of these steps can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the steps can be rearranged. A process can be terminated when its operation is complete, but it may also have additional steps not included in the figures. A process can correspond to a method, function, procedure, subroutine, subroutine, etc.

[0064] This invention also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being configured to perform the method described in this invention.

[0065] This invention also provides a computer-readable storage medium storing computer-executable instructions for performing the methods described in this invention.

[0066] The embodiments of the present invention can accurately and quickly obtain the length of macro cross-module reference identifiers, thereby determining the exact position of macro cross-module reference identifiers in the original design file and in the macro expanded text. This enables the binding of macro cross-module reference identifiers in the original design file and in the macro expanded text to objects that can be recognized and support debugging operations, thereby enabling the identification, annotation, and debugging of macro cross-module reference identifiers and improving the efficiency of processing macro cross-module reference identifiers.

[0067] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications or alterations to the above-disclosed technical content to create equivalent embodiments without departing from the scope of the present invention. Any simple modifications, equivalent changes, and alterations made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the scope of the present invention.

Claims

1. A method for obtaining the length of a cross-module reference identifier containing macros, characterized in that, include: Step S1: Obtain the macro-containing cross-module reference identifier A to be processed. n The corresponding location information set {A0 n A1 n A2 n ,...,A i n ,...,A f(n) n }, where n ranges from 1 to N, and N is the total number of macro cross-module reference identifiers to be processed, A0 n Including A n Corresponding starting position information A10 n and end position information A20 n A i n Including A n The starting position information A1 corresponding to the i-th object in the middle i n and end position information A2 i n The value of i ranges from 1 to f(n), and f(n) is A. n The total number of objects contained therein, where the location information involving macro references is the location information in the corresponding macro expansion file, and the location information not involving macro references is the location information in the original design file. The location information includes the row number and column number. Step S2, if A n If the starting position is the location information involving macro references, then A10 will be... n Updated to A n The starting position is the location information in the original design file; otherwise, A10 n If A remains unchanged, n If the ending position is the location information involving macro references, then A20 will be... n Updated to A n The end position information in the original design file; otherwise, A20 n Remain unchanged; Step S3, A20 n Subtract A10 from the column number n The value of column number is determined as A. n Length R in the original design file n ; Step S4, based on A1 n A2 n ,...,A i n ,...,A f(n) n Get A n Corresponding macro expansion text B n The length of each object and the spacing between adjacent objects in B n The sum of the length of each object and the spacing between adjacent objects is determined as B. n The length W in the macro expansion file n .

2. The method according to claim 1, characterized in that, The method further includes: Step S10: Obtain A n Each macro reference in the macro file corresponds to a macro expansion file, which includes a file identifier, macro expansion text, and the start and end positions of the macro expansion text within the macro expansion file. Step S20: Establish A n The mapping relationship between the location information of each macro reference in the original design file and the location information of the expanded text object in the macro expansion file corresponding to the macro reference.

3. The method according to claim 1, characterized in that, Step S2 includes: Step S21, if A n If the first object is a macro reference, then A n The starting position is the location information involving macro references, then based on A n The mapping relationship between the location information of the first object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The starting position information in the original design file, A10 n Updated to A n The starting position is the location information in the original design file; otherwise, A10 n Remain unchanged; Step S22, if A n If the last object is a macro reference, then A n The ending position is the location information involving macro references, then based on A n The mapping relationship between the location information of the last object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The end position information in the original design file, A20 n Updated to A n The end position information in the original design file; otherwise, A20 n It remains unchanged.

4. The method according to claim 1, characterized in that, Step S3 includes: Step S31, update A20 n Subtract the updated A10 from the column number n The value of column number is determined as A. n Length in the original design file; Step S32, update A10 n Determined as A n The starting position information in the original design file will be updated to A20. n Determined as A n End position information in the original design file; Step S33, for A n Bind the corresponding object C that can be recognized and supports debugging operations. n .

5. The method according to claim 1, characterized in that, Step S4 includes: Step S41, Initial settings: i=1, B n Length W n =0; Step S42, A2 i n Subtract A1 from the column number i n The column number is determined to be B. n The length D of the i-th object i n Update W n =W n +D i n ; Step S43, if A2 i n and A1 i+1 n If all of them are location information that does not involve macro references, or if all of them are location information that involves macro references and belong to the same macro reference and are on the same line, then proceed to step S45; otherwise, proceed to step S44. Step S44, based on A n The location information of each macro reference in the original design file and the expanded text object in A n The mapping relationship of the position information in the corresponding macro expansion file, A1 i+1 n A2 i n The locations of macro references are updated to their corresponding locations in the original design file; Step S45, A1 i+1 n Subtract A2 from the column number i n The column number is determined to be B. n The length of the i-th interval E i n Update W n =W n +E i n ; Step S46: If i = f(n), then set the current W... n Determined as B n If the length in the macro expansion file is not specified, then update i=i+1 and return to step S42.

6. The method according to claim 5, characterized in that, If a preset optimization process exists during macro expansion, then step S46 will be executed as follows: Step S47, Obtain B n All macro expanded text in A n The sum of the length differences of the corresponding macro references in F n ; Step S48, Determine W n With R n Is the difference equal to F? n If it equals, then the process ends; otherwise, proceed to step S49. Step S49: Obtain the correction value G n =F n -(W) n -R n ), update W n =W n +G n .

7. The method according to claim 6, characterized in that, Step S47 includes: Step S471, Obtain A n The length of each macro referenced object in B, and B n The length of the expanded text corresponding to each macro reference in the table; Step S472, Obtain B n The length of the macro expanded text corresponding to each macro reference in A is equal to the length of the macro expanded text in A. n The length difference of each macro-referenced object in the table; Step S473, B n The length of the expanded text corresponding to all macro references in A is equal to the length of the macro references in A. n The sum of the length differences of the corresponding macro reference objects is determined as F. n .

8. The method according to claim 6, characterized in that, Following step S49, the following is also included: Step S50, if A n If the first object is a non-macro reference, then it is based on A. n The mapping relationship between the location information of the first object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The position information of the first object in the macro expansion file, which will be A n The position information of the first object in the macro expansion file is determined to be B. n The starting position is the location information in the macro expansion file; otherwise, directly use A11. n Determined as B n The starting position of the macro in the macro expansion file; Step S51, if A n If the last object is a non-macro reference, then based on A n The mapping relationship between the location information of the last object in the original design file and the location information of the expanded text object in the macro expanded file corresponding to the macro reference is obtained. n The location information of the last object in the macro expansion file, which will be A n The location information of the last object in the macro expansion file is determined to be B. n The ending position is the location information in the macro expansion file; otherwise, directly add A2. f(n) n Determined as B n The position of the end of the macro in the macro expansion file; Step S53, for B n Bind the corresponding object C that can be recognized and supports debugging operations. n .

9. An electronic device, characterized in that, include: At least one processor; And, a memory communicatively connected to the at least one processor; The memory stores instructions that are executed by the at least one processor, the instructions being configured to perform the method of any one of claims 1-8.

10. A computer-readable storage medium, characterized in that, The device stores computer-executable instructions for performing the method of any one of claims 1-8.