74 Commits

Author SHA1 Message Date
hyunghwan.chung
18ca2b30a0 changed code to get rid of some type conversion warnings 2018-02-26 15:30:38 +00:00
hyunghwan.chung
420ee09907 added error immunity check for the log_write callback 2018-02-22 04:44:34 +00:00
hyunghwan.chung
5612e999d1 removed a wrong macro definitnion MOO_DEBUG_BIGINT 2018-02-21 12:59:14 +00:00
hyunghwan.chung
ae0f559060 enhanced --enable-unicode to accept ucs4 and ucs2 in addition to yes/no.
redefined the moo_uch_t type to follow the enable-unicode value
2018-02-21 10:11:39 +00:00
hyunghwan.chung
8233a6ae0a deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE 2018-02-21 09:35:59 +00:00
hyunghwan.chung
81a7c9fc82 changed moo_setsynerrbfmt() and moo_setsynerrufmt() to set the error message to begin with 'syntax error' 2018-02-08 05:31:35 +00:00
hyunghwan.chung
3daeab66b9 enhanced syntax error message handling.
exposed hcl_setsynerr(), hcl_setsynerrbfmt(), hcl_setsynerrufmt().
hid hcl_synerrnum_to_errstr()
2018-02-07 14:08:05 +00:00
hyunghwan.chung
1bae32bf30 substitued syserr for errno wrongly used in err.c 2018-01-28 12:35:12 +00:00
hyunghwan.chung
171b02449e enhanced set_syntax_errbmsg() to set_syntax_errbfmt().
collapsed three separate syntax error code to a single code MOO_SYNERR_INHERITBANNED.
added moo_seterrbfmtv() and moo_seterrufmtv() for internal use
2018-01-07 08:00:23 +00:00
hyunghwan.chung
f4875ba51d supporting fixed type size specification for a nonpointer variable object like class(#byte(30))). work still in progress 2018-01-05 17:46:10 +00:00
hyunghwan.chung
5474ae242d added Apex>>basicMoveFrom:with:count: and Apex>>basicShiftFrom:to:count: 2018-01-02 16:25:37 +00:00
hyunghwan.chung
9f27e27d25 improved error handling a bit 2017-12-27 10:32:57 +00:00
hyunghwan.chung
cf88ac40ec enhanced error message printing 2017-12-17 06:38:08 +00:00
hyunghwan.chung
e9cea47273 added the --debug option for the debug build 2017-12-16 16:14:23 +00:00
hyunghwan.chung
69b2107ed9 changed semaphore primitive functions to return MOO_PF_FAILURE upon an error 2017-12-10 15:40:29 +00:00
hyunghwan.chung
6a8db215f8 relocated gc related primitive functions 2017-12-09 17:45:10 +00:00
hyunghwan.chung
7c5afe2d5b added SmallPointer<<getBytes, SmallPointer<<putBytes 2017-12-09 16:04:17 +00:00
hyunghwan.chung
541ab59028 added System<<getBytes, System<<putBytes.
also added primitive functions for the above
2017-12-09 15:47:43 +00:00
hyunghwan.chung
471d8ad797 relocated system/smptr primiives to pf-sys.c 2017-12-08 15:28:51 +00:00
hyunghwan.chung
b6cb06c680 started migrating some primitive functions to a separate file 2017-12-05 16:51:20 +00:00
hyunghwan.chung
a817083543 added #pragma qc(on) and qc(off) to turn on/off double-quoted string comment 2017-11-26 06:45:59 +00:00
hyunghwan.chung
6177cd6865 removed the DEH symbol ({%).
added new experimental features
 - the signal method to the Error class for simplified error/exception handling
 - the catch method to the BlockContext for simplified error/exception catching instead of the full-fledged on:do
2017-11-21 15:05:12 +00:00
hyunghwan.chung
b07cab3874 migrated some primitives from Processor to System.
Fixed a bug in manipulating moo->sem_io_wait_count.
Experimenting to add a shortcut exception handling syntax
2017-11-21 09:15:22 +00:00
hyunghwan.chung
a54c2e21f2 added the equality(=) method to Array.
fixed the equality primitive handler to accept the subclasses of Semaphore/SemaphoreGroup
2017-10-02 01:22:49 +00:00
hyunghwan.chung
37cf7be1bb changed the way to exit the gc finalizer.
touched up processor scheduling debug statements
2017-08-20 14:43:34 +00:00
hyunghwan.chung
a7675116b6 changed to print backtrace upon assertion failure.
fixed some process scheduler bugs
2017-08-17 18:10:29 +00:00
hyunghwan.chung
e65912ae72 improved gcfin handling a bit
attempted to use XLoadFontSet in the x11 plugin experimentally
2017-07-27 08:32:16 +00:00
hyunghwan.chung
447012b214 changed process management code for gc finalization support. incompelete yet 2017-07-24 13:25:25 +00:00
hyunghwan.chung
03fd02d59b added some experimental code to support object finalization 2017-07-20 16:33:53 +00:00
hyunghwan.chung
d311c7cb6e interim commit of various experiments 2017-06-16 09:45:22 +00:00
hyunghwan.chung
9b3c3007fd Added a new syntax error code MODIMPFAIL 2017-06-08 14:39:17 +00:00
hyunghwan.chung
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
hyunghwan.chung
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
hyunghwan.chung
8324f64dea refactored array and byte array processing code in the compiler 2017-05-16 15:01:31 +00:00
hyunghwan.chung
5e7771b799 added MOO_LOG_MAXCAPA 2017-05-12 16:38:16 +00:00
hyunghwan.chung
a1782753a9 touched up primitive failure handling in exec.c 2017-05-08 16:00:55 +00:00
hyunghwan.chung
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
hyunghwan.chung
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
hyunghwan.chung
68a7118fb2 finished handling of #limited and #final class modifiers 2017-05-01 12:54:41 +00:00
hyunghwan.chung
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
hyunghwan.chung
6fe65f66fc implemented until and do..until loop 2017-04-26 15:31:07 +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
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
88b2a0787f more xcb implementation code 2017-04-07 15:50:05 +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
aeb02213b4 changed moo_getpfnum().
added argument count checks when processing primitive method pragmas
2017-04-01 04:58:02 +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
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
3bfffe09d9 removed the association literal notation 2017-03-09 07:26:43 +00:00