Commit Graph

43 Commits (d44e47041641d550dc296dd4346bc6ea93d7612e)

Author SHA1 Message Date
Erik Charlebois d44e470416 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 e28882bf59 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 ff0c2c66f5 alien.parser, alien.syntax: send ENUM: body to parse-enum 2010-04-19 20:07:17 -07:00
Joe Groff f2b158ca10 alien.parser: have define-enum handle the case when the enum name is f 2010-04-19 20:07:17 -07:00
Joe Groff e84e18f2ca alien.parser, alien.syntax: refactor ENUM: to separate parsing from definition 2010-04-19 20:07:17 -07:00
Joe Groff 69a6dcd8c0 prettyprint FUNCTION-ALIAS: definitions 2010-04-14 12:40:10 -07:00
Joe Groff e95edb1c47 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 baa04649ef 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 9c2276b762 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 747ddf5173 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 92af7cc3d2 cut commas off of FUNCTION: parameter names in stack effects again 2010-02-28 19:29:53 -08:00
Joe Groff 904f30f454 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 e49dcf2c83 "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 760effdfac 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 9015711322 alien.parser: properly generate return type name for FUNCTION: stack effects 2010-02-22 11:25:01 -08:00
Joe Groff b435b2b84b 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 316b831208 alien: some code cleanups and fixes 2010-02-23 01:28:56 +13:00
Slava Pestov 33f3fee57d alien.c-types: remove void? word 2010-02-22 21:31:41 +13:00
Joe Groff a77edb8156 Merge branch 'master' of git://factorcode.org/git/factor into new-alien-pointers 2010-02-21 23:14:08 -08:00
Joe Groff e15784ed94 alien.parser: favor parsing "foo*" as pointer-to-foo now 2010-02-21 21:06:00 -08:00
Joe Groff 77ea9f1160 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 64e6f08b59 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 9adbbc8f98 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 22a9be5ea5 update existing code to use :> ( ) when possible 2009-10-28 16:11:33 -05:00
Slava Pestov d55217b34a 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 c312779f39 hurr 2009-10-16 16:39:33 -05:00
Joe Groff 67800284fb tweak parse-c-type so data-map can parse non-c-types 2009-10-16 16:10:09 -05:00
Slava Pestov a92e435799 alien.parser: fix behavior with restarts, reported by mnestic 2009-10-09 04:25:25 -05:00
Joe Groff 24c2a7fa8f refactor so that generalizations reuses the stub versions of nsequence, firstn, and n*quot needed by memoize 2009-10-08 12:55:52 -05:00
Joe Groff 5ab16ba62a change CALLBACK: to use the ABI of the current LIBRARY: and get rid of STDCALL-CALLBACK: 2009-09-28 19:27:28 -05:00
Joe Groff 5e3e8f97f4 redefine C-TYPE: to forward declare opaque C types; make C type definition and redefinition a little more robust 2009-09-27 22:12:00 -05:00
Joe Groff 1f606a4873 disable parsing of string c-types 2009-09-27 16:06:13 -05:00
Joe Groff 77d10178db add CALLBACK: syntax that defines a typedef and an alien-callback constructor word for function pointer types. update some code in iokit.hid and windows.dinput to use CALLBACK: instead of TYPEDEF:/word pairs 2009-09-21 11:59:41 -05:00
Joe Groff 52ba3f3a24 allow word c-types and definitions to coexist 2009-09-16 17:18:19 -05:00
Joe Groff 65ac206648 fix alien-function-word predicate 2009-09-16 14:17:13 -05:00
Joe Groff bba4d3ac8a prettyprinting for FUNCTION: definitions 2009-09-15 22:39:25 -05:00
Joe Groff 334e93bbbf get things to a point where they bootstrap again 2009-09-15 21:43:18 -05:00
Joe Groff 0fe8bc1bff create words for c-types 2009-09-15 15:18:54 -05:00
Doug Coleman fe83e60e04 remove call to check-c-name 2009-07-23 18:14:07 -05:00
Doug Coleman eda6056201 allow FUNCTION: to parse pointers in the name field 2009-07-23 18:05:09 -05:00
Doug Coleman f8b8616a48 Disallow C functions and parameter names that contain an asterisk 2009-07-23 15:48:10 -05:00
Slava Pestov c3e7db3852 Refactor FUNCTION: to make it more extensible 2009-04-18 02:37:35 -05:00
Slava Pestov 3e25d14e54 Code cleanup: refactoring usages of rot and -rot to use newer idioms instead 2008-11-30 17:47:29 -06:00