From 8e845201a8c3e375b6c3db82d2f2ab1e43898d0e Mon Sep 17 00:00:00 2001 From: yhirose Date: Thu, 1 Sep 2022 19:59:46 -0400 Subject: [PATCH] Changed 'message' instruction to 'error_message' --- README.md | 6 +++--- docs/native.wasm | Bin 421195 -> 421829 bytes peglib.h | 8 ++++---- test/test2.cc | 28 ++++++++++++++-------------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 5969b3d..a1085ab 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ The PEG syntax is well described on page 2 in the [document](http://www.brynosau * `{ precedence L - + L / * }` (Parsing infix expression) * `%recovery(` ... `)` (Error recovery operator) * `exp⇑label` or `exp^label` (Syntax sugar for `(exp / %recover(label))`) - * `label { message "..." }` (Error message instruction) + * `label { error_message "..." }` (Error message instruction) * `{ no_ast_opt }` (No AST node optimazation instruction) 'End of Input' check will be done as default. In order to disable the check, please call `disable_eoi_check`. @@ -566,8 +566,8 @@ NAME ← < [a-zA-Z_][a-zA-Z_0-9]* > %word ← NAME # Recovery operator labels -semia ← '' { message "missing semicolon in assignment." } -stmtb ← (!(Stmt / 'else' / '}') .)* { message "invalid statement" } +semia ← '' { error_message "missing semicolon in assignment." } +stmtb ← (!(Stmt / 'else' / '}') .)* { error_message "invalid statement" } condw ← &'==' ('==' RelExp)* / &'<' ('<' AddExp)* / (!')' .)* ``` diff --git a/docs/native.wasm b/docs/native.wasm index a4f265d42aaeaef0f34428ac088707ec3a04570e..916acfe25f9e47d774d33e909980481aa85a9cc9 100755 GIT binary patch delta 46566 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 z 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 diff --git a/peglib.h b/peglib.h index a2f2de9..6052c56 100644 --- a/peglib.h +++ b/peglib.h @@ -3416,8 +3416,8 @@ private: g["PrecedenceAssoc"] <= cls("LR"); // Error message instruction - g["ErrorMessage"] <= - seq(lit("message"), g["SpacesOom"], g["LiteralD"], g["SpacesZom"]); + g["ErrorMessage"] <= seq(lit("error_message"), g["SpacesOom"], + g["LiteralD"], g["SpacesZom"]); // No Ast node optimazation instruction g["NoAstOpt"] <= seq(lit("no_ast_opt"), g["SpacesZom"]); @@ -3811,7 +3811,7 @@ private: g["ErrorMessage"] = [](const SemanticValues &vs) { Instruction instruction; - instruction.type = "message"; + instruction.type = "error_message"; instruction.data = std::any_cast(vs[0]); instruction.sv = vs.sv(); return instruction; @@ -4070,7 +4070,7 @@ private: if (!apply_precedence_instruction(rule, info, s, log)) { return nullptr; } - } else if (instruction.type == "message") { + } else if (instruction.type == "error_message") { rule.error_message = std::any_cast(instruction.data); } else if (instruction.type == "no_ast_opt") { rule.no_ast_opt = true; diff --git a/test/test2.cc b/test/test2.cc index 0aedd32..33a9cc5 100644 --- a/test/test2.cc +++ b/test/test2.cc @@ -1505,7 +1505,7 @@ TEST(ErrorTest, Default_error_handling_fiblang) { %whitespace ← [ \t\r\n]* %word ← [a-zA-Z] - col ← '' { message "missing colon." } + col ← '' { error_message "missing colon." } )"); EXPECT_TRUE(!!pg); @@ -1558,8 +1558,8 @@ WORD <- < (![ \t\r\n=|[\]#] .)+ > comment <- ('#' (!nl .)*) nl <- '\r'? '\n' -header <- (!__ .)* { message "invalid section header, missing ']'." } -entry <- (!(__ / HEADER) .)+ { message "invalid entry." } +header <- (!__ .)* { error_message "invalid section header, missing ']'." } +entry <- (!(__ / HEADER) .)+ { error_message "invalid entry." } )"); EXPECT_TRUE(!!pg); @@ -1737,14 +1737,14 @@ comment <- ('#' (!nl .)*) nl <- '\r'? '\n' # Recovery -duplicate_or <- skip_puncs { message "Duplicate OR operator (|)" } -missing_or <- '' { message "Missing OR operator (|)" } -missing_bracket <- skip_puncs { message "Missing opening/closing square bracket" } -expect_phrase <- skip { message "Expect phrase" } -invalid_ope_comb <- skip_puncs { message "Use of invalid operator combination" } -invalid_ope <- skip { message "Use of invalid operator" } -wildcard <- '' { message "Wildcard characters (%c) should not be used" } -vernacular_char <- '' { message "Section name %c must be in English" } +duplicate_or <- skip_puncs { error_message "Duplicate OR operator (|)" } +missing_or <- '' { error_message "Missing OR operator (|)" } +missing_bracket <- skip_puncs { error_message "Missing opening/closing square bracket" } +expect_phrase <- skip { error_message "Expect phrase" } +invalid_ope_comb <- skip_puncs { error_message "Use of invalid operator combination" } +invalid_ope <- skip { error_message "Use of invalid operator" } +wildcard <- '' { error_message "Wildcard characters (%c) should not be used" } +vernacular_char <- '' { error_message "Section name %c must be in English" } skip <- (!(__) .)* skip_puncs <- [|=]* _ @@ -1972,8 +1972,8 @@ PRINTLN ← 'System.out.println' %word ← NAME # Throw operator labels -rcblk ← SkipToRCUR { message "missing end of block." } -semia ← '' { message "missing simicolon in assignment." } +rcblk ← SkipToRCUR { error_message "missing end of block." } +semia ← '' { error_message "missing simicolon in assignment." } # Recovery expressions SkipToRCUR ← (!RCUR (LCUR SkipToRCUR / .))* RCUR @@ -2058,7 +2058,7 @@ START <- (LINE (ln LINE)*)? ln? LINE <- STR '=' CODE -CODE <- HEX / DEC { message 'code format error...' } +CODE <- HEX / DEC { error_message 'code format error...' } HEX <- < [a-f0-9]+ 'h' > DEC <- < [0-9]+ >