diff options
Diffstat (limited to 'proctab.c')
-rw-r--r-- | proctab.c | 150 |
1 files changed, 76 insertions, 74 deletions
@@ -2,7 +2,7 @@ #include "awk.h" #include "ytab.h" -static const char * const printname[94] = { +static const char * const printname[95] = { "FIRSTTOKEN", /* 258 */ "PROGRAM", /* 259 */ "PASTAT", /* 260 */ @@ -25,82 +25,83 @@ static const char * const printname[94] = { "QUEST", /* 277 */ "PLUS", /* 278 */ "EMPTYRE", /* 279 */ - "AND", /* 280 */ - "BOR", /* 281 */ - "APPEND", /* 282 */ - "EQ", /* 283 */ - "GE", /* 284 */ - "GT", /* 285 */ - "LE", /* 286 */ - "LT", /* 287 */ - "NE", /* 288 */ - "IN", /* 289 */ - "ARG", /* 290 */ - "BLTIN", /* 291 */ - "BREAK", /* 292 */ - "CLOSE", /* 293 */ - "CONTINUE", /* 294 */ - "DELETE", /* 295 */ - "DO", /* 296 */ - "EXIT", /* 297 */ - "FOR", /* 298 */ - "FUNC", /* 299 */ - "SUB", /* 300 */ - "GSUB", /* 301 */ - "IF", /* 302 */ - "INDEX", /* 303 */ - "LSUBSTR", /* 304 */ - "MATCHFCN", /* 305 */ - "NEXT", /* 306 */ - "NEXTFILE", /* 307 */ - "ADD", /* 308 */ - "MINUS", /* 309 */ - "MULT", /* 310 */ - "DIVIDE", /* 311 */ - "MOD", /* 312 */ - "ASSIGN", /* 313 */ - "ASGNOP", /* 314 */ - "ADDEQ", /* 315 */ - "SUBEQ", /* 316 */ - "MULTEQ", /* 317 */ - "DIVEQ", /* 318 */ - "MODEQ", /* 319 */ - "POWEQ", /* 320 */ - "PRINT", /* 321 */ - "PRINTF", /* 322 */ - "SPRINTF", /* 323 */ - "ELSE", /* 324 */ - "INTEST", /* 325 */ - "CONDEXPR", /* 326 */ - "POSTINCR", /* 327 */ - "PREINCR", /* 328 */ - "POSTDECR", /* 329 */ - "PREDECR", /* 330 */ - "VAR", /* 331 */ - "IVAR", /* 332 */ - "VARNF", /* 333 */ - "CALL", /* 334 */ - "NUMBER", /* 335 */ - "STRING", /* 336 */ - "REGEXPR", /* 337 */ - "GETLINE", /* 338 */ - "RETURN", /* 339 */ - "SPLIT", /* 340 */ - "SUBSTR", /* 341 */ - "WHILE", /* 342 */ - "CAT", /* 343 */ - "NOT", /* 344 */ - "UMINUS", /* 345 */ - "UPLUS", /* 346 */ - "POWER", /* 347 */ - "DECR", /* 348 */ - "INCR", /* 349 */ - "INDIRECT", /* 350 */ - "LASTTOKEN", /* 351 */ + "ZERO", /* 280 */ + "AND", /* 281 */ + "BOR", /* 282 */ + "APPEND", /* 283 */ + "EQ", /* 284 */ + "GE", /* 285 */ + "GT", /* 286 */ + "LE", /* 287 */ + "LT", /* 288 */ + "NE", /* 289 */ + "IN", /* 290 */ + "ARG", /* 291 */ + "BLTIN", /* 292 */ + "BREAK", /* 293 */ + "CLOSE", /* 294 */ + "CONTINUE", /* 295 */ + "DELETE", /* 296 */ + "DO", /* 297 */ + "EXIT", /* 298 */ + "FOR", /* 299 */ + "FUNC", /* 300 */ + "SUB", /* 301 */ + "GSUB", /* 302 */ + "IF", /* 303 */ + "INDEX", /* 304 */ + "LSUBSTR", /* 305 */ + "MATCHFCN", /* 306 */ + "NEXT", /* 307 */ + "NEXTFILE", /* 308 */ + "ADD", /* 309 */ + "MINUS", /* 310 */ + "MULT", /* 311 */ + "DIVIDE", /* 312 */ + "MOD", /* 313 */ + "ASSIGN", /* 314 */ + "ASGNOP", /* 315 */ + "ADDEQ", /* 316 */ + "SUBEQ", /* 317 */ + "MULTEQ", /* 318 */ + "DIVEQ", /* 319 */ + "MODEQ", /* 320 */ + "POWEQ", /* 321 */ + "PRINT", /* 322 */ + "PRINTF", /* 323 */ + "SPRINTF", /* 324 */ + "ELSE", /* 325 */ + "INTEST", /* 326 */ + "CONDEXPR", /* 327 */ + "POSTINCR", /* 328 */ + "PREINCR", /* 329 */ + "POSTDECR", /* 330 */ + "PREDECR", /* 331 */ + "VAR", /* 332 */ + "IVAR", /* 333 */ + "VARNF", /* 334 */ + "CALL", /* 335 */ + "NUMBER", /* 336 */ + "STRING", /* 337 */ + "REGEXPR", /* 338 */ + "GETLINE", /* 339 */ + "RETURN", /* 340 */ + "SPLIT", /* 341 */ + "SUBSTR", /* 342 */ + "WHILE", /* 343 */ + "CAT", /* 344 */ + "NOT", /* 345 */ + "UMINUS", /* 346 */ + "UPLUS", /* 347 */ + "POWER", /* 348 */ + "DECR", /* 349 */ + "INCR", /* 350 */ + "INDIRECT", /* 351 */ + "LASTTOKEN", /* 352 */ }; -Cell *(*proctab[94])(Node **, int) = { +Cell *(*proctab[95])(Node **, int) = { nullproc, /* FIRSTTOKEN */ program, /* PROGRAM */ pastat, /* PASTAT */ @@ -123,6 +124,7 @@ Cell *(*proctab[94])(Node **, int) = { nullproc, /* QUEST */ nullproc, /* PLUS */ nullproc, /* EMPTYRE */ + nullproc, /* ZERO */ boolop, /* AND */ boolop, /* BOR */ nullproc, /* APPEND */ |