-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
- Fix formatting in error messages so that whitespace and other control characters are encoded.
- On error, compute line number and character position from original string.
- Allow filename in error messages. (We could just append that to the exception message.)
-
not -
set(match from a set in any order). There's a variant of this, which is match all in any order. - Move
integerandfloatinto the library? What aboutfraction?hex? Or should these be in a separate library? -
till -
recover: I'm not sure this makes sense with the way Parse works, especially since we already havelookahead. - Do we need dedicated Unicode pattern functions?
- Set the context value directly? (Right now, you can set a key and then get it.) I don't have a scenario for this, so it's more a question of completeness.
- Should
manyrequire at least one match? (You could then do zero or more withoptional many.) - Change the name of
optionalto something more concise? I like the way optional scans tho. - Documentation:
- More detailed reference docs, with examples.
- Tutorial.
- Example parsers.
- Introduce an
appendoperator that converts the value into an array if it isn't already and appends the match result. This would allow pattern functions to be mixed alongside action functions. - Introduce an
assignoperator, which works likeappendexcept for an object value. - Do we need a way to push and pop values directly (in addition to the way
pushworks right now, where there's animplicitpop)? What about the context value? Ex:pushv(value) orpushc(custom state). - More complete unit tests. We test a bunch of stuff right now implicitly with scenario-based functional tests, like the expression grammar and the nested list. Might be good to have expanded unit tests to help isolate regressions.