Untabify some test files.
[bpt/guile.git] / test-suite / lalr / test-lr-single-expressions.scm
CommitLineData
1b101522
LC
1;;; test-lr-single-expressions.scm --
2;;
3;;Grammar accepting single expressions.
4;;
5
6(load "common-test.scm")
7
8(define (doit . tokens)
9 (let ((parser (lalr-parser (expect: 0)
10 (N O C (left: A) (left: M) (nonassoc: U))
11
12 (E (N) : $1
13 (E A E) : ($2 $1 $3)
14 (E M E) : ($2 $1 $3)
15 (A E (prec: U)) : ($1 $2)
16 (O E C) : $2))))
17 (parser (make-lexer tokens) error-handler)))
18
19;;; --------------------------------------------------------------------
20
21(check ;correct input
22 (doit (make-lexical-token 'N #f 1))
23 => 1)
24
25(check ;correct input
26 (doit (make-lexical-token 'A #f -)
27 (make-lexical-token 'N #f 1))
28 => -1)
29
30(check ;correct input
31 (doit (make-lexical-token 'A #f +)
32 (make-lexical-token 'N #f 1))
33 => 1)
34
35(check ;correct input
36 (doit (make-lexical-token 'N #f 1)
37 (make-lexical-token 'A #f +)
38 (make-lexical-token 'N #f 2))
39 => 3)
40
41(check ;correct input
42 (doit (make-lexical-token 'N #f 1)
43 (make-lexical-token 'A #f +)
44 (make-lexical-token 'N #f 2)
45 (make-lexical-token 'M #f *)
46 (make-lexical-token 'N #f 3))
47 => 7)
48
49(check ;correct input
50 (doit (make-lexical-token 'O #f #\()
51 (make-lexical-token 'N #f 1)
52 (make-lexical-token 'A #f +)
53 (make-lexical-token 'N #f 2)
54 (make-lexical-token 'C #f #\))
55 (make-lexical-token 'M #f *)
56 (make-lexical-token 'N #f 3))
57 => 9)
58
59;;; end of file