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 |
John Benediktsson
|
216f2332be
|
alien: fix docs (add space between sentences).
|
2011-09-21 19:33:23 -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 |
Slava Pestov
|
75560699ea
|
Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object>
|
2010-12-25 16:55:36 -08: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
|
0cde5c8fb5
|
Eliminate compiler.alien
|
2010-05-11 23:24:47 -04:00 |
Joe Groff
|
4c7ab0e9a3
|
doll up ENUM: docs
|
2010-04-21 21:33:04 -07:00 |
Erik Charlebois
|
fdeb305a3c
|
Use generic word for enum>number. Tests and documentations.
|
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
|
8c915e05f7
|
alien.parser, alien.syntax: refactor ENUM: to separate parsing from definition
|
2010-04-19 20:07:17 -07:00 |
Joe Groff
|
4bc915d526
|
C-ENUM: -> ENUM:
|
2010-04-19 20:07:16 -07:00 |
Joe Groff
|
54015782f3
|
document FUNCTION-ALIAS:
|
2010-04-14 16:14:33 -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 |
Erik Charlebois
|
4b78fe690b
|
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
|
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
|
4cfa1a6c77
|
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
|
818bbb4984
|
update docs about pointer types
|
2010-02-23 11:03:48 -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 |
Slava Pestov
|
59193af701
|
alien.syntax: save source location for TYPEDEF:, raise error on redefinition
|
2010-02-05 20:52:20 +13:00 |
Doug Coleman
|
93de179c2f
|
over push -> suffix!, over push-all -> append!
|
2009-10-28 15:29:01 -05:00 |
Doug Coleman
|
7ce4b746e5
|
parsed -> suffix!, add append!
|
2009-10-28 13:38:27 -05:00 |
Slava Pestov
|
b88fde04d9
|
alien.syntax: add C-GLOBAL: for defining words to access global variables, and remove the gimpy one from core-text.utilities
|
2009-10-09 04:46:29 -05:00 |
Keith Lazuka
|
405e5d015b
|
docs: change $subsection to $subsections
|
2009-10-02 12:15:48 -04:00 |
Joe Groff
|
44f393771b
|
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
|
123f4fbc30
|
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 |
Slava Pestov
|
685c4143c9
|
Fix conflict
|
2009-09-26 21:27:38 -05:00 |
Joe Groff
|
2cf0f3e5d3
|
move alien.inline, alien.cxx, alien.marshall to unmaintained; nuke alien.structs
|
2009-09-26 20:37:42 -05:00 |
Joe Groff
|
55988828bf
|
update alien docs to talk about C types as words
|
2009-09-21 13:20:01 -05:00 |
Joe Groff
|
00fa7f73fb
|
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
|
40620d470f
|
allow word c-types and definitions to coexist
|
2009-09-16 17:18:19 -05:00 |
Joe Groff
|
3b4330fcf6
|
get things to a point where they bootstrap again
|
2009-09-15 21:43:18 -05:00 |
Joe Groff
|
ab8abeaee4
|
Merge branch 'master' into c-type-words
|
2009-09-15 19:14:41 -05:00 |
Slava Pestov
|
9382c67437
|
alien.syntax: improve C-ENUM: docs
|
2009-09-15 16:24:58 -05:00 |
Joe Groff
|
ac41416953
|
create words for c-types
|
2009-09-15 15:18:54 -05:00 |
Slava Pestov
|
a2b864e4f5
|
ALIEN: now reads a hexadecimal integer instead of a decimal one, since in general hex is more useful for addresses
|
2009-09-12 21:17:53 -05:00 |
Joe Groff
|
e85925153c
|
deprecate C-STRUCT:, C-UNION:, and old-school struct accessors
|
2009-08-27 21:51:08 -05:00 |
Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Slava Pestov
|
b31fe9b8f2
|
Implement stricter vocab search path semantics, with a new API for vocabs.parser. Add map-find-last to sequences vocab
|
2009-05-14 22:31:29 -05:00 |
Slava Pestov
|
c3e7db3852
|
Refactor FUNCTION: to make it more extensible
|
2009-04-18 02:37:35 -05:00 |
Slava Pestov
|
99b8400e56
|
Documentation updates
|
2009-04-06 03:00:46 -05:00 |
Doug Coleman
|
8b7fcce399
|
update code for usages of add-library
|
2009-03-25 23:00:19 -05:00 |
Slava Pestov
|
ea60f8ae93
|
Changing : foo ; parsing to SYNTAX: foo ;
|
2009-03-21 01:27:50 -05:00 |
Slava Pestov
|
87a1363c95
|
Merge branch 'master' into new_ui
|
2009-01-21 19:56:20 -06:00 |
Slava Pestov
|
71bc5e9e10
|
Fix &: to throw an error if the symbol does not exist
|
2009-01-21 19:55:33 -06:00 |
Slava Pestov
|
4fb20dcfe2
|
C-ENUM: uses define-constant
|
2009-01-16 17:44:29 -06:00 |