package piqilib

  1. Overview
  2. Docs
module C = Piqi_common
module L = Piq_lexer
val tokenize_typename : string -> string list
val tokenize_name : string -> string -> string list
val check_name : string -> unit
val check_typename : string -> unit
val piq_addrefret : 'a -> C.piq_ast -> C.piq_ast
val piq_reference : ('a -> C.piq_ast) -> 'b -> C.piq_ast
val make_named : string -> Piq_ast.Piq_ast.ast option -> C.piq_ast
val make_typed : string -> Piq_ast.Piq_ast.ast option -> C.piq_ast
val make_named_or_typed : string -> 'a -> string -> Piq_ast.Piq_ast.ast option -> C.piq_ast
val expand_name : C.piq_ast -> string -> string -> Piq_ast.Piq_ast.ast option -> C.piq_ast
val expand_obj_names : C.piq_ast -> C.piq_ast
val expand_names : C.piq_ast -> C.piq_ast
val cons_named : string -> Piq_ast.Piq_ast.ast -> C.piq_ast
val cons_typed : string -> Piq_ast.Piq_ast.ast -> C.piq_ast
val cons_named_or_typed : [< `name of string | `typename of string ] -> Piq_ast.Piq_ast.ast -> C.piq_ast
val expand_splices : C.piq_ast -> C.piq_ast
val expand : C.piq_ast -> C.piq_ast
val make_string : (string * int * int) -> L.string_type -> 'a -> 'b -> [> `binary of 'c * 'd | `string of 'c * 'd ]
val retry_parse_uint : string -> int64
val parse_uint : string -> int64
val parse_int : string -> [> `int of int64 * string | `uint of int64 * string ]
val parse_float : string -> [> `float of float * string ]
val parse_number : string -> [> `float of float * string | `int of int64 * string | `uint of int64 * string ]
val read_next : ?skip_trailing_comma:bool -> (string * (L.token * (int * int)) Stream.t) -> C.piq_ast option
val read_all : (string * (L.token * (int * int)) Stream.t) -> C.piq_ast list
val make_lexstream : L.buf -> (L.token * (int * int)) Stream.t
val init_from_channel : 'a -> in_channel -> 'b * (L.token * (int * int)) Stream.t
val init_from_string : 'a -> string -> 'b * (L.token * (int * int)) Stream.t
val init_from_token_list : 'a -> 'b list -> 'c * 'b Stream.t