Commit Graph

1870 Commits

Author SHA1 Message Date
Jérémie Dimino 0f68e56f64
Remove most useless parentheses from the syntax (#915) 2018-06-27 16:38:05 +01:00
Jérémie Dimino 90cdae96b2
Add a script to help making bulk updates of the tests (#914)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-27 12:21:41 +01:00
Rudi Grinberg f7a4e517fe
Merge pull request #912 from rgrinberg/migration-manual
Add migration page to manual
2018-06-25 15:59:25 +06:30
Rudi Grinberg e53f838ceb
Merge branch 'master' into migration-manual 2018-06-25 15:58:39 +06:30
Rudi Grinberg c07e0655fb Refer to migration page from manual and readme
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-25 15:54:32 +06:30
Rudi Grinberg f36fd54017 Add migration page to manual
This includes the old migration page + a simple migration check list

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-25 15:07:28 +06:30
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 f300468f2b
Merge pull request #908 from rgrinberg/pp-univ
Add sexp conversion to univeral maps
2018-06-21 23:24:05 +06:30
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 fc968efc4d Update changelog
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-20 16:17:22 +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 bb1ea7c56c
Merge pull request #902 from rgrinberg/faster-bootstrap
Faster bootstrap
2018-06-20 21:16:46 +06:30
Rudi Grinberg c723150026
Merge branch 'master' into faster-bootstrap 2018-06-20 21:09:17 +06:30
Rudi Grinberg 45766933af
Merge pull request #900 from rgrinberg/separate-lexers
Split dune and jbuild lexers
2018-06-20 21:03:38 +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 411552e4c7
Merge pull request #891 from rgrinberg/atom-jbuild-dune
Dune & Jbuild validation for atoms
2018-06-20 19:08:42 +06:30
Rudi Grinberg 53d9c64468 Print atom using atom constructor
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-20 18:23:23 +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 2ed5f3fcfd
Merge pull request #898 from rgrinberg/fix-lexer-include
Select lexer based on dune vs jbuild
2018-06-20 18:22:26 +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
Rudi Grinberg e7e662e0bd
Merge pull request #896 from diml/syntax-versionning
Complete handling of syntax versioning
2018-06-20 14:44:47 +06:30
Rudi Grinberg f1a56e3baf
Merge pull request #893 from diml/sexp-context
User context in S-expression parsers
2018-06-20 13:00:34 +06:30
Jeremie Dimino 41f4b89f85 Added tests for syntax versioning
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-19 16:26:27 +01:00
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