summaryrefslogtreecommitdiff
path: root/doc/features.html
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2021-01-19 02:25:44 +1100
committerJed Barber <jjbarber@y7mail.com>2021-01-19 02:25:44 +1100
commitda389927ddf9240bbba10b819eb782e80a5d6bf7 (patch)
tree88b167b892de8c419151ca9a02c16f8d4ed96bec /doc/features.html
parent901c7e61278f16dc5c08cbebf74c2a816cd4b4b6 (diff)
Basic HTML documentation added
Diffstat (limited to 'doc/features.html')
-rw-r--r--doc/features.html46
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>
+