package chamo

  1. Overview
  2. Docs
val prerr_endline : 'a -> unit
type token =
  1. | AMPERAMPER
  2. | AMPERSAND
  3. | AND
  4. | AS
  5. | ASSERT
  6. | BACKQUOTE
  7. | BAR
  8. | BARBAR
  9. | BARRBRACKET
  10. | BEGIN
  11. | CHAR
  12. | CLASS
  13. | COLON
  14. | COLONCOLON
  15. | COLONEQUAL
  16. | COLONGREATER
  17. | COMMA
  18. | CONSTRAINT
  19. | DO
  20. | DONE
  21. | DOT
  22. | DOTDOT
  23. | DOWNTO
  24. | ELSE
  25. | END
  26. | EOF
  27. | EQUAL
  28. | EXCEPTION
  29. | EXTERNAL
  30. | FALSE
  31. | FLOAT
  32. | FOR
  33. | FUN
  34. | FUNCTION
  35. | FUNCTOR
  36. | GREATER
  37. | GREATERRBRACE
  38. | GREATERRBRACKET
  39. | IF
  40. | IN
  41. | INCLUDE
  42. | INFIXOP0
  43. | INFIXOP1
  44. | INFIXOP2
  45. | INFIXOP3
  46. | INFIXOP4
  47. | INHERIT
  48. | INITIALIZER
  49. | INT
  50. | INT32
  51. | INT64
  52. | NATIVEINT
  53. | LABEL of string
  54. | LAZY
  55. | LBRACE
  56. | LBRACELESS
  57. | LBRACKET
  58. | LBRACKETBAR
  59. | LBRACKETGREATER
  60. | LBRACKETLESS
  61. | LESS
  62. | LESSMINUS
  63. | LET
  64. | LIDENT
  65. | LPAREN
  66. | MATCH
  67. | METHOD
  68. | MINUS
  69. | MINUSDOT
  70. | MINUSGREATER
  71. | MODULE
  72. | MUTABLE
  73. | NEW
  74. | OBJECT
  75. | OF
  76. | OPEN
  77. | OPTLABEL of string
  78. | OR
  79. | PARSER
  80. | PLUS
  81. | PREFIXOP
  82. | PRIVATE
  83. | QUESTION
  84. | QUESTIONQUESTION
  85. | QUOTE
  86. | RBRACE
  87. | RBRACKET
  88. | REC
  89. | RPAREN
  90. | SEMI
  91. | SEMISEMI
  92. | SHARP
  93. | SIG
  94. | STAR
  95. | STRING
  96. | STRUCT
  97. | SUBTRACTIVE
  98. | THEN
  99. | TO
  100. | TRUE
  101. | TRY
  102. | TYPE
  103. | UIDENT
  104. | UNDERSCORE
  105. | VAL
  106. | VIRTUAL
  107. | WHEN
  108. | WHILE
  109. | WITH
  110. | COMMENT
  111. | EOL
  112. | EOFCOMMENT
  113. | EOFSTRING
  114. | ERROR
  115. | RULE
  116. | PARSE
type error =
  1. | Illegal_character of char
  2. | Illegal_escape of string
  3. | Unterminated_comment
  4. | Unterminated_string
  5. | Keyword_as_label of string
  6. | Literal_overflow of string
  7. | End_with_no_begin of string
type location = int * int

start and stop positions in characters

val curr_loc : Lexing.lexbuf -> int * int
exception Error of error * location
val token_kw : (string * token) list
val keyword_table : (string, token) Hashtbl.t
val char_for_backslash : char -> char
val char_for_decimal_code : 'a -> 'b -> char
val char_for_hexadecimal_code : 'a -> 'b -> char
val remove_underscores : string -> string
val update_loc : Lexing.lexbuf -> string option -> int -> bool -> int -> unit
val report_error : error -> string
val blocks : (token * int * int) list ref
type cst_indent = {
  1. ind_newline : int;
  2. ind_bracket : int;
  3. ind_brace : int;
  4. ind_parent : int;
  5. ind_let : int;
  6. ind_begin : int;
  7. ind_match : int;
  8. ind_comment : int;
  9. ind_if : int;
  10. ind_fun : int;
  11. ind_struct : int;
  12. ind_object : int;
  13. ind_class : int;
  14. ind_module : int;
  15. ind_type : int;
  16. ind_exception : int;
  17. ind_loop : int;
  18. ind_field : int;
  19. ind_val : int;
}
val default_indent : cst_indent
val cst_indent : cst_indent ref
val line_indentations : int option list ref
val next_token_is_first : bool ref
val next_line_is_more_indented : int ref
val if_first_token_on_line : int -> unit

Ad this indentation to the line_indentation list if we're on the first token of the line

val if_first_token_on_line_set_none : unit -> unit
val cur_indent : int ref
val begin_comment_indentation : (int * int) ref
val set_indent : ?touch_next_line:bool -> int -> unit
val inc_indent : ?touch_next_line:bool -> int -> unit
val dec_indent : ?touch_next_line:bool -> int -> unit
val string_of_token : token -> string
val prerr_blocks_stack : unit -> unit
val last_popped : (token * int * int) option ref
val pop : token list -> string -> Lexing.lexbuf -> int * int
val last_begin_let_indent : unit -> (int * int) option
val last_and_associated_indent : unit -> (int * int) option
val last_begin_module_indent : unit -> (int * int) option
val last_begin_struct_sig_indent : unit -> (int * int) option
val last_begin_object_indent : unit -> (int * int) option
val last_begin_sig_object_indent : unit -> (int * int) option
val push : token -> int -> int -> unit
val push_if_different : token -> int -> int -> bool
val begin_tokens_of_token : token -> token list
val last_block_indent : unit -> int * int
val last_block_inner_indent : unit -> int
val nl_info_stack : int Stack.t
val push_nl_info : unit -> unit
val pop_nl_info : unit -> unit
val on_par_open : token -> 'a -> unit
val on_par_close : Lexing.lexbuf -> token -> string -> unit
val on_keyword : Lexing.lexbuf -> token -> unit
val __ocaml_lex_tables : Stdlib.Lexing.lex_tables
val token : Lexing.lexbuf -> token
val __ocaml_lex_token_rec : Lexing.lexbuf -> int -> token
val comment : Lexing.lexbuf -> unit
val __ocaml_lex_comment_rec : Lexing.lexbuf -> int -> unit
val string : Lexing.lexbuf -> unit
val __ocaml_lex_string_rec : Lexing.lexbuf -> int -> unit
val skip_sharp_bang : Lexing.lexbuf -> unit
val __ocaml_lex_skip_sharp_bang_rec : Lexing.lexbuf -> int -> unit
val get_lines_indentation : ?indent_spec:cst_indent -> string -> [> `Failure of error * location * int option list | `Success of int option list ]
OCaml

Innovation. Community. Security.