summaryrefslogtreecommitdiff
path: root/packrat_parser_lib_notes.txt
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2019-01-08 00:00:09 +1100
committerJed Barber <jjbarber@y7mail.com>2019-01-08 00:00:09 +1100
commit6f767eb4b27c4e15ca6c3be3b93ca187caf95bd9 (patch)
tree985ad6bb1ce2215e71fbac1281f99432eebf6c09 /packrat_parser_lib_notes.txt
parent809ccef242df42ab43ca0b05e48bf841f840be4b (diff)
Basic test framework and initial tests for Packrat.Util predicates
Diffstat (limited to 'packrat_parser_lib_notes.txt')
-rw-r--r--packrat_parser_lib_notes.txt55
1 files changed, 44 insertions, 11 deletions
diff --git a/packrat_parser_lib_notes.txt b/packrat_parser_lib_notes.txt
index faa423e..a09babf 100644
--- a/packrat_parser_lib_notes.txt
+++ b/packrat_parser_lib_notes.txt
@@ -95,8 +95,6 @@ Choice (the other that requires passing in an array of function accesses)
subtree it produces added as a child of the current position on the output structure
Count
-
-Some
-Some_Until
Many
Many_Until
Separate_By
@@ -121,11 +119,11 @@ Match
Match_With
- first uses a transforming function on the next input token then tests against a supplied
argument as above, creating a node with the untransformed input if there is a match
-Substring
+Multimatch
- for matching multiple successive items, eg a substring in a string input
- checks an array argument against the same length subarray of input tokens for a match, if
successful creates a node with that subarray
-Substring_With
+Multimatch_With
- applies a transforming function before the check as above
Take
- creates a node with the next input token
@@ -135,10 +133,6 @@ Take_While
Take_Until
- takes a predicate and creates a node with the subarray of input tokens corresponding to
the next N input where the predicate fails
-Take_All
- - creates a node with the complete rest of the input token array
-End_Of_Line
- - a combination of Choice and Match/Substring with "\r\n", "\n", or "\r"
(these are recogniser combinators that discard nodes produced by other components)
Skip
@@ -154,6 +148,8 @@ End_Of_Input
Packrat.Lexer
- generic over the enum used for labeling lexemes and the input token_list as well as component token elements
+ - should be possible to place an upper limit on the number of tokens scanned, so as to accommodate a statically
+ sized output array of tokens (and possibly a statically sized input array)
List of funcs:
Scan
@@ -168,15 +164,25 @@ Packrat.Lexer.Combinators
List of funcs:
Sequence
+Count
+Many
+Many_Until
Satisfy
Satisfy_With
Match
Match_With
+Multimatch
+Multimatch_With
Take
Take_While
Take_Until
+Start_Of_Line
+End_Of_Line
+Start_Of_Input
+End_Of_Input
+
@@ -191,7 +197,9 @@ Is_Digit
Is_Hex
Is_Letter
Is_Alphanumeric
+Is_Punctuation
Is_ASCII
+Is_Extended_ASCII
Is_Space
Is_Linespace
Is_End_Of_Line
@@ -220,17 +228,42 @@ List of datatypes:
Error_Info (containing an enum of the symbol expected, and a natural of the position)
List of funcs:
-New_Message
-To_Message
-From_Message
+Newcode
+Encode
+Decode
+Join
+
+
+Ratnest
+
+List of funcs:
+Run_Tests
+
+
Ratnest.Tests
+List of funcs:
+Is_Digit_Check
+Is_Hex_Check
+Is_Letter_Check
+Is_Alphanumeric_Check
+Is_ASCII_Check
+Is_Extended_ASCII_Check
+Is_Space_Check
+Is_Linespace_Check
+Is_End_Of_Line_Check
+Is_Whitespace_Check
+Is_Not_Whitespace_Check
+
+
+
+
Ratnest.Examples
- some parser examples