GRAM1.RIG 619 B

1234567891011121314151617181920212223242526
  1. -- abstract syntax grammar of tree for language SL
  2. #program
  3. (. (* #stmt *) .) ##
  4. #stmt
  5. ( #assignment ! #while ) ##
  6. #assignment
  7. 'assignment_op' :: <. left_part: $Id,
  8. right_part: #expression .>
  9. ##
  10. #while
  11. 'while_op' :: <. condition: #expression,
  12. body: (. (* #stmt *) .) .>
  13. ##
  14. #expression
  15. 1 ;;
  16. $Id ;;
  17. '+' :: <. arg1: #expression,
  18. arg2: #expression .> ;;
  19. '<' :: <. arg1: #expression,
  20. arg2: #expression .>
  21. ##