
Description="Bison"

Categories = {"source"}

Keywords={
  { Id=1,
    List={"error", "YYABORT", "YYACCEPT", "YYBACKUP", "YYERROR",
        "YYERROR_VERBOSE", "YYINITDEPTH", "YYLEX_PARAM", "YYLTYPE", "yyltype",
        "YYMAXDEPTH", "YYPARSE_PARAM", "YYRECOVERING", "YYSTACK_USE_ALLOCA", "YYSTYPE",
        "yychar", "yyclearin", "yydebug", "yyerrok", "yyerror", "yylex", "yylval",
        "yylloc", "yynerrs", "yyparse"},
  },
  { Id=2,
    List={"int", "long", "short", "char", "void", "signed", "unsigned", "float",
        "double", "size_t", "wchar_t", "ptrdiff_t",  "sig_atomic_t", "fpos_t",
        "clock_t", "time_t", "va_list", "jmp_buf", "FILE", "DIR", "div_t", "ldiv_t",
        "static", "const", "bool", "struct", "union", "enum", "size_t", "wchar_t",
        "ptrdiff_t", "sig_atomic_t", "fpos_t", "clock_t", "time_t", "va_list",
        "jmp_buf", "FILE", "DIR", "div_t", "ldiv_t", "mbstate_t", "wctrans_t", "wint_t",
        "wctype_t", "bool", "complex", "int8_t", "int16_t", "int32_t", "int64_t",
        "uint8_t", "uint16_t", "uint32_t", "uint64_t", "int_least8_t", "int_least16_t",
        "int_least32_t", "int_least64_t", "uint_least8_t", "uint_least16_t",
        "uint_least32_t", "uint_least64_t", "int_fast8_t", "int_fast16_t",
        "int_fast32_t", "int_fast64_t", "uint_fast8_t", "uint_fast16_t",
        "uint_fast32_t", "uint_fast64_t", "intptr_t", "uintptr_t", "intmax_t",
        "uintmax_t", "string"},
  },
  { Id=3,
    Regex=[[\$\w+]],
  },
  { Id=4,
    Regex=[[^\w+:]],
  },
}

Strings={
  Delimiter=[["|']],
--Escape=[[ \\[ntvbrfa\\\?'"] ]]
}

IgnoreCase=false

Comments={
  { Block=false,
    Delimiter= { [[//]] },
  },
  { Block=true,
    Nested=false,
    Delimiter= { [[\/\*]],[[\*\/]],}
  }
}

PreProcessor={
  Prefix=[[#]],
}

Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\+|\-]]
