hyunghwan.chung
569ee2424d
added a few comments to lib/comp.c
2019-08-06 10:13:44 +00:00
hyunghwan.chung
11b2629680
fixed some issues regarding goto handling
2019-08-06 10:01:54 +00:00
hyunghwan.chung
c299101781
fixed the issue of a disappearing backward jump instruction in compile_braced_block()
2019-08-05 16:01:40 +00:00
hyunghwan.chung
5296cadde2
fixed a bug of not skipping a goto struct with its ip set to INVALID_IP in adjust_all_gotos_for_elimination()
2019-08-05 15:18:22 +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
f3218dc90a
updated README.md
2019-08-02 16:12:12 +00:00
hyunghwan.chung
763d7f965e
renumbered some jump byte codes for easy conversion between forward jump and backward jump
2019-08-02 15:59:19 +00:00
hyunghwan.chung
c30f7466a5
attempting to adjust goto and label ips upon code elimination
2019-08-02 10:17:59 +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
bd3fc07aaa
got rid of short jump instructions(jump offset encoded in the last 2 bits of the instruction)
...
added jump_backward_if_false/true instruction and the like
2019-08-02 09:23:08 +00:00
hyunghwan.chung
3b6e59d98c
more code to the compiler's goto handling functions
2019-08-01 16:05:04 +00:00
hyunghwan.chung
0fb20bfd40
writing a function to resolve jump labels for goto
2019-08-01 12:33:32 +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
090a3cd6f7
changed clear_method_data() to free goto and label information
2019-07-30 15:39:33 +00:00
hyunghwan.chung
24ada7f0be
updated README.md
2019-07-30 06:07:24 +00:00
hyunghwan.chung
5ef1c3b989
slightly more code for goto handling
2019-07-28 15:37:01 +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
6fddd95dce
removed an unused variable
2019-07-17 17:05:54 +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
dbe3c1cc07
some wasm code
2019-07-15 15:25:00 +00:00
hyunghwan.chung
8e27a62a40
added the wasm directory for experiments
2019-07-15 09:36:03 +00:00
hyunghwan.chung
a1880f7198
updated README.md with some TODOs
2019-07-14 16:46:08 +00:00
hyunghwan.chung
7b4e179560
defined MOO_EXPORT to EMSCRIPTEN_KEEPALIVE for EMSCRIPTEN
2019-07-14 16:34:16 +00:00
hyunghwan.chung
0d5956547a
updated README.md a bit
2019-07-13 03:06:07 +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
18e186677e
simplified source line and source text representation of a methond in dbgi
2019-07-12 05:06:05 +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
4afe4b459d
renamed clear_io_names() to moo_clearcionames().
...
attempting to write a fucntion that gives a source line for an instruction pointer
2019-07-10 15:30:08 +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
8820c3db16
changed dbginfo functions and structures a bit
2019-07-09 09:59:38 +00:00
hyunghwan.chung
e6d7cbd767
some more code to handle dbginfo
2019-07-08 15:41:57 +00:00
hyunghwan.chung
b88900eda2
writing some debug information tracking functions
2019-07-08 07:51:53 +00:00
hyunghwan.chung
fba3c3213c
attempting to store the source location information collected while compiling into the moo_dbginfo_t data structure
2019-07-07 15:24:27 +00:00
hyunghwan.chung
81a1785c35
changed the compiler to set source_file and source_line into moo_method_t
2019-07-06 09:44:29 +00:00
hyunghwan.chung
c334b0af28
added the code_start_loc field to moo_method_data_t and updated emit_byte_instruction()
...
to get distance of the instruction being emitted
2019-07-06 09:11:25 +00:00
hyunghwan.chung
70eaee601e
checking argument in pf_context_find_exception_handler()
2019-07-06 07:46:08 +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
8e720e4bda
changed to pass source location to more calls to emit_xxx_instruction() functions
2019-07-03 15:06:54 +00:00
hyunghwan.chung
67c9c18282
made partial changes to pass source location to emit_XXX_instruction() functions
2019-07-03 08:48:02 +00:00
hyunghwan.chung
a9045a56b2
changed the moo_code_t structure a little
2019-07-02 09:48:56 +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
613e33d186
macro reordering in lib/moo.h. nothing meaningful
2019-06-24 08:37:19 +00:00
hyunghwan.chung
07b4364654
late commit for uncommited changes in the previous commit.
2019-06-23 14:53:01 +00:00
hyunghwan.chung
ec262c4f68
split the method cache into 2 buckets. one for instance methods, another for class methods. the method type doesn't have to stored after this split.
2019-06-23 14:51:56 +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
ae20171772
the simple method cache seems working now. pending refinement
2019-06-22 14:22:58 +00:00
hyunghwan.chung
b33e0744d2
work in progress. implementing method lookup cache
2019-06-22 05:58:55 +00:00
hyunghwan.chung
e6747b21b8
attempting to implement a simple method lookup cache. work in progress
2019-06-22 02:02:59 +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
e036f3f6d7
fixed the wrong macro name in format_stack_args()
2019-06-02 16:01:33 +00:00
hyunghwan.chung
d7246b729e
diverted w/W to k/K in format_stack_args() in the non-unicode mode
2019-06-02 15:58:31 +00:00
hyunghwan.chung
1222c2bf78
added moo_logbfmtv() and moo_logufmtv()
2019-05-31 10:43:27 +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
5bf79fb4b5
finished refactoring fmt code in fmt.c.
...
removed old fmt code by deleting fmtout.c and fmtoutv.h
2019-05-29 09:20:45 +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
fe847a89a5
removed an redundant semicolon from moo-utl.h
2019-05-27 17:57:43 +00:00
hyunghwan.chung
57c30e4563
work in progress - refactoring fmtout
2019-05-27 17:50:24 +00:00
hyunghwan.chung
ea9f9b81e1
simple changes to fmtoutv.h
2019-05-27 11:57:40 +00:00
hyunghwan.chung
450f9a8b5c
refactoring fmtout more
2019-05-27 10:15:07 +00:00
hyunghwan.chung
2cb432b67d
refactoring fmtout
2019-05-27 10:00:27 +00:00
hyunghwan.chung
604cdf27ed
refactoring fmtout
2019-05-27 09:59:51 +00:00
hyunghwan.chung
a4d362953b
minor spacing fix
2019-05-23 01:14:44 +00:00
hyunghwan.chung
e8cadd9bc3
gui log view experiment with gtk
2019-05-22 08:49:27 +00:00
hyunghwan.chung
77851ba044
fixed some build issues
2019-05-22 03:14:23 +00:00
hyunghwan.chung
18053e75ce
fixed missing initialization of the cmgr field of an iostd object in main.c
...
restructured build files
2019-05-21 17:24:27 +00:00
hyunghwan.chung
d1f4563964
fixed win32 build files
2019-05-21 14:05:45 +00:00
hyunghwan.chung
a93f580ba8
relocated the standard implementation std.c to libmoox
2019-05-19 17:16:23 +00:00
hyunghwan.chung
96790ee42c
removed --utf8 and --utf16.
...
added --base-charset, --input-charset, --log-charset
2019-05-18 18:01:02 +00:00
hyunghwan.chung
8e4b175579
encoding experiment with cmgr
2019-05-14 15:54:16 +00:00
hyunghwan.chung
2b2ffb5521
added moo_get_cmgr_by_id(), moo_get_cmgr_by_name(), and other similar functions
...
changed the default source input handler to take the @postfix as the encoding specifier
2019-05-14 10:22:37 +00:00
hyunghwan.chung
44b121ee50
added the bin directory and moves files for binary commands into it
2019-05-14 04:07:23 +00:00
hyunghwan.chung
aaeb32833b
committing auto-generated lib/Makefile.in
2019-05-09 09:37:11 +00:00
hyunghwan.chung
881bf109ec
added lib/mb8.c
2019-05-08 12:17:54 +00:00
hyunghwan.chung
85fd5e5d3c
updated t/Makefile.in
2019-05-08 09:16:17 +00:00
hyunghwan.chung
a3ca71a2b8
added the mb8 cmgr
2019-05-07 17:29:48 +00:00
hyunghwan.chung
bbf0f6acd1
migrated moo_isint() to moo-prv.h as a static inline function
...
renamed is_bigint() to moo_isbigint()
2019-05-04 17:53:16 +00:00
hyunghwan.chung
eba44fc039
migrated msb postionting function to moo-utl.h
2019-05-04 04:27:27 +00:00
hyunghwan.chung
80b05e9d95
used arm inline assembly in some byte swap functions
2019-05-04 02:16:25 +00:00
hyunghwan.chung
b06059bf6e
added __cplusplus when determining inline availability
2019-05-03 08:42:44 +00:00
hyunghwan.chung
d34f6b202a
enhanced t/t.h
2019-05-03 07:28:40 +00:00
hyunghwan.chung
6eb633cce6
fixed t/Makefile.am
2019-05-03 07:25:53 +00:00