Js_of_ocaml_compiler.Javascriptmodule Num : sig ... endmodule Label : sig ... endand array_litteral = element_listand element_list = expression option listand arguments = (expression * spread) listand property_name_and_value_list = (property_name * expression) listand expression = | ESeq of expression * expression | 
| ECond of expression * expression * expression | 
| EBin of binop * expression * expression | 
| EUn of unop * expression | 
| ECall of expression * arguments * location | 
| EAccess of expression * expression | 
| EDot of expression * identifier | 
| ENew of expression * arguments option | 
| EVar of ident | 
| EFun of function_expression | 
| EStr of string * [ `Bytes | `Utf8 ] | 
| EArr of array_litteral | 
| EBool of bool | 
| ENum of Num.t | 
| EObj of property_name_and_value_list | 
| EQuote of string | 
| ERegexp of string * string option | 
and statement = | Block of block | 
| Variable_statement of variable_declaration list | 
| Empty_statement | 
| Expression_statement of expression | 
| If_statement of expression * statement * location * (statement * location) option | 
| Do_while_statement of statement * location * expression | 
| While_statement of expression * statement * location | 
| For_statement of (expression option, variable_declaration list) either * expression option * expression option * statement * location | 
| ForIn_statement of (expression, variable_declaration) either * expression * statement * location | 
| Continue_statement of Label.t option | 
| Break_statement of Label.t option | 
| Return_statement of expression option | 
| Labelled_statement of Label.t * statement * location | 
| Switch_statement of expression * case_clause list * statement_list option * case_clause list | 
| Throw_statement of expression | 
| Try_statement of block * (ident * block) option * block option | 
| Debugger_statement | 
and block = statement_listand variable_declaration = ident * initialiser optionand case_clause = expression * statement_listand initialiser = expression * locationand function_declaration = ident * formal_parameter_list * function_body * locationand function_expression = ident option * formal_parameter_list * function_body * locationand formal_parameter_list = ident listand function_body = source_elementsand program = source_elementsand source_elements = (source_element * location) listval ident : ?loc:location -> ?var:Code.Var.t -> identifier -> ident