hyunghwan.chung
7eb10b162a
started representing a block([...]) in a CompiledBlock object. BlockContext represents an activated CompiledBlock context from now on
2020-10-15 14:50:08 +00:00
hyunghwan.chung
b5b72c626c
enhanced the compiler to handle a string as a series of bytes in a byte array literal.
...
added FileAccessor>>seek:whence:
2019-10-29 14:21:14 +00:00
hyunghwan.chung
feb1825c41
set processor's primitive error information before handling #lenient
2019-10-24 15:17:46 +00:00
hyunghwan.chung
e145c4742e
enhanced the compiler and the interface structure to allow an interface as a name space.
...
enhanced formatted output of namespace, interface, class to include the hierarchy.
changed the pooldic item terminator from a period to a comma
2019-09-30 08:46:50 +00:00
hyunghwan.chung
42df4239a6
added ProcessScheduler>>processById:
...
attempting to correct signal handling behavior
2019-08-18 17:46:40 +00:00
hyunghwan.chung
071ebb7788
fixed comparison bugs in moo_pf_basic_at_test_put()
...
changed some methods to use basicLastIndex instead of basicSize - 1
2019-08-17 15:56:47 +00:00
hyunghwan.chung
a65b64a0d9
completed Apex>>basicAt:test:put.
...
changed BlockContext>>ensure: and Context>>unwindTo:return: to use basicAt:test:put to make the test-and-set operation uninterruptible
2019-08-17 06:30:34 +00:00
hyunghwan.chung
f3953c4754
adding Apex>>basicAt:test:put:
2019-08-17 05:28:25 +00:00
hyunghwan.chung
f51fbd1a33
added the vm_setsig vm primitive function to improve os signal handler
...
changed System>>__os_signal_handelr and System>>startup for improved os signal handling
2019-08-16 15:29:36 +00:00
hyunghwan.chung
3e1aded8a8
enhanced compile_if_expression() not to eliminate blocks containing one or more labels
2019-08-07 05:33:35 +00:00
hyunghwan.chung
bd1d30360e
shortened elsif to elif.
...
enhanced is_reserved_word() to return a token type through a non-NULL second parameter
2019-07-26 04:40:33 +00:00
hyunghwan.chung
3e506cbcfb
added System>>backtrace
2019-07-12 07:24:37 +00:00
hyunghwan.chung
8e5e5234cb
simplified source line and source text representation of a methond in dbgi
2019-07-12 03:38:45 +00:00
hyunghwan.chung
d5475d79b6
added pf_method_get_ip_source_line() and defined CompiledMethod::ipSourceLine
2019-07-11 06:43:47 +00:00
hyunghwan.chung
b3eb804f87
reorganized moo_duputobcstr(), moo_dupbtoucstr(), moo_dupbtouchars(), moo_duputobchars().
...
renamed add_io_name() to moo_addcioname().
changed input_handler in std.c to set arg->name when opening a file with moo_addcioname().
shortened dbginfo to dbgi.
enhanced the compiler to record the class location in dbgi
2019-07-10 09:19:38 +00:00
hyunghwan.chung
b4c6e6a9de
added CompiledMethod>>sourceFile, CompiledMethod>>sourceLine.
...
added pf_method_get_source_file().
enhanced moo_addmethodtodbginfo().
enhanced the compiler to call moo_addfiletodbginfo(), moo_addmethodtodbginfo()
2019-07-09 15:56:34 +00:00
hyunghwan.chung
7f835ea120
added moo_ischildclassof().
...
filled pf_context_find_exception_handler() to speed up exception handling a bit
2019-07-05 08:12:42 +00:00
hyunghwan.chung
3f6b0335d9
changed comp.c to pass source location to emit_XXX_instruction() functions
2019-07-04 10:04:59 +00:00
hyunghwan.chung
4c7b5f2df8
removed the S'' literals from the moo codes
2019-06-27 08:06:33 +00:00
hyunghwan.chung
fcb987891e
no more ## comment. // as a signle-line comment starter.
2019-06-27 06:29:09 +00:00
hyunghwan.chung
102de55322
changed the block comment style the same as C
2019-06-19 12:38:09 +00:00
hyunghwan.chung
b9500933b8
renamed SymbolSet to SymbolTable.
...
added some exception classes to use when something is not found.
renamed Set to AssociativeCollection and started writing a new Set class
2018-06-20 18:01:04 +00:00
hyunghwan.chung
e074607a00
renamed jump_xxxward_if_xxx to jumpop_xxxward_if_xxx because it does pop the stack top.
...
added jump_forward_if_true, jump_forward_if_fase, jump2_forward_if_true, jump2_forward_if_false to use with the and and or logical operation keywords
2018-05-30 15:32:09 +00:00
hyunghwan.chung
acb71f521c
work in progress. trying a different way of implementing async socket
2018-05-02 09:53:02 +00:00
hyunghwan.chung
7395a5d2d2
touched up some primitive functions
2017-12-03 17:08:04 +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
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
7ee4453bf3
removed experimental code on error exceptionization.
...
made the sp method of the Process class a primitive method for accuracy
fixed omission of some fields when initializing a nil_process.
wrote a macro to inspect a receiver and changed the receiver inspect code to use the macro
corrected the order between return value setting and process suspension/temrination/activation in some primitive functions
2017-09-25 15:16:19 +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
a639fe9f93
fixed an error in moo_seterrbfmt() and moo_seterrufmt()
2017-05-16 02:04:18 +00:00
hyunghwan.chung
f5d311e825
enhanced logging functions to be more error-resistent
2017-05-12 04:15:09 +00:00
hyunghwan.chung
9208d078b2
added moo_seterrbfmt() and moo_seterrufmt()
2017-05-11 14:59:20 +00:00
hyunghwan.chung
ce69989a86
touched up primitive failure handling a bit
2017-05-09 15:48:44 +00:00
hyunghwan.chung
a1782753a9
touched up primitive failure handling in exec.c
2017-05-08 16:00:55 +00:00
hyunghwan.chung
1dff630fdd
changed how to calculate the mid point in a binary search loop
2017-05-04 05:22:45 +00:00
hyunghwan.chung
b0a3b4aef7
fixed CompiledMethod>>preambleCode
2017-04-26 16:01:56 +00:00
hyunghwan.chung
6fe65f66fc
implemented until and do..until loop
2017-04-26 15:31:07 +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
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
hyunghwan.chung
7460ce819c
renamed *.st files to *.moo
2017-01-09 12:52:37 +00:00