You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,12 +160,13 @@ The parent class additionally implements methods to iterate through matches and
160
160
*`*`: Returns a parser that parses the entire input (basically making parseAllValues the result)
161
161
*`+`: Like `*` except it fails if there are no matches
162
162
163
-
There are currently 5 primary parser classes:
163
+
There are currently 6 primary parser classes:
164
164
* ChunkParser: Takes a function which returns an `Option`
165
165
* PartialParser: Similar to a ChunkParser except it takes a PartialFunction
166
166
* RecurParser: This one is for parsing to tree structures, currently used in Unlambda. It takes a `recur` function that decides when to go down a level, a `collect` function to turn a set of leaves into a node, and another parser for the non-branching tokens.
167
167
* RegexParser: This takes a regex and a function to turn a match into the output. This one lets me condense a lot of parsers into a single line, which makes me giddy.
168
168
* ArbitraryRecurParser: This one's called "arbitrary" because the depth isn't constant. It's given a function that can either parse the next token or tell it to go up or down a level.
169
+
* ElementwiseParser: This one parses a sequence element by element
169
170
170
171
### How the Interface Works
171
172
It's always a challenge to handle UI functionally. Everything behind the scenes is fair game, but actually receiving input from and sending output to the user is by definition a side-effect.
0 commit comments