123456789101112131415161718192021222324252627282930313233(* Claude Code
*
* Copyright (C) 2026 Yoann Padioleau
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License
* (LGPL) as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*)(* See Token_c.mli *)typekind=Comment|Keyword|Ident|Int|Float|Char|String|Operator|Punctuation|Directive|Errortypet={kind:kind;text:string;offset:int;line:int;col:int;pp:bool}letshow_kind=function|Comment->"Comment"|Keyword->"Keyword"|Ident->"Ident"|Int->"Int"|Float->"Float"|Char->"Char"|String->"String"|Operator->"Operator"|Punctuation->"Punctuation"|Directive->"Directive"|Error->"Error"letis_constant(s:string):bool=String.lengths>=2&&String.exists(func->c>='A'&&c<='Z')s&&String.for_all(func->(c>='A'&&c<='Z')||(c>='0'&&c<='9')||c='_')s