Module Jingoo.Jg_interp

val filter_map : ('a -> 'b option) -> 'a list -> 'b list
val value_of_expr : Jg_types.environment -> Jg_types.context -> Jg_types.expression -> Jg_types.tvalue
val apply_name_of : Jg_types.expression -> string
val ident_names_of : Jg_types.expression list -> string list
val alias_names_of : Jg_types.expression list -> (string * string) list
val nargs_of : Jg_types.environment -> Jg_types.context -> Jg_types.arguments -> Jg_types.tvalue list
val kwargs_of : Jg_types.environment -> Jg_types.context -> Jg_types.arguments -> Jg_types.kwargs
val eval_macro : Jg_types.environment -> Jg_types.context -> string -> Jg_types.tvalue list -> Jg_types.kwargs -> Jg_types.macro -> Jg_types.context
val is_safe_expr : Jg_types.expression -> bool
val eval_statement : Jg_types.environment -> Jg_types.context -> Jg_types.statement -> Jg_types.context
val unfold_extends : Jg_types.environment -> Jg_types.ast -> Jg_types.ast
val replace_blocks : Jg_types.ast -> Jg_types.ast
val inline_include : Jg_types.environment -> Jg_types.ast -> Jg_types.ast
val import_macros : Jg_types.environment -> Jg_types.context -> Jg_types.ast -> Jg_types.ast
val get_file_path : Jg_types.environment -> string -> string
val init_context : ?⁠env:Jg_types.environment -> ?⁠models:(string * Jg_types.tvalue) list -> output:(Jg_types.tvalue -> unit) -> unit -> Jg_types.context
val ast_from_lexbuf : string option -> Stdlib.Lexing.lexbuf -> Jg_types.ast
val error : string -> Stdlib.Lexing.lexbuf -> Jg_types.ast
val ast_from_chan : string option -> Stdlib.in_channel -> Jg_types.ast
val ast_from_file : env:Jg_types.environment -> string -> Jg_types.ast
val ast_from_string : string -> Jg_types.ast
val eval_aux : env:Jg_types.environment -> ctx:Jg_types.context -> Jg_types.ast -> unit
val from_file : ?⁠env:Jg_types.environment -> ?⁠models:(string * Jg_types.tvalue) list -> output:(Jg_types.tvalue -> unit) -> ?⁠ctx:Jg_types.context -> string -> unit
val from_string : ?⁠env:Jg_types.environment -> ?⁠models:(string * Jg_types.tvalue) list -> ?⁠file_path:'a -> output:(Jg_types.tvalue -> unit) -> ?⁠ctx:Jg_types.context -> string -> unit
val from_chan : ?⁠env:Jg_types.environment -> ?⁠models:(string * Jg_types.tvalue) list -> ?⁠file_path:string -> output:(Jg_types.tvalue -> unit) -> ?⁠ctx:Jg_types.context -> Stdlib.in_channel -> unit