scanner and tokens

Co-authored-by: Jenessyl <Jenessyl@users.noreply.github.com>
Co-authored-by: Joshua Garbi <joshgarbi@users.noreply.github.com>
This commit is contained in:
vel 2024-10-22 16:31:46 -07:00
parent de6ef0ac02
commit 4aabd97544
Signed by: velvox
GPG Key ID: 59D9762F674151DF
2 changed files with 14 additions and 0 deletions

View File

@ -29,6 +29,12 @@ END-PERFORM { return TOKEN_END_PERFORM; }
IF { return TOKEN_IF; } IF { return TOKEN_IF; }
END-IF { return TOKEN_END_IF; } END-IF { return TOKEN_END_IF; }
SPACE { return TOKEN_SPACE; } SPACE { return TOKEN_SPACE; }
PIC { return TOKEN_PICTURE; }
OCCURS { return TOKEN_KEYWORD_OCCURS; }
VALUE { return TOKEN_KEYWORD_VALUE; }
X { return TOKEN_ALPHANUMERIC; }
S9 { return TOKEN_SIGNED_NUMERIC; }
9 { return TOKEN_NUMERIC; }
\+ { return TOKEN_ADD; } \+ { return TOKEN_ADD; }
\- { return TOKEN_SUB; } \- { return TOKEN_SUB; }

View File

@ -24,11 +24,19 @@ typedef enum {
TOKEN_IF, TOKEN_IF,
TOKEN_END_IF, TOKEN_END_IF,
TOKEN_SPACE, TOKEN_SPACE,
TOKEN_KEYWORD_OCCURS,
TOKEN_KEYWORD_VALUE,
// Identifiers // Identifiers
TOKEN_IDENT, TOKEN_IDENT,
// Data types
TOKEN_STRING, TOKEN_STRING,
TOKEN_INTEGER, TOKEN_INTEGER,
TOKEN_PICTURE,
TOKEN_ALPHANUMERIC,
TOKEN_NUMERIC,
TOKEN_SIGNED_NUMERIC,
// Grammar
TOKEN_LEFT_PARENTHESIS, TOKEN_LEFT_PARENTHESIS,
TOKEN_RIGHT_PARENTHESIS, TOKEN_RIGHT_PARENTHESIS,
TOKEN_DOT, TOKEN_DOT,