blob: b9a35a262634fbc26a3399da5efa0044581d914f (
plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
|
#
# nonassoc test
#
class P
preclow
nonassoc N
left P
prechigh
rule
target : exp
exp : exp N exp
| exp P exp
| T
end
---- inner
def parse
@src = [[:T,'T'], [:N,'N'], [:T,'T'], [:N,'N'], [:T,'T']]
do_parse
end
def next_token
@src.shift
end
---- footer
begin
P.new.parse
rescue ParseError
exit 0
else
$stderr.puts 'parse error not raised: nonassoc not work'
exit 1
end
|