Slava Pestov
8d7ccf2596
Add unit test for ifte
2008-03-21 17:48:01 -05:00
Slava Pestov
ea95cc017e
Merge branch 'master' of git://factorcode.org/git/factor
2008-03-21 14:10:02 -05:00
Slava Pestov
f24eb0f362
Merge branch 'master' of git://double.co.nz/git/factor
2008-03-21 14:07:51 -05:00
Doug Coleman
9018a9093f
fix using
2008-03-21 11:52:47 -06:00
Chris Double
943b02ab2f
Fix performance regression in pegs
...
delay parser is improved to use a memoized quotation so the
construction and compilation of the parser at runtime only
occurs once.
Changed compile so it would use equality rather than identity
for memoization purposes.
2008-03-22 01:59:16 +13:00
Chris Double
d1e0aa6e80
Get peg subvocabs working again
2008-03-22 00:58:53 +13:00
sheeple
4e2c5f2d59
delete comments
2008-03-20 19:55:46 -05:00
Doug Coleman
9402b9b11e
fix stat on netbsd
2008-03-20 19:15:16 -05:00
Doug Coleman
36d02462ce
add netbsd to targets
...
add stat/types for netbsd
fix type for openbsd
2008-03-20 19:12:06 -05:00
Doug Coleman
327c07b67e
make md5 work on netbsd in factor.sh
2008-03-20 19:11:04 -05:00
Doug Coleman
2da79d04fd
add some constants to grovel
2008-03-20 19:11:01 -05:00
sheeple
7784465edc
Merge branch 'master' of git://factorcode.org/git/factor
2008-03-20 23:53:26 -05:00
Slava Pestov
7c83016eee
Update .gitignore
2008-03-21 00:40:02 -05:00
Slava Pestov
95e960c6ec
Fix target script
2008-03-21 00:39:28 -05:00
Slava Pestov
b840555157
Clean things up for binary releases
2008-03-21 00:37:58 -05:00
Slava Pestov
15a747cce4
Move things around a bit
2008-03-21 00:37:27 -05:00
Slava Pestov
2bdfc46331
Move bitmaps
2008-03-21 00:31:00 -05:00
sheeple
d1e72fd03b
make freebsd64 compile
2008-03-20 23:53:05 -05:00
sheeple
9584be2981
finally fix openbsd stat
2008-03-20 18:02:19 -05:00
Chris Double
a14854520d
Compile pegs down to words
2008-03-21 03:05:21 +13:00
Chris Double
1c6882b32c
Rip out packrat stuff
...
It was broken since the transition to generating compiled quotations. As far as I know, no one was using packrat-parse anyway.
Rework in progress...
2008-03-21 01:26:20 +13:00
Chris Double
d1e7ede35d
Add support for & syntax in ebnf
2008-03-20 17:25:27 +13:00
Chris Double
dbd0583044
Tidy up expr groups
2008-03-20 17:19:41 +13:00
Chris Double
8ade4f9b5b
Fix vocab name in expr tests
2008-03-20 17:16:50 +13:00
Chris Double
44954753bd
Change <EBNF .. EBNF> to [EBNF .. EBNF]
2008-03-20 17:13:27 +13:00
Chris Double
e7980ebc61
More refactoring of EBNF
...
<EBNF .. EBNF> now produces a quotation that when called does the parsing
EBNF: foo ... ;EBNF creates a 'foo' word with stack effect (string -- result)
when called it parses the string and returns the result.
2008-03-20 17:11:09 +13:00
Chris Double
7dc772db26
Refactor ebnf parser generation
2008-03-20 16:05:10 +13:00
Chris Double
c1f69f01be
Change ordering of [[ ... ]]
2008-03-20 14:57:12 +13:00
Chris Double
39c228db6d
Update peg.pl0 to use range pattern syntax
...
This allows removing the words for ident and number, replacing them
with EBNF expressions.
2008-03-20 14:22:14 +13:00
Chris Double
68388fbed9
Updated peg.expr to use range-pattern for digits
2008-03-20 14:15:06 +13:00
Chris Double
ec4f964e4f
Fix pl0 for EBNF syntax changes
2008-03-20 14:06:21 +13:00
Chris Double
795ef0ae3b
Add ranges to EBNF syntax
...
This works:
<EBNF letter = [a-zA-Z] EBNF>
and
<EBNF not-digit = [^0-9] EBNF>
2008-03-20 13:55:19 +13:00
Chris Double
264284d0c4
Add range-pattern parser
2008-03-20 13:40:22 +13:00
Chris Double
97b58580a7
Add expression evaluator example for EBNF
2008-03-20 03:30:53 +13:00
Chris Double
92d8140d87
Change ebnf-action to properly nest with attached parser
...
This allows removal of last-parser hack. Syntax of EBNF changes though.
Now an action must attach to a group:
<EBNF foo = (a b c) [[ ...act on group... ]] EBNF>
2008-03-20 03:05:40 +13:00
Chris Double
65fabeec11
remove => action and replace it with [[ code ]] in EBNF
...
Previously the action had to be a factor word and could only appear at the end of a rule:
: aword ( ast -- ast ) drop V{ 1 2 } ;
<EBNF foo = "a" "b" => aword EBNF>
Now actions can appear anywhere after an element, and can be any factor code between [[ ... ]] delimiters:
<EBNF foo = "a" "b" [[ drop V{ 1 2 } ]] EBNF>
<EBNF foo = "a" [[ drop 1 ]] "b" [[ drop 2 ]] EBNF>
Unfortunately since this means the ebnf>quot code uses the equivalent of eval, it no longer compiles nicely since it can't be inferred. The generated parsers however do compile.
2008-03-20 02:16:30 +13:00
Chris Double
c0b7bdf823
Add *, + and ? to list of non-allowed ebnf identifier characteres
2008-03-20 01:25:57 +13:00
Chris Double
82d54d3776
EBNF syntax change
...
[ ... ] is now ( ... )?
{ ... } is now ( ... )*
Added ( ... )+
2008-03-20 01:18:09 +13:00
Chris Double
64135b73e1
Add support for ensure-not and parsing any single character to EBNF
...
This allows, for example:
foo = {!("_" | "-") .}
This will match zero or more of any character, except for _ or -
2008-03-19 19:15:52 +13:00
Chris Double
208c88c449
Update pl0 for ebnf changes, and add more tests
2008-03-19 18:35:45 +13:00
Chris Double
eef6ae7827
Remove need for '.' to terminate rule lines in EBNF
2008-03-19 18:07:31 +13:00
Chris Double
9403d97e22
Add syntax-pack and grouped to ebnf refactoring
2008-03-19 17:52:22 +13:00
Chris Double
708d55fb8e
Add syntax word for ebnf
2008-03-19 17:37:08 +13:00
Chris Double
7578538122
Minor tidyup of ebnf
2008-03-19 17:34:47 +13:00
Chris Double
cc9a17b551
Use choice* and seq* in ebnf
2008-03-19 17:00:53 +13:00
Chris Double
4b37c9098e
Use multiline for parsing EBNF string
2008-03-19 16:54:42 +13:00
Slava Pestov
290883f0e4
Fix DLL"
2008-03-18 18:02:24 -05:00
Slava Pestov
f31c521c47
Assorted bug fixes
2008-03-18 17:46:25 -05:00
Slava Pestov
4b2368e99f
Fix io.unix.launcher unit test
2008-03-18 03:27:14 -05:00
Slava Pestov
65c74d8404
Fix macosx/ppc bootstrap
2008-03-18 02:37:31 -05:00