From 2f497477c984e576e9ba7e8f6cb92ee9f794e56b Mon Sep 17 00:00:00 2001 From: Li Jin Date: Sat, 20 Aug 2022 09:36:34 +0800 Subject: add back missing number syntax. --- src/yuescript/yue_parser.cpp | 11 +++++++---- src/yuescript/yue_parser.h | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') 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() { EmptyLine = SpaceBreak; AlphaNum = range('a', 'z') | range('A', 'Z') | range('0', '9') | '_'; Name = (range('a', 'z') | range('A', 'Z') | '_') >> *AlphaNum; + num_expo = set("eE") >> -expr('-') >> +range('0', '9'); + lj_num = -set("uU") >> set("lL") >> set("lL"); Num = ( "0x" >> +(range('0', '9') | range('a', 'f') | range('A', 'F')) >> - -(-set("uU") >> set("lL") >> set("lL")) + -lj_num ) | ( +range('0', '9') >> ( - '.' >> +range('0', '9') >> -(set("eE") >> -expr('-') >> +range('0', '9')) | - -set("uU") >> set("lL") >> set("lL") | + '.' >> +range('0', '9') >> -num_expo | + num_expo | + lj_num | true_() ) ) | ( - '.' >> +range('0', '9') >> -(set("eE") >> -expr('-') >> +range('0', '9')) + '.' >> +range('0', '9') >> -num_expo ); 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: return Cut; } + rule num_expo; + rule lj_num; rule plain_space; rule Break; rule Any; -- cgit v1.2.3-55-g6feb