]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_notation/cicNotationLexer.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / cic_notation / cicNotationLexer.mli
index 82731d904a44623a89e41cb8d3789b1bcc4f6b64..cd5f0876dd2fe4d715a5791c27f7f6ffeb7fb5ff 100644 (file)
    * error message *)
 exception Error of int * int * string
 
-  (** lexer for concrete syntax patterns (notation level 1) *)
-val syntax_pattern_lexer: (string * string) Token.glexer
+  (** XXX ZACK DEFCON 4 BEGIN: never use the tok_func field of the glexers below
+   * passing values of type char Stream.t, they should be in fact Ulexing.lexbuf
+   * casted with Obj.magic :-/ Read the comment in the .ml for the rationale *)
 
-  (** lexer for ast patterns (notation level 2) *)
-val ast_pattern_lexer: (string * string) Token.glexer
+val level1_pattern_lexer: (string * string) Token.glexer
+val level2_ast_lexer: (string * string) Token.glexer
+val level2_meta_lexer: (string * string) Token.glexer
+
+  (** XXX ZACK DEFCON 4 END *)
+
+val add_level2_ast_keyword: string -> unit    (** non idempotent *)
+val remove_level2_ast_keyword: string -> unit (** non idempotent *)
+
+(** {2 Ligatures} *)
+
+val is_ligature_char: char -> bool
+val lookup_ligatures: string -> string list