SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
research:jtransformer:api:meta:meta-model:astspecification [2012/06/05 19:44]
127.0.0.1 external edit
research:jtransformer:api:meta:meta-model:astspecification [2018/05/09 01:59] (current)
Line 1: Line 1:
 +{{page>​languageMetamodelHeader&​fullpage&​nofooter}}
 +
 + -> [[..:​..:​notation|Notation used in the following]]
 +
 +====== Specifying a Language Meta-Model ======
 +
 +The predicates documented here are used to define a language'​s syntax, in terms of the meta-model of the AST used to represent programs of the language. They describe the program elements avialable as logic facts to programmers writing model analyses or conditional transformations (CTs) for this language. ​
 +
 + 
 +
 +===== Predefined =====
 +Predefined predicates, expressing naming conventions for AST node arguments:
 +
 +  * [[ast_argname_id|ast_argname_id]] ​
 +  * [[ast_argname_parent|ast_argname_parent]] ​
 +
 +===== Self-Defined =====
 +
 +Predicates that language plugin writers must define. ​
 +  * [[ast_node_def|ast_node_def]]
 +  * [[ast_relation|ast_relation]] ​
 +  * [[ast_sub_tree|ast_sub_tree]]
 +  * [[ast_ref_tree|ast_ref_tree]]
 +
 +These predicates are used by StarTransformer
 +  * to check syntactic correctness (of CTs and of the internal representation generated by a parser) ​
 +  * to define the [[..:​queries:​queryapi-gen|language-independent access]] to and [[..:​transformations:​transformationapi-gen| language-independent transformation]] of ASTs 
 +
 +A StarTransformer plugin for the language ''//​language//''​ is expected ​
 +  * to be called ''​st.//​language//''​
 +  * to declare the above predicates as ''​multifile''​ predicates
 +  * to provide corresponding predicate definitions that mention ''//​language//''​ as the language argument  ​
 +
 +
 +
 +  ​
 +
 +
 +
 +
  
research/jtransformer/api/meta/meta-model/astspecification.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019