Commit Graph

434 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 fc7ed73f87 prettyprint ENUM: definitions 2010-04-19 20:07:18 -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 d439ad0b9f alien.c-types: use CONSULT: to define c-type-protocol methods on c-type-name 2010-04-19 20:07:17 -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 5aecd92c37 C-ENUM: -> ENUM: 2010-04-19 20:07:16 -07:00
Slava Pestov 28a9cf79ff io.encodings: add a fast-path for ascii, utf8 and 8-bit encodings when string only contains ASCII characters 2010-04-19 01:14:00 -05:00
Joe Groff 482850c7d1 rearrange stuff in alien.arrays and alien.data to eliminate libc dependency from alien.arrays, and by extension, alien.syntax 2010-04-14 21:40:29 -07:00
Joe Groff b0cd256b0f document FUNCTION-ALIAS: 2010-04-14 16:14:33 -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
Slava Pestov 7d34ede7e3 Merge branch 'master' of git://github.com/erikcharlebois/factor 2010-04-10 18:01:19 -07: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
Erik Charlebois 192d9d5659 Extend C-ENUM: to allow specifying the constant vvalues like in C. Add C-TYPED-ENUM: to automatically typedef a type. 2010-04-06 02:46:23 -07:00
Joe Groff cd0ad27e46 update some more doc examples using old abi strings 2010-04-02 23:16:53 -07:00
Joe Groff ca9614e746 Merge branch 'master' into abi-symbols 2010-04-01 15:28:36 -07:00
Joe Groff 505e24acf0 update alien.libraries docs to link cdecl/stdcall symbols 2010-03-31 19:57:04 -07:00
Joe Groff 1d06be5021 "stdcall" -> stdcall 2010-03-31 19:29:04 -07:00
Joe Groff d951be1832 "cdecl" -> cdecl 2010-03-31 19:20:35 -07:00
Slava Pestov 64cbe8b80b Document (free), move it out of libc.private and mention it in the "c-strings" help article (reported by Blei) 2010-03-30 17:32:51 -04:00
Slava Pestov 3ef79a67ac alien.debugger: fix USING: form 2010-03-17 19:35:12 +13: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
Slava Pestov 2dde82ffff Slices over specialized arrays can now be passed to C functions, written to binary output streams, and given to malloc-byte-array 2010-02-25 04:50:31 +13:00
Slava Pestov c1e7a3ffc2 Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams 2010-02-24 20:18:41 +13:00
Joe Groff 7ba1dcebf5 typo in alien.data docs 2010-02-23 12:20:47 -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 d7720a2b2d typo in alien.parser test 2010-02-23 11:59:53 -08:00
Joe Groff 721f9018b1 fix typos in alien docs 2010-02-23 11:56:10 -08:00
Joe Groff 96ab4492d2 rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char 2010-02-23 11:42:02 -08:00
Joe Groff dff7d09055 update docs about pointer types 2010-02-23 11:03:48 -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 941ad782e3 if any typedef in the chain has a pointer-c-type, use it 2010-02-23 08:09:33 -08:00
Slava Pestov 071836b059 Merge branch 'master' of git://factorcode.org/git/factor 2010-02-23 20:26:41 +13:00
Joe Groff 298a3b2fa8 alien.fortran: update tests to reflect new pointer c-type objects 2010-02-22 21:58:18 -08:00
Erik Charlebois a221fa05a3 Revert change to make-callback-type cause Slava already fixed it in parse-arglist 2010-02-22 19:34:34 -08:00
Joe Groff d5c6ae5d36 don't box struct pointer values when they're null 2010-02-22 19:08:43 -08:00
Joe Groff 4875169d0c alien.arrays/classes.struct: ensure specialized array types for struct array slots get instantiated at parse time 2010-02-22 12:21:29 -08:00
Joe Groff 9015711322 alien.parser: properly generate return type name for FUNCTION: stack effects 2010-02-22 11:25:01 -08:00
Erik Charlebois 915a90657e Merge alien/parser/parser.factor 2010-02-22 10:53:19 -08:00
Erik Charlebois 8e4a333fae Fix CALLBACK: effect return type also not a string. Added accompanying unit test. 2010-02-22 10:48:21 -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 2ec050665e alien.arrays: typedef special char* symbol so it still works as expected 2010-02-21 23:11:59 -08:00