Js_of_ocaml_compiler.Javascript
module Num : sig ... end
module Label : sig ... end
and array_litteral = element_list
and element_list = expression option list
and arguments = (expression * spread) list
and property_name_and_value_list = (property_name * expression) list
and 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_list
and variable_declaration = ident * initialiser option
and case_clause = expression * statement_list
and initialiser = expression * location
and function_declaration = ident * formal_parameter_list * function_body * location
and function_expression = ident option * formal_parameter_list * function_body * location
and formal_parameter_list = ident list
and function_body = source_elements
and program = source_elements
and source_elements = (source_element * location) list
val ident : ?loc:location -> ?var:Code.Var.t -> identifier -> ident