diff options
Diffstat (limited to 'doc/features.html')
-rw-r--r-- | doc/features.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/features.html b/doc/features.html new file mode 100644 index 0000000..7ebad19 --- /dev/null +++ b/doc/features.html @@ -0,0 +1,46 @@ + +<!DOCTYPE html> + +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Features - Packrat Docs</title> + <link href="default.css" rel="stylesheet"> + </head> + + <body> + + + <h2>Features</h2> + + <a href="index.html">Return to Contents</a> + + + <h4>Lexing and Parsing</h4> + <p>Combinators are provided to build both lexers and parsers. Lexing is less flexible + as it does not need to incorporate choices, left recursion, or ambiguity.</p> + + <h4>Left Recursion</h4> + <p>Any form of left recursive grammar will be parsed correctly, without infinite loops.</p> + + <h4>Ambiguity</h4> + <p>All possible valid parses of the input by a constructed grammar will be followed + and incorporated into the resulting parse graph.</p> + + <h4>Polynomial Complexity</h4> + <p>As per the paper that this library draws most of its ideas from, the worst case complexity + involved for both time and space should be polynomial. This has been experimentally confirmed + but as of yet no analysis has been done to determine specifics.</p> + + <h4>Error Messages</h4> + <p>If there is a lexer or parser error then a message will be sent with the exception that + records what symbols were expected and where they were expected.</p> + + <h4>Piecewise Parsing</h4> + <p>Both lexers and parsers can have their input fed to them piece by piece instead of all + at once.</p> + + + </body> +</html> + |