Commit Graph

642 Commits (34a14a1193884c9aa1fd05df21e6f644653d52ec)

Author SHA1 Message Date
Alain Frisch fc9f8ee63f Style.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 07:37:16 +00:00
Alain Frisch dd200d9553 Allow the method body to be represented by a non Pexp_poly expression in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-15 17:26:32 +00:00
Alain Frisch abeb8c97f2 Document when Ptyp_poly can appear.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13529 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-15 16:47:27 +00:00
Alain Frisch e7736899fb Explicit representation of guards, get rid of Pexp_when.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-15 16:23:22 +00:00
Alain Frisch c16b98ec9f Document expressions.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13520 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-12 17:20:47 +00:00
Alain Frisch b22d47ec0f Document patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-12 16:53:55 +00:00
Alain Frisch 0c0292340e Typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13518 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-12 16:10:35 +00:00
Alain Frisch 57f1133e0a Represent the closed flag of Ptyp_variant using closed_flag instead of bool, and start documenting the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-12 16:08:52 +00:00
Alain Frisch f7fee51ae3 Example of simple type-driven code generation.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 15:26:24 +00:00
Alain Frisch 04de43bee5 Attributes on Pstr_eval.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13512 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 14:07:32 +00:00
Alain Frisch 92ad47d47b Keep item attributes on let-binding structure items.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13511 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 13:52:06 +00:00
Alain Frisch 8a9188eb3f Forgot to show attributes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 13:28:37 +00:00
Alain Frisch feb3e48ffe Continue convenience functions.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13509 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 12:57:59 +00:00
Alain Frisch 3a5b7fe6b4 Convenience functions to build AST + implicit location.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 12:50:38 +00:00
Alain Frisch d5682ed9cf A -ppx rewriter to evaluate expressions at compile time.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13506 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 12:21:02 +00:00
Alain Frisch 94106bf007 Starting to work on printing attributes in pprintast.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 07:53:48 +00:00
Alain Frisch a929cdb339 Cosmetic.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13503 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 18:00:11 +00:00
Alain Frisch 90bbd25948 Extension nodes as class field or class type field.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13502 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 17:54:54 +00:00
Alain Frisch 6e36fd566b Extension nodes and attributes for class types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13501 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 17:44:15 +00:00
Alain Frisch ee5f754a42 Attributes and extension points in class_expr.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13500 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 17:26:55 +00:00
Alain Frisch 91a1d41047 Cosmetic.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 12:37:56 +00:00
Alain Frisch e2036c5a22 Start to bring constructor names closer to concrete syntax.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 11:17:41 +00:00
Alain Frisch 580bb34579 Renaming pcstr_pat -> pcstr_self, cstr_pat -> cstr_self.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13496 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 09:35:09 +00:00
Alain Frisch 71787e0228 Support dot-separated attributes for extensions and attributes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13495 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 09:22:54 +00:00
Alain Frisch ec9dacb3f1 Support for attributes on class type fields.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13494 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 09:17:22 +00:00
Alain Frisch d84ae41182 Item attributes on class fields.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13493 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-09 15:54:41 +00:00
Alain Frisch d1751e4738 Allow to not have empty Ptyp_poly node in the Parsetree (the type-checker insert them automatically).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13491 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-09 14:10:54 +00:00
Alain Frisch 1eb1ec4c40 Get rid of core_field_type, more direct representation of object types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13489 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-09 13:29:00 +00:00
Damien Doligez 1eda2af37b fix whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13483 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-04 15:25:42 +00:00
Alain Frisch 47a3ee095e Get rid of the Default case in Asttype.rec_flag.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13481 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-04 12:38:20 +00:00
Alain Frisch 8ebf39519e Allow keywords as extension/attribute identifier.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-03 16:28:36 +00:00
Alain Frisch 27d523ea72 Better representation of variance in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-02 15:33:35 +00:00
Alain Frisch f510f9b4a1 Support for quoted strings within comments.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13469 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-29 15:36:24 +00:00
Alain Frisch 842e50f530 Add entry points to parse expressions/types/patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13466 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-29 09:45:45 +00:00
Alain Frisch 5a0a3605f3 Remove dead code.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13465 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-29 08:20:12 +00:00
Damien Doligez 129a5b29f5 added a lot of missing newlines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-28 16:08:54 +00:00
Alain Frisch 180aabbc6b Simplify.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13452 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-26 11:29:48 +00:00
Alain Frisch 6bfcb1da5b Support for quoted strings.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-26 11:17:17 +00:00
Alain Frisch fbde1f7e52 Align module and module type declarations between Parsetree and Typedtree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13443 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 17:47:28 +00:00
Alain Frisch 0b9347f482 Represent exception declarations as constructor declarations in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13442 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 15:49:10 +00:00
Alain Frisch dd61fb5e55 Represent label and constructor declarations as records in the typedtree. Also keep return type for GADT constructors.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13441 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 14:56:56 +00:00
Alain Frisch 5c98dd91fe Starting to keep attributes in the typedtree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13440 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 14:16:07 +00:00
Damien Doligez ce4d6f7995 fix wrong error message
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13425 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-22 18:02:34 +00:00
Alain Frisch f85f1e2759 Get rid of alternative syntax for '(module...)'.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13420 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-22 11:30:28 +00:00
Alain Frisch b9ad592ac0 Infix syntax for attributes/extension nodes restricted to expression constructions starting with a (combination of) keywords.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13419 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-22 11:25:52 +00:00
Damien Doligez 3455ffd361 Allow parentheses around the typexpr in "type t = [> typexpr ]".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13408 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-18 20:17:14 +00:00
Damien Doligez d78a0b0bc3 Do not let indentation grow without bound when pretty-printing the parse tree.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13407 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-18 20:15:21 +00:00
Damien Doligez c63f9e0957 fix a few problems with whitespace and over-long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +00:00
Alain Frisch b0987fd693 Attributes on expresions (etc) are now stored in the expression record, to facilitate pattern matching on structured fragments of AST while ignoring attributes. Introducing a new Ast_helper module to help creating AST fragments.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13381 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-08 14:59:45 +00:00
Alain Frisch a483bbaaf4 Experimenting with alternative syntax for extension nodes (as an annotation on the opening keyword/delimiter).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-08 09:17:30 +00:00
Alain Frisch ab2a491ba0 Support attributes on opening delimiter/keyword for all kinds of expressions.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13377 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-08 08:42:53 +00:00
Alain Frisch dec300a026 Allow seq_expr, not only expr as argument of attributes/extension nodes. This allows us to write [%do a; b; c <-- d; f c; ...].
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13376 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-08 08:18:01 +00:00
Alain Frisch 07e81b2f0d Examples. Also accept uppercase idents (and some keywords) as ids for attributes/extension nodes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13373 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-07 15:29:11 +00:00
Alain Frisch eaf9e3744a It is now possible to start a signature or a structure with a ';;' token and to have two successive ';;' tokens.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13372 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-07 14:15:23 +00:00
Alain Frisch 72a638757c Stand-alone ("floating") sig_item/str_item attributes now use the
standard syntax for item attributes.  They are recognized at the 
beginning of the signature/structure and after a ";;" token.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13371 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-07 13:46:44 +00:00
Alain Frisch 378c1d92df Simplify.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13370 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-07 13:13:36 +00:00
Alain Frisch a555c12f52 Support attributes on recursive modules.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13369 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-07 13:07:32 +00:00
Alain Frisch 63b229658e Remove prefix syntax for attributes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13368 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-07 13:00:01 +00:00
Alain Frisch 076eca73cc Alternative syntax for some constructions starting with a keyword.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13364 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 14:53:39 +00:00
Alain Frisch 97c5f1a253 Attributes on label in record type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13361 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 13:51:18 +00:00
Alain Frisch d50038cae7 Attribute has structure/signature item.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:27:32 +00:00
Alain Frisch 2cf65c8c85 Record for module type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:14:02 +00:00
Alain Frisch 24a0c6eb0e Name is part of the value_description record.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13357 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:00:18 +00:00
Alain Frisch 241abe55e6 Type name is part of the type declaration record.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13356 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 11:47:59 +00:00
Alain Frisch 59bdf321d3 Switch Pstr_modtype argument to a record type.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13355 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 10:49:44 +00:00
Alain Frisch d32b19008a Parse recursive module as standard modules, and check in the type-checker that an explicit type is provided. (Unfinished.)
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 16:50:05 +00:00
Alain Frisch e0045d42dd Parse attributes on modules/recursive modules/module types in structures (currently not kept in Parsetree).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13352 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:49:27 +00:00
Alain Frisch cc70961d4f Support item attributes on exn rebind.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13351 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:44:40 +00:00
Alain Frisch b01b7305bd Put name in the exception_declaration record.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13350 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:37:17 +00:00
Alain Frisch 8823b9dd6c Item attributes on external declarations in structures.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13349 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:17:12 +00:00
Alain Frisch 42a33460ed Item attributes on classes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13348 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:06:38 +00:00
Alain Frisch 7de8a9688e Allow to put 'item' attributes before the 'type' or 'module rec' keywords. They apply to the first item in the declaration.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13347 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 11:51:51 +00:00
Alain Frisch db579b0a1e Extension as structure/signature items [%%lid expr].
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13346 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 11:46:25 +00:00
Alain Frisch a64152ae6e Use [%lid expr] syntax for extensions.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13345 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 11:30:15 +00:00
Alain Frisch 8461db39f1 Attributes on module/module type/recursive module declarations in interfaces.
Module:

[^^id expr] [^^id expr] ...
module X : S
[@@id expr] [@@id expr] ...

Module types:

[^^id expr] [^^id expr] ...
module type X = S
[@@id expr] [@@id expr] ...

Recursive modules:

module rec [^^id expr] [^^id expr] X1 : S1 [@@id expr] [@@id expr] ...
       and [^^id expr] [^^id expr] X1 : S1 [@@id expr] [@@id expr] ...




git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13344 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 17:39:07 +00:00
Alain Frisch a5059464fe Attributes on open/include in signatures.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13343 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:36:32 +00:00
Alain Frisch 46c790a663 Attributes on exception declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:20:49 +00:00
Alain Frisch 2825f94d5b Attributes on value declared in signatures.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13341 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:03:20 +00:00
Alain Frisch a3f6606793 Prefix attributes for 'items'.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13340 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:53:43 +00:00
Alain Frisch f8706985c2 Adding prefix syntax for attributes [^id expr] ...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13339 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:48:24 +00:00
Alain Frisch 5f0aead005 Adding attributes on constructor declarations (type t = A [@id expr] | B [@id expr] of ...), and switch to a record type to represent those constructor declarations in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:35:47 +00:00
Alain Frisch 70bc46ef0c New syntax:
Attributes:   ... [@id expr]
 Extension:    [#id expr]
 
 Attributes on items:  ... [@@id expr]




git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13337 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:00:30 +00:00
Alain Frisch be76a15a6b Attributes/extensions as module types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13336 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 14:11:15 +00:00
Alain Frisch a2acbc8d3b Adding extension/attribute on patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13335 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 13:52:23 +00:00
Alain Frisch 99bc01985f Fix.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13334 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 12:58:14 +00:00
Alain Frisch e58b2cd036 Continue.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13333 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 12:54:57 +00:00
Alain Frisch c8d3ff52a2 Cleanup + support attributes on type declarations (syntax: type t = ... with (:a1 expr1) (:a2 expr2) ... (:an exprn)).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13332 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-01 12:44:04 +00:00
Alain Frisch 666d6574d7 More uniform syntax:
Attributes:
  expr (:foo expr)
  type (:foo expr)
  str_item ..(:foo expr)

Extension nodes:
  expr (&foo expr)
  type (&foo expr)
  str_item ..(&foo expr)




git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-01 09:27:14 +00:00
Alain Frisch 152255e512 First version with attributes and extensions on expressions, type expressions and structure items.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-28 16:51:59 +00:00
Hongbo Zhang 23994ac6de pprintast.ml: fix a bug for printing private types and tune some identations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13308 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-22 04:04:16 +00:00
Alain Frisch b54d688d1a Typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13289 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-08 06:04:36 +00:00
Jacques Garrigue 1b5d02346c Fix PR#5911: substituting in submodules should not be allowed
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13282 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-29 00:54:06 +00:00
Alain Frisch 7ef058b6f3 Better registration API.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-23 10:15:45 +00:00
Alain Frisch 0c856310f2 Registration API for ppx rewriters.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13269 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-23 09:15:41 +00:00
Alain Frisch 20a4b99758 #5902: adapt standard ppx driver to support extra arguments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13267 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-23 08:37:01 +00:00
Gabriel Scherer 06d3dfc6fb fix a benign typo in the parser, spotted by Frédéric Bour
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13265 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-20 17:20:25 +00:00
Alain Frisch 7ac2a543cb Allow to pass mapper objects with more methods.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13258 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-17 13:25:03 +00:00
Alain Frisch 779580674f Move ast_mapper to parsing/, make it part of compiler-libs, and add an interface. Plus minor code cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13249 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 16:10:29 +00:00
Hongbo Zhang 2854b1d448 desuaring Bigarray syntax for -dsource
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-14 02:57:43 +00:00
Damien Doligez f559b6e8f0 better locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13129 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-13 12:48:51 +00:00
Damien Doligez 773378a743 followup to r13120: output ALL locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13128 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-10 13:16:10 +00:00
Damien Doligez 4e20a37f46 fix white space
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13127 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-10 13:15:22 +00:00
Damien Doligez 7e263248d7 fix wrong locations in AST
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13122 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-08 20:56:07 +00:00
Damien Doligez 0c14bdda48 fix whitespace and long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-08 20:55:42 +00:00
Damien Doligez 551e5c854b shorter format for locations; output all locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-08 20:55:17 +00:00
Damien Doligez 06e853389f fix missing locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13116 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-06 15:41:43 +00:00
Hongbo Zhang 8930e12294 tune the indentation of [let rec ... and ...] and fix the bug of ~+
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13092 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-12 14:30:45 +00:00
Hongbo Zhang c1ba7d773a fix indentation of parsing/pprintast.ml and a minor bug let _ as f = fun .. -> ..
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13064 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-05 14:30:56 +00:00
Hongbo Zhang fe894aec5f Ptyp_poly consistent in both methods and binding
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13061 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-03 02:58:08 +00:00
Hongbo Zhang 8c0fb4317c bug fix for parsing/pprintast.ml, now pprintast pass tests of all the files in the compiler directory, including camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-03 02:20:16 +00:00
Hongbo Zhang 6b8f3706bd bug fix for parsing/pprintast.ml and add tools/eqparsetree to diff two parsetree
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13059 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-02 14:13:56 +00:00
Hongbo Zhang 7ee1f3e11e fix a typo in record printing
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-01 17:45:30 +00:00
Hongbo Zhang 6ee61c4c2f desguaring record syntax sugar
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13055 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 23:52:00 +00:00
Hongbo Zhang 920fbd3145 make pprintast usable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13054 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 18:11:33 +00:00
Alain Frisch dfa500533a #5741: make Pprintast available from the command-line (-dsource).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13025 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-17 16:09:38 +00:00
Alain Frisch 3ffcd66100 #5741: link pprintast into the compiler (unused for now, but it is available in compiler-libs).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-17 15:50:07 +00:00
Alain Frisch 238814e293 #5770: Syntax error messages involving unclosed parens are sometimes incorrect.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13019 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-16 14:04:33 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Damien Doligez d228342e8a update comment; remove spurious commas
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12918 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-10 10:32:49 +00:00
Damien Doligez 997a678d5e clean up TABs and whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 18:04:46 +00:00
Alain Frisch f6f54d325d #4762: QUESTIONQUESTION is no longer a token.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 10:15:10 +00:00
Alain Frisch 7630d3c41f #5657: fix location of punned record fields (for patterns as well).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12637 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 17:07:19 +00:00
Alain Frisch 98748d213d #5657: fix location of punned record fields.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12636 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 17:00:46 +00:00
Fabrice Le Fessant d39d43e55f merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 14:52:37 +00:00
Alain Frisch a0a14c08fa Enable and fix more warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:47:28 +00:00
Alain Frisch 05c973e6ed Compile with warning 33, and remove unused opens.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:10:03 +00:00
Damien Doligez ee4e2fb927 PR#5598: fix bug in commit 12420
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-03 11:51:08 +00:00
Damien Doligez 8c17777b85 PR#5598: remove macos9-style newline support
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12420 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-02 14:44:38 +00:00
Damien Doligez 38162c1196 remove redundant colon in norepeat mode for the toplevel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12363 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-17 08:02:02 +00:00
Damien Doligez 1b782a0122 PR#5585: typo explicitely -> explicitly
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-13 12:44:29 +00:00
Jacques Garrigue b3e0f2e72a Fix PR#5553: do not allow a type variable to have the same name as a local type
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-23 02:20:24 +00:00
Damien Doligez 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Alain Frisch 1be1d4e834 #5527: use absolute filenames in the message for Warning 31, when requested (-absname).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12198 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-07 17:27:59 +00:00
Alain Frisch ebc803bb63 Fix infinite loop (introduced by commit r11999).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12192 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 10:54:45 +00:00
Alain Frisch 4cfd2fc2a6 Reverting bad commit.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-20 14:23:34 +00:00
Alain Frisch 7fe8c8ce6f Fix #5490.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12057 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-20 14:21:03 +00:00
Alain Frisch 33eefe4874 Remove unused constructors in the AST: Cf_let, Pcf_let.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11968 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 13:27:07 +00:00
Alain Frisch 7f7dc416fd Reverting the let.expr syntax (no consensus on the proposal). Sorry for the noise.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-27 09:08:34 +00:00
Alain Frisch d79455bc76 New syntax for 'custom let bindings': let.simple_expr pat = expr in expr
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 08:58:56 +00:00
Alain Frisch 16c26c6de3 let-like operators.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11894 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 11:22:32 +00:00
Alain Frisch c1f154ea70 New option to force the compilers to show absolute paths in error messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:35:43 +00:00
Alain Frisch ece3353035 #5358: package types allow constraints on typed in sub-modules. Camlp4 compiles but does not support this new feature yet.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11311 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-14 10:26:15 +00:00
Jacques Garrigue 01dceea3cc remove conflict
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-14 08:59:07 +00:00
Damien Doligez 893a3bed36 cleanup white space and robustify mkuminus
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11290 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-29 15:49:25 +00:00
Jacques Garrigue 6c78f42d36 merge branches/gadts-devel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11284 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-24 09:02:48 +00:00
Pierre Weis 731b2a05dd Too long lines.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11254 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-28 21:26:01 +00:00
Pierre Weis 67e74dbb61 Get rid of spurious warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11253 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-28 21:24:27 +00:00
Pierre Weis 87946c9536 Get rid of spurious warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-28 21:21:55 +00:00
Jacques Garrigue b1f8048f39 merge branches/located_errors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11228 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-21 03:26:35 +00:00
Damien Doligez d9eb848d86 PR#5238, PR#5277: Sys_error when getting error location
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-08-04 14:59:13 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez 90664f4ea1 uniform .ignore system
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 15:37:36 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Pierre Weis 48f2c1714e Ignoring compiled files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10996 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-17 23:37:35 +00:00
Jacques Le Normand 80b18d194f changed the syntax back
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10885 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-05 15:25:44 +00:00
Jacques Le Normand b16b083526 changed syntax of constructors
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10883 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 17:20:18 +00:00
Jacques Le Normand eddcc06798 fixed bug in syntactic sugar translation
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10879 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 01:49:08 +00:00
Jacques Le Normand 775d35a2b8 & types are no longer created during for the new type syntax annotation
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10852 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-24 13:37:24 +00:00
Jacques Le Normand 3ec9bc692b complete_constrs in parmatch.ml now works with gadts. Reverted changes to the syntax tree which are no longer needed.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-16 06:01:59 +00:00
Jacques Le Normand f24d678e39 bootstrapped camlp4 gadts extension
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-12 11:33:41 +00:00
Jacques Garrigue 73102f0fdf disable progragation in pattern-matchings containing polymorphic variants
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-11 10:02:56 +00:00
Jacques Garrigue b0f376cd1f remove the GAHs
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 10:38:18 +00:00
Jacques Le Normand 1680403fb9 clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 06:01:27 +00:00
Jacques Le Normand 727e447d0d variance of underscore type arguments can now be specified
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10766 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 07:53:23 +00:00
Jacques Le Normand ff78b8ee75 exhaustiveness check has been _completely_ rewritten
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 07:34:09 +00:00
Jacques Le Normand c2777a43d0 merged with trunk. specifically, merged with implicit unpack patch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10742 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-25 08:19:48 +00:00
Jacques Garrigue ce605c042a merge branches/implicit-unpack + update camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 23:59:33 +00:00
Jacques Le Normand 10f670297c added lookup of constructors by type in env.ml and specification of constructors types in Ppat_construct
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 07:53:39 +00:00
Jacques Le Normand 304dba8a0f removed Type_variant, fixed bug in GADT exhaustive check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 04:02:02 +00:00
Jacques Le Normand a1910000e3 fixed bug in syntax extension. Made unification of variants and objects local. Removed personal comments
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10724 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-19 05:24:36 +00:00
Jacques Le Normand 7f749ff335 one more time
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-18 07:29:04 +00:00
Jacques Le Normand d5f16fae7a fixed small bug in syntax extension
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10722 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-18 07:26:46 +00:00
Jacques Le Normand 90a6348480 added syntactic sugar for mixing newtypes and polytypes
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-18 04:54:24 +00:00
Jacques Le Normand 6f05398661 should have been in last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10701 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-01 05:44:11 +00:00
Jacques Le Normand 790d987be5 small cleanup
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-22 08:48:33 +00:00
Jacques Le Normand a8a5d86f67 made type parameters ellidable in type declarations
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-21 05:30:25 +00:00
Jacques Le Normand 56624533fb switched to abstract types, still needs work on exhaustion type. the code needs to be cleaned up. printfs need to be removed
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-19 04:55:40 +00:00
Jacques Le Normand 6de25fef2f first commit
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 05:28:30 +00:00
Pierre Weis f5c2201cc0 PR#5062
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-06-04 16:44:08 +00:00
Alain Frisch 8ae65cc68c Keep location on value declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/located_errors@10456 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 15:45:52 +00:00
Alain Frisch baceb82d5c Keep location on type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/located_errors@10454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 15:06:01 +00:00
Alain Frisch 3067d05221 Adding some error rules.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10313 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-26 18:37:25 +00:00
Alain Frisch 1f8e12830f Fix PR #5034.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10312 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-26 18:27:14 +00:00
Jacques Garrigue 49a83dd965 merge branches/sigsubst 9626:10205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-17 14:45:12 +00:00
Jacques Garrigue e09c0b1fcb resolve shift/reduce conflict
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10251 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-08 07:46:08 +00:00
Jacques Garrigue ee36e1d1c5 merge branches/override
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10250 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-08 03:58:41 +00:00
Damien Doligez cfd555426d no warning 29 for strings in comments
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10248 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-07 14:35:46 +00:00
Alain Frisch 980f7c3b7d Better parsing for (module M : S) expressions.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-06 09:15:57 +00:00
Xavier Leroy ab550592ef Adding "module type of <module-expr>" in the class of <module-type>.
Merge of branches/moduletypeof -r 9636:10226


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-02 12:53:33 +00:00
Damien Doligez 04b1656222 clean up spaces and tabs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez 1b8095f404 PR#4940: get rid of naked end-of-lines in string constants + add warning 29
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9512 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-07 15:15:07 +00:00
Pierre Weis 7ad9cd975b To deal with printf output for %F format, adding a unary + operator.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-07 16:40:39 +00:00
Pierre Weis 769be0ebbd Including bug correction (signed numeric constants may begin with a + sign).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9437 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-01 09:57:02 +00:00
Alain Frisch 89107ae6ff Merge the letopenin branch in (svn merge -r9386:9397 /svn/ocaml/branches/letopenin) and update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-01 21:52:29 +00:00
Alain Frisch 1e5b4a4857 Merge first class modules: svn merge -r 9369:9396 $caml/branches/fstclassmod.
Adapt the Changes file. Bump magic numbers. Bootstrap.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 10:53:16 +00:00
Jacques Garrigue 023fda3fb4 merge polymorphic recursion
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9396 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 07:11:36 +00:00
Alain Frisch 09cb552e17 Import changes from the newtypein branch (svn merge -r 9367:9381 https://yquem.inria.fr/caml/svn/ocaml/branches/newtypein).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-20 07:06:43 +00:00
Alain Frisch db5a053fb4 Import changes from the newtypein branch (svn merge -r 9361:9367 https://frisch@yquem.inria.fr/caml/svn/ocaml/branches/newtypein).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9368 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-06 12:51:42 +00:00
Xavier Leroy 9c6c8fb47e As discussed at the latest consortium meeting:
Syntactic sugar {x} for {x=x} in record expressions and patterns.
Syntax { lbl=pat; _ } to mark record patterns where the user explicitly wants not to list all labels.
Warning (activated by E, the fragile match warning) to signal record patterns without '; _' that fail to list all labels.
To be done: adjust Camlp4 parser accordingly.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-12 12:41:07 +00:00
Xavier Leroy b01621e848 Added syntactic sugar for record expressions and record patterns:
{ lbl } stands for { lbl = lbl }.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9324 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-08-27 08:19:08 +00:00
Xavier Leroy a5aa0b7e37 PR#4210, PR#4245: tightened bound checking in string->integer conversion functions, without changing what the lexer accepts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9317 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-07-15 14:50:31 +00:00
Xavier Leroy 11217e8f70 Added option -no-app-funct to turn off applicative functors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9316 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-07-15 14:06:37 +00:00
Pierre Weis a548eb3a13 Understanding the notion of standard channel for Format and Scanf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-01-25 22:46:15 +00:00
Damien Doligez 2b0441401a merge changes between 3.10.2 and the end of branch 3.10
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-08 13:09:39 +00:00
Xavier Leroy 91d39feb72 PR#4223, PR#1508: added unsafe variants of Bigarray.Array{1,2,3}.{get,set}
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-14 09:09:53 +00:00
Michel Mauny 6ba024a12e Add lazy patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-09 13:03:38 +00:00
Jun FURUSE / 古瀬 淳 db0afa58a4 workaround for the problem of optional argument type parsing caused when we redefine option type
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-06-11 23:47:12 +00:00
Damien Doligez 9ea5edac9a merge changes 3.10.0 -> 3.10.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Damien Doligez e9a9bf9613 PR#3114 make all error messages start with a location and "Error: "
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-12-04 13:38:58 +00:00
Pierre Weis 48c4625aa8 Typo: PPat_type c'est Ppat_type.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-28 22:25:02 +00:00
Pierre Weis 59e0723455 It works: compilers and camlp4 are fully bootstrapped. The ast magic number is not yet changed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-09 10:29:37 +00:00
Damien Doligez 4167841b16 fusion de la version 3.10.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8416 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-08 14:19:34 +00:00
Jacques Garrigue 1b6890c1e2 PR#4186
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-12-15 04:51:11 +00:00
Damien Doligez 1279ab4b76 fusion des changements 3.09.1 -> 3.09.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-16 23:28:22 +00:00
Jacques Garrigue 602146f892 add virtual instance variables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7372 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 02:28:13 +00:00
Damien Doligez 125ea40d4c fusion 3.09.0 -> 3.09.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Damien Doligez dac3ce381f suppression d'espaces superflus
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6834 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-04-11 16:44:26 +00:00
Damien Doligez e6007f6057 fusion des changements jusqu'a 3.08.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-24 17:20:54 +00:00
Jacques Garrigue ef396b4e5a merge fixedtypes branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6821 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-23 03:08:37 +00:00
Damien Doligez 669b82bba4 alias (::)(a,b) pour (a::b) (suggestion Monniaux)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6786 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-02-16 14:38:02 +00:00
Damien Doligez 1971a6ba83 changements sur les warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6720 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-30 18:57:04 +00:00
Damien Doligez 4bea45df35 pour faire "ocamlc -w YZ -warn-error Az"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-10 12:47:20 +00:00
Damien Doligez 90ba83c066 ajout "\ " dans les chaines (petit oubli)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6666 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-06 20:12:49 +00:00
Damien Doligez a4bc8340a5 meilleur affichage pour les locations "nulle part"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-02 10:41:12 +00:00
Damien Doligez a7a1c46599 ajout "\ " dans les chaines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6650 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-02 10:39:59 +00:00
Jacques Garrigue b3a50ac0ed add location info in Ptype_variant and Ptype_record
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6633 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-06 13:06:11 +00:00
Damien Doligez 8030a20089 ne pas afficher de colonne negative
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-20 17:02:43 +00:00
Damien Doligez ea4d1da556 mauvais argument a unclosed
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6310 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-19 12:15:19 +00:00
Damien Doligez 776a8d59b7 suppression support MacOS9
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-16 15:24:03 +00:00
Damien Doligez f981f63f80 PR#1978
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6028 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-18 13:16:22 +00:00
Jacques Garrigue e32f8e9858 fast and compact classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5976 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-25 08:46:45 +00:00
Xavier Leroy c4c06a135d Detection des debordements de litteraux entiers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5961 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-21 16:01:13 +00:00
Damien Doligez 7373c5caec probleme avec les locations a l'ancienne (camlp4)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-09-03 13:24:56 +00:00
Damien Doligez 331fe042f6 changement de statut de "parser"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-25 13:15:47 +00:00
Xavier Leroy 35293da681 Suppression vieux code mis en commentaires
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-20 10:10:21 +00:00
Xavier Leroy 3e4bf9252b Revu representation des declarations de type private
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-02 09:14:35 +00:00
Damien Doligez be5cd6de3e reparation module ... : SIG with type ... and type ...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-20 15:16:57 +00:00
Damien Doligez 510294058e documentation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5603 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-19 18:12:59 +00:00
Xavier Leroy 1fa763e0c5 Merge branch with recursive modules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5602 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-19 15:53:53 +00:00
Damien Doligez 176bfafcac meilleure syntaxe pour les types virtuels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5577 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-23 14:29:47 +00:00
Pierre Weis e77055aad9 Complete move from virtual to private for concrete types with private
constructors (or labels).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-01 22:22:37 +00:00
Pierre Weis 2eed3c25e5 Getting rid of conflicts recently introduced.
One step more towards use of keyword private instead of virtual for
algebraic concrete types with private constructors or labels
(previously known as virtual types).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5522 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-29 07:03:36 +00:00
Xavier Leroy 7abcc8799e Ajout des litteraux de type int32, nativeint, int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-25 12:27:31 +00:00
Damien Doligez 1e16182dc0 amelioration des locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5500 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-06 12:45:03 +00:00
Damien Doligez b06262074d ghosts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5488 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-02 16:03:33 +00:00
Damien Doligez e75e416882 non-bug bizarre
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5487 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-02 16:03:10 +00:00
Damien Doligez a57475167b changements ghost locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5476 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-02 01:17:19 +00:00
Damien Doligez d15be1d409 mauvais types de locations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5472 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-31 17:11:06 +00:00
Damien Doligez 97247d3dbe (* f '\x00' '"' *)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5469 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-31 16:13:17 +00:00