Next: Identifiers
Up: The Abstract Syntax Tree
Previous: Statements
Expressions
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.
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.
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: Identifiers
Up: The Abstract Syntax Tree
Previous: Statements
2008-08-29