File: intr

package info (click to toggle)
lola 1.8-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 464 kB
  • sloc: python: 1,355; ansic: 1,169; fortran: 373; makefile: 40; yacc: 7
file content (29 lines) | stat: -rw-r--r-- 500 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
;
; this grammar recognises integer
; expressions involving +,-,*,/ and unary -
;
(
(lines		(expr "PRINT" \n lines)
		(\n lines)
		()
		)
(expr		(term + term "ADD")
		(term - term "SUBTRACT")
		(term)
		)
(term		(fact * fact "MULTIPLY")
		(fact / fact "DIVIDE")
		(fact)
		)
(fact		(|(| expr |)|)
		(int "PUSH")
		(- fact "NEGATE")
		)
(int		("CLEAR" "ADD-DIGIT" digit digits)
		)
(digits		("ADD-DIGIT" digit digits)
		()
		)
(digit		(|0|) (|1|) (|2|) (|3|) (|4|) (|5|) (|6|) (|7|) (|8|) (|9|)
		)
)