Jérémie Dimino
0f68e56f64
Remove most useless parentheses from the syntax ( #915 )
2018-06-27 16:38:05 +01:00
Jeremie Dimino
daa4be3dd8
Add Stanza.file_kind
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-25 08:14:27 +01:00
Jeremie Dimino
f46a6aae53
Make (diff ...) work on Windows
...
- make (diff ...) trailing cr on Win32
- add a (cmp ...) action for comparing binary files
- add a test and run it in AppVeyor
Fix #844
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-25 08:14:27 +01:00
Jérémie Dimino
0eb302252e
Improve the syntax of ppx rewriters and flags ( #910 )
...
- old syntax: (pps (ppx1 -arg1 ppx2 (-foo x)))
- new syntax: (pps ppx1 -arg ppx2 -- -foo x)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-25 07:56:35 +01:00
Rudi Grinberg
467cecfccc
Add sexp conversion to univeral maps
...
Very useful for debugging
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-21 23:06:39 +06:30
Rudi Grinberg
f35d068836
Move Jbuild.syntax to Stanza module
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-21 12:54:27 +01:00
Jeremie Dimino
58997d9df7
Present menhir as an extension
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-20 16:06:38 +01:00
Jeremie Dimino
74c008ea62
Implement automatic edition of the dune-project file for extensions
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-20 16:06:38 +01:00
Rudi Grinberg
c723150026
Merge branch 'master' into faster-bootstrap
2018-06-20 21:09:17 +06:30
Rudi Grinberg
9883c4450b
Add jsoo boot file
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:36:04 +06:30
Rudi Grinberg
98f055dbed
add menhir.boot.ml
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:32:57 +06:30
Rudi Grinberg
8597f599d0
Add inline_tests.boot file
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:31:52 +06:30
Rudi Grinberg
5a46dc1998
Add jbuild_lexer.boot to speed up bootstrap
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:21:40 +06:30
Rudi Grinberg
15ffc107ff
Add mli's to {dune,jbuild}_lexer
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:21:23 +06:30
Rudi Grinberg
d6778a50a2
Rename Lexer0 to Lexer_shared
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:16:12 +06:30
Rudi Grinberg
cd6d5dba53
Simplify jbuild lexer and move types around
...
The types should exist in the lexer module where they're used
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 20:00:35 +06:30
Rudi Grinberg
1e5dc322e2
Remove some legacy stuff from the new dune lexer
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 19:50:58 +06:30
Rudi Grinberg
d7ab3d962c
Harmonize names in dune and jbuild lexers
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 19:50:50 +06:30
Rudi Grinberg
e3aa13424d
Split dune and jbuild lexers
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 19:29:16 +06:30
Rudi Grinberg
f180470158
Remove outdated comment about atoms
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
7d2c7d9579
Parameterize sexp_tests on dune and jbuild syntax
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
8a87b5b5bf
Move validation to a `print` function
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
a1d714f9d4
Fix definition of is_valid_jbuild
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
99fbac26ab
Remove constructor side validation
...
And make the tests reflect back Invalid_argument
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
5618be7ab0
Fix 4.02.3 compat
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
46eba2ef98
Improve validation of jbuild atoms
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
ad3a95655d
Dune & Jbuild validation for atoms
...
Atoms can now be constructed and pretty printed with a syntax = Jbuild | Dune.
The syntax controls validation that will be used to make sure we are printing
something/reading valid
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +06:30
Rudi Grinberg
a033ddb894
Merge branch 'master' into fix-lexer-include
2018-06-20 18:22:11 +06:30
Jérémie Dimino
94c921f9c4
Rename files_recursively_in to source_tree ( #899 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-20 10:45:54 +01:00
Rudi Grinberg
7d33cb2275
Select lexer based on dune vs jbuild
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 15:38:55 +06:30
Jeremie Dimino
7c5624b448
Add support for declaring when syntactic elements are deleted/removed/renamed
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
3c15e3d041
Add Sexp.kind
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
43f274b323
Refactor syntax versioning management
...
Now, the version of the main language as well as the version of
extensions is passed through the user context of sexp parsers.
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
2d1765285a
Add Sexp.Of_sexp.capture
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
ff46b30a78
Add Sexp.Of_sexp.set_many
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
aed6513b05
Add Univ_map.superpose
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
0e6986c2f2
Add Univ_map.singleton
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
Jeremie Dimino
3e2567d2c7
Get rid of the old 'let v1 = ...' names
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:00 +01:00
Jeremie Dimino
5d1d3a2eae
Pass the project through the user context
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:00 +01:00
Jeremie Dimino
0c6edde131
Add a user context to Of_sexp.t
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:00 +01:00
Jeremie Dimino
4922faf18a
Fix 4.02 build
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:20:28 +01:00
Jérémie Dimino
d483768b93
Move universal maps from Fiber to Stdune ( #892 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 11:32:10 +01:00
Jeremie Dimino
14e6b1e038
Reduce the number of of_sexp_error... functions
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 11:29:27 +01:00
Jeremie Dimino
30d20d6143
Use a single S-expression parser monad
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 11:29:27 +01:00
Rudi Grinberg
f7b3e8af7d
Fix 4.02 compatibility
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-19 11:29:27 +01:00
Rudi Grinberg
065e2bb26f
Make Sexp.Of_sexp.t abstract
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-19 11:29:27 +01:00
Rudi Grinberg
63c1703045
Simplify the dune atom char set
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-19 15:41:41 +07:00
Rudi Grinberg
8432ee42cf
Separate atom_char for jbuild and dune files
...
Dune files have a more strict definition of atoms
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-19 01:14:19 +07:00
Rudi Grinberg
19908abf4d
Add '%' back to the atom char set
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-19 00:59:48 +07:00
Rudi Grinberg
5dcefb2e5b
Forbid '%' from appearing in atoms
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-18 18:31:56 +07:00