Content deleted Content added
Citation bot (talk | contribs) Alter: template type. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | #UCB_webform 113/2600 |
add section on "AST differencing" |
||
Line 50:
After verifying correctness, the AST serves as the base for code generation. The AST is often used to generate an intermediate representation (IR), sometimes called an [[intermediate language]], for the code generation.
== AST differencing ==
AST differencing, or for short tree differencing, consists of computing the list of differences between two ASTs. This list of differences is typically called an edit script. The edit script directly refers to the AST of the code. For instance, an edit action may the addition of a new AST node representing a function. The problem of computing good AST edit scripts is hard, with two main challenges: handling move actions, and scaling to fine-grained ASTs with thousands of nodes.<ref>{{Cite journal|last=Falleri|first=Jean-Rémy|last2=Morandat|first2=Floréal|last3=Blanc|first3=Xavier|last4=Martinez|first4=Matias|last5=Monperrus|first5=Martin|date=2014-09-15|title=Fine-grained and accurate source code differencing|url=https://dl.acm.org/doi/10.1145/2642937.2642982|journal=Proceedings of the 29th ACM/IEEE international conference on Automated software engineering|language=en|___location=Vasteras Sweden|publisher=ACM|pages=313–324|doi=10.1145/2642937.2642982|isbn=978-1-4503-3013-8}}</ref>
== See also ==
|