package js_of_ocaml-compiler

  1. Overview
  2. Docs
module Num : sig ... end
module Label : sig ... end
type location =
  1. | Pi of Parse_info.t
  2. | N
  3. | U
type identifier = string
type ident_string = {
  1. name : identifier;
  2. var : Code.Var.t option;
  3. loc : location;
}
type ident =
  1. | S of ident_string
  2. | V of Code.Var.t
and array_litteral = element_list
and element_list = expression option list
and binop =
  1. | Eq
  2. | StarEq
  3. | SlashEq
  4. | ModEq
  5. | PlusEq
  6. | MinusEq
  7. | LslEq
  8. | AsrEq
  9. | LsrEq
  10. | BandEq
  11. | BxorEq
  12. | BorEq
  13. | Or
  14. | And
  15. | Bor
  16. | Bxor
  17. | Band
  18. | EqEq
  19. | NotEq
  20. | EqEqEq
  21. | NotEqEq
  22. | Lt
  23. | Le
  24. | Gt
  25. | Ge
  26. | InstanceOf
  27. | In
  28. | Lsl
  29. | Lsr
  30. | Asr
  31. | Plus
  32. | Minus
  33. | Mul
  34. | Div
  35. | Mod
and unop =
  1. | Not
  2. | Neg
  3. | Pl
  4. | Typeof
  5. | Void
  6. | Delete
  7. | Bnot
  8. | IncrA
  9. | DecrA
  10. | IncrB
  11. | DecrB
and spread = [
  1. | `Spread
  2. | `Not_spread
]
and arguments = (expression * spread) list
and property_name_and_value_list = (property_name * expression) list
and property_name =
  1. | PNI of identifier
  2. | PNS of string
  3. | PNN of Num.t
and expression =
  1. | ESeq of expression * expression
  2. | ECond of expression * expression * expression
  3. | EBin of binop * expression * expression
  4. | EUn of unop * expression
  5. | ECall of expression * arguments * location
  6. | EAccess of expression * expression
  7. | EDot of expression * identifier
  8. | ENew of expression * arguments option
  9. | EVar of ident
  10. | EFun of function_expression
  11. | EStr of string * [ `Bytes | `Utf8 ]
  12. | EArr of array_litteral
  13. | EBool of bool
  14. | ENum of Num.t
  15. | EObj of property_name_and_value_list
  16. | EQuote of string
  17. | ERegexp of string * string option
and statement =
  1. | Block of block
  2. | Variable_statement of variable_declaration list
  3. | Empty_statement
  4. | Expression_statement of expression
  5. | If_statement of expression * statement * location * (statement * location) option
  6. | Do_while_statement of statement * location * expression
  7. | While_statement of expression * statement * location
  8. | For_statement of (expression option, variable_declaration list) either * expression option * expression option * statement * location
  9. | ForIn_statement of (expression, variable_declaration) either * expression * statement * location
  10. | Continue_statement of Label.t option
  11. | Break_statement of Label.t option
  12. | Return_statement of expression option
  13. | Labelled_statement of Label.t * statement * location
  14. | Switch_statement of expression * case_clause list * statement_list option * case_clause list
  15. | Throw_statement of expression
  16. | Try_statement of block * (ident * block) option * block option
  17. | Debugger_statement
and ('left, 'right) either =
  1. | Left of 'left
  2. | Right of 'right
and block = statement_list
and statement_list = (statement * location) 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
and source_element =
  1. | Statement of statement
  2. | Function_declaration of function_declaration
val compare_ident : ident -> ident -> int
val is_ident : string -> bool
val ident : ?loc:location -> ?var:Code.Var.t -> identifier -> ident
module IdentSet : Set.S with type elt = ident
module IdentMap : Map.S with type key = ident
OCaml

Innovation. Community. Security.