aboutsummaryrefslogtreecommitdiff
path: root/spec/test/tree.vartan
blob: 139014d329799fa357e613f18e61e43aa6fb9e3a (plain) (blame)
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
#name tree;

#prec (
	#assign l_paren
	#assign $empty_tree
);

tree
	: l_paren identifier tree_list r_paren #ast identifier tree_list...
	| l_paren error r_paren                #recover #ast error
	;
tree_list
	: tree_list tree #ast tree_list... tree
	| tree
	|                #prec $empty_tree
	;

ws #skip
	: "[\u{0009}\u{000A}\u{000D}\u{0020}]+";
l_paren
	: '(';
r_paren
	: ')';
identifier
	: "[0-9A-Za-z_]+";