next up previous
Next: Identifiers Up: The Abstract Syntax Tree Previous: Statements


Expressions

Expressions[8]:
RULE vbid: variable  ::=    ExpIdUse                                   END;
RULE indx: variable  ::=    variable '[' Subscript ']'                 END;
RULE fldv: variable  ::=    variable '.' FldIdUse                      END;
RULE dref: variable  ::=    variable '^'                               END;
RULE subs: Subscript ::=    expression                                 END;
This macro is defined in definitions 8, 9, and 10.
This macro is invoked in definition 1.

Expressions[9]:
RULE iexp: expression ::=    integer_constant                          END;
RULE rexp: expression ::=    real_constant                             END;
RULE sexp: expression ::=    Literal                                   END;
RULE nexp: expression ::=    'nil'                                     END;
RULE vexp: expression ::=    variable                                  END;
RULE func: expression ::=    FncIdUse FncArgs                          END;
RULE setx: expression ::=    '[' Members ']'                           END;
RULE eset: expression ::=    '['         ']'                           END;
RULE dyad: expression ::=    expression operator expression            END;
RULE mnad: expression ::=               operator expression            END;
RULE farg: FncArgs    LISTOF Actual                                    END;
RULE meml: Members    LISTOF Member                                    END;
RULE meme: Member     ::=    expression                                END;
RULE memr: Member     ::=    expression '..' expression                END;
This macro is defined in definitions 8, 9, and 10.
This macro is invoked in definition 1.

Expressions[10]:
RULE equl: operator ::= '='   END;
RULE neql: operator ::= '<>'  END;
RULE less: operator ::= '<'   END;
RULE grtr: operator ::= '>'   END;
RULE lseq: operator ::= '<='  END;
RULE greq: operator ::= '>='  END;
RULE memb: operator ::= 'in'  END;
RULE plus: operator ::= '+'   END;
RULE mins: operator ::= '-'   END;
RULE disj: operator ::= 'or'  END;
RULE star: operator ::= '*'   END;
RULE slsh: operator ::= '/'   END;
RULE idiv: operator ::= 'div' END;
RULE remr: operator ::= 'mod' END;
RULE conj: operator ::= 'and' END;
RULE linv: operator ::= 'not' END;
This macro is defined in definitions 8, 9, and 10.
This macro is invoked in definition 1.


next up previous
Next: Identifiers Up: The Abstract Syntax Tree Previous: Statements
2008-08-29