Posted to tcl by colin at Thu Jan 03 07:48:34 GMT 2013view raw

  1. $pg add {
  2. start {addition} {}
  3.  
  4. addition {addition PLUS multiplication} {
  5. return [expr $1+$3]
  6. }
  7.  
  8. addition {addition MINUS multiplication} {
  9. return [expr $1-$3]
  10. }
  11.  
  12. addition {multiplication} {}
  13.  
  14. multiplication {multiplication MULTIPLY number} {
  15. return [expr $1*$3]
  16. }
  17.  
  18. multiplication {multiplication DIVIDE number} {
  19. return [expr $1/$3]
  20. }
  21.  
  22. multiplication {number} {}
  23.  
  24. number {NUMBER} {}
  25.  
  26. number {MINUS NUMBER} {
  27. return [expr -$2]
  28. }
  29.  
  30. number {OPEN addition CLOSE} {
  31. return $2
  32. }
  33. }