summaryrefslogtreecommitdiff
path: root/doc/limits.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/limits.html')
-rw-r--r--doc/limits.html49
1 files changed, 49 insertions, 0 deletions
diff --git a/doc/limits.html b/doc/limits.html
new file mode 100644
index 0000000..d09fe5b
--- /dev/null
+++ b/doc/limits.html
@@ -0,0 +1,49 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Limitations - Packrat Docs</title>
+ <link href="default.css" rel="stylesheet">
+ </head>
+
+ <body>
+
+
+ <h2>Limitations</h2>
+
+ <a href="index.html">Return to Contents</a>
+
+
+ <h4>Recognisers</h4>
+ <p>While this package can be used to construct recognisers easily, this would likely
+ not be very efficient compared to a library more specialised for that purpose.</p>
+
+ <h4>Cyclic Grammars</h4>
+ <p>Grammars that have cycles in them will be treated as any other form of left recursion
+ and eventually be curtailed. This means that the resulting parse graph will not have
+ any cycles. If you want a cyclic grammar to result in a cyclic result, then this library
+ is not what you are after.</p>
+
+ <h4>Generics</h4>
+ <p>This library makes very heavy use of generics. If your Ada compiler has any issues
+ handling generics then you may experience suboptimal performance.</p>
+
+ <h4>Parse Graph Data Structure</h4>
+ <p>In order to keep the parse graph to polynomial space complexity, it is a specialised
+ data structure and is not the same thing as a more standard directed graph.</p>
+
+ <h4>Piecewise Parsing</h4>
+ <p>Due to the possibility of incomplete parses, in the worst case using piecewise parsing
+ can result in the lexer or parser holding the entire input in memory before returning a
+ result.</p>
+
+ <h4>Error Recovery</h4>
+ <p>While error messages can be informative, there is currently no consideration given to
+ being able to recover from an error and continue parsing.</p>
+
+
+ </body>
+</html>
+