Commit Graph

66 Commits (b51bd7981900ee8d9d5e00be3d0b43cec34b2e20)

Author SHA1 Message Date
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
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 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 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
Slava Pestov 6ff0393e2f debugger: Untangle some dodgy dependencies that were loading locals before prettyprint, resulting in locals.prettyprint not being loaded 2010-03-17 19:19:43 +13:00
Joe Groff cd17a934ac cut commas off of FUNCTION: parameter names in stack effects again 2010-02-28 19:29:53 -08:00
Joe Groff 078ca0fa58 alien.parser: refactor FUNCTION: parsing to read from the source incrementally. parse errors in FUNCTION: should now correspond to their location within the definition 2010-02-28 16:20:45 -08:00
Joe Groff 1916b9269e "pointer-c-type" word-prop hack is now unnecessary since all pointer types behave uniformly now 2010-02-23 12:07:55 -08:00
Joe Groff 00a7559d55 have TYPEDEF:, STRUCT: etc. throw an error if you try to define a c type name ending with asterisk 2010-02-23 10:16:18 -08:00
Joe Groff 4d2ded634b alien.parser: properly generate return type name for FUNCTION: stack effects 2010-02-22 11:25:01 -08:00
Joe Groff 31a0d98e02 Merge branch 'master' into new-alien-pointers
Conflicts:
	basis/alien/c-types/c-types.factor
	basis/stack-checker/dependencies/dependencies.factor
2010-02-22 10:32:59 -08:00
Slava Pestov 23a1f0ed8c alien: some code cleanups and fixes 2010-02-23 01:28:56 +13:00
Slava Pestov 7578429692 alien.c-types: remove void? word 2010-02-22 21:31:41 +13:00
Joe Groff 338edac16c Merge branch 'master' of git://factorcode.org/git/factor into new-alien-pointers 2010-02-21 23:14:08 -08:00
Joe Groff 5faa97e42c alien.parser: favor parsing "foo*" as pointer-to-foo now 2010-02-21 21:06:00 -08:00
Joe Groff d5bf6e55cd more implementation of pointer c-types. make it so that { char* binary } acts like a real pointer to char instead of stringifying, and add byte* typedef for { char* binary } 2010-02-21 20:58:21 -08:00
Joe Groff 5955ba06df use a "pointer" wrapper tuple to indicate pointer types instead of the current slipshod approach 2010-02-21 16:27:36 -08:00
Erik Charlebois b25e945c74 The return values in the stack effects of FUNCTION: words were c-types rather than strings. This was causing scaffold-help to fail on vocabularies with FUNCTION:. 2010-02-20 03:02:56 -08:00
Joe Groff 6e1bffb1c5 update existing code to use :> ( ) when possible 2009-10-28 16:11:33 -05:00
Slava Pestov 5afce2cc9e alien.c-types: c-type no longer calls parser at runtime, tools.deploy.shaker now strips out runtime specialized array code generation 2009-10-16 23:50:17 -05:00
Joe Groff c8eddf89e6 hurr 2009-10-16 16:39:33 -05:00
Joe Groff 21b289e836 tweak parse-c-type so data-map can parse non-c-types 2009-10-16 16:10:09 -05:00