Commit Graph

144 Commits

Author SHA1 Message Date
9b3c3007fd Added a new syntax error code MODIMPFAIL 2017-06-08 14:39:17 +00:00
34a5e0cab8 gave up the idea of constants.
enhanced namespace handling with selfns and self
uniformified identifier handling related to namespacing
2017-06-01 15:42:05 +00:00
1bdaba968d added nsup field to the class object to chain back to the upper namespace in the hierarchy.
changed bootstrapping code and compiler code to weave top-level namespace hierarchy more consistantly, mostly related to the System class and its intrinsic namespace dictionary linked via the nsdic field
2017-05-20 02:27:48 +00:00
8324f64dea refactored array and byte array processing code in the compiler 2017-05-16 15:01:31 +00:00
5e7771b799 added MOO_LOG_MAXCAPA 2017-05-12 16:38:16 +00:00
a1782753a9 touched up primitive failure handling in exec.c 2017-05-08 16:00:55 +00:00
937895ef59 added a new method modifier #lenient that applies to a primitive method. when set, it turns soft failure to error return 2017-05-07 16:45:27 +00:00
63519c1ca3 introduced a new class modifier #immutable to indicate that an instantiated object cannot be modified using basicAt:put: 2017-05-07 05:18:21 +00:00
68a7118fb2 finished handling of #limited and #final class modifiers 2017-05-01 12:54:41 +00:00
275f5810cc changed memxxx() macros to use HAVE___BUILTIN_MEMXXX autoconf variables.
started adding the #final modifier for class definition
2017-04-30 05:07:08 +00:00
6fe65f66fc implemented until and do..until loop 2017-04-26 15:31:07 +00:00
08e54cb524 enhanced the compiler to handle default initial values for class instance variables 2017-04-24 14:32:21 +00:00
5bf8d20a93 enhanced the compiler to handle default initial values for instance variables and class variables 2017-04-24 04:26:03 +00:00
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
88b2a0787f more xcb implementation code 2017-04-07 15:50:05 +00:00
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
aeb02213b4 changed moo_getpfnum().
added argument count checks when processing primitive method pragmas
2017-04-01 04:58:02 +00:00
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
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
3bfffe09d9 removed the association literal notation 2017-03-09 07:26:43 +00:00
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
93e776a9d8 wrote some incomplete code to support native method definition - method(#native) ... 2017-02-18 15:00:45 +00:00
607e6c8502 experimenting with event driven mechanism 2017-02-18 13:31:47 +00:00
be677dd53a added partial experimental code for io event handling 2017-02-15 11:57:24 +00:00
f89d809cdc added moo_genpfmethods() and moo_findpfimpl() for convenience of writing primitive modules 2017-02-14 10:25:26 +00:00
71aa1110ed added more preamable codes.
enhanced the system to be able to attach trailing spaces to an object upon instantiation, especially for external modules to be able to secure GC-safe free workspace inside an instantiated object
added moo_setclasstrsize(), moo_getobjtrailer() for the trailer feature
2017-02-14 08:29:30 +00:00
d7cb283e44 added a few useful macros 2017-02-13 13:40:35 +00:00
2c8eb87408 refactored moo_execute() by taking process switcher out to a separate inline function 2017-02-11 05:48:30 +00:00
5c07a48c5a wrote code to handle dictionary expression and association expression notation 2017-02-07 17:40:34 +00:00
62eb6db83d in progress of fixing a bug in instruction elimination 2017-02-06 17:53:33 +00:00
60c38a1ecb added make_association, pop_into_association_key, pop_into_association_value byte codes to support assocation expressions 2017-02-05 15:05:25 +00:00
eb83c8d83a started the first step to implement array expression support enclosed in #{ }.
added 2 new byte codes - MAKE_ARRAY, POP_INTO_ARRAY for implementation
2017-02-05 13:54:52 +00:00
22013650bb added the jump_backward_if_true instruction.
added more do-while handling code
2017-01-30 16:48:42 +00:00
03ddf6b68d added some code to compile the break statement 2017-01-29 07:14:36 +00:00
10ca940d72 added small amount of code to handle break & continue 2017-01-27 15:25:46 +00:00
b7a19a3b14 implemented the while expression handling. break and continue yet to be implemented 2017-01-25 13:57:14 +00:00
6209b13410 added the local return byte code - BCODE_LOCAL_RETURN -> it returns to the origin of the active context 2017-01-22 18:01:26 +00:00
40ba50fc53 added primitive code to compile the 'if' expression 2017-01-18 17:17:05 +00:00
70f9976af3 added moo_duputobcharswithheadroom(), moo_dupbtoucharswithheadroom()
added moo_inttoooi() and made public moo_inttooow()
enhanced the ffi module a bit more
2017-01-15 17:53:37 +00:00
ec3285da57 added more character conversion functions 2017-01-12 10:06:43 +00:00
808586ca00 added the dyncall library detection into configure.ac 2017-01-10 14:27:31 +00:00
1612143499 added MOO_IN_SMPTR_RANGE(), MOO_SMPTR_TO_OOP(), MOO_OOP_TO_SMPTR().
refactored ffi a bit more
2017-01-10 13:56:19 +00:00
faf6ca28e5 added MOO_VMPRIM_OPENDL_PFMOD.
started refactoring ffi handling code
2017-01-10 10:50:26 +00:00
b2fb361df4 renamed stix to moo 2017-01-09 10:25:22 +00:00