diff options
author | Jed Barber <jjbarber@y7mail.com> | 2021-01-19 02:25:44 +1100 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2021-01-19 02:25:44 +1100 |
commit | da389927ddf9240bbba10b819eb782e80a5d6bf7 (patch) | |
tree | 88b167b892de8c419151ca9a02c16f8d4ed96bec /doc/features.html | |
parent | 901c7e61278f16dc5c08cbebf74c2a816cd4b4b6 (diff) |
Basic HTML documentation added
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> + |