Commit Graph

186 Commits (1830f038fae05df0b216cbde96d583c71be2f786)

Author SHA1 Message Date
Chris Double 463a1991ca Fix peg help 2008-04-07 13:02:56 +12:00
Chris Double a093943627 Remove match from peg.parsers USING: list 2008-04-07 12:50:07 +12:00
Chris Double 00d09d20e2 Remove MATCH-VARS not used in pegs 2008-04-07 12:07:44 +12:00
Chris Double e00a392736 Refactor delay parser 2008-04-05 18:41:28 +13:00
Chris Double 2744313ac1 Refactor sp peg parser 2008-04-05 18:36:17 +13:00
Chris Double d93c7958fd Refactor action peg parser 2008-04-05 18:33:50 +13:00
Chris Double 247bf2137b Refactor ensure and ensure-not parsers 2008-04-05 18:30:11 +13:00
Chris Double 796981e192 Refactor semantic peg parser 2008-04-05 18:19:11 +13:00
Chris Double 3123654a84 Refactor optional peg parser 2008-04-05 18:05:09 +13:00
Chris Double d4897fa007 Refactor repeat0 and repeat1 peg parsers 2008-04-05 18:01:18 +13:00
Chris Double 226d211342 Refactor choice peg parser 2008-04-05 17:54:18 +13:00
Chris Double 102178f787 Refactor seq peg parser 2008-04-05 17:51:42 +13:00
Chris Double 7b73d2734f Refactor range peg parser 2008-04-05 17:33:39 +13:00
Chris Double 80d11405a9 Refactor token peg parser 2008-04-05 17:25:04 +13:00
Chris Double 8b16816bf8 Refactor satisfy peg parser 2008-04-05 17:17:52 +13:00
Chris Double a6b160c447 apply-memo-rule doesn't need to be inline 2008-04-05 02:26:41 +13:00
Chris Double 72dbac6a29 delocalise apply-memo-rule 2008-04-05 02:07:17 +13:00
Chris Double a4700e072e delocalise apply-rule 2008-04-05 01:56:37 +13:00
Chris Double 970f0055c2 Fix failing ebnf unit test 2008-04-03 17:33:37 +13:00
Chris Double cc7d945a80 Change ebnf variables to not use namespaces 2008-04-03 17:28:09 +13:00
Chris Double 27f2992dc5 Add failing ebnf test 2008-04-03 16:09:03 +13:00
Chris Double eac450bdcf Add ebnf rule word 2008-04-02 15:55:18 +13:00
Chris Double 34a1505d95 PL0 whitespace handling improvement 2008-04-02 15:47:30 +13:00
Chris Double bbcc84862f Tweak ast from sequences in ebnf 2008-04-02 15:47:21 +13:00
Chris Double 1b58ba404e Fix peg.pl0 test failures 2008-04-02 13:50:29 +13:00
Chris Double 9d0485cd8a Merge commit 'origin/master' 2008-04-02 13:02:47 +13:00
Chris Double 6b454eed36 Various peg/ebnf fixes
- Box parsers were broken when involved in left recursion detection
- ebnf no longer implicitly ignores white space between terminates/non-terminals
- ebnf now handles \t and \n in grammars so productions to detect white space work
- reset-delegates is now reset-pegs
2008-04-02 12:59:12 +13:00
Chris Double 122fd50d4a Throw error when ebnf uses a non-existant non-terminal 2008-04-01 14:49:20 +13:00
Eduardo Cavazos 4f07aefc97 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:

	core/classes/tuple/tuple.factor
2008-03-31 19:42:21 -06:00
Eduardo Cavazos aa40350aa7 replace add* and add with prefix and suffix 2008-03-31 18:18:05 -06:00
Chris Double 72bfd57f30 Make ebnf forgiving of whitespace at end of expression 2008-04-01 11:28:14 +13:00
Chris Double a41f8ef733 Mention how to fail from action in pegs 2008-03-31 17:26:42 +13:00
Chris Double f66774e875 Add tests for semantic and add syntax for it to ebnf
Syntax is ?[ ...]?
For example:
[EBNF num=. ?[ number? ]? list=list:x num:y => [[ drop x y + ]] | num EBNF] { 1 2 3 4 5 6 } swap call .
2008-03-31 16:50:05 +13:00
Chris Double c45eba6898 Add semantic parser 2008-03-31 16:34:59 +13:00
Chris Double 8a800361df Merge commit 'origin/master' 2008-03-31 15:01:22 +13:00
Chris Double 729ac1d6dc Some ebnf tweaks and tests to do with variables 2008-03-31 14:59:22 +13:00
Chris Double ee2194d1dc Allow variable names on elements 2008-03-31 14:03:16 +13:00
Chris Double 55a69392fa First cut at variables in ebnf 2008-03-31 13:52:42 +13:00
Chris Double 5989680a7b Ensure box parsers are never cached 2008-03-31 00:53:33 +13:00
Chris Double bb8198d3d0 Declare stack effects for compiled parsers 2008-03-30 23:24:02 +13:00
Chris Double 78633e03a0 Allow var names in ebnf but ignore them for now 2008-03-30 19:01:47 +13:00
Slava Pestov f9779f5c38 Fix conflict 2008-03-29 23:48:01 -05:00
Chris Double a23e0ce15c Fix hashcode* on parsers 2008-03-30 17:35:47 +13:00
Chris Double d002e02948 Use left recursive grammar in peg.expr 2008-03-30 17:23:11 +13:00
Chris Double af9e27823a Add => action rule for an entire sequence 2008-03-30 17:17:31 +13:00
Slava Pestov c22af5c7a6 Rename 2apply to bi@ 2008-03-29 20:36:58 -05:00
Chris Double 691d26068d Refactor peg compiler cache
Instead of a cache stored in a global variable, the compiled parser is stored in a slot in the parser delegate.
2008-03-30 14:00:45 +13:00
Slava Pestov 2aafe074b2 Merge branch 'master' of git://double.co.nz/git/factor 2008-03-29 00:38:31 -05:00
Chris Double ca4f775756 Fix PEG: 2008-03-29 18:33:37 +13:00
Chris Double 8105e66aec Add box parser to docs 2008-03-29 17:45:21 +13:00