diff --git a/lab-3/scanner.flex b/lab-3/scanner.flex index 0838033..b6824a4 100644 --- a/lab-3/scanner.flex +++ b/lab-3/scanner.flex @@ -29,6 +29,12 @@ END-PERFORM { return TOKEN_END_PERFORM; } IF { return TOKEN_IF; } END-IF { return TOKEN_END_IF; } 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_SUB; } diff --git a/lab-3/token.h b/lab-3/token.h index 7ffcc96..155ca08 100644 --- a/lab-3/token.h +++ b/lab-3/token.h @@ -24,11 +24,19 @@ typedef enum { TOKEN_IF, TOKEN_END_IF, TOKEN_SPACE, + TOKEN_KEYWORD_OCCURS, + TOKEN_KEYWORD_VALUE, // Identifiers TOKEN_IDENT, + // Data types TOKEN_STRING, TOKEN_INTEGER, + TOKEN_PICTURE, + TOKEN_ALPHANUMERIC, + TOKEN_NUMERIC, + TOKEN_SIGNED_NUMERIC, + // Grammar TOKEN_LEFT_PARENTHESIS, TOKEN_RIGHT_PARENTHESIS, TOKEN_DOT,