summaryrefslogtreecommitdiffhomepage
path: root/lexer.c
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2021-03-19 14:31:17 +0100
committerJo-Philipp Wich <jo@mein.io>2021-04-23 00:42:30 +0200
commit778e4f7bf205d04d631f968e5b33cfdf9e8121e1 (patch)
tree745787a6c2ded4743a1cf1d2808049b5ecceb928 /lexer.c
parent502ecdcb7e6efc669ed7d7dc62a9044c7e05a530 (diff)
lexer: fix incomplete struct initializers
Fixes bunch of following warnings: lexer.c:68:37: warning: missing field 'parse' initializer [-Wmissing-field-initializers] lexer.c:138:34: warning: missing field '' initializer [-Wmissing-field-initializers] Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'lexer.c')
-rw-r--r--lexer.c166
1 files changed, 83 insertions, 83 deletions
diff --git a/lexer.c b/lexer.c
index bf099f5..ada8671 100644
--- a/lexer.c
+++ b/lexer.c
@@ -65,103 +65,103 @@ static uc_token *parse_number(uc_lexer *, bool);
static uc_token *parse_label(uc_lexer *, bool);
static const struct token tokens[] = {
- { TK_ASLEFT, { .pat = "<<=" }, 3 },
- { TK_ASRIGHT, { .pat = ">>=" }, 3 },
- { TK_LEXP, { .pat = "{{-" }, 3 },
- { TK_REXP, { .pat = "-}}" }, 3 },
- { TK_LSTM, { .pat = "{%+" }, 3 },
- { TK_LSTM, { .pat = "{%-" }, 3 },
- { TK_RSTM, { .pat = "-%}" }, 3 },
- { TK_EQS, { .pat = "===" }, 3 },
- { TK_NES, { .pat = "!==" }, 3 },
- { TK_ELLIP, { .pat = "..." }, 3 },
- { TK_AND, { .pat = "&&" }, 2 },
- { TK_ASADD, { .pat = "+=" }, 2 },
- { TK_ASBAND, { .pat = "&=" }, 2 },
- { TK_ASBOR, { .pat = "|=" }, 2 },
- { TK_ASBXOR, { .pat = "^=" }, 2 },
- //{ TK_ASDIV, { .pat = "/=" }, 2 },
- { TK_ASMOD, { .pat = "%=" }, 2 },
- { TK_ASMUL, { .pat = "*=" }, 2 },
- { TK_ASSUB, { .pat = "-=" }, 2 },
- { TK_DEC, { .pat = "--" }, 2 },
- { TK_INC, { .pat = "++" }, 2 },
- { TK_EQ, { .pat = "==" }, 2 },
- { TK_NE, { .pat = "!=" }, 2 },
- { TK_LE, { .pat = "<=" }, 2 },
- { TK_GE, { .pat = ">=" }, 2 },
- { TK_LSHIFT, { .pat = "<<" }, 2 },
- { TK_RSHIFT, { .pat = ">>" }, 2 },
+ { TK_ASLEFT, { .pat = "<<=" }, 3, NULL },
+ { TK_ASRIGHT, { .pat = ">>=" }, 3, NULL },
+ { TK_LEXP, { .pat = "{{-" }, 3, NULL },
+ { TK_REXP, { .pat = "-}}" }, 3, NULL },
+ { TK_LSTM, { .pat = "{%+" }, 3, NULL },
+ { TK_LSTM, { .pat = "{%-" }, 3, NULL },
+ { TK_RSTM, { .pat = "-%}" }, 3, NULL },
+ { TK_EQS, { .pat = "===" }, 3, NULL },
+ { TK_NES, { .pat = "!==" }, 3, NULL },
+ { TK_ELLIP, { .pat = "..." }, 3, NULL },
+ { TK_AND, { .pat = "&&" }, 2, NULL },
+ { TK_ASADD, { .pat = "+=" }, 2, NULL },
+ { TK_ASBAND, { .pat = "&=" }, 2, NULL },
+ { TK_ASBOR, { .pat = "|=" }, 2, NULL },
+ { TK_ASBXOR, { .pat = "^=" }, 2, NULL },
+ //{ TK_ASDIV, { .pat = "/=" }, 2, NULL },
+ { TK_ASMOD, { .pat = "%=" }, 2, NULL },
+ { TK_ASMUL, { .pat = "*=" }, 2, NULL },
+ { TK_ASSUB, { .pat = "-=" }, 2, NULL },
+ { TK_DEC, { .pat = "--" }, 2, NULL },
+ { TK_INC, { .pat = "++" }, 2, NULL },
+ { TK_EQ, { .pat = "==" }, 2, NULL },
+ { TK_NE, { .pat = "!=" }, 2, NULL },
+ { TK_LE, { .pat = "<=" }, 2, NULL },
+ { TK_GE, { .pat = ">=" }, 2, NULL },
+ { TK_LSHIFT, { .pat = "<<" }, 2, NULL },
+ { TK_RSHIFT, { .pat = ">>" }, 2, NULL },
{ 0, { .pat = "//" }, 2, parse_comment },
{ 0, { .pat = "/*" }, 2, parse_comment },
- { TK_OR, { .pat = "||" }, 2 },
- { TK_LEXP, { .pat = "{{" }, 2 },
- { TK_REXP, { .pat = "}}" }, 2 },
- { TK_LSTM, { .pat = "{%" }, 2 },
- { TK_RSTM, { .pat = "%}" }, 2 },
- { TK_ARROW, { .pat = "=>" }, 2 },
- { TK_ADD, { .pat = "+" }, 1 },
- { TK_ASSIGN, { .pat = "=" }, 1 },
- { TK_BAND, { .pat = "&" }, 1 },
- { TK_BOR, { .pat = "|" }, 1 },
- { TK_LBRACK, { .pat = "[" }, 1 },
- { TK_RBRACK, { .pat = "]" }, 1 },
- { TK_BXOR, { .pat = "^" }, 1 },
- { TK_LBRACE, { .pat = "{" }, 1 },
- { TK_RBRACE, { .pat = "}" }, 1 },
- { TK_COLON, { .pat = ":" }, 1 },
- { TK_COMMA, { .pat = "," }, 1 },
- { TK_COMPL, { .pat = "~" }, 1 },
- //{ TK_DIV, { .pat = "/" }, 1 },
- { TK_GT, { .pat = ">" }, 1 },
- { TK_NOT, { .pat = "!" }, 1 },
- { TK_LT, { .pat = "<" }, 1 },
- { TK_MOD, { .pat = "%" }, 1 },
- { TK_MUL, { .pat = "*" }, 1 },
- { TK_LPAREN, { .pat = "(" }, 1 },
- { TK_RPAREN, { .pat = ")" }, 1 },
- { TK_QMARK, { .pat = "?" }, 1 },
- { TK_SCOL, { .pat = ";" }, 1 },
- //{ TK_SUB, { .pat = "-" }, 1 },
- { TK_DOT, { .pat = "." }, 1 },
+ { TK_OR, { .pat = "||" }, 2, NULL },
+ { TK_LEXP, { .pat = "{{" }, 2, NULL },
+ { TK_REXP, { .pat = "}}" }, 2, NULL },
+ { TK_LSTM, { .pat = "{%" }, 2, NULL },
+ { TK_RSTM, { .pat = "%}" }, 2, NULL },
+ { TK_ARROW, { .pat = "=>" }, 2, NULL },
+ { TK_ADD, { .pat = "+" }, 1, NULL },
+ { TK_ASSIGN, { .pat = "=" }, 1, NULL },
+ { TK_BAND, { .pat = "&" }, 1, NULL },
+ { TK_BOR, { .pat = "|" }, 1, NULL },
+ { TK_LBRACK, { .pat = "[" }, 1, NULL },
+ { TK_RBRACK, { .pat = "]" }, 1, NULL },
+ { TK_BXOR, { .pat = "^" }, 1, NULL },
+ { TK_LBRACE, { .pat = "{" }, 1, NULL },
+ { TK_RBRACE, { .pat = "}" }, 1, NULL },
+ { TK_COLON, { .pat = ":" }, 1, NULL },
+ { TK_COMMA, { .pat = "," }, 1, NULL },
+ { TK_COMPL, { .pat = "~" }, 1, NULL },
+ //{ TK_DIV, { .pat = "/" }, 1, NULL },
+ { TK_GT, { .pat = ">" }, 1, NULL },
+ { TK_NOT, { .pat = "!" }, 1, NULL },
+ { TK_LT, { .pat = "<" }, 1, NULL },
+ { TK_MOD, { .pat = "%" }, 1, NULL },
+ { TK_MUL, { .pat = "*" }, 1, NULL },
+ { TK_LPAREN, { .pat = "(" }, 1, NULL },
+ { TK_RPAREN, { .pat = ")" }, 1, NULL },
+ { TK_QMARK, { .pat = "?" }, 1, NULL },
+ { TK_SCOL, { .pat = ";" }, 1, NULL },
+ //{ TK_SUB, { .pat = "-" }, 1, NULL },
+ { TK_DOT, { .pat = "." }, 1, NULL },
{ TK_STRING, { .pat = "'" }, 1, parse_string },
{ TK_STRING, { .pat = "\"" }, 1, parse_string },
{ TK_REGEXP, { .pat = "/" }, 1, parse_regexp },
- { TK_LABEL, { .pat = "_" }, 1, parse_label },
- { TK_LABEL, { .pat = "az" }, 0, parse_label },
- { TK_LABEL, { .pat = "AZ" }, 0, parse_label },
+ { TK_LABEL, { .pat = "_" }, 1, parse_label },
+ { TK_LABEL, { .pat = "az" }, 0, parse_label },
+ { TK_LABEL, { .pat = "AZ" }, 0, parse_label },
{ TK_NUMBER, { .pat = "-" }, 1, parse_number },
{ TK_NUMBER, { .pat = "09" }, 0, parse_number },
};
static const struct keyword reserved_words[] = {
- { TK_ENDFUNC, "endfunction", 11 },
+ { TK_ENDFUNC, "endfunction", 11, {} },
{ TK_DOUBLE, "Infinity", 8, { .d = INFINITY } },
- { TK_CONTINUE, "continue", 8 },
- { TK_ENDWHILE, "endwhile", 8 },
- { TK_FUNC, "function", 8 },
- { TK_DEFAULT, "default", 7 },
- { TK_RETURN, "return", 6 },
- { TK_ENDFOR, "endfor", 6 },
- { TK_SWITCH, "switch", 6 },
- { TK_LOCAL, "local", 5 },
- { TK_ENDIF, "endif", 5 },
- { TK_WHILE, "while", 5 },
- { TK_BREAK, "break", 5 },
- { TK_CATCH, "catch", 5 },
+ { TK_CONTINUE, "continue", 8, {} },
+ { TK_ENDWHILE, "endwhile", 8, {} },
+ { TK_FUNC, "function", 8, {} },
+ { TK_DEFAULT, "default", 7, {} },
+ { TK_RETURN, "return", 6, {} },
+ { TK_ENDFOR, "endfor", 6, {} },
+ { TK_SWITCH, "switch", 6, {} },
+ { TK_LOCAL, "local", 5, {} },
+ { TK_ENDIF, "endif", 5, {} },
+ { TK_WHILE, "while", 5, {} },
+ { TK_BREAK, "break", 5, {} },
+ { TK_CATCH, "catch", 5, {} },
{ TK_BOOL, "false", 5, { .b = false } },
{ TK_BOOL, "true", 4, { .b = true } },
- { TK_ELIF, "elif", 4 },
- { TK_ELSE, "else", 4 },
- { TK_THIS, "this", 4 },
- { TK_NULL, "null", 4 },
- { TK_CASE, "case", 4 },
+ { TK_ELIF, "elif", 4, {} },
+ { TK_ELSE, "else", 4, {} },
+ { TK_THIS, "this", 4, {} },
+ { TK_NULL, "null", 4, {} },
+ { TK_CASE, "case", 4, {} },
{ TK_DOUBLE, "NaN", 3, { .d = NAN } },
- { TK_TRY, "try", 3 },
- { TK_FOR, "for", 3 },
- { TK_LOCAL, "let", 3 },
- { TK_IF, "if", 2 },
- { TK_IN, "in", 2 },
+ { TK_TRY, "try", 3, {} },
+ { TK_FOR, "for", 3, {} },
+ { TK_LOCAL, "let", 3, {} },
+ { TK_IF, "if", 2, {} },
+ { TK_IN, "in", 2, {} },
};