From da389927ddf9240bbba10b819eb782e80a5d6bf7 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Tue, 19 Jan 2021 02:25:44 +1100 Subject: Basic HTML documentation added --- doc/limits.html | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 doc/limits.html (limited to 'doc/limits.html') 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 @@ + + + + + + + Limitations - Packrat Docs + + + + + + +

Limitations

+ + Return to Contents + + +

Recognisers

+

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.

+ +

Cyclic Grammars

+

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.

+ +

Generics

+

This library makes very heavy use of generics. If your Ada compiler has any issues + handling generics then you may experience suboptimal performance.

+ +

Parse Graph Data Structure

+

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.

+ +

Piecewise Parsing

+

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.

+ +

Error Recovery

+

While error messages can be informative, there is currently no consideration given to + being able to recover from an error and continue parsing.

+ + + + + -- cgit