Doug Coleman
|
839a5a22ec
|
effects: make :type print as :type instead of ``_: type``
|
2016-05-14 17:03:09 -07:00 |
Doug Coleman
|
3fa9ad91f6
|
effects: Add support for :type as standalone, unnamed types. ( :float -- ) pprints as ( _: float -- ), and ( :( a -- b ) -- ) works, etc. :union{ foo bar } pprints as object but could be improved if the effects parser uses the prettyprinter somehow.
Move ?execute-parsing to parser to avoid circularity.
|
2016-05-12 16:27:50 -07:00 |
John Benediktsson
|
24d9e3a491
|
effects.parser: allow generic methods not in current vocabs.
|
2016-03-30 17:21:58 -07:00 |
John Benediktsson
|
dcf8aa16c7
|
effects.parser: fix some incorrect can't-nest-definition errors.
definitions in one vocabulary can trigger definitions in other vocabularies,
so track them separately instead of using a single boolean.
|
2016-03-30 13:16:15 -07:00 |
Doug Coleman
|
58efceb408
|
effects.parser: Remove left-over old code that did (( -- )) stack effects.
|
2016-03-25 03:13:27 -07:00 |
John Benediktsson
|
ceb75057da
|
change ERROR: words from throw-foo back to foo.
|
2015-08-13 16:13:05 -07:00 |
Doug Coleman
|
02008979d9
|
factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon.
|
2015-08-12 15:26:18 -05:00 |
Doug Coleman
|
3d4bc1de1a
|
core: rename parse-call( to parse-call-paren
|
2015-07-27 09:54:08 -07:00 |
Doug Coleman
|
e3cb325040
|
factor: clean up whitespace in -docs files
|
2015-07-02 10:31:22 -07:00 |
Doug Coleman
|
ee921150c7
|
effests.parser: Oops wrong word.
|
2013-04-14 13:33:48 -07:00 |
Doug Coleman
|
bd3762502f
|
effects.parser: Fix word -> current-word for definition errors.
|
2013-04-14 13:32:15 -07:00 |
Doug Coleman
|
d33dc194ca
|
core: in-definition -> with-definition.
|
2012-08-24 16:07:31 -07:00 |
Doug Coleman
|
b06b6a8261
|
core: rename in-word-definition to in-definition
|
2012-08-24 16:04:49 -07:00 |
Doug Coleman
|
84402ccf7e
|
core: Don't allow nested defintions in :, ::, M:, M::. Fixes #469.
|
2012-08-24 15:53:45 -07:00 |
Doug Coleman
|
067f9830ef
|
classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches.
|
2011-11-22 01:56:13 -08:00 |
John Benediktsson
|
80e1c8e3f2
|
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.
|
2011-10-18 13:19:39 -07:00 |
Doug Coleman
|
f21fee3b73
|
Rename complete-effect to scan-effect
|
2011-10-17 10:25:27 -07:00 |
Doug Coleman
|
671f19d70f
|
Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
|
2011-10-02 12:00:08 -07:00 |
Doug Coleman
|
76580da5d5
|
Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
|
2011-09-29 11:28:28 -07:00 |
Slava Pestov
|
8a0525e5ce
|
Add a scan-token word which is like scan, except throws an error on EOF; document scan-object word; mention that scan-token/scan-object are preferred over scan/scan-word
|
2010-07-06 16:20:08 -04:00 |
Joe Groff
|
8b1b7b20d5
|
effect-variable -> row-variable
|
2010-03-11 01:25:13 -08:00 |
Joe Groff
|
d001c1f375
|
carve up effects.parser too
|
2010-03-11 01:03:40 -08:00 |
Joe Groff
|
a3033e885a
|
make effect variables part of effect syntax, stored out of band in effect tuple
|
2010-03-05 13:30:10 -08:00 |
Slava Pestov
|
f0aa694c7e
|
effects.parser: throw a proper no-word error if effect references an unknown class word
|
2010-02-23 23:57:13 +13:00 |
Slava Pestov
|
b551721dd9
|
Minor cosmetic fixes
|
2009-11-10 21:48:00 -06:00 |
Doug Coleman
|
93de179c2f
|
over push -> suffix!, over push-all -> append!
|
2009-10-28 15:29:01 -05:00 |
Joe Groff
|
19b10fb85e
|
bring back ( x: type y: type -- ) stack effect syntax, and automatically hint words based on types in their declared effect
|
2009-09-01 14:39:22 -05:00 |
Doug Coleman
|
686b3e348e
|
use ERROR: in several places instead of throwing strings
|
2009-08-11 23:09:02 -05:00 |
Daniel Ehrenberg
|
9e9116f0ea
|
Better error message for syntax error in : foo ( : bar
|
2009-03-31 23:18:52 -05:00 |
Slava Pestov
|
e0d48e3ab6
|
New utility word: complete-effect
|
2009-03-22 17:59:40 -05:00 |
Slava Pestov
|
c0154c1391
|
Change (:) to parse effect immediately, and remove ( parsing word
|
2009-03-21 03:17:35 -05:00 |
Slava Pestov
|
be4fb1e7d9
|
Move call( and execute( to core
|
2009-03-16 20:11:36 -05:00 |
Slava Pestov
|
cd53c2bd37
|
produce and produce-as: don't need third quotation either
|
2009-02-28 15:31:34 -06:00 |
Slava Pestov
|
6b25e99470
|
Add summary for heaps more vocabs
|
2009-02-16 21:05:13 -06:00 |
Slava Pestov
|
f34c14a0f5
|
Remove some usages of tuck
|
2009-01-23 18:20:47 -06:00 |
Slava Pestov
|
d66f887736
|
Create basis vocab root
|
2008-07-28 22:03:13 -05:00 |
Slava Pestov
|
ac2bf0b87d
|
Adding inline recursive declarations
|
2008-07-18 19:22:59 -05:00 |
Slava Pestov
|
6e0d35e615
|
Split up huge parser vocabulary
|
2008-06-25 03:25:08 -05:00 |