
* Reverted [pos.mli] to the previous signature, except [Pos.min] that now takes a labelled parameter [file]. * Reverted [ParserAPI.ml] to the previous signature. * Reexported [shor_error] in [ParserUnit]. * Changed the modules [LexToken] so that they export one function to make attributes, the first, additional paramater being "[@" or "[@@" (and invalid in PascaLIGO). * Added support in all [ParserLog] for attributes (pretty-printings). * Added AST nodes [Attr] and [AttrDecl] to PascaLIGO. The simplifier takes care of hooking them with their respective declarations or discarding them. (In the future, we should issue a warning for detached attributes.)
19 lines
582 B
OCaml
19 lines
582 B
OCaml
(* This module exports checks on scoping, called from the parser. *)
|
|
|
|
type t =
|
|
Reserved_name of AST.variable
|
|
| Duplicate_parameter of AST.variable
|
|
| Duplicate_variant of AST.variable
|
|
| Non_linear_pattern of AST.variable
|
|
| Duplicate_field of AST.variable
|
|
|
|
type error = t
|
|
|
|
exception Error of t
|
|
|
|
val check_reserved_name : AST.variable -> unit
|
|
val check_pattern : AST.pattern -> unit
|
|
val check_variants : AST.variant Region.reg list -> unit
|
|
val check_parameters : AST.param_decl list -> unit
|
|
val check_fields : AST.field_decl Region.reg list -> unit
|