diff options
author | Li Jin <dragon-fly@qq.com> | 2022-08-20 09:36:34 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-08-20 09:36:34 +0800 |
commit | 2f497477c984e576e9ba7e8f6cb92ee9f794e56b (patch) | |
tree | f50c65bee13b4b28972bfe95ccda58722c397df9 | |
parent | 2ef8f936224fe8506673561d033142aeddcc44c1 (diff) | |
download | yuescript-2f497477c984e576e9ba7e8f6cb92ee9f794e56b.tar.gz yuescript-2f497477c984e576e9ba7e8f6cb92ee9f794e56b.tar.bz2 yuescript-2f497477c984e576e9ba7e8f6cb92ee9f794e56b.zip |
add back missing number syntax.
-rwxr-xr-x | src/yuescript/yue_parser.cpp | 11 | ||||
-rwxr-xr-x | src/yuescript/yue_parser.h | 2 |
2 files changed, 9 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_(); |
diff --git a/src/yuescript/yue_parser.h b/src/yuescript/yue_parser.h index 3ee219e..dd577b4 100755 --- a/src/yuescript/yue_parser.h +++ b/src/yuescript/yue_parser.h | |||
@@ -101,6 +101,8 @@ private: | |||
101 | return Cut; | 101 | return Cut; |
102 | } | 102 | } |
103 | 103 | ||
104 | rule num_expo; | ||
105 | rule lj_num; | ||
104 | rule plain_space; | 106 | rule plain_space; |
105 | rule Break; | 107 | rule Break; |
106 | rule Any; | 108 | rule Any; |