Commit Graph

38 Commits (81c6196dc488d73c9c47e5ccf94e6e8c94e75ad4)

Author SHA1 Message Date
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