blob: 63d2731bcee9e4e2401c035258837809e96cccdc (
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
42
43
44
45
46
47
|
namespace out_go
token _IN_ /''/
token _EX_ /''/
lex
token comment /
'//' any* :> '\n' |
'/*' any* :>> '*/'
/
token id
/[a-zA-Z_][a-zA-Z_0-9]*/
token number /
[0-9]+
/
token symbol /
'!' | '#' | '$' | '%' | '&' | '(' | ')' | '*' |
'+' | ',' | '-' | '.' | '/' | ':' | ';' | '<' |
'=' | '>' | '?' | '@' | '[' | ']' | '^' | '|' |
'~' /
literal `{ `}
token string /
'"' ( [^"\\] | '\\' any ) * '"' |
"'" ( [^'\\] | '\\' any ) * "'"
/
ignore
/[ \t\v\r\n]+/
end
def item
[comment]
| [id]
| [number]
| [symbol]
| [string]
| [`{ _IN_ item* _EX_ `} ]
def out_go
[_IN_ _EX_ item*]
end
|