summaryrefslogtreecommitdiff
path: root/packrat_parser_lib_notes.txt
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2019-01-27 19:08:11 +1100
committerJed Barber <jjbarber@y7mail.com>2019-01-27 19:08:11 +1100
commit6f15340717a5d2dccdcf8de0a03a161c5abeef70 (patch)
tree3c67b46cd243ec72d80eb2388dc7f6e8090d77b3 /packrat_parser_lib_notes.txt
parentada2593ebd6037cb78ce1ba795f283105d5cff26 (diff)
Iteration specifications added for Parse_Graphs
Diffstat (limited to 'packrat_parser_lib_notes.txt')
-rw-r--r--packrat_parser_lib_notes.txt32
1 files changed, 22 insertions, 10 deletions
diff --git a/packrat_parser_lib_notes.txt b/packrat_parser_lib_notes.txt
index 333b999..2a8e0cc 100644
--- a/packrat_parser_lib_notes.txt
+++ b/packrat_parser_lib_notes.txt
@@ -315,9 +315,20 @@ Packrat.Interfaces
ends up being necessary for parsing
List of interfaces:
+Node
+ - Leaf (constructor)
+ - Branch (constructor)
+ - Is_Leaf
+ - Is_Branch
+ - Label
+ - Elements
+ - Start
+ - Finish
+
Cursor
- Is_Nothing
- Depth
+ - Is_Node
- Is_Root
- Is_Branch
- Is_Leaf
@@ -341,8 +352,7 @@ Cursor
Directed_Acyclic_Graph
- Contains
- - Leaf
- - Branch
+ - Singleton (constructor)
- Is_Empty
- Is_Ambiguous
- Node_Count
@@ -363,20 +373,22 @@ Packrat.Graphs
- can be replaced with a user-supplied type, assuming proper care is taken to avoid exponential issues
List_of_datatypes:
-Graph_Cursor
- - (implements all of Interfaces.Cursor)
-Parse_Graph
- - (implements all of Interfaces.Directed_Acyclic_Graph)
+Node (implements all of Interfaces.Node)
+Node_Reference
+Cursor (implements all of Interfaces.Cursor)
+Iter_Cursor (wraps a Cursor, necessary for iteration)
+Parse_Graph (implements all of Interfaces.Directed_Acyclic_Graph)
+Choosing_Function (used in Iterate_Choice)
List of funcs:
Debug_String
+Node_At
+
+Is_Valid_Node
Iterate
-Reverse_Iterate
+Iterate_Subtree
Iterate_Choice
-Reverse_Iterate_Choice
-Iterate_SUbtree
-Iterate_Subtree_Choice