src/Pure/Syntax/syntax.ML
changeset 80739 60801e5fae26
parent 80073 40f5ddeda2b4
child 80742 179a24b40200
--- a/src/Pure/Syntax/syntax.ML	Wed Aug 21 20:41:16 2024 +0200
+++ b/src/Pure/Syntax/syntax.ML	Thu Aug 22 15:57:30 2024 +0200
@@ -78,6 +78,7 @@
   datatype approx = Prefix of string | Infix of {assoc: Printer.assoc, delim: string, pri: int}
   val get_approx: syntax -> string -> approx option
   val lookup_const: syntax -> string -> string option
+  val is_const: syntax -> string -> bool
   val is_keyword: syntax -> string -> bool
   val tokenize: syntax -> bool -> Symbol_Pos.T list -> Lexicon.token list
   val parse: syntax -> string -> Lexicon.token list -> Parser.parsetree list
@@ -441,6 +442,7 @@
       |> Option.map Prefix);
 
 fun lookup_const (Syntax ({consts, ...}, _)) = Symtab.lookup consts;
+fun is_const (Syntax ({consts, ...}, _)) = Symtab.defined consts;
 fun is_keyword (Syntax ({lexicon, ...}, _)) = Scan.is_literal lexicon o Symbol.explode;
 fun tokenize (Syntax ({lexicon, ...}, _)) = Lexicon.tokenize lexicon;
 fun parse (Syntax ({gram, ...}, _)) = Parser.parse (cache_eval gram);