hyunghwan.chung
de1f8c9551
debugged handling of class(#type(N)) processing
2018-01-06 04:18:10 +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
27dbedbc50
fixed the invalid memory access issue in moo_compucharsucstr() and similar functions.
...
added the log.default_type_mask field
restructured the builtin primitive function table
2017-12-31 16:46:52 +00:00
hyunghwan.chung
d0b20bee08
added comparision to the Character class
2017-12-30 19:07:31 +00:00
hyunghwan.chung
e39dd6027e
fixed some socket methods
2017-12-28 17:45:55 +00:00
hyunghwan.chung
f27856fa72
enhanced the compiler to auto-sense the use of comma in a byte array literal
2017-12-20 16:40:04 +00:00
hyunghwan.chung
4fe38f883c
changed the compiler to allow a character literal within a byte array literal
2017-12-20 16:25:20 +00:00
hyunghwan.chung
e63596688a
added moo_seterrwithsyserro()let the compier to remove the leading underscores when resolving a primitive function in a separate module
2017-12-17 15:20:58 +00:00
hyunghwan.chung
cf88ac40ec
enhanced error message printing
2017-12-17 06:38:08 +00:00
hyunghwan.chung
49f0ff0bda
fixed the wrong argument handling problem
2017-12-16 05:21:38 +00:00
hyunghwan.chung
5ea15c24bd
renamed moo_mod_console to moo_mod_con
2017-12-14 02:04:52 +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
76b975a152
changed the compiler to remove all leading spaces from a method name when composing a primitive identifer.
...
started enhancing the compiler to support the #pragma directive
2017-11-24 17:40:20 +00:00
hyunghwan.chung
7710ad99d0
added MOO_LOG_STDOUT, MOO_LOG_STDERR
...
changed the main program to write log messages to a specified file
added moo_getuopt()/moo_getbopt()/moo_getopt()
2017-11-22 04:52:45 +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
5ae166c1d4
attempted to fix wrong IO semaphore handling over a semaphore group
2017-10-31 07:13:22 +00:00
hyunghwan.chung
9ae1b99b43
fixed wrong handling of a comment closer in the builtin compiler
2017-10-31 02:57:38 +00:00
hyunghwan.chung
2c85319cb0
started adding a socket module and the Socket class
2017-10-18 16:15:51 +00:00
hyunghwan.chung
32a77bc6db
simplified SemaphoreGroup by switching a semaphore array to a semaphore list.
...
added some copy methods to Array
2017-10-08 15:40:32 +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
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
307c43eb3e
fixed an initial value handling bug and implemented getter and setter generation when a variable is set with #get and/or #set
2017-06-07 04:46:14 +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
36c48a8daf
made some changes to system logging primtitives and supporting codes.
...
struggling with name space handling
2017-05-21 16:57:21 +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
a639fe9f93
fixed an error in moo_seterrbfmt() and moo_seterrufmt()
2017-05-16 02:04:18 +00:00
hyunghwan.chung
9208d078b2
added moo_seterrbfmt() and moo_seterrufmt()
2017-05-11 14:59:20 +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
2a6206cc80
changed to use AC_LINK_IFELSE() when checking for some __builtin_memxxx functions.
...
started adding the #limited modifier for class definition
2017-04-30 04:50:33 +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
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
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
3bfffe09d9
removed the association literal notation
2017-03-09 07:26:43 +00:00