comparison tests/agcl/parsifal/reg.syn @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 /*
2 * AnaGram, A System for Syntax Directed Programming
3 * Copyright 1993-2002 Parsifal Software. All Rights Reserved.
4 * See the file COPYING for license and usage terms.
5 */
6
7 eof = 0
8 blank = ' ' + '\t'
9 name char = ~(eof + '[' + ']' + '\\' + '\n' + '"' + '@')
10 digit = '0-9'
11
12
13 reg file $
14 -> reg line?..., eof
15
16 reg line
17 -> title, eol
18 -> path, eol
19 -> key, eol
20
21 eol
22 ->'\n'
23 -> eol, '\n'
24
25 name
26 -> name char
27 -> name, name char
28
29 title
30 -> name
31
32 path
33 -> '[', path char?..., ']'
34
35 path char
36 -> ~(eof + ']' + '\\' + '\n' + '@')
37 -> '\\', ~eof
38
39 string
40 -> '"', string char?..., '"'
41
42 string char
43 -> ~(eof + '"' + '\\')
44 -> '\\', ~eof
45
46 key
47 -> string, '=', value
48 -> '@', '=', value
49
50 value
51 -> string
52 -> hex data
53 -> "dword:", hex word
54
55 hex data
56 -> "hex", ['(', hex word, ')'], ':', hex bytes?
57
58 hex bytes
59 -> hex byte
60 -> hex bytes, separator, hex byte
61
62 separator
63 -> ','
64 -> ',', "\\\n", ' '?...
65
66 hex byte
67 -> hex digit, hex digit
68
69 hex digit
70 -> '0-9'
71 -> 'a-f'
72
73 hex word
74 -> hex digit
75 -> hex word, hex digit
76