Commit Graph

96 Commits (a9ebc772df8d90a36b772cdebf5d85e3670a54ab)

Author SHA1 Message Date
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
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
Erik Charlebois baab8c060d Remove ENUM: f and replace uses with CONSTANTs.
Fix bootstrap and load-all errors from enum classes.
2010-04-19 20:08:40 -07:00
Joe Groff d3f770d545 add alien.enums vocab with enum-c-types that convert between symbols and integer values in the FFI. update ENUM: to define symbolic enums, and take an optional base type 2010-04-19 20:07:18 -07:00
Joe Groff 6e55a3b8f5 alien.parser, alien.syntax: send ENUM: body to parse-enum 2010-04-19 20:07:17 -07:00
Joe Groff f394cb4fdc alien.parser: have define-enum handle the case when the enum name is f 2010-04-19 20:07:17 -07:00
Joe Groff 8c915e05f7 alien.parser, alien.syntax: refactor ENUM: to separate parsing from definition 2010-04-19 20:07:17 -07:00
Joe Groff d20bff5615 prettyprint FUNCTION-ALIAS: definitions 2010-04-14 12:40:10 -07:00
Joe Groff e5c1a82643 alien.syntax: FUNCTION-ALIAS: syntax to define a C function binding with a different Factor name 2010-04-14 12:06:45 -07:00
Slava Pestov becb7c78b7 Move non-parsing words out of alien.syntax, and use a symbol instead of a string variable to store the current library in alien.parser 2010-04-12 18:09:26 -05:00
Erik Charlebois edc489f4c1 Change C-ENUM: to always take a type. Use f for anonymous enums. Update all uses. 2010-04-09 23:48:22 -07:00