home *** CD-ROM | disk | FTP | other *** search
- userdefined domains PROCID
-
- productions
- EXP = EXP plus EXP -> plus(EXP,EXP),
- EXP minus EXP -> minus(EXP,EXP)
- --
- EXP mult EXP -> mult(EXP,EXP),
- EXP div EXP -> div(EXP,EXP)
- --
- rightassoc EXP power EXP -> power(EXP,EXP),
- EXP exclmmark -> factorial(EXP),
- EXP questionmark EXP colon EXP -> conditional(EXP,EXP,EXP)
- --
- id(STRING) lpar PARMLIST rpar -> call(PROCID,PARMLIST),
- id(STRING) -> var(STRING),
- minus EXP -> neg(EXP),
- int(INTEGER) -> int(INTEGER),
- real(REAL) -> real(REAL),
- str(STRING) -> str(STRING),
- char(CHAR) -> char(CHAR),
- lpar EXP rpar -> EXP
-
- PARMLIST = EXP+ separator comma
-
- SENT = if_ EXP then SENT else SENT -> ifthenelse(EXP,SENT,SENT),
- if_ EXP then SENT -> ifthen(EXP,SENT),
- while EXP do SENT -> while(EXP,SENT),
- goto int(INTEGER) -> goto_line(INTEGER),
- goto id(STRING) -> goto_lbl(STRING)
-