branch: externals/parser-generator commit 4534b1f19244a565894b6a5d4cd71185bb278fcd Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Lexer get token function now accepts nil as the semantical value for a token --- docs/Lexical-Analysis.md | 4 ++++ parser-generator-lex-analyzer.el | 8 +------- parser-generator-lr-export.el | 2 -- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/Lexical-Analysis.md b/docs/Lexical-Analysis.md index aae2dacbd0..e853191c6a 100644 --- a/docs/Lexical-Analysis.md +++ b/docs/Lexical-Analysis.md @@ -122,4 +122,8 @@ Returns the next token in stream and moves the lexical analyzer index one point (parser-generator-lex-analyzer--pop-token))) ``` +## Get Token + +Specified in the variable `parser-generator-lex-analyzer--get-function` as a function. Returns the semantical value for the token. For instance the token might be a `('T_STRING 1 . 5)` but it's semantical value might be `"Emacs"`, another example `('T_INTEGER 1 . 2)` might be `25`, another example `('T_BOOLEAN 1 . 4)` might be `nil` or `t`. + [Back to start](../../../) diff --git a/parser-generator-lex-analyzer.el b/parser-generator-lex-analyzer.el index 2a38929f86..920100beb0 100644 --- a/parser-generator-lex-analyzer.el +++ b/parser-generator-lex-analyzer.el @@ -18,7 +18,7 @@ (defvar parser-generator-lex-analyzer--get-function nil - "Get token contents. Anything other than nil is expected.") + "Get token contents. Any return is valid even nil.") (defvar parser-generator-lex-analyzer--function @@ -89,12 +89,6 @@ (car (cdr error))) token (car (cdr error)))))) - (unless meta-information - (signal - 'error - (list - (format "Could not find any token meta-information for: %s" token) - token))) meta-information)) (defun parser-generator-lex-analyzer--peek-next-look-ahead () diff --git a/parser-generator-lr-export.el b/parser-generator-lr-export.el index b522693468..d5e3e25dec 100644 --- a/parser-generator-lr-export.el +++ b/parser-generator-lr-export.el @@ -239,8 +239,6 @@ \"Lex-analyze failed to get token meta-data of %s, error: %s\" token (car (cdr error))))) - (unless meta-information - (error \"Could not find any token meta-information for: %s\" token)) meta-information))\n") ;; Lex-Analyzer Reset Function