@@ -25,47 +25,53 @@ public function __construct()
2525 'skip ' => '\s+ ' ,
2626 'parenthesis_ ' => '< ' ,
2727 '_parenthesis ' => '> ' ,
28+ 'empty_string ' => '""| \'\'' ,
29+ 'number ' => '(\+|\-)?(0|[1-9]\d*)(\.\d+)? ' ,
2830 'comma ' => ', ' ,
2931 'name ' => '(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* \\\)*[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* ' ,
3032 'quote_:quoted_string ' => '" ' ,
3133 'apostrophe_:apostrophed_string ' => '\'' ,
3234 ],
3335 'quoted_string ' => [
34- 'quoted_string ' => '(?: [^"]|"") + ' ,
36+ 'quoted_string ' => '[^"]+ ' ,
3537 '_quote:default ' => '" ' ,
3638 ],
3739 'apostrophed_string ' => [
38- 'apostrophed_string ' => '(?: [^ \']| \'\' ) + ' ,
40+ 'apostrophed_string ' => '[^ \']+ ' ,
3941 '_apostrophe:default ' => '\'' ,
4042 ],
4143 ],
4244 [
4345 'type ' => new Choice ('type ' , ['simple_type ' , 'compound_type ' ], null ),
4446 1 => new Token (1 , 'name ' , null , -1 , true ),
4547 2 => new Concatenation (2 , [1 ], '#simple_type ' ),
46- 3 => new Token (3 , 'quote_ ' , null , -1 , false ),
47- 4 => new Token (4 , ' quoted_string ' , null , - 1 , true ),
48- 5 => new Token (5 , '_quote ' , null , -1 , false ),
49- 6 => new Concatenation (6 , [3 , 4 , 5 ], '#simple_type ' ),
50- 7 => new Token (7 , 'apostrophe_ ' , null , -1 , false ),
51- 8 => new Token (8 , 'apostrophed_string ' , null , -1 , true ),
52- 9 => new Token (9 , '_apostrophe ' , null , -1 , false ),
48+ 3 => new Token (3 , 'number ' , null , -1 , true ),
49+ 4 => new Concatenation (4 , [ 3 ], ' #simple_type ' ),
50+ 5 => new Token (5 , 'empty_string ' , null , -1 , true ),
51+ 6 => new Concatenation (6 , [5 ], '#simple_type ' ),
52+ 7 => new Token (7 , 'quote_ ' , null , -1 , false ),
53+ 8 => new Token (8 , 'quoted_string ' , null , -1 , true ),
54+ 9 => new Token (9 , '_quote ' , null , -1 , false ),
5355 10 => new Concatenation (10 , [7 , 8 , 9 ], '#simple_type ' ),
54- 'simple_type ' => new Choice ('simple_type ' , [2 , 6 , 10 ], null ),
55- 12 => new Token (12 , 'name ' , null , -1 , true ),
56- 13 => new Token (13 , 'parenthesis_ ' , null , -1 , false ),
57- 14 => new Token (14 , 'comma ' , null , -1 , false ),
58- 15 => new Concatenation (15 , [14 , 'type ' ], '#compound_type ' ),
59- 16 => new Repetition (16 , 0 , -1 , 15 , null ),
60- 17 => new Token (17 , '_parenthesis ' , null , -1 , false ),
61- 'compound_type ' => new Concatenation ('compound_type ' , [12 , 13 , 'type ' , 16 , 17 ], null ),
56+ 11 => new Token (11 , 'apostrophe_ ' , null , -1 , false ),
57+ 12 => new Token (12 , 'apostrophed_string ' , null , -1 , true ),
58+ 13 => new Token (13 , '_apostrophe ' , null , -1 , false ),
59+ 14 => new Concatenation (14 , [11 , 12 , 13 ], '#simple_type ' ),
60+ 'simple_type ' => new Choice ('simple_type ' , [2 , 4 , 6 , 10 , 14 ], null ),
61+ 16 => new Token (16 , 'name ' , null , -1 , true ),
62+ 17 => new Token (17 , 'parenthesis_ ' , null , -1 , false ),
63+ 18 => new Token (18 , 'comma ' , null , -1 , false ),
64+ 19 => new Concatenation (19 , [18 , 'type ' ], '#compound_type ' ),
65+ 20 => new Repetition (20 , 0 , -1 , 19 , null ),
66+ 21 => new Token (21 , '_parenthesis ' , null , -1 , false ),
67+ 'compound_type ' => new Concatenation ('compound_type ' , [16 , 17 , 'type ' , 20 , 21 ], null ),
6268 ],
6369 []
6470 );
6571
6672 $ this ->getRule ('type ' )->setPPRepresentation (' simple_type() | compound_type() ' );
6773 $ this ->getRule ('simple_type ' )->setDefaultId ('#simple_type ' );
68- $ this ->getRule ('simple_type ' )->setPPRepresentation (' <name> | ::quote_:: <quoted_string> ::_quote:: | ::apostrophe_:: <apostrophed_string> ::_apostrophe:: ' );
74+ $ this ->getRule ('simple_type ' )->setPPRepresentation (' <name> | <number> | <empty_string> | ::quote_:: <quoted_string> ::_quote:: | ::apostrophe_:: <apostrophed_string> ::_apostrophe:: ' );
6975 $ this ->getRule ('compound_type ' )->setDefaultId ('#compound_type ' );
7076 $ this ->getRule ('compound_type ' )->setPPRepresentation (' <name> ::parenthesis_:: type() ( ::comma:: type() )* ::_parenthesis:: ' );
7177 }
0 commit comments