%{
#include <string.h>
%}
%pic
%compare-strncmp
%language=ANSI-C
%readonly-tables
%define lookup-function-name is_keyword_c
%%
_Alignas
_Alignof
_Atomic
_BitInt
_Bool
_Complex
_Decimal128
_Decimal32
_Decimal64
_Float128
_Float16
_Float32
_Float64
_Generic
_Imaginary
_Noreturn
_Static_assert
_Thread_local
__access__
__alias__
__aligned__
__alignof
__alignof__
__alloc_align__
__alloc_size__
__always_inline__
__artificial__
__asm
__asm__
__assume_aligned__
__attribute
__attribute__
__auto_type
__avx2
__bf16
__builtin___
__builtin_offsetof
__builtin_va_arg
__byte__
__cmn_err__
__cold__
__complex
__complex__
__const
__const__
__constructor__
__copy__
__deprecated__
__destructor__
__error__
__extension__
__externally_visible__
__fd_arg
__fd_arg__
__fentry__
__flatten__
__float80
__force_align_arg_pointer__
__format__
__format_arg__
__funline
__gnu_format__
__gnu_inline__
__gnu_printf__
__gnu_scanf__
__hardbool__
__hot__
__ifunc__
__imag
__imag__
__imag__ 
__inline
__inline__
__interrupt__
__interrupt_handler__
__label__
__leaf__
__malloc__
__may_alias__
__mcarch__
__mcfarch__
__mcffpu__
__mcfhwdiv__
__mode__
__ms_abi__
__msabi
__muarch__
__no_address_safety_analysis__
__no_caller_saved_registers__
__no_icf__
__no_instrument_function__
__no_profile_instrument_function__
__no_reorder__
__no_sanitize__
__no_sanitize_address__
__no_sanitize_thread__
__no_sanitize_undefined__
__no_split_stack__
__no_stack_limit__
__no_stack_protector__
__noclone__
__noinline__
__noipa__
__nonnull__
__noplt__
__noreturn__
__nothrow__
__null
__optimize__
__packed__
__params_nonnull__
__patchable_function_entry__
__pic__
__pie__
__pointer__
__printf__
__pure__
__read_only
__read_only__
__read_write
__read_write__
__real
__real__
__real__ 
__restrict
__restrict__
__retain__
__return__
__returns_nonnull__
__returns_twice__
__scanf__
__section__
__seg_fs
__seg_gs
__sentinel__
__signed
__signed__
__simd__
__strfmon__
__strftime__
__strong__
__symver__
__sysv_abi__
__tainted_args__
__target__
__target_clones
__target_clones__
__thread
__transparent_union__
__typeof
__typeof__
__typeof_unqual__
__unix__
__unused__
__used__
__vax__
__vector_size__
__vex
__visibility__
__volatile
__volatile__
__volatile__ 
__warn_if_not_aligned__
__warn_unused_result__
__warning__
__weak__
__word__
__write_only
__write_only__
__wur
__zero_call_used_regs__
alignas
alignof
asm
auto
autotype
bool
break
case
char
const
constexpr
continue
default
do
dontcallback
dontthrow
double
else
enum
extern
float
for
forcealign
forcealignargpointer
forceinline
goto
hasatleast
if
inline
int
interruptfn
libcesque
long
mallocesque
memcpyesque
nocallersavedregisters
nosideeffect
nullptr
nullterminated
paramsnonnull
printfesque
privileged
pureconst
reallocesque
register
relegated
restrict
return
returnsaligned
returnsnonnull
returnspointerwithnoaliases
returnstwice
scanfesque
short
signed
sizeof
static
strftimeesque
strlenesque
struct
switch
textwindows
thatispacked
thread_local
typedef
typeof
typeof_unqual
union
unsigned
vallocesque
void
volatile
while
wontreturn
