sig
  val is_in_string : string -> char -> bool
  val is_white : char -> bool
  val is_digit : char -> bool
  val strip_us : string -> string
  val pre_tokens_of_lexbuf :
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Lexing.lexbuf -> Flx_lexstate.lexer_state -> Flx_parse.token list
  val pre_tokens_of_string :
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    string -> string -> Flx_parse.token list
  val line_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref -> string -> Lexing.lexbuf -> Flx_parse.token list
  val undef_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val define_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val infix_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val bracket_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val if_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val ifdef_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref -> string -> Flx_parse.token list
  val ifndef_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref -> string -> Flx_parse.token list
  val else_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref -> string -> Flx_parse.token list
  val elif_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val endif_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref -> string -> Flx_parse.token list
  val divert_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val undivert_directive :
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    Flx_parse.token list
  val include_directive :
    bool ->
    Flx_lexstate.lexer_state ->
    Flx_ast.range_srcref ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    '-> Flx_parse.token list
  val handle_preprocessor :
    Flx_lexstate.lexer_state ->
    Lexing.lexbuf ->
    string ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> Flx_parse.token list) ->
    (Flx_lexstate.lexer_state -> Lexing.lexbuf -> string) ->
    Flx_parse.token list
end