summaryrefslogtreecommitdiff
path: root/doc/colm/code/assign.lm
blob: d8b40d76e08ca51288d9c5899b59f235674b504f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
lex start
	token id / ('a' .. 'z' | 'A' .. 'Z' ) + /
	token value / ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )+ /
	literal `= `;
	ignore / [ \t\n] /
end

def assignment
	[ id `=  value `;]

	
def assignment_list
	[assignment assignment_list]
|	[assignment]
|	[]

parse Simple: assignment_list[ stdin ]

for I:assignment in Simple {
	print( I.id, "->", I.value, "\n" )
}