Commit Graph

1844 Commits

Author SHA1 Message Date
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 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
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 548bcad64c
Merge pull request #886 from rgrinberg/atom-check-simple
Simplifying atom checking and add %
2018-06-19 15:48:16 +07: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 ec8860d0be Add more tests with regards to escaping
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-19 01:00:50 +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
Rudi Grinberg bafb710a5b Remove duplication between Atom.is_valid and should_be_atom
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-18 18:31:56 +07:00
Rudi Grinberg 8f57c6d795
Merge pull request #884 from rgrinberg/fix-error-message
Use extension parameter in error message
2018-06-18 18:08:39 +07:00
Rudi Grinberg fc0e603128
Merge branch 'master' into fix-error-message 2018-06-18 18:03:15 +07:00
Rudi Grinberg 5e753d0c3b
Merge pull request #888 from rgrinberg/escaping-tests-sexp
Add tests for % and $ chars in atoms
2018-06-18 17:45:19 +07:00
Rudi Grinberg 29668c2f42
Merge branch 'master' into escaping-tests-sexp 2018-06-18 17:45:05 +07:00
Ryan Slade b53ec85819 Fix typo (#890)
Signed-off-by: Ryan Slade <ryanslade@gmail.com>
2018-06-18 11:40:14 +01:00
Rudi Grinberg a9142840fd Add tests for % and $ chars in atoms
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-17 12:49:08 +07:00
Rudi Grinberg eb148da6ec Use extension parameter in error message
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-06-15 12:27:02 +07:00
Jérémie Dimino 3c74bf07e8
Use the same monad to parse all list of S-expressions (#882)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-06-14 08:51:27 +01:00