Module Ed_ocaml_lexer (.ml)


module Ed_ocaml_lexer: sig .. end
start and stop positions in characters

val prerr_endline : 'a -> unit

type token =
| AMPERAMPER
| AMPERSAND
| AND
| AS
| ASSERT
| BACKQUOTE
| BAR
| BARBAR
| BARRBRACKET
| BEGIN
| CHAR
| CLASS
| COLON
| COLONCOLON
| COLONEQUAL
| COLONGREATER
| COMMA
| CONSTRAINT
| DO
| DONE
| DOT
| DOTDOT
| DOWNTO
| ELSE
| END
| EOF
| EQUAL
| EXCEPTION
| EXTERNAL
| FALSE
| FLOAT
| FOR
| FUN
| FUNCTION
| FUNCTOR
| GREATER
| GREATERRBRACE
| GREATERRBRACKET
| IF
| IN
| INCLUDE
| INFIXOP0
| INFIXOP1
| INFIXOP2
| INFIXOP3
| INFIXOP4
| INHERIT
| INITIALIZER
| INT
| INT32
| INT64
| NATIVEINT
| LABEL of string
| LAZY
| LBRACE
| LBRACELESS
| LBRACKET
| LBRACKETBAR
| LBRACKETGREATER
| LBRACKETLESS
| LESS
| LESSMINUS
| LET
| LIDENT
| LPAREN
| MATCH
| METHOD
| MINUS
| MINUSDOT
| MINUSGREATER
| MODULE
| MUTABLE
| NEW
| OBJECT
| OF
| OPEN
| OPTLABEL of string
| OR
| PARSER
| PLUS
| PREFIXOP
| PRIVATE
| QUESTION
| QUESTIONQUESTION
| QUOTE
| RBRACE
| RBRACKET
| REC
| RPAREN
| SEMI
| SEMISEMI
| SHARP
| SIG
| STAR
| STRING
| STRUCT
| SUBTRACTIVE
| THEN
| TO
| TRUE
| TRY
| TYPE
| UIDENT
| UNDERSCORE
| VAL
| VIRTUAL
| WHEN
| WHILE
| WITH
| COMMENT
| EOL
| EOFCOMMENT
| EOFSTRING
| ERROR
| RULE
| PARSE

type error =
| Illegal_character of char
| Illegal_escape of string
| Unterminated_comment
| Unterminated_string
| Keyword_as_label of string
| Literal_overflow of string
| 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 Pervasives.ref

type cst_indent = {
   ind_newline : int;
   ind_bracket : int;
   ind_brace : int;
   ind_parent : int;
   ind_let : int;
   ind_begin : int;
   ind_match : int;
   ind_comment : int;
   ind_if : int;
   ind_fun : int;
   ind_struct : int;
   ind_object : int;
   ind_class : int;
   ind_module : int;
   ind_type : int;
   ind_exception : int;
   ind_loop : int;
   ind_field : int;
   ind_val : int;
}
val default_indent : cst_indent
val cst_indent : cst_indent Pervasives.ref
val line_indentations : int option list Pervasives.ref
val next_token_is_first : bool Pervasives.ref
val next_line_is_more_indented : int Pervasives.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 Pervasives.ref
val begin_comment_indentation : (int * int) Pervasives.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 Pervasives.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 : 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 ]