Package index
lambdapi
Library lambdapi.parsing
Parsing
. LpLexer
Module
Module Parsing.LpLexer Source Source val __sedlex_table_20 : stringSource val __sedlex_table_24 : stringSource val __sedlex_table_47 : stringSource val __sedlex_table_18 : stringSource val __sedlex_table_1 : stringSource val __sedlex_table_2 : stringSource val __sedlex_table_3 : stringSource val __sedlex_table_4 : stringSource val __sedlex_table_5 : stringSource val __sedlex_table_6 : stringSource val __sedlex_table_7 : stringSource val __sedlex_table_8 : stringSource val __sedlex_table_9 : stringSource val __sedlex_table_10 : stringSource val __sedlex_table_11 : stringSource val __sedlex_table_12 : stringSource val __sedlex_table_13 : stringSource val __sedlex_table_15 : stringSource val __sedlex_table_16 : stringSource val __sedlex_table_17 : stringSource val __sedlex_table_19 : stringSource val __sedlex_table_22 : stringSource val __sedlex_table_23 : stringSource val __sedlex_table_25 : stringSource val __sedlex_table_26 : stringSource val __sedlex_table_28 : stringSource val __sedlex_table_29 : stringSource val __sedlex_table_30 : stringSource val __sedlex_table_31 : stringSource val __sedlex_table_33 : stringSource val __sedlex_table_34 : stringSource val __sedlex_table_35 : stringSource val __sedlex_table_36 : stringSource val __sedlex_table_37 : stringSource val __sedlex_table_38 : stringSource val __sedlex_table_40 : stringSource val __sedlex_table_41 : stringSource val __sedlex_table_42 : stringSource val __sedlex_table_43 : stringSource val __sedlex_table_44 : stringSource val __sedlex_table_45 : stringSource val __sedlex_table_46 : stringSource val __sedlex_table_48 : stringSource val __sedlex_table_49 : stringSource val __sedlex_table_50 : stringSource val __sedlex_table_51 : stringSource val __sedlex_table_52 : stringSource val __sedlex_table_53 : stringSource val __sedlex_table_54 : stringSource val __sedlex_table_55 : stringSource val __sedlex_table_56 : stringSource val __sedlex_table_58 : stringSource val __sedlex_table_60 : stringSource val __sedlex_table_61 : stringSource val __sedlex_table_62 : stringSource val __sedlex_table_63 : stringSource val __sedlex_table_64 : stringSource val __sedlex_table_65 : stringSource val __sedlex_table_66 : stringSource val __sedlex_table_32 : stringSource val __sedlex_table_57 : stringSource val __sedlex_table_14 : stringSource val __sedlex_table_39 : stringSource val __sedlex_table_21 : stringSource val __sedlex_table_27 : stringSource val __sedlex_table_59 : stringSource val __sedlex_partition_48 : int -> intSource val __sedlex_partition_58 : int -> intSource val __sedlex_partition_20 : int -> intSource val __sedlex_partition_25 : int -> intSource val __sedlex_partition_41 : int -> intSource val __sedlex_partition_42 : int -> intSource val __sedlex_partition_8 : int -> intSource val __sedlex_partition_66 : int -> intSource val __sedlex_partition_21 : int -> intSource val __sedlex_partition_38 : int -> intSource val __sedlex_partition_57 : int -> intSource val __sedlex_partition_64 : int -> intSource val __sedlex_partition_16 : int -> intSource val __sedlex_partition_28 : int -> intSource val __sedlex_partition_50 : int -> intSource val __sedlex_partition_10 : int -> intSource val __sedlex_partition_12 : int -> intSource val __sedlex_partition_17 : int -> intSource val __sedlex_partition_52 : int -> intSource val __sedlex_partition_67 : int -> intSource val __sedlex_partition_4 : int -> intSource val __sedlex_partition_32 : int -> intSource val __sedlex_partition_15 : int -> intSource val __sedlex_partition_19 : int -> intSource val __sedlex_partition_33 : int -> intSource val __sedlex_partition_26 : int -> intSource val __sedlex_partition_70 : int -> intSource val __sedlex_partition_49 : int -> intSource val __sedlex_partition_65 : int -> intSource val __sedlex_partition_7 : int -> intSource val __sedlex_partition_54 : int -> intSource val __sedlex_partition_63 : int -> intSource val __sedlex_partition_44 : int -> intSource val __sedlex_partition_55 : int -> intSource val __sedlex_partition_14 : int -> intSource val __sedlex_partition_53 : int -> intSource val __sedlex_partition_39 : int -> intSource val __sedlex_partition_9 : int -> intSource val __sedlex_partition_23 : int -> intSource val __sedlex_partition_24 : int -> intSource val __sedlex_partition_40 : int -> intSource val __sedlex_partition_2 : int -> intSource val __sedlex_partition_46 : int -> intSource val __sedlex_partition_51 : int -> intSource val __sedlex_partition_61 : int -> intSource val __sedlex_partition_3 : int -> intSource val __sedlex_partition_31 : int -> intSource val __sedlex_partition_37 : int -> intSource val __sedlex_partition_47 : int -> intSource val __sedlex_partition_69 : int -> intSource val __sedlex_partition_13 : int -> intSource val __sedlex_partition_1 : int -> intSource val __sedlex_partition_36 : int -> intSource val __sedlex_partition_43 : int -> intSource val __sedlex_partition_59 : int -> intSource val __sedlex_partition_62 : int -> intSource val __sedlex_partition_27 : int -> intSource val __sedlex_partition_34 : int -> intSource val __sedlex_partition_45 : int -> intSource val __sedlex_partition_56 : int -> intSource val __sedlex_partition_11 : int -> intSource val __sedlex_partition_18 : int -> intSource val __sedlex_partition_6 : int -> intSource val __sedlex_partition_60 : int -> intSource val __sedlex_partition_68 : int -> intSource val __sedlex_partition_72 : int -> intSource val __sedlex_partition_22 : int -> intSource val __sedlex_partition_30 : int -> intSource val __sedlex_partition_35 : int -> intSource val __sedlex_partition_71 : int -> intSource val __sedlex_partition_29 : int -> intSource val __sedlex_partition_5 : int -> intLexer for Lambdapi syntax, using Sedlex, a Utf8 lexer generator.
Source type token = | EOF | ABORT | ADMIT | ADMITTED | APPLY | AS | ASSERT of bool| ASSOCIATIVE | ASSUME | BEGIN | BUILTIN | COERCE_RULE | COMMUTATIVE | COMPUTE | CONSTANT | DEBUG | END | FAIL | FLAG | GENERALIZE | HAVE | IN | INDUCTION | INDUCTIVE | INFIX | INJECTIVE | LET | NOTATION | OPAQUE | OPEN | POSTFIX | PREFIX | PRINT | PRIVATE | PROOFTERM | PROTECTED | PROVER | PROVER_TIMEOUT | QUANTIFIER | REFINE | REFLEXIVITY | REQUIRE | REWRITE | RULE | SEQUENTIAL | SIMPLIFY | SOLVE | SYMBOL | SYMMETRY | TYPE_QUERY | TYPE_TERM | UNIF_RULE | VERBOSE | WHY3 | WITH | DEBUG_FLAGS of bool * string| NAT of string| FLOAT of string| SIDE of Pratter.associativity | STRINGLIT of string| SWITCH of bool| ARROW | ASSIGN | BACKQUOTE | COMMA | COLON | DOT | EQUIV | HOOK_ARROW | LAMBDA | L_CU_BRACKET | L_PAREN | L_SQ_BRACKET | PI | R_CU_BRACKET | R_PAREN | R_SQ_BRACKET | SEMICOLON | TURNSTILE | UNDERSCORE | VBAR | UID of string| UID_EXPL of string| UID_META of int| UID_PATT of string| QID of Common.Path.t | QID_EXPL of Common.Path.t Identifiers.
There are two kinds of identifiers: regular identifiers and escaped identifiers of the form "{|...|}".
Modulo those surrounding brackets, escaped identifiers allow to use as identifiers keywords or filenames that are not regular identifiers.
An escaped identifier denoting a filename or directory is unescaped before accessing to it. Hence, the module "{|a b|}" refers to the file "a b".
Identifiers need to be normalized so that an escaped identifier, once unescaped, is not regular. To this end, every identifier of the form "{|s|}" with s regular, is understood as "s" (function remove_useless_escape below).
Finally, identifiers must not be empty, so that we can use the empty string for the path of ghost signatures.
Source val is_regid : string -> boolSource val escape : string -> stringescape s converts a string s into an escaped identifier if it is not regular. We do not check whether s contains "|}". FIXME?
Source val remove_useless_escape : string -> stringremove_useless_escape s replaces escaped regular identifiers by their unescape form.