hyunghwan.chung
9ee7d9e110
touched up raw memory access primitives
2017-04-27 15:40:04 +00:00
hyunghwan.chung
b0a3b4aef7
fixed CompiledMethod>>preambleCode
2017-04-26 16:01:56 +00:00
hyunghwan.chung
be57cffbe6
added MOO_METHOD_PREAMBLE_FLAG_DUAL and set it on in a method preamble for a dual method
2017-04-26 15:44:57 +00:00
hyunghwan.chung
6fe65f66fc
implemented until and do..until loop
2017-04-26 15:31:07 +00:00
hyunghwan.chung
04864659a8
added the #dual modifier to method definition. a method defined with #dual is registered in both the instance side and the class side.
2017-04-26 03:09:55 +00:00
hyunghwan.chung
8298bad3e0
added moo_process_t.perr and Processor>>primError to capture the last error set by a primitive function
2017-04-25 15:20:58 +00:00
hyunghwan.chung
d3c9a33c30
enhanced the compiler to set RDONLY on the array member elements in the RDONLY context
2017-04-24 16:37:57 +00:00
hyunghwan.chung
08e54cb524
enhanced the compiler to handle default initial values for class instance variables
2017-04-24 14:32:21 +00:00
hyunghwan.chung
8a0d476d18
fixed a lexer bug of eating up one more character when reading a single-letter identifier C, S, M followed by a non-identifier letter in get_ident().
...
changed various test programs according to syntax changes
2017-04-24 09:20:27 +00:00
hyunghwan.chung
5bf8d20a93
enhanced the compiler to handle default initial values for instance variables and class variables
2017-04-24 04:26:03 +00:00
hyunghwan.chung
4656bf128e
added a new class variable declarator 'var' or 'variable'
...
supported | .. | style declartion at the class level.
added the RDONLY flag to the object header
wrote some code to support default values for class-level variables such as instance variables
2017-04-19 16:46:44 +00:00
hyunghwan.chung
a768bd8803
added experimental code to handle xcb window resizing
2017-04-08 14:11:01 +00:00
hyunghwan.chung
536a66fbbf
enhanced the check on the nullified io semaphore slot
2017-04-08 07:33:06 +00:00
hyunghwan.chung
89c0a406f3
fixed a bug of not updating the system multiplexer when moving an IO semphoare object
2017-04-08 07:23:31 +00:00
hyunghwan.chung
88b2a0787f
more xcb implementation code
2017-04-07 15:50:05 +00:00
hyunghwan.chung
db3cdd057d
added X11.moo
2017-04-05 16:48:20 +00:00
hyunghwan.chung
b93b17c42b
wrote more xcb code
2017-04-05 16:48:03 +00:00
hyunghwan.chung
8bdab5520a
fixed a macro definition for os2
2017-04-03 14:53:16 +00:00
hyunghwan.chung
46e29918f3
added error mappings for os2
2017-04-03 14:51:07 +00:00
hyunghwan.chung
08f01329ab
added MOO_EMSGRCV.
...
added System putUintX()/putIntX() and SmallPoitner putUintX()/putIntX()
2017-04-03 13:24:18 +00:00
hyunghwan.chung
b7a8348de3
added System _malloc/_calloc/_free and SmallPointer free
2017-04-03 05:43:50 +00:00
hyunghwan.chung
cee4a01be0
refactored exec.c a bit
2017-04-02 17:13:04 +00:00
hyunghwan.chung
4f9767422b
added raw memory access primitive functions to SmallPointer
2017-04-02 17:08:03 +00:00
hyunghwan.chung
e2d73eccdb
extended the tag bits to support more than 3 special types.
...
tag bit calculation got slower but it can use up to 4 bits to represent more types
2017-04-02 13:13:33 +00:00
hyunghwan.chung
2ed62a5edb
added a new method directive #liberal to indicate a method that accept a fully variadic number of arguments.
...
the directive #liberal allows the caller to omit the named arguments as well.
the directive #variadic requires the caller to provide at least the named arguments
2017-04-01 06:54:27 +00:00
hyunghwan.chung
aeb02213b4
changed moo_getpfnum().
...
added argument count checks when processing primitive method pragmas
2017-04-01 04:58:02 +00:00
hyunghwan.chung
447670aba8
implemented more prechecks including the existence of the primitive function handler and the number of supported arguments when compiling primitive method defintions
2017-03-31 14:21:22 +00:00
hyunghwan.chung
0f84a115ae
added moo_pfbase_t and changed some functions to return moo_pfbase_t* instead of moo_pfimpl_t
...
touched up some modules
2017-03-30 14:59:55 +00:00
hyunghwan.chung
9748410354
Added more xcb code
2017-03-26 17:15:25 +00:00
hyunghwan.chung
da04686176
fixed a bug in handling io semaphores when no process is runnable
2017-03-25 05:16:18 +00:00
hyunghwan.chung
df1619bf7d
added more experimental xcb code
2017-03-24 18:09:34 +00:00
hyunghwan.chung
3fcfcff0ad
added a new modifier #variadic to make variadic method definition more obvious.
...
allowed the #primitive modifier in a method definition not associated with an external module.
fixed a bug in handling soft failure from numbered primitive functions
2017-03-23 16:14:22 +00:00
hyunghwan.chung
65722cf89b
changed System to be a class instead of an instance of a system dictionary
2017-03-22 16:55:41 +00:00
hyunghwan.chung
46ba3bb3f5
added respondsTo: and perform:with:
...
fixed a bug in Dictionary>>__remove_at:
added gc callback to external modules
2017-03-19 14:18:37 +00:00
hyunghwan.chung
6a2add620b
fixed two minor bugs in main.c
2017-03-09 13:39:59 +00:00
hyunghwan.chung
3bfffe09d9
removed the association literal notation
2017-03-09 07:26:43 +00:00
hyunghwan.chung
8bf134e8e3
refactored compiler code abit
2017-03-08 14:48:12 +00:00
hyunghwan.chung
308318b615
changed to accept identifer instead of symbols in pooldic definition
2017-03-08 13:53:41 +00:00
hyunghwan.chung
1ebfe8d5e9
added a simple LinkedList
2017-03-04 05:48:23 +00:00
hyunghwan.chung
90f46cc1fe
simplified the event handling thread implementation by letting only 1 thread waiting for events
2017-02-22 09:48:58 +00:00
hyunghwan.chung
513ed296a0
enhanced the event handling code further
2017-02-21 19:51:10 +00:00
hyunghwan.chung
52d6867944
wrote experimental code to handle events efficiently and asynchronously
2017-02-21 19:20:27 +00:00
hyunghwan.chung
b45d896d9f
renamed the #native method modifier to #primitive for consistency
...
improved the method modifier processing logic in the compiler
2017-02-20 04:45:23 +00:00
hyunghwan.chung
6a7cbc8dcb
finished the native method handling code in the compiler
2017-02-19 17:33:53 +00:00
hyunghwan.chung
8442968f9c
fixed a tokenization bug in getting a empty string literal.
...
allowed a zero-length symbol to be created
2017-02-19 15:45:51 +00:00
hyunghwan.chung
93e776a9d8
wrote some incomplete code to support native method definition - method(#native) ...
2017-02-18 15:00:45 +00:00
hyunghwan.chung
607e6c8502
experimenting with event driven mechanism
2017-02-18 13:31:47 +00:00
hyunghwan.chung
be677dd53a
added partial experimental code for io event handling
2017-02-15 11:57:24 +00:00
hyunghwan.chung
bc5ab97ccf
added the main program to handle SIGINT
2017-02-14 14:00:14 +00:00
hyunghwan.chung
f89d809cdc
added moo_genpfmethods() and moo_findpfimpl() for convenience of writing primitive modules
2017-02-14 10:25:26 +00:00