Commit Graph
100 Commits
Author SHA1 Message Date
Torsten Ruger 25ae6e3d26 remove next_list from NamedList
Was legacy from the days of (linked) Frames
Now only messages are linked
2016-12-28 18:08:07 +02:00
Torsten Ruger 8867b13240 yep, opal != OPAL
engine has to be in small letters it seems
OPAL came from the original commit in 2013, but alas
2016-12-28 14:35:07 +02:00
Torsten Ruger 9226de4502 testing to_s 2016-12-28 14:11:05 +02:00
Torsten Ruger 266764be06 testing to_s on Code 2016-12-28 13:59:02 +02:00
Torsten Ruger a8f3d5a634 had to fix the string hash for opal 2016-12-28 13:53:57 +02:00
Torsten Ruger 4940bc41a3 keep positions globally, not in the object
hopefully cleaner switch after bootstrapping
2016-12-28 12:51:18 +02:00
Torsten Ruger 9fb89e09f3 fixes for tighter argument handling 2016-12-27 20:41:01 +02:00
Torsten Ruger 7462d0c486 lots more ripples from changing calling convention 2016-12-27 20:40:37 +02:00
Torsten Ruger 903fc3e4cf much ripples from changing the calling convention
See previous commit
Now args and locals are arrays in the Message
2016-12-27 20:39:39 +02:00
Torsten Ruger f1cfd3c379 change calling convention
Message carries arrays for arguments and locals
This means an extra load for any access
Also fix silly bug: using the wrong method (the one we’re in, not the
one we’re calling)
2016-12-27 20:37:53 +02:00
Torsten Ruger 3c3dedadd1 remove indexed_length from NamedList 2016-12-27 20:34:47 +02:00
Torsten Ruger aaa94f0743 small fixes 2016-12-27 20:34:11 +02:00
Torsten Ruger b9b05378f5 split the if test into a plain and one with call 2016-12-27 20:32:38 +02:00
Torsten Ruger a5946cb644 same renames for bytes (set/get_byte) 2016-12-25 18:11:58 +02:00
Torsten Ruger f648bf7bd5 rename also get_slot, to slot_to_reg
makes source and target clear
2016-12-25 18:05:39 +02:00
Torsten Ruger 35adf9a5e6 rename set_slot
set_slot was clear about the target, but not the source.
Better with reg_to_slot (and soon it’s inverse slot_to_reg)
2016-12-25 18:02:39 +02:00
Torsten Ruger 1b8d6149dd adding to_s to code for debugging 2016-12-23 21:31:31 +02:00
Torsten Ruger 6c9bd7e476 remove unused code
also just came through opal
2016-12-22 21:16:56 +02:00
Torsten Ruger 3b888b203d crude rework of the hashing to work in opal 2016-12-22 21:16:36 +02:00
Torsten Ruger 2adec3226c opal gods require explicit requires 2016-12-22 21:15:20 +02:00
Torsten Ruger c3c52d36b8 seperate args from message (just like frame) 2016-12-21 22:35:36 +02:00
Torsten Ruger ed12108425 rename locals from type to role in message 2016-12-21 19:01:42 +02:00
Torsten Ruger 0e99ff33ae use frame type rather than the indexed construct 2016-12-21 18:59:07 +02:00
Torsten Ruger 93ba5543b3 more renaming of frame 2016-12-21 18:51:22 +02:00
Torsten Ruger 0040baae28 rename frame to named_list to be shared soon 2016-12-21 18:45:18 +02:00
Torsten Ruger b242f9e223 bringing the locals into the ruby method 2016-12-21 11:30:35 +02:00
Torsten Ruger 9ec9ccb9b6 start on collector for local variables 2016-12-21 11:20:36 +02:00
Torsten Ruger 8b05951883 extracting processor comonality before adding a third 2016-12-21 10:51:33 +02:00
Torsten Ruger cfa0c23373 Merge branch 'master' of github.com:salama/salama 2016-12-20 20:13:37 +02:00
Torsten Ruger 8507bef08b extracting methods for the compiler to handle 2016-12-20 20:02:52 +02:00
Torsten Ruger a70d20d63e add a ruby method
including source ast and args, later locals
2016-12-20 20:02:20 +02:00
Torsten Ruger 9e89306733 rename to get guard matches 2016-12-20 20:01:28 +02:00
Torsten Ruger aa6685a0cb test collector for ivar assignment 2016-12-20 15:46:23 +02:00
Torsten Ruger aa5f48e3c6 remove instance_names from class again
and use types names instead. For now assuming Object class
2016-12-19 14:20:47 +02:00
Torsten Ruger af9fed863f small rename 2016-12-19 14:16:10 +02:00
Torsten Ruger 107e3e6d58 pick up instance variables from the class
Crude first set to creating types
2016-12-18 20:05:11 +02:00
Torsten Ruger e77298f4b1 Give the class a list of ivars
Which is redundant with the type’s names, so let’s see
2016-12-18 20:04:40 +02:00
Torsten Ruger af9987659f create and test derived classes too 2016-12-18 17:17:58 +02:00
Torsten Ruger 170d453a36 start with melon and tests
First step, create a basic class
2016-12-18 17:02:55 +02:00
Torsten Ruger b8cf72e729 move old tests out of the way 2016-12-18 17:01:30 +02:00
Torsten Ruger 756cb52a98 renames compiler to method_compiler 2016-12-18 14:15:19 +02:00
Torsten Ruger 272f99daf7 the cop struck again 2016-12-17 20:09:17 +02:00
Torsten Ruger 48af14f5c9 removes class statements
classes have to be created in melon, a level up
2016-12-17 18:31:26 +02:00
Torsten Ruger ffb69a2c55 remove function statements
functions need to be defined a level up
2016-12-17 18:28:42 +02:00
Torsten Ruger 4875d3aea7 still struggling with the config 2016-12-17 13:52:29 +02:00
Torsten Ruger fa3f96103a and remove reek 2016-12-17 13:46:28 +02:00
Torsten Ruger d9fedcc966 still trying to get rid of test for codeclimate 2016-12-17 13:43:41 +02:00
Torsten Ruger 0695e0182a remove test and stash from codeclimate and add vanilla rubocop 2016-12-17 13:25:20 +02:00
Torsten Ruger 8845b91529 remove FieldDef
and on_field_def , :field_def and fixed all related tests
local variables will have to be determined outside the typed layer
2016-12-17 13:12:49 +02:00
Torsten Ruger c12f11fba5 try both ree and cop 2016-12-17 09:44:21 +02:00
Torsten Ruger 782627ae79 small rename
to avoid confusion with type.create_method
2016-12-17 00:21:12 +02:00
Torsten Ruger 1a224f904b much less test code (s-exps) needed because compiler defaults to main
but some compilation outside needed, hence clean_compile
2016-12-17 00:19:23 +02:00
Torsten Ruger 5c34835ae3 type converts method args if needed 2016-12-17 00:17:54 +02:00
Torsten Ruger 681b53cc4c make compiler default to compiling Space.main 2016-12-17 00:17:35 +02:00
Torsten Ruger ece017fa86 small shuffle of test helpers, also guard helpers 2016-12-17 00:15:27 +02:00
Torsten Ruger f8cefcde3c retiring ClassField and class_field from typed layer
Creating classes is the responsibility of melon
2016-12-16 19:05:49 +02:00
Torsten Ruger dd6dede6ef refactor object file somewhat 2016-12-16 16:18:14 +02:00
Torsten Ruger e10fc3eedd some reek assited coding on assembler 2016-12-16 15:41:26 +02:00
Torsten Ruger 5cd05f6135 refactor memory instruction (needs better tests) 2016-12-16 15:40:52 +02:00
Torsten Ruger 190a0ffa47 adds set_byte interpreter test 2016-12-16 01:43:54 +02:00
Torsten Ruger b2579a2b82 dead code removal 2016-12-16 01:31:38 +02:00
Torsten Ruger 6f9955a726 more auto guard rules
and related renaming of files
2016-12-16 01:14:09 +02:00
Torsten Ruger 516bbd10b7 little fat of meta class
meta is firmly in the ruby world, not implemented in type world
2016-12-16 00:57:10 +02:00
Torsten Ruger f7e01ff05e remove the value class
more of an idea, had no impact on implementation
2016-12-16 00:56:25 +02:00
Torsten Ruger fd519314cb strip down compare instruction
not really used, using conditional branches instead.
(in arm any instruction can execute conditionally)
2016-12-16 00:41:37 +02:00
Torsten Ruger ed0900df7f extracting to_s from getter and setter 2016-12-16 00:30:26 +02:00
Torsten Ruger be2b59bd01 locally passed but globally clashed
tests needs modules too :-)
2016-12-15 22:29:17 +02:00
Torsten Ruger d357b8b928 fix silly scope 2016-12-15 22:28:42 +02:00
Torsten Ruger bc22c40101 Get Byte interpreter test 2016-12-15 22:15:58 +02:00
Torsten Ruger 193278c8c2 more class tests 2016-12-15 22:15:40 +02:00
Torsten Ruger 36dfc1b1d3 some positioning tests 2016-12-15 22:15:20 +02:00
Torsten Ruger 00987519cc complete log tests 2016-12-15 22:14:24 +02:00
Torsten Ruger 886220d388 remove unused variable class 2016-12-15 19:43:53 +02:00
Torsten Ruger dc56274940 refactor also building word
obviously created by copy/paste, more refactoring possible
2016-12-15 19:31:39 +02:00
Torsten Ruger 5ea6bfed27 refactor builtin object, some machine too 2016-12-15 19:20:54 +02:00
Torsten Ruger 94c423c2b3 whittling arm_translator 2016-12-15 18:21:08 +02:00
Torsten Ruger e2c006b5ad minor 2016-12-15 18:08:55 +02:00
Torsten Ruger 884bf23e5f fix elf test 2016-12-15 17:57:45 +02:00
Torsten Ruger 1571c796bb remove unused from type 2016-12-15 14:00:34 +02:00
Torsten Ruger 2b3f9c398e add find method to indexed 2016-12-15 14:00:03 +02:00
Torsten Ruger b93f207638 some common instruction extration 2016-12-15 12:38:22 +02:00
Torsten Ruger fdefb8e7a5 more refactoring on compare 2016-12-15 12:38:03 +02:00
Torsten Ruger ec2b0a563e bunch of method extraction on instructions 2016-12-14 21:53:26 +02:00
Torsten Ruger 55c108a8d7 refactor move_instruction a bit 2016-12-14 21:13:41 +02:00
Torsten Ruger b3eeb7db21 memory instruction refactor (small) 2016-12-14 21:05:24 +02:00
Torsten Ruger 6eea3f2b2a refactor logic instruction 2016-12-14 20:31:37 +02:00
Torsten Ruger c1d23a8d48 whitespace round plusses 2016-12-14 19:57:09 +02:00
Torsten Ruger 27e7a362db comment unused code 2016-12-14 19:52:08 +02:00
Torsten Ruger 56bf875f36 refactor call_instruction 2016-12-14 19:07:03 +02:00
Torsten Ruger bf4ddd16ee remove dead code 2016-12-14 19:06:48 +02:00
Torsten Ruger b3bf881c49 streamline arm test names and get guard to pick up right tests 2016-12-14 19:06:32 +02:00
Torsten Ruger 0a0f9154e1 use Simpleconv for code_climate 2016-12-14 13:52:44 +02:00
Torsten Ruger 456e9b1ec0 folded salama-arm in 2016-12-14 13:43:13 +02:00
Torsten Ruger 56032c9b08 fix tests because of type changes 2016-12-14 13:25:06 +02:00
Torsten Ruger 9a0e2bcb11 typed methods now for type only 2016-12-14 13:24:42 +02:00
Torsten Ruger b3a9d8b1bc register and boot consequences of typed method 2016-12-14 13:23:46 +02:00
Torsten Ruger 021fab31db small things 2016-12-14 13:22:47 +02:00
Torsten Ruger bd875be023 move typed method's home to type
class should in the future have ruby_methods
2016-12-14 13:21:55 +02:00
Torsten Ruger 012b5d683c change method locals to type object too (same as args) 2016-12-13 19:18:17 +02:00
Torsten Ruger 16b3a77350 fixes from the method argument change
Affects
method creation
argument manipulation
compiler / to_code
2016-12-13 18:49:45 +02:00