hyunghwan.chung
f3c91bbed2
attempting to implement os signal handling. work in progress
2019-08-12 15:54:09 +00:00
hyunghwan.chung
7c88b00952
enhanced LONGLONG argument handling in mod/ffi.c
2019-08-10 17:36:34 +00:00
hyunghwan.chung
85eae9e78b
fixed pointer argument handling issues when interfacing with libffi in mod/ffi.c
2019-08-10 04:08:49 +00:00
hyunghwan.chung
70c97f5ab5
started using libffi in mod/ffi.c if it's available. work in progress
2019-08-09 18:19:13 +00:00
hyunghwan.chung
bb41dc5486
enhanced compile_while_expression()/compile_do_while_expression() not to eliminate blocks containing one or more labels
2019-08-07 08:34:53 +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
11b2629680
fixed some issues regarding goto handling
2019-08-06 10:01:54 +00:00
hyunghwan.chung
ea69bb8d45
changing how to emit code for square bracked block to solve goto related issues. work still in progress
2019-08-05 09:08:03 +00:00
hyunghwan.chung
55bf7e269e
trying to fix some goto implementation issues
2019-08-04 16:38:09 +00:00
hyunghwan.chung
490804d0aa
added a test case in test-003.moo
2019-08-02 16:19:24 +00:00
hyunghwan.chung
e08edffb0c
renamed patch_long_forward_jump_instruction() to patch_forward_jump_instruction().
...
enhanced to change a forward jump to a backward jump if target ip is less than the instruction pointer
2019-08-02 09:32:19 +00:00
hyunghwan.chung
3b6e59d98c
more code to the compiler's goto handling functions
2019-08-01 16:05:04 +00:00
hyunghwan.chung
5f4133e9fd
wrote a few more lines in add_label() in comp.c
2019-07-31 08:53:44 +00:00
hyunghwan.chung
299faf4a87
some code for goto handling
2019-07-26 07:40:58 +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
05837aef28
more goto-label handling code
2019-07-18 15:51:55 +00:00
hyunghwan.chung
d3f1a435cb
fixed a lexer bug than returned FPDECLIT where INTLIT was desired.
...
added more code to process jump labels
2019-07-17 17:04:27 +00:00
hyunghwan.chung
1c0b23fa97
started working on parsing labels
2019-07-17 09:52:26 +00:00
hyunghwan.chung
1533c42dbf
removed code_start_loc from moo_method_data_t and added start_loc
2019-07-12 08:05:44 +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
fcf6d3ffc1
touched up pf_method_get_source_file() and pf_method_get_ip_source_line()
2019-07-11 15:58:16 +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
92093dd23f
added two more fields into CompiledMethod. no implementation change has been made yet
2019-06-29 10:46:28 +00:00
hyunghwan.chung
20b50c7bb6
defined select:,reject:,collect: in Array
2019-06-28 06:13:09 +00:00
hyunghwan.chung
2d8277a046
enhanced the compiler to process byte array in string notation - B"..."
2019-06-27 14:16:43 +00:00
hyunghwan.chung
4c7b5f2df8
removed the S'' literals from the moo codes
2019-06-27 08:06:33 +00:00
hyunghwan.chung
ea4d782c1d
changed %(, %[, %{ to ##(, ##[, ##{ respectively
...
put back % into is_binselchar().
attempting to support a string-like byte array literal - B"XXXX"
2019-06-27 07:43:17 +00:00
hyunghwan.chung
fcb987891e
no more ## comment. // as a signle-line comment starter.
2019-06-27 06:29:09 +00:00
hyunghwan.chung
3419097054
removed send_message_with_str(), find_method_with_str()
...
registered some commonly used method names as symbols - doesNotUnderstand:, unwindTo:return:, primitiveFailed
invocation of the above methods doesn't need send_message_with_str()
changed startup method invocation to look up for a symbol first instead of using the above functions removed
2019-06-23 04:49:38 +00:00
hyunghwan.chung
a8c18f525b
fixed a format specifier bug for a string in moo_fmt_object_()
2019-06-21 11:49:25 +00:00
hyunghwan.chung
2cbfdfd6dd
added the _instsize field to moo_t.
...
changed moo_getxtn() to utilize this new field.
remove moo_getxtnstd() as it's not needed any more for the added field
2019-06-21 07:21:58 +00:00
hyunghwan.chung
102de55322
changed the block comment style the same as C
2019-06-19 12:38:09 +00:00
hyunghwan.chung
6b2cb6f9df
fixed a rdonly flag bug in moo_shallowcpy()
...
added SequenceableCollection>>swap:with:
2019-06-19 09:21:28 +00:00
hyunghwan.chung
a4c13608ef
fixed some inconsistency in moo_fmt_object_().
...
changed to handle a symbol with a c-style escape sequences enclosed in #""
2019-05-30 15:44:24 +00:00
hyunghwan.chung
054313b96c
renamed moo_sprintfmtfromstack() to moo_strfmtcallstack().
...
refactored related functions
2019-05-29 01:35:13 +00:00
hyunghwan.chung
3f274d74b7
refactored moo_seterrbfmt() and moo_seterrufmt() with moo_bfmt_outv() and moo_ufmt_outv()
2019-05-28 08:55:13 +00:00
hyunghwan.chung
9d1a8c5b61
more test cases
2019-04-08 09:10:02 +00:00
hyunghwan.chung
c671a16697
added a test case to test-001.moo
2019-04-08 05:36:58 +00:00
hyunghwan.chung
c153b2d1ac
bigint division begin debugged
2019-04-08 04:14:37 +00:00
hyunghwan.chung
96f3ebae4b
touched up divide_unsigned_array2()
2019-04-08 04:00:47 +00:00
hyunghwan.chung
55b18c998c
fixing divide_unsigned_array2()
2019-04-08 01:18:00 +00:00
hyunghwan.chung
90d665781c
changed FFI>>call:signature:arguments: to return a value
2019-04-07 17:54:44 +00:00
hyunghwan.chung
9000100d15
debugging division
2019-04-06 05:06:11 +00:00
hyunghwan.chung
e7ccbc36b4
debugging bigint division
2019-04-04 09:30:24 +00:00
hyunghwan.chung
3d4e0396ca
debugging bigint division
2019-04-03 19:28:14 +00:00