Commit Graph

41 Commits

Author SHA1 Message Date
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
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
feb1825c41 set processor's primitive error information before handling #lenient 2019-10-24 15:17:46 +00:00
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
42df4239a6 added ProcessScheduler>>processById:
attempting to correct signal handling behavior
2019-08-18 17:46:40 +00:00
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
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
f3953c4754 adding Apex>>basicAt:test:put: 2019-08-17 05:28:25 +00:00
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
3e1aded8a8 enhanced compile_if_expression() not to eliminate blocks containing one or more labels 2019-08-07 05:33:35 +00:00
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
3e506cbcfb added System>>backtrace 2019-07-12 07:24:37 +00:00
8e5e5234cb simplified source line and source text representation of a methond in dbgi 2019-07-12 03:38:45 +00:00
d5475d79b6 added pf_method_get_ip_source_line() and defined CompiledMethod::ipSourceLine 2019-07-11 06:43:47 +00:00
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
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
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
3f6b0335d9 changed comp.c to pass source location to emit_XXX_instruction() functions 2019-07-04 10:04:59 +00:00
4c7b5f2df8 removed the S'' literals from the moo codes 2019-06-27 08:06:33 +00:00
fcb987891e no more ## comment. // as a signle-line comment starter. 2019-06-27 06:29:09 +00:00
102de55322 changed the block comment style the same as C 2019-06-19 12:38:09 +00:00
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
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
acb71f521c work in progress. trying a different way of implementing async socket 2018-05-02 09:53:02 +00:00
7395a5d2d2 touched up some primitive functions 2017-12-03 17:08:04 +00:00
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
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
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
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
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
a639fe9f93 fixed an error in moo_seterrbfmt() and moo_seterrufmt() 2017-05-16 02:04:18 +00:00
f5d311e825 enhanced logging functions to be more error-resistent 2017-05-12 04:15:09 +00:00
9208d078b2 added moo_seterrbfmt() and moo_seterrufmt() 2017-05-11 14:59:20 +00:00
ce69989a86 touched up primitive failure handling a bit 2017-05-09 15:48:44 +00:00
a1782753a9 touched up primitive failure handling in exec.c 2017-05-08 16:00:55 +00:00
1dff630fdd changed how to calculate the mid point in a binary search loop 2017-05-04 05:22:45 +00:00
b0a3b4aef7 fixed CompiledMethod>>preambleCode 2017-04-26 16:01:56 +00:00
6fe65f66fc implemented until and do..until loop 2017-04-26 15:31:07 +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
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
7460ce819c renamed *.st files to *.moo 2017-01-09 12:52:37 +00:00