diff options
Diffstat (limited to 'src/yuescript/yue_parser.cpp')
-rwxr-xr-x | src/yuescript/yue_parser.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/yuescript/yue_parser.cpp b/src/yuescript/yue_parser.cpp index a22bd3a..e5209ef 100755 --- a/src/yuescript/yue_parser.cpp +++ b/src/yuescript/yue_parser.cpp | |||
@@ -50,18 +50,21 @@ YueParser::YueParser() { | |||
50 | EmptyLine = SpaceBreak; | 50 | EmptyLine = SpaceBreak; |
51 | AlphaNum = range('a', 'z') | range('A', 'Z') | range('0', '9') | '_'; | 51 | AlphaNum = range('a', 'z') | range('A', 'Z') | range('0', '9') | '_'; |
52 | Name = (range('a', 'z') | range('A', 'Z') | '_') >> *AlphaNum; | 52 | Name = (range('a', 'z') | range('A', 'Z') | '_') >> *AlphaNum; |
53 | num_expo = set("eE") >> -expr('-') >> +range('0', '9'); | ||
54 | lj_num = -set("uU") >> set("lL") >> set("lL"); | ||
53 | Num = ( | 55 | Num = ( |
54 | "0x" >> | 56 | "0x" >> |
55 | +(range('0', '9') | range('a', 'f') | range('A', 'F')) >> | 57 | +(range('0', '9') | range('a', 'f') | range('A', 'F')) >> |
56 | -(-set("uU") >> set("lL") >> set("lL")) | 58 | -lj_num |
57 | ) | ( | 59 | ) | ( |
58 | +range('0', '9') >> ( | 60 | +range('0', '9') >> ( |
59 | '.' >> +range('0', '9') >> -(set("eE") >> -expr('-') >> +range('0', '9')) | | 61 | '.' >> +range('0', '9') >> -num_expo | |
60 | -set("uU") >> set("lL") >> set("lL") | | 62 | num_expo | |
63 | lj_num | | ||
61 | true_() | 64 | true_() |
62 | ) | 65 | ) |
63 | ) | ( | 66 | ) | ( |
64 | '.' >> +range('0', '9') >> -(set("eE") >> -expr('-') >> +range('0', '9')) | 67 | '.' >> +range('0', '9') >> -num_expo |
65 | ); | 68 | ); |
66 | 69 | ||
67 | Cut = false_(); | 70 | Cut = false_(); |