home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l216 / 2.ddi / XMINIGOL.GRM < prev    next >
Encoding:
Text File  |  1987-03-23  |  930 b   |  30 lines

  1. userdefined domains PROCID
  2.  
  3. productions
  4.   EXP    = EXP plus EXP            -> plus(EXP,EXP),
  5.       EXP minus EXP            -> minus(EXP,EXP)
  6.       --
  7.       EXP mult EXP            -> mult(EXP,EXP),
  8.       EXP div EXP            -> div(EXP,EXP)
  9.       --
  10.       rightassoc EXP power EXP    -> power(EXP,EXP),
  11.       EXP exclmmark            -> factorial(EXP),
  12.       EXP questionmark EXP colon EXP -> conditional(EXP,EXP,EXP)
  13.       --
  14.       id(STRING) lpar PARMLIST rpar -> call(PROCID,PARMLIST),
  15.       id(STRING)            -> var(STRING),
  16.       minus EXP            -> neg(EXP),
  17.       int(INTEGER)            -> int(INTEGER),
  18.       real(REAL)            -> real(REAL),
  19.       str(STRING)            -> str(STRING),
  20.       char(CHAR)            -> char(CHAR),
  21.       lpar EXP rpar            -> EXP
  22.  
  23.   PARMLIST = EXP+ separator comma
  24.  
  25.   SENT =  if_ EXP then SENT else SENT    -> ifthenelse(EXP,SENT,SENT),
  26.       if_ EXP then SENT        -> ifthen(EXP,SENT),
  27.       while EXP do SENT        -> while(EXP,SENT),
  28.       goto int(INTEGER)        -> goto_line(INTEGER),
  29.       goto id(STRING)        -> goto_lbl(STRING)
  30.