Skip to content
Newer
Older
100644 98 lines (97 sloc) 2.2 KB
f5e912f @Ramarren Plurarize combinators in system/package name
authored
1 (defpackage :parser-combinators
47df9ad @Ramarren Move BPM dependency to test suite.
authored
2 (:use :cl :iterate :alexandria)
084e587 @Ramarren Remove unnecesary laziness layer. Replace with `delayed?` macro to us…
authored
3 (:export #:result
ae52aad @Ramarren Untabify and whitespace cleanup.
authored
4 #:zero
5 #:item
6 #:sat
7 #:choice
8 #:choice1
9 #:choices
10 #:choices1
11 #:mdo
12 #:parse-string
13 #:char?
14 #:digit?
15 #:lower?
16 #:upper?
17 #:letter?
18 #:alphanum?
19 #:word?
20 #:string?
21 #:many?
22 #:many1?
23 #:int?
24 #:sepby1?
25 #:bracket?
26 #:sepby?
27 #:chainl1?
28 #:nat?
29 #:chainr1?
30 #:chainl?
31 #:chainr?
32 #:many*
33 #:many1*
34 #:sepby1*
35 #:sepby*
36 #:chainl1*
37 #:nat*
38 #:int*
39 #:chainr1*
40 #:chainl*
41 #:chainr*
42 #:memoize?
43 #:curtail?
44 #:force?
45 #:times?
46 #:atleast?
47 #:atmost?
48 #:between?
49 #:current-result
50 #:next-result
51 #:gather-results
52 #:tree-of
53 #:suffix-of
54 #:atmost*
55 #:between*
084e587 @Ramarren Remove unnecesary laziness layer. Replace with `delayed?` macro to us…
authored
56 #:atleast*
57 #:make-context
58 #:delayed?
dfd88fc @Ramarren Change parse result representation.
authored
59 #:<-
1149693 @Ramarren Add parser caching.
authored
60 #:make-parse-result
61 #:cache?
62 #:cached?
63 #:def-cached-parser
64 #:cached-arguments?
e1cb150 @Ramarren Reimplement chainl1?/chainr1? using between?, to avoid consuming stac…
authored
65 #:def-cached-arg-parser
7510a37 @Ramarren Export new symbols.
authored
66 #:sepby1-cons?
67 #:find-after-collect?
68 #:find-after-collect*
3b37be8 @Ramarren Implement expression parser.
authored
69 #:breadth?
3bfbf50 @Ramarren Add non-backtracking version of expression parser.
authored
70 #:expression?
14bae91 @Ramarren Add context-interval
authored
71 #:expression*
f7fed2c @Ramarren Add test for context capture, export symbol, fix a mistake
authored
72 #:context-interval
e887f71 @Ramarren Add method to check for end context.
authored
73 #:context?
77c2c4a @Ramarren Add context-equal method.
authored
74 #:end-context-p
a271d77 @Ramarren Simplify contexts.
authored
75 #:context-equal
76 #:*default-context-cache*
3afd3c3 @Ramarren Export find? family parsers.
authored
77 #:context-equal
78 #:find-after?
79 #:find-after*
80 #:find*
5f9f20e @Ramarren Add parse-string* utility function.
authored
81 #:find?
d48827d @Ramarren Export new parsers.
authored
82 #:parse-string*
83 #:find-before?
84 #:find-before*
d0f2c84 @Ramarren Return context front from top level functions.
authored
85 #:end?
86 #:context-of
15beff6 @Ramarren Export tag? parser.
authored
87 #:tags-of
7758bf8 @Ramarren Export cut-tag? symbol.
authored
88 #:tag?
4bb88ff @Ramarren Add position-of and document context-front.
authored
89 #:cut-tag?
f84cb6a @Ramarren Add more parsers, trying to optimize certain common cases. Also add s…
authored
90 #:position-of
91 #:find-before-token*
92 #:gather-before-token*
d818189 @Ramarren Add named sequence macro.
authored
93 #:seq-list?
fb400c8 @Ramarren Add greedy version of sequence parser.
authored
94 #:named-seq?
95 #:seq-list*
cb103f4 @Ramarren Generalize gather-before-token* parser.
authored
96 #:named-seq*
97 #:gather-if-not*))
Something went wrong with that request. Please try again.