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 ref are references.:
    ast_sub_tree('Java', expr). 
    ast_sub_tree('Java', args).
  • In particular, the expr argument used above in the definition of callT denotes the child expression that represents the message receiver and the args argument denotes the list of identities of the expressions representing message arguments.
  • The ast_sub_tree/2 declarations 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 name parent and refers to the parent node.
Last modified: 2013/05/23 09:32
*