From 325b271d10ea7b44e8a69ec7e44c8d81a7904d8d Mon Sep 17 00:00:00 2001 From: Valk Richard Li <48872266+ValKmjolnir@users.noreply.github.com> Date: Sat, 17 Aug 2019 19:03:20 +0800 Subject: [PATCH] Update || cancel some reserve words --- version0.4/ebnf.cpp | 8 ++++++-- version0.4/nasal_lexer.h | 8 +++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/version0.4/ebnf.cpp b/version0.4/ebnf.cpp index 2e04ebf..67eddb1 100644 --- a/version0.4/ebnf.cpp +++ b/version0.4/ebnf.cpp @@ -39,11 +39,15 @@ <=> <{> <}> <;> <8> ::= <=> <;> + <=> <[><]> <;> + <=> <{><}> <;> + <=> <[> ||| <]> <;> + <=> <{> <}> <;> <9> ::= <=> <(><)> <{><}> <=> <(> | <)> <{><}> - <=> <(><)> <{> <}> - <=> <(> | <)> <{> <}> + <=> <(><)> <{> | <}> + <=> <(> | <)> <{> | <}> <10> ::= <...> <11> ::= diff --git a/version0.4/nasal_lexer.h b/version0.4/nasal_lexer.h index 167ac1b..21b02f0 100644 --- a/version0.4/nasal_lexer.h +++ b/version0.4/nasal_lexer.h @@ -7,13 +7,11 @@ #define SCANEND -2 //ɨÃèÍê³É #define ERRORFOUND -3 //Òì³£´íÎó -std::string ReserveWord[26]= +std::string ReserveWord[15]= { "for","foreach","forindex","while", "var","func","break","continue","return", - "if","else","elsif","nil","and","or", - "print","cmp","append","setsize","subvec","pop", - "sort","contains","delete","keys","typeof" + "if","else","elsif","nil","and","or" }; std::string OperatorOrDelimiter[40]= @@ -30,7 +28,7 @@ char ResourceProgram[16777216]; int isReserveWord(std::string &p) { - for(int i=0;i<26;++i) + for(int i=0;i<15;++i) if(ReserveWord[i]==p) return i+1; return FAIL;