4d83867cb4 
								
							
								 
							
						 
						
							
							
								
								strings.parser: remove parse-short-string, everyone should parse-string.  
							
							
							
						 
						
							2016-04-04 15:00:04 -07:00  
				
					
						
							
							
								 
						
							
							
								0f994c9924 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: Add ENUM: example with c basetype.  
							
							
							
						 
						
							2016-03-05 15:34:15 -08:00  
				
					
						
							
							
								 
						
							
							
								b1e0ba1edd 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: Fix CALLBACK: syntax again in another place  
							
							
							
						 
						
							2016-03-01 13:07:37 -08:00  
				
					
						
							
							
								 
						
							
							
								72be6bf9b7 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: Fix docs for CALLBACK: (no semi)  
							
							
							
						 
						
							2016-03-01 12:42:17 -08:00  
				
					
						
							
							
								 
						
							
							
								7d8d60ede3 
								
							
								 
							
						 
						
							
							
								
								Fix incorrect alien.syntax documentation for FUNCTION:  
							
							... 
							
							
							
							The library docs indicate that you need a semicolon at the end of
a `FUNCTION:` definition, but that's actually a syntax error. Likewise,
while the parentheses and commas may at one point have been optional,
they emphatically aren't anymore. This patch brings the documentation in
line with the code. 
							
						 
						
							2016-02-17 09:33:33 -08:00  
				
					
						
							
							
								 
						
							
							
								3affad7681 
								
							
								 
							
						 
						
							
							
								
								docs: using $maybe.  
							
							
							
						 
						
							2015-12-11 17:05:45 -08:00  
				
					
						
							
							
								 
						
							
							
								399d01f56e 
								
							
								 
							
						 
						
							
							
								
								strings.parser: finish removing triple-strings.  
							
							... 
							
							
							
							parse-string => parse-short-string (on the same line)
parse-multiline-string-until => parse-full-string 
							
						 
						
							2015-08-17 19:49:12 -07:00  
				
					
						
							
							
								 
						
							
							
								1fcf96cada 
								
							
								 
							
						 
						
							
							
								
								factor: remove """ string syntax for now. there are HEREDOC:, STRING:, escaping \", and something else soon.  
							
							
							
						 
						
							2015-07-25 22:59:56 -07:00  
				
					
						
							
							
								 
						
							
							
								5c8c76cc22 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: We have to include alien.arrays somewhere before libc loads.  
							
							
							
						 
						
							2014-11-17 09:44:21 -08:00  
				
					
						
							
							
								 
						
							
							
								74058d3dff 
								
							
								 
							
						 
						
							
							
								
								alien: cleanup using.  
							
							
							
						 
						
							2014-11-16 20:31:32 -08:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								216f2332be 
								
							
								 
							
						 
						
							
							
								
								alien: fix docs (add space between sentences).  
							
							
							
						 
						
							2011-09-21 19:33:23 -07:00  
				
					
						
							
							
								 
						
							
							
								a820c1091d 
								
							
								 
							
						 
						
							
							
								
								alien: merge enum improvements from Blei/gtk-image-loader  
							
							
							
						 
						
							2011-08-27 13:48:30 -07:00  
				
					
						
							
							
								 
						
							
							
								e28e48beea 
								
							
								 
							
						 
						
							
							
								
								Create a setter for C-GLOBAL words  
							
							
							
						 
						
							2011-05-23 23:36:14 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								6142bd7335 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: FUNCTION: and FUNCTION-ALIAS: now define inline words  
							
							
							
						 
						
							2010-07-28 03:05:14 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								0cde5c8fb5 
								
							
								 
							
						 
						
							
							
								
								Eliminate compiler.alien  
							
							
							
						 
						
							2010-05-11 23:24:47 -04:00  
				
					
						
							
							
								 
						
							
							
								4c7ab0e9a3 
								
							
								 
							
						 
						
							
							
								
								doll up ENUM: docs  
							
							
							
						 
						
							2010-04-21 21:33:04 -07:00  
				
					
						
							
							
								 
						
							
							
								fdeb305a3c 
								
							
								 
							
						 
						
							
							
								
								Use generic word for enum>number. Tests and documentations.  
							
							
							
						 
						
							2010-04-19 20:08:40 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								6e55a3b8f5 
								
							
								 
							
						 
						
							
							
								
								alien.parser, alien.syntax: send ENUM: body to parse-enum  
							
							
							
						 
						
							2010-04-19 20:07:17 -07:00  
				
					
						
							
							
								 
						
							
							
								8c915e05f7 
								
							
								 
							
						 
						
							
							
								
								alien.parser, alien.syntax: refactor ENUM: to separate parsing from definition  
							
							
							
						 
						
							2010-04-19 20:07:17 -07:00  
				
					
						
							
							
								 
						
							
							
								4bc915d526 
								
							
								 
							
						 
						
							
							
								
								C-ENUM: -> ENUM:  
							
							
							
						 
						
							2010-04-19 20:07:16 -07:00  
				
					
						
							
							
								 
						
							
							
								54015782f3 
								
							
								 
							
						 
						
							
							
								
								document FUNCTION-ALIAS:  
							
							
							
						 
						
							2010-04-14 16:14:33 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								818bbb4984 
								
							
								 
							
						 
						
							
							
								
								update docs about pointer types  
							
							
							
						 
						
							2010-02-23 11:03:48 -08:00  
				
					
						
							
							
								 
						
							
							
								5955ba06df 
								
							
								 
							
						 
						
							
							
								
								use a "pointer" wrapper tuple to indicate pointer types instead of the current slipshod approach  
							
							
							
						 
						
							2010-02-21 16:27:36 -08:00  
				
					
						
							
							
								 
						
							
							
								59193af701 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: save source location for TYPEDEF:, raise error on redefinition  
							
							
							
						 
						
							2010-02-05 20:52:20 +13:00  
				
					
						
							
							
								 
						
							
							
								93de179c2f 
								
							
								 
							
						 
						
							
							
								
								over push -> suffix!, over push-all -> append!  
							
							
							
						 
						
							2009-10-28 15:29:01 -05:00  
				
					
						
							
							
								 
						
							
							
								7ce4b746e5 
								
							
								 
							
						 
						
							
							
								
								parsed -> suffix!, add append!  
							
							
							
						 
						
							2009-10-28 13:38:27 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								405e5d015b 
								
							
								 
							
						 
						
							
							
								
								docs: change $subsection to $subsections  
							
							
							
						 
						
							2009-10-02 12:15:48 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								685c4143c9 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							
							
						 
						
							2009-09-26 21:27:38 -05:00  
				
					
						
							
							
								 
						
							
							
								2cf0f3e5d3 
								
							
								 
							
						 
						
							
							
								
								move alien.inline, alien.cxx, alien.marshall to unmaintained; nuke alien.structs  
							
							
							
						 
						
							2009-09-26 20:37:42 -05:00  
				
					
						
							
							
								 
						
							
							
								55988828bf 
								
							
								 
							
						 
						
							
							
								
								update alien docs to talk about C types as words  
							
							
							
						 
						
							2009-09-21 13:20:01 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								40620d470f 
								
							
								 
							
						 
						
							
							
								
								allow word c-types and definitions to coexist  
							
							
							
						 
						
							2009-09-16 17:18:19 -05:00  
				
					
						
							
							
								 
						
							
							
								3b4330fcf6 
								
							
								 
							
						 
						
							
							
								
								get things to a point where they bootstrap again  
							
							
							
						 
						
							2009-09-15 21:43:18 -05:00  
				
					
						
							
							
								 
						
							
							
								ab8abeaee4 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into c-type-words  
							
							
							
						 
						
							2009-09-15 19:14:41 -05:00  
				
					
						
							
							
								 
						
							
							
								9382c67437 
								
							
								 
							
						 
						
							
							
								
								alien.syntax: improve C-ENUM: docs  
							
							
							
						 
						
							2009-09-15 16:24:58 -05:00  
				
					
						
							
							
								 
						
							
							
								ac41416953 
								
							
								 
							
						 
						
							
							
								
								create words for c-types  
							
							
							
						 
						
							2009-09-15 15:18:54 -05:00  
				
					
						
							
							
								 
						
							
							
								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