aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2022-08-20 09:36:34 +0800
committerLi Jin <dragon-fly@qq.com>2022-08-20 09:36:34 +0800
commit2f497477c984e576e9ba7e8f6cb92ee9f794e56b (patch)
treef50c65bee13b4b28972bfe95ccda58722c397df9
parent2ef8f936224fe8506673561d033142aeddcc44c1 (diff)
downloadyuescript-2f497477c984e576e9ba7e8f6cb92ee9f794e56b.tar.gz
yuescript-2f497477c984e576e9ba7e8f6cb92ee9f794e56b.tar.bz2
yuescript-2f497477c984e576e9ba7e8f6cb92ee9f794e56b.zip
add back missing number syntax.
-rwxr-xr-xsrc/yuescript/yue_parser.cpp11
-rwxr-xr-xsrc/yuescript/yue_parser.h2
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;