blob: 40508a0dcf0f55859becd01e4a67f2caee676228 (
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
|
lex args
{
literal '-'
token file /^('-'|0)(^0)*/
}
token word /(^0)+/
token zero /0/
lex opts
{
token single /[qvh]/
token with_opt /[oi]/
}
def item
[file zero]
| ['-' single* zero]
| ['-' with_opt zero? word zero]
def args
[word zero item*]
accum arg_parser [args]
ArgParser: arg_parser = cons arg_parser []
ArgV: argv_list ArgV = argv
for A: str in ArgV
ArgParser << [A '\0']
Args: args = ArgParser.finish()
print_xml( Args )
|