| Language Meta-Model Specification |
|---|
→ Notation used in the following
ast_sub_tree(?Language, ?ArgumentName) is nondet
- In all nodes of the AST of language arg1, the argument with name arg2 refers to a subtree of the respective AST node. For instance, in the Java AST arguments named
refare references.:
ast_sub_tree('Java', expr). ast_sub_tree('Java', args).
- In particular, the
exprargument used above in the definition ofcallTdenotes the child expression that represents the message receiver and theargsargument denotes the list of identities of the expressions representing message arguments. - The
ast_sub_tree/2declarations allow language-independent top down traversal of an AST. Language independent bottom up traversals are supported by the convention that the second argument of every AST node has the nameparentand refers to the parent node.


