Expression Trees

 [Previous Chapter]  [Previous Page]  [Contents]  [Next Page]

expr.scm
(define grammar-expr
   '(
      (expression (simple-expression optional-relation)
         handle-expr)
      (optional-relation (relop simple-expression)
         handle-relation)
      (optional-relation () handle-empty-relation)

      (simple-expression (term (arbno addop term))
         handle-sexpr)

      (term (factor (arbno multop factor)) handle-term)

      (factor ("(" expression ")") handle-factor-expression)
      (factor (constant)           handle-factor-constant)

      (relop  ("<")                handle-lt)
      (relop  ("<=")               handle-le)
      (relop  ("=")                handle-eq)
      (relop  ("!=")               handle-ne)
      (relop  (">=")               handle-ge)
      (relop  (">")                handle-gt)

      (addop  ("+")                handle-add)
      (addop  ("-")                handle-subtract)

      (multop ("*")                handle-multiplication)
      (multop ("/")                handle-division)

      (constant  (number)          handle-constant)
   )
)

 [Previous Chapter]  [Previous Page]  [Contents]  [Next Page]
Copyright © 2002 Andreas Borchert, converted to HTML on May 02, 2002