Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Not A Problem
-
None
-
None
-
None
Description
Daffodil v2.0 wishlist includes new character class entities LSP, LSP* and LSP+, which are the same as WSP except they do not match line endings. This is useful as currently it is impossible to match an empty line followed by a newline via something like %WSP*;%NL; due to the greediness of WSP* and the inability for our delimiter scanner to backtrack of forward lookahead.
Related, it might be useful to also add NL+ and NL* to match an unbounded number of newlines.
Additionally, it might be a good idea to cause an SDE if a character class that contains * or
+ is immediately followed by a character inside that character class. The reason being that such sequences will always fail without lookahead or backtracking, which probalby isn't worth implementing.
For security reasons, we should also implement a tunable to limit the number or repetitions of these character entities.