module Ast = Ast module Lexer = Lexer module Parser = Parser module Typechecker = Typechecker module Generator_json = Generator_json module Generator_c = Generator_c type program = Ast.program val parse_string : string -> (program, string) result val string_of_program : program -> string val type_check : program -> (unit, string) result val parse_and_type_check : string -> (program, string) result val generate_json : program -> string val generate_c : program -> string