#include "prv.h" #include #include static const char *kws[] = { /* headers */ "public", "function", /* sections */ "types", "storage", "linkage", "procedure", "locals", "globals", "imports", /* types */ "union", "struct", "constant", "alias", "prototype", /* operators */ "add", "subtract", "multiply", "divide", "xor", "bitor", "bitand", "leftshift", "rightshift", "address", "size", "call", "set", /* procedures */ "using", "returning", /* built-in functions */ "display", "warn", /* flow control */ "while", "if", "else", "end", "return", "go", "label", "default", /* prepositions */ "by", "from", "to", "than", "of", "etc", /* comparators */ "is", "not", "equal", "greater", "smaller", "and", "or", /* built-in types */ "void", "array", "pointer", /* built-in signed types */ "byte", "halfword", "word", "long", /* built-in unsigned types */ "ubyte", "uhalfword", "uword", "ulong" }; int kw(const char *s) { for (size_t i = 0; i < sizeof kws / sizeof *kws; i++) if (!strcmp(s, kws[i])) return 1; return 0; }