Commit Graph

105 Commits (aa47ba1df703c2e1fb2cad892b3458debf30a4a4)

Author SHA1 Message Date
Doug Coleman c4cd8991be modern: Fix all the syntax errors.
Support ``{abc}foo{`` as a token name

Bug to fix:
! should error
[[M: error-class see-class*
    <colon \ ERROR: pprint-word
    {
        [ pprint-word ]
        [ superclass. ]
        [ <block "slots" word-prop [ name>> pprint-slot-name ] each block> pprint-semi ]
        [ tuple-declarations. ]
    } cleave
    block> ;]] string>literals >strings
2019-10-20 14:17:09 -05:00
Doug Coleman d635604026 modern: Removing ch'a syntax.
It's cool but I don't like it right now.
2019-09-28 10:59:07 -05:00
Doug Coleman f05c7e8cd8 factor: char: a -> ch'a.
Also all contractions are not allowed in word names anymore. Even Data cannot use contractions...
2018-08-09 18:02:38 -04:00
Doug Coleman 7730fc5c64 Merge remote-tracking branch 'origin/master' into modern-harvey2 2018-08-02 07:57:42 -04:00
Doug Coleman 4b614cc15b factor: Make source files/resources 644 instead of 755. 2018-07-13 20:36:50 -05:00
Doug Coleman ff93f58304 Merge branch 'master' into modern-harvey 2017-09-11 17:59:01 -05:00
Alexander Iljin 504c9959a1 Update some copyright headers to follow the current convention
Had to look through the history to find years for some headers. Added
authors to some files as well.
2017-09-11 15:43:03 -07:00
Doug Coleman baa6af4831 factor: All RENAME: and FROM: and EXCLUDE: to have \foo as word names.
Grab bag of other cleanups. tests and docs parse!
2017-08-31 21:21:14 -05:00
Doug Coleman c436f6dbad factor: char: postpone: color: hexcolor: flexhexcolor: decimal: 2017-08-31 21:21:13 -05:00
Doug Coleman eb173e2caa factor: Add more character escapes. 2017-08-31 21:21:12 -05:00
John Benediktsson e0389df8c4 Revert "alien.parser: throw error if enum values don't fit c-type."
This reverts commit 2e326498a4.
2016-11-09 15:41:54 -08:00
John Benediktsson 2e326498a4 alien.parser: throw error if enum values don't fit c-type. 2016-11-08 21:45:54 -08:00
Björn Lindqvist b418b434fa alien.debugger: this vocab isn't needed
The summary methods doesn't need dedicated vocabs. Unlike prettyprint methods.
2016-08-15 15:16:41 +02:00
Björn Lindqvist 907d63c16b alien.*: moving the c-type-string word to the alien.c-types vocab
This way it can be used in alien.parser instead of return-type-name.
2016-08-10 21:34:38 +02:00
Björn Lindqvist 13a983783f alien.parser/prettyprint: moving the predicates 2016-08-10 21:34:38 +02:00
Björn Lindqvist ddc5ece757 alien.*: frontend varargs support! #1677
alien-invoke gets an extra parameter indicating if the call uses varargs
or not. In 99.9% of the cases, the parameter should be f, but is t if
varargs are indicated. E.g

: do-printf ( fmt d -- st ) int f "printf" { c-string double } t alien-invoke ;
2016-08-10 21:34:37 +02:00
Björn Lindqvist dbd716cc99 alien.parser: method object return-type-name is redundant 2016-08-10 21:34:37 +02:00
Björn Lindqvist 941c9fabd4 alien.parser,gobject-introspection.ffi: fixing the manifest test errors (see #1463) 2016-05-28 19:01:54 +02:00
Björn Lindqvist b96077beb7 alien.parser: better fix for #1535
These changes ensure that reset-generic is called when parsing alien
words. Otherwise problems occur when you redefine generics as callbacks
or typedefs.
2016-05-28 17:22:45 +02:00
Björn Lindqvist 69f667edc8 alien.parser: make make-callback-type have the same signature as make-function 2016-05-28 17:21:45 +02:00
Björn Lindqvist 350e890a03 alien.parser: fix for #1535
(CREATE-C-TYPE) needs to be called on the word naming the
callback. Otherwise the old definition remains in old-definition and you
can get a no word found error.
2016-05-27 20:54:52 +02:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
Doug Coleman 14ba179254 factor: change FUNCTION: and similar to not have trailing ; 2015-07-19 16:24:47 -07:00
John Benediktsson c5e4bb4980 alien.parser: change scan-c-args to always use ";" as end-marker in preparation for maybe removing it later. 2015-07-19 15:08:56 -07:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 0124e630f0 alien.parser: add a couple of commas 2015-07-02 17:29:12 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
John Benediktsson aa00d59d59 words: rename reset-props to remove-word-props. 2015-06-09 11:53:46 -07:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
John Benediktsson 74058d3dff alien: cleanup using. 2014-11-16 20:31:32 -08:00
Doug Coleman 964cbf894b core/basis: Trim or reorganize a few using lists. Playing around with auto-use restarts and private words. 2014-10-27 13:39:30 -07:00
Doug Coleman 5fab749dcc words: Change word -> last-word, set-word -> set-last-word. 2013-03-23 16:12:03 -07:00
John Benediktsson 934b307ba2 make some predicates return t/f instead of something/f. 2012-07-29 10:52:46 -07: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
John Benediktsson d61de12011 Cleanup more lint warnings. 2011-10-14 12:31:46 -07:00
John Benediktsson 378786599d Cleanup lint warnings. 2011-10-14 11:47:24 -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
Joe Groff a820c1091d alien: merge enum improvements from Blei/gtk-image-loader 2011-08-27 13:48:30 -07:00
Erik Charlebois e28e48beea Create a setter for C-GLOBAL words 2011-05-23 23:36:14 -04:00
Doug Coleman 3ac8847a15 Fix typo ohno 2010-09-29 17:29:28 -05:00
Doug Coleman 3cdc9ba650 Use create-class-in to get redefinition errors with enums 2010-09-29 16:24:25 -05:00
Slava Pestov 25ea734a8e alien.parser: make int[3]* parse, make int[3][4 not parse 2010-08-15 02:37:17 -07:00
Slava Pestov e8152e9098 alien.parser: array types where the base type was a pointer didn't parse (reported by Dmitry Shubin) 2010-08-15 02:32:12 -07:00
Slava Pestov 6142bd7335 alien.syntax: FUNCTION: and FUNCTION-ALIAS: now define inline words 2010-07-28 03:05:14 -04: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
Slava Pestov ba7cb61133 Stack allocation improvements
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov de8e0ccd5c alien.c-types: cleanup 2010-05-04 19:33:55 -04:00