Gabriel Scherer
|
44d272a34c
|
Document -ppx option.
From: Peter Zotov <whitequark@whitequark.org>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15475 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-10-04 10:39:29 +00:00 |
Alain Frisch
|
44c2066055
|
#5904: improve support for ppx in the toplevel by allowing ppx processors to keep information across calls (through the use of persistent cookies). Also change Ast_mapper.register so that the function that creates the mapper from arguments is executed once the context has been restored.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15314 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-09-23 14:54:01 +00:00 |
Alain Frisch
|
047e09748c
|
Cherry-pick 15062,15063,15064 from 4.02 (#6497).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-08-07 09:46:34 +00:00 |
Alain Frisch
|
cc9cbfc755
|
Cherry pick commit 14900 from 4.02 (fix some whitespace and add a few copyright headers), only the in parsing/ subdirectory (it creates conflicts elsewhere).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15067 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-08-07 09:44:18 +00:00 |
Alain Frisch
|
bfccd68ecc
|
Protocol to allow ppx processors to report warnings to the compiler (reported as warning 22).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14762 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-05-07 14:52:19 +00:00 |
Alain Frisch
|
9961e6a1c2
|
#6399: protocol (based on a built-in ocaml.error extension node) to let ppx tools send located errors to be reported by the compiler (patch by Peter Zotov).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-05-07 08:26:17 +00:00 |
Jacques Garrigue
|
b56dc4b3df
|
PR#5584: merge open extensible types, extension-patch-4.0.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-05-04 23:08:45 +00:00 |
Alain Frisch
|
6fe5dd7cf4
|
Turn more sig/str items into records. Patch from Leo White.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-04-15 11:26:00 +00:00 |
Damien Doligez
|
7303ac34ca
|
fix some of the whitespace problems in the source
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14582 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2014-04-12 10:17:02 +00:00 |
Alain Frisch
|
e1b2a8b193
|
Get rid of recursion closing functions, being more explicit on the recursion does not hurt.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14186 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-09-26 08:49:46 +00:00 |
Alain Frisch
|
7994b4db28
|
Functions to close the open recursion in Ast_mapper.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14182 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-09-26 08:24:38 +00:00 |
Alain Frisch
|
91b2f18ef8
|
Cleanup ppx API.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14180 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-09-26 08:03:49 +00:00 |
Alain Frisch
|
48edce920b
|
Switch to a record-based API for Ast_mapper, so that it can be used within the compiler itself (where objects are banned). The class-based version will be shipped as part of the ppx_tools package. Only the ifdef example has been adapted in experimental/frisch.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14178 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-09-25 15:14:38 +00:00 |
Damien Doligez
|
7844495624
|
Merge branch 4.01 from branching point to 4.01.0+rc1
Command line used:
svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 .
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-09-04 15:12:37 +00:00 |
Alain Frisch
|
cb146ec66b
|
Doc, export a convenience function.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-09-03 08:59:23 +00:00 |
Alain Frisch
|
87d9d6c877
|
More explicit internal representation of attribute payload. Now also support patterns as payload [%id ? pat].
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-07-22 14:58:15 +00:00 |
Alain Frisch
|
2e199ef1f2
|
Item attributes on each let-binding.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-06-03 15:14:19 +00:00 |
Alain Frisch
|
eb4130e47c
|
The arument of attributes and extension nodes is now a structure, which is syntactically more general than an expression (through the embedding E -> [Pexp_eval E]).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13579 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-04-19 07:40:57 +00:00 |
Alain Frisch
|
67912da346
|
Allow abstract module declaration in structures to make the syntax and Parsetree more uniform.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2013-04-18 13:14:53 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
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
|
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 |