Simon Cruanes
1517f64f55
CCParse: add slice and the ability to recurse on them
...
the idea is that it's often convenient to split the input into smaller
part (e.g. lines), or do a first pass of parsing that just returns a
slice of the input; and then later to use another parser on that slice
to extract the actual data. The new notion of `slice` allows that,
while preserving locations wrt the original input.
2021-06-06 22:42:20 -04:00
Simon Cruanes
88fe234a4c
add CCParse.{char_fold, chars_fold_map}
...
useful for non-trivial lexing
2021-06-06 18:49:55 -04:00
Simon Cruanes
c63a2b7b37
fix tests: use dune's locks with absolute path
2021-06-06 18:49:36 -04:00
Simon Cruanes
294fce8634
fixup! feat(ord): add poly, deprecate compare
2021-06-06 17:39:09 -04:00
Simon Cruanes
7081a411c8
small doc change
2021-06-06 17:16:26 -04:00
Simon Cruanes
78a530ccee
feat(ord): add poly, deprecate compare
2021-06-06 17:15:51 -04:00
Simon Cruanes
c10ae8d84f
parse: fix bugs, add tests, add U.{in_paren,in_paren_opts,option}
2021-06-06 17:08:57 -04:00
Simon Cruanes
37af485971
parse: expose Position module, add or_, both, lookahead, U.bool
2021-06-06 15:08:13 -04:00
Simon Cruanes
171b4ddcd9
parse: deprecate try_, rename new function try_opt
2021-06-06 14:14:48 -04:00
Simon Cruanes
0ec40c2331
CCParse: heavy refactoring, many new functions
2021-06-06 14:14:48 -04:00
Simon Cruanes
7318162c55
wip: rework CCParse
2021-06-06 14:14:48 -04:00
Simon Cruanes
40a6c17548
small changes in CCIntMap, some cleanup
2021-06-06 14:14:05 -04:00
Simon Cruanes
95e96fb5e1
feat(CCFormat): expose ANSI_codes module
2021-06-04 15:43:59 -04:00
Simon Cruanes
57e810a882
Revert "small changes related to docs of sorted_diff_uniq"
...
This reverts commit f7a2edae25 .
2021-05-25 19:19:48 -04:00
Simon Cruanes
f7a2edae25
small changes related to docs of sorted_diff_uniq
2021-05-25 19:16:37 -04:00
favonia
1c6bc16362
style(list): move sorted_mem up
2021-05-24 09:26:23 -05:00
favonia
8d532f9a00
feat(list): add sorted_diff_uniq
...
Also fixed documentation
2021-05-24 09:26:08 -05:00
Fardale
19c65b5472
apply comments from the review
2021-05-23 15:01:36 +02:00
Fardale
6a3e446d27
use precomputed table for count_bits_
2021-05-23 14:49:31 +02:00
favonia
80e403c969
feat(list): add sorted_mem
2021-05-23 00:45:18 -05:00
favonia
e58c5d8f3b
fix(list): add the test sorted_diff (sorted_merge l1 l2) l2 = l1
...
Also fixed a typo.
2021-05-22 21:41:36 -05:00
favonia
c030beaf52
fix(list): support 4.03 (using CCList.init)
2021-05-22 21:29:21 -05:00
favonia
6d2dc4ccf4
feat(list): add the optional argument all to sorted_remove
...
Also added another missing "since".
2021-05-22 21:27:35 -05:00
favonia
f6829d1219
fix(list): add "since" for sorted_diff
...
Co-authored-by: Simon Cruanes <simon.cruanes.2007@m4x.org>
2021-05-22 21:06:20 -05:00
favonia
130f0a63bb
feat(list): add sorted_diff
2021-05-22 21:02:15 -05:00
favonia
de7f445207
fix(list): support 4.03
2021-05-22 20:43:35 -05:00
favonia
8c197da02c
feat(list): add sorted_remove
2021-05-22 20:28:45 -05:00
Fardale
8ff253f18d
chore(CCBV): clean comments
2021-05-22 22:09:24 +02:00
Fardale
8f65bf639b
use bytes instead of int array for CCBV
2021-05-22 21:38:36 +02:00
Fardale
3eb676c55c
replace for loop and unsafe_get by using iter
2021-05-19 23:36:00 +02:00
favonia
e3b0600a8b
fix(hash): resolve ambiguous doc comment of bytes
2021-05-18 17:53:23 -04:00
Simon Cruanes
f352ca916d
add a bit of doc
2021-05-18 11:11:31 -04:00
Simon Cruanes
c286bb6d4e
Update src/core/CCHash.mli
2021-05-18 10:54:44 -04:00
favonia
13429e5e88
feat(hash): add bytes
2021-05-18 10:54:44 -04:00
Simon Cruanes
795ae5c546
bv: also refactor inter
2021-05-17 10:03:58 -04:00
Simon Cruanes
1c8265c3f3
bv: refactor for performance and readability
2021-05-17 10:01:35 -04:00
Simon Cruanes
92519b4843
fix(bv): index error in union
...
close #370
2021-05-17 10:00:59 -04:00
Simon Cruanes
a642aa6f6b
bv: add more tests, including regression for #370
2021-05-17 10:00:32 -04:00
Simon Cruanes
1b0639886d
feat(bv): add equal
2021-05-17 10:00:05 -04:00
Simon Cruanes
6ace6f71e0
doc: fix wrong @since
2021-05-10 11:26:53 -04:00
Simon Cruanes
6bfd7f125e
test: fix too broad test
2021-05-04 08:54:08 -04:00
Simon Cruanes
943ce7f734
get ready for 3.4
2021-05-03 16:56:24 -04:00
Simon Cruanes
c99f7818c3
udpate doc and add test
2021-04-27 13:21:34 -04:00
Daniil Baturin
3628feed9c
Add CCOpt.get_exn_or and deprecate CCOpt.get_exn
2021-04-27 13:15:51 -04:00
Josh Berdine
9211a01f35
code review
2021-04-16 15:15:11 +01:00
Josh Berdine
9e6f453aff
feat(CCRAL): add get_and_remove_exn operation
...
It seems like a waste to repeat the search for an index to both get
the element at that index and then to remove it. The added
`get_and_remove_exn` operation performs a `remove` but returns the
found element rather than forgetting it.
2021-04-16 14:48:14 +01:00
Josh Berdine
0ab8597b78
fix: CCRAL.remove does not remove
2021-04-15 17:56:36 -04:00
Simon Cruanes
b19cd0db5f
add regression test for #364
2021-04-15 17:54:18 -04:00
Simon Cruanes
5611cbf7f3
fix(sexp): re-export the loc type to the functor's argument's type
2021-04-15 10:34:27 -04:00
Fardale
375ae27622
feat(CCString): add CCString.uniq
...
CCString.uniq remove consecutive duplicate characters
2021-04-08 23:09:53 +02:00