text: /*
   * Copyright 2010 Rui Ueyama <rui314@gmail.com>.  All rights reserved.
   * This code is available under the simplified BSD license.  See LICENSE for details.
   */
  
  /*
   * List of keywords (C99 6.4.1)
   */
  KEYWORD(KEYWORD_AUTO, "auto")
  KEYWORD(KEYWORD_BREAK, "break")
  KEYWORD(KEYWORD_CASE, "case")
  KEYWORD(KEYWORD_CHAR, "char")
  KEYWORD(KEYWORD_CONST, "const")
  KEYWORD(KEYWORD_CONTINUE, "continue")
  KEYWORD(KEYWORD_DEFAULT, "default")
  KEYWORD(KEYWORD_DO, "do")
  KEYWORD(KEYWORD_DOUBLE, "double")
  KEYWORD(KEYWORD_ELSE, "else")
  KEYWORD(KEYWORD_ENUM, "enum")
  KEYWORD(KEYWORD_EXTERN, "extern")
  KEYWORD(KEYWORD_FLOAT, "float")
  KEYWORD(KEYWORD_FOR, "for")
  KEYWORD(KEYWORD_GOTO, "goto")
  KEYWORD(KEYWORD_IF, "if")
  KEYWORD(KEYWORD_INLINE, "inline")
  KEYWORD(KEYWORD_INT, "int")
  KEYWORD(KEYWORD_LONG, "long")
  KEYWORD(KEYWORD_REGISTER, "register")
  KEYWORD(KEYWORD_RESTRICT, "restrict")
  KEYWORD(KEYWORD_RETURN, "return")
  KEYWORD(KEYWORD_SHORT, "short")
  KEYWORD(KEYWORD_SIGNED, "signed")
  KEYWORD(KEYWORD_SIZEOF, "sizeof")
  KEYWORD(KEYWORD_STATIC, "static")
  KEYWORD(KEYWORD_STRUCT, "struct")
  KEYWORD(KEYWORD_SWITCH, "switch")
  KEYWORD(KEYWORD_TYPEDEF, "typedef")
  KEYWORD(KEYWORD_UNION, "union")
  KEYWORD(KEYWORD_UNSIGNED, "unsigned")
  KEYWORD(KEYWORD_VOID, "void")
  KEYWORD(KEYWORD_VOLATILE, "volatile")
  KEYWORD(KEYWORD_WHILE, "while")
  KEYWORD(KEYWORD__BOOL, "_Bool")
  KEYWORD(KEYWORD__COMPLEX, "_Complex")
  KEYWORD(KEYWORD__IMAGINARY, "_Imaginary")
  
  PUNCT(KEYWORD_A_ADD, "+=")
  PUNCT(KEYWORD_A_SUB, "-=")
  PUNCT(KEYWORD_A_MUL, "*=")
  PUNCT(KEYWORD_A_DIV, "/=")
  PUNCT(KEYWORD_A_MOD, "%=")
  PUNCT(KEYWORD_A_AND, "&=")
  PUNCT(KEYWORD_A_OR, "|=")
  PUNCT(KEYWORD_A_XOR, "^=")
  PUNCT(KEYWORD_A_LSH, "<<=")
  PUNCT(KEYWORD_A_RSH, ">>=")
  PUNCT(KEYWORD_EQ, "==")
  PUNCT(KEYWORD_NE, "!=")
  PUNCT(KEYWORD_GE, ">=")
  PUNCT(KEYWORD_LE, "<=")
  PUNCT(KEYWORD_INC, "++")
  PUNCT(KEYWORD_DEC, "--")
  PUNCT(KEYWORD_LOG_AND, "&&")
  PUNCT(KEYWORD_LOG_OR, "|")
  PUNCT(KEYWORD_LSH, "<<")
  PUNCT(KEYWORD_RSH, ">>")
  PUNCT(KEYWORD_TWOSHARPS, "##")
  PUNCT(KEYWORD_ARROW, "->")
  PUNCT(KEYWORD_THREEDOTS, "...")
  