Torsten Ruger
b0e3978b15
starts on local variable collection
...
500 tests (in under 2 seconds), yippie
2017-04-08 12:28:31 +03:00
Torsten Ruger
ea41f9cae9
fixes ivar collection
2017-04-08 12:18:10 +03:00
Torsten Ruger
d00fbb233e
adds ivar collection with tests
2017-04-08 12:11:52 +03:00
Torsten Ruger
8942f42310
adds collect for the statements
2017-04-08 12:10:42 +03:00
Torsten Ruger
db8f99409b
move vool statements into own directory
...
also tests for guard to work
2017-04-06 19:11:11 +03:00
Torsten Ruger
b9caad937a
rename bools compiler to ruby_compiler
...
as that is what is does, compile ruby strings into vool st
2017-04-06 15:36:41 +03:00
Torsten Ruger
3683aa8976
vool method fix
2017-04-06 14:02:18 +03:00
Torsten Ruger
bc0b71d0cd
test local variables
...
need the assignenment first in the same scope so parser knows its a lvar
2017-04-05 14:03:36 +03:00
Torsten Ruger
de8b48975b
adds logical statements to vool
2017-04-04 18:35:15 +03:00
Torsten Ruger
d6e346d9c0
adds instance assignment to vool
2017-04-04 18:10:28 +03:00
Torsten Ruger
73964aeb6e
adds modules to vool
2017-04-04 18:00:21 +03:00
Torsten Ruger
5f70067fa0
adds instance and class variables to vool
2017-04-04 14:04:35 +03:00
Torsten Ruger
83ab197d03
fix and test vool return statement
2017-04-04 10:42:20 +03:00
Torsten Ruger
c545bfdfc6
adds while statement to vool
2017-04-03 11:49:21 +03:00
Torsten Ruger
5335d08408
more condition tests
2017-04-02 22:52:31 +03:00
Torsten Ruger
ffbe39d571
order test requires
...
easier to spot missed tests (when guard and cmd-line differ)
2017-04-02 22:42:51 +03:00
Torsten Ruger
16a55d9f95
include same directory helpers
...
(not one above as falsely was)
2017-04-02 19:13:14 +03:00
Torsten Ruger
f343ad934c
a start on conditionals
2017-04-02 19:12:42 +03:00
Torsten Ruger
443fd13980
adds super
...
with and without args
current thinking is to fill the name of the method later as we carry no
context currently, but this may change
2017-04-02 18:42:52 +03:00
Torsten Ruger
ac7b9138ff
bit of cleaning
2017-04-02 18:25:30 +03:00
Torsten Ruger
539ab692a3
add scope and kwbegin
...
scope is just a list of statements
2017-04-02 13:24:09 +03:00
Torsten Ruger
27e4e9f501
add assignment and self
2017-04-02 12:59:07 +03:00
Torsten Ruger
d62e996f7c
add send statement
2017-04-02 12:57:05 +03:00
Torsten Ruger
93f9d16209
add vool hashes
2017-04-02 10:57:39 +03:00
Torsten Ruger
d5af6dad42
adds arrays to vool
...
also symbols and some cleanup
2017-04-02 10:43:22 +03:00
Torsten Ruger
8f03d98330
adds basic values (bools ints strings)
2017-04-02 09:44:56 +03:00
Torsten Ruger
34fdf7b2cd
adds method_statement to vool
2017-04-01 16:27:32 +03:00
Torsten Ruger
295782d9e6
start on vool, the virtual oo language
...
start with syntax tree, not linked into existing code until finished
2017-04-01 15:57:39 +03:00
Torsten Ruger
b756d275e4
update collector to estimate bootstrap size
2017-01-19 09:08:59 +02:00
Torsten Ruger
aa79e41d1c
rename register to risc
...
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
Torsten Ruger
da5823a1a0
move parfait up one, as per its module structure
2017-01-18 20:09:43 +02:00
Torsten Ruger
7abd777d05
rename melon to rubyx
...
melon was still from the salama days and rubyx describes it much better
2017-01-18 00:05:36 +02:00
Torsten Ruger
48d32a2b8e
hello world in ruby works
...
doesnt do much dynamic things though
2017-01-17 21:27:20 +02:00
Torsten Ruger
10d75e136f
defining constants in melon to match classes in vm
2017-01-17 21:26:28 +02:00
Torsten Ruger
9c83423e50
bug hunting for class recreation
2017-01-17 21:25:58 +02:00
Torsten Ruger
cd211f970f
make method creation class methods in MethodCompiler
...
and pass the wish to use main explicitly, which is really a test
feature
2017-01-17 21:23:58 +02:00
Torsten Ruger
0c64e367d5
rename compiler test accrding to convention
2017-01-17 21:22:53 +02:00
Torsten Ruger
7223ca9a1c
clean and refactor
2017-01-16 17:44:34 +02:00
Torsten Ruger
091900ef1c
move test helpers up, so they can be used in Melon too
2017-01-16 17:43:39 +02:00
Torsten Ruger
4ba182a822
rename compilers to passses
2017-01-16 17:24:32 +02:00
Torsten Ruger
8dbbffd58e
fix tests for NameExpression split
...
also necessitates giving method name without the wrapping expression
which is simpler anyway
2017-01-16 09:34:47 +02:00
Torsten Ruger
96f19d18c0
starting on ruby send
2017-01-15 20:30:47 +02:00
Torsten Ruger
cf0a123866
boot_function test
2017-01-15 20:04:52 +02:00
Torsten Ruger
fc96f1d2da
checking classes don't get created twice
2017-01-15 16:59:29 +02:00
Torsten Ruger
83f2459a8a
implement ivar assignment
2017-01-15 14:44:23 +02:00
Torsten Ruger
85eec2f3cb
adding instance variables to class
2017-01-15 14:21:57 +02:00
Torsten Ruger
8b364eb566
fixing tests for assignment split
2017-01-15 13:01:44 +02:00
Torsten Ruger
a0cf5bffc0
small rename to align has_locals and has_arguments
...
for semantic and code unification
2017-01-15 12:59:03 +02:00
Torsten Ruger
4095bb397f
starting to create vm_method from ruby_method
...
issues galore though
2017-01-15 12:10:37 +02:00
Torsten Ruger
9eeb9f65f3
add normalizing and method compilation phases (empty)
2017-01-14 20:30:19 +02:00
Torsten Ruger
1c2b6d103c
move one more test file
2017-01-14 20:10:34 +02:00
Torsten Ruger
2e62c5bbb6
create compilers directory, found and renamed salama.rb
2017-01-14 20:05:58 +02:00
Torsten Ruger
01fe3b4b04
small rename
2017-01-14 19:52:16 +02:00
Torsten Ruger
bd78a2d555
renames Typed to Vm
2017-01-14 19:28:44 +02:00
Torsten Ruger
75c7ca950e
bit more method collector/creation testing
2017-01-13 22:16:06 +02:00
Torsten Ruger
3f6c1bc3a3
manage to create ruby methods
2017-01-12 20:38:04 +02:00
Torsten Ruger
89f5badc16
putting melon tests into module and splitting to one per file
2017-01-11 19:18:04 +02:00
Torsten Ruger
83d943afa5
Fix for call changes and helper changes
2017-01-04 21:38:38 +02:00
Torsten Ruger
0084406cfd
let check return and assert in main test
...
so one can better locale the error
(the assert in the helper does not give stack trace)
a shot at keeping the calling handshake out of the asserts failed
2017-01-04 21:38:03 +02:00
Torsten Ruger
49da77f996
fix interpreter tests to use classes (not strings)
...
and fix for the change in call sequence
2017-01-04 21:36:46 +02:00
Torsten Ruger
3f24409093
us the actual classes for expected results
...
If i remember strings were only used to shorten the names
Now in register module this is not neccessary
2017-01-04 21:35:50 +02:00
Torsten Ruger
f2c4e542ac
rename to to array function to to_arr
2017-01-04 21:32:09 +02:00
Torsten Ruger
88eae0e6f0
add colour output to tests
2017-01-04 21:31:03 +02:00
Torsten Ruger
8aee761b73
putting tests into module
2017-01-03 22:42:40 +02:00
Torsten Ruger
da58ce30e3
put arm tests in arm module
2017-01-03 22:37:55 +02:00
Torsten Ruger
a14a0de9d1
put everything into register module (avoid clashes)
2017-01-03 22:37:25 +02:00
Torsten Ruger
d94af2a724
align method compiler test names
2017-01-03 22:32:34 +02:00
Torsten Ruger
66f359a14f
move expression tests to standard dir for guard
2017-01-03 22:18:41 +02:00
Torsten Ruger
3b0c5c00ce
move tests to correct directory for guard to pick them up
2017-01-03 22:10:58 +02:00
Torsten Ruger
82ff8244cf
thougth i'd got that one
2017-01-02 01:02:07 +02:00
Torsten Ruger
7602fd0af4
fix positioned tests
...
thanks to codeclimate
the broken tests were still raising errors, just the wrong ones, but
coverage shoed it!
2017-01-02 00:53:28 +02:00
Torsten Ruger
cd474f66f6
stop including positioned
2017-01-01 21:52:35 +02:00
Torsten Ruger
b8b387d498
some extra assembler tests
2017-01-01 21:51:23 +02:00
Torsten Ruger
06cfbdf066
minor
2017-01-01 21:50:54 +02:00
Torsten Ruger
b7147b3dd4
simple collector test
2016-12-31 21:05:19 +02:00
Torsten Ruger
86dafccb04
stop including padding
...
use it as a helper module
2016-12-31 20:08:33 +02:00
Torsten Ruger
dccd097fef
remove collecting from the machine
...
use as stand alone module
2016-12-31 19:54:18 +02:00
Torsten Ruger
113b349af5
unlinking the objects collection from the machine
...
passing it around instead
2016-12-31 18:46:17 +02:00
Torsten Ruger
7bb1c361a5
small word test
2016-12-31 15:17:45 +02:00
Torsten Ruger
a2ece04b6d
a little more minimal elf tests
2016-12-31 15:08:32 +02:00
Torsten Ruger
b9073d0c88
redid the type hashing
...
account for the class the type is for
by adding it to the hash code, so even the ivars are identical the
types are not
2016-12-31 14:51:06 +02:00
Torsten Ruger
0fa7f54bcc
found and fixed hashing bug
2016-12-31 14:04:04 +02:00
Torsten Ruger
d6c503ecf4
inlined indexed into list
...
which was the only one using it.
A whole lot simpler, considering it will have to be bootstrapped someday
2016-12-30 21:00:18 +02:00
Torsten Ruger
e80d028f7b
test to check that types are types
...
which led to dictionary bug
2016-12-30 20:48:14 +02:00
Torsten Ruger
7f06e00ccd
making types private in space
...
turned out to be unnecessary, but still better
2016-12-30 20:47:28 +02:00
Torsten Ruger
ef66a87527
fixed silly dictionary bug
...
also finally duplicating keys and values and not handing them out
2016-12-30 20:46:18 +02:00
Torsten Ruger
83b6628f1a
whitespace and code style
2016-12-30 19:17:15 +02:00
Torsten Ruger
a82c9e8fb1
minor whitespace and renaming
2016-12-30 18:39:49 +02:00
Torsten Ruger
f0350601a7
Move the space instance to the parfait module
...
A better fit, maybe even a pattern for singletons
2016-12-30 14:10:49 +02:00
Torsten Ruger
a00f6be3ba
remove the space instance from register machine
...
bad design, probably from the booting
2016-12-30 14:04:59 +02:00
Torsten Ruger
ef872edd7a
rename instance_methods to just methods
2016-12-30 13:33:07 +02:00
Torsten Ruger
631038dfbd
add another test (still failing)
2016-12-30 13:15:08 +02:00
Torsten Ruger
d8289d4fcf
try spelling correctly
2016-12-30 11:59:38 +02:00
Torsten Ruger
8aae8f7425
disabling failing test for now
...
have to add more test and code climate will show where
2016-12-29 21:24:11 +02:00
Torsten Ruger
e69d9a492e
mostly moving to ruby instance variables
2016-12-29 18:51:24 +02:00
Torsten Ruger
e3de4efe02
fixing the tests from all the previous changes
2016-12-29 18:50:10 +02:00
Torsten Ruger
b5f04ec718
mostly renames from the type change
...
also making setters as explicit set_xx methods
2016-12-29 18:45:32 +02:00
Torsten Ruger
4c3007e6c0
removing meta class (for now)
2016-12-29 18:39:59 +02:00
Torsten Ruger
80237e5033
rename position accessor
...
for future
2016-12-28 21:40:06 +02:00
Torsten Ruger
8cfcb84c8d
collect missing tests (and ordering)
2016-12-28 19:31:17 +02:00
Torsten Ruger
af31774074
implement assignment type check
2016-12-28 19:20:16 +02:00
Torsten Ruger
9cf56b3aa6
use factory functions consistently to create instructions
2016-12-28 19:01:58 +02:00
Torsten Ruger
7d29a85187
remove legacy :int type
2016-12-28 18:25:14 +02:00
Torsten Ruger
4412eda105
small refactor and rename
2016-12-28 18:16:39 +02:00
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
266764be06
testing to_s on Code
2016-12-28 13:59:02 +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
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
3b888b203d
crude rework of the hashing to work in opal
2016-12-22 21:16:36 +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
8507bef08b
extracting methods for the compiler to handle
2016-12-20 20:02:52 +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
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
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
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
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
190a0ffa47
adds set_byte interpreter test
2016-12-16 01:43:54 +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
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
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
b3eeb7db21
memory instruction refactor (small)
2016-12-14 21:05:24 +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
021fab31db
small things
2016-12-14 13:22:47 +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
Torsten Ruger
2c5541fb19
small test improvement
2016-12-13 18:48:42 +02:00
Torsten Ruger
c346260bde
change method arguments to be a type instance
...
where is was a list of variables (half baked)
variables also having values (not applicable)
2016-12-13 18:47:44 +02:00
Torsten Ruger
1c28926c6b
improve type tests
2016-12-13 18:46:03 +02:00
Torsten Ruger
17023fdeb1
rename method to typed_method
2016-12-12 23:38:55 +02:00
Torsten Ruger
f3248462cc
remove references to soml
2016-12-11 12:55:03 +02:00
Torsten Ruger
472a2d80f6
add interpreter event tests
2016-12-11 12:08:47 +02:00
Torsten Ruger
fa0e279620
whilespace in s-exps
2016-12-10 23:07:04 +02:00
Torsten Ruger
99454b3efe
fix conditional tests
2016-12-10 22:49:04 +02:00
Torsten Ruger
5a1a42cd48
fix field access tests
2016-12-10 22:48:55 +02:00
Torsten Ruger
17cb917104
fix while statement tests
2016-12-10 22:42:02 +02:00
Torsten Ruger
e82c86f6c1
fix class def tests and code
2016-12-10 22:41:49 +02:00
Torsten Ruger
aa5641a29b
fix call statement tests
2016-12-10 22:41:19 +02:00
Torsten Ruger
5a81ce259e
exclude test from coverage (duh)
2016-12-10 18:59:24 +02:00
Torsten Ruger
a3e8d19bb7
small test setup fixes
2016-12-10 18:48:41 +02:00
Torsten Ruger
6d4347c7ba
finish assignment tests
...
and related code fixes
2016-12-10 18:48:18 +02:00
Torsten Ruger
f359e78982
adjust test helper to current s-exp situation
...
also refrain from hacking the compiler
by using the constructor
2016-12-10 18:09:51 +02:00
Torsten Ruger
87693112d4
small fix
2016-12-10 18:07:38 +02:00
Torsten Ruger
efca5254f4
move stashed tests
2016-12-10 18:06:57 +02:00
Torsten Ruger
f688611416
fix variable expression tests
2016-12-10 16:28:42 +02:00
Torsten Ruger
4f7110ef04
fix call expression tests
2016-12-10 15:26:25 +02:00
Torsten Ruger
4054b61752
fix more expression tests
2016-12-10 15:18:37 +02:00
Torsten Ruger
98bc0f6e40
test to_code
2016-12-10 14:55:23 +02:00
Torsten Ruger
de5d87cde7
add basic compiler expression tests (back)
2016-12-10 04:01:47 +02:00
Torsten Ruger
5c2f545f8e
tests for ast to code converter
2016-12-10 03:43:44 +02:00
Torsten Ruger
ca4bdcc528
gets rid of soml-parser completely
2016-12-08 20:13:08 +02:00
Torsten Ruger
4cd979e3e9
remove soml parser from tests
2016-12-08 19:39:16 +02:00
Torsten Ruger
da553f996f
move compiler to typed
...
starting to get rid of soml, bit by bit
2016-12-08 15:25:20 +02:00
Torsten Ruger
c3a28d2abc
small collector change
2016-12-08 15:19:37 +02:00
Torsten Ruger
ed6fd91c4e
add missing tests (that were not liked to the travis script)
2016-12-08 12:55:16 +02:00
Torsten Ruger
a31f75fe93
basic immutability for type
...
add_instance_variable now uses global type list to check
adds hash and to_has functions
use backdoor (send) for booting
2016-12-08 12:50:25 +02:00
Torsten Ruger
137d3c9231
add each_with_index to indexed
2016-12-08 12:48:39 +02:00
Torsten Ruger
ad91c0a4bf
add inspect method to dictionary
2016-12-08 12:48:08 +02:00
Torsten Ruger
2741f35380
add a each_pair to indexed and use in types
2016-12-07 23:35:51 +02:00
Torsten Ruger
266a04040b
add types hash to space
2016-12-07 23:34:45 +02:00
Torsten Ruger
fe195df10e
split existing type tests
2016-12-06 17:03:15 +02:00
Torsten Ruger
3b4dbd052d
Move type tests around
2016-12-06 16:58:19 +02:00
Torsten Ruger
3bfccc3efe
move tests to equivalent place
2016-12-06 16:54:26 +02:00
Torsten Ruger
412e03ae7d
fix rename
2016-12-06 16:45:16 +02:00
Torsten Ruger
3ed0c4829a
log test
2016-12-06 16:44:04 +02:00
Torsten Ruger
fe203b55f1
fix codeclimate braking changes
2016-12-06 15:22:22 +02:00
Torsten Ruger
adca8b21c1
move soml tests out, small cleanup
2016-12-06 15:08:29 +02:00
Torsten Ruger
5ac14ddccc
update gems and fix tests
2016-12-06 12:08:18 +02:00
Torsten Ruger
229f5896c6
update to use new ast
...
soml was updated to have a typed ast layer to make programatic creation
easier
this brings LOTS of syntax change with it, that does not really mean
anything at all
All tests pass again so back to the same
2016-03-07 11:55:28 +02:00
Torsten Ruger
a8b815117f
rename object_type to instance_type
...
for better distinction that it is not every object
but only instances of the class
2016-02-25 12:16:13 -08:00
Torsten Ruger
278d71b56c
fix docs for rename
2016-02-25 12:03:11 -08:00
Torsten Ruger
d32b51c67b
rename layout to type
...
this one goes to caleb for pointing it out.
Much better word
2016-02-25 11:50:10 -08:00
Torsten Ruger
6d900f384b
little tool to check code needed
...
get an idea of the amount of files, classes etc needed to bootstrap
2015-12-01 19:17:45 +02:00
Torsten Ruger
27a7657842
add parser and basic test framework
...
that doesnt actually do anything. but WILL, great things, off course
2015-12-01 11:55:33 +02:00
Torsten Ruger
c7d1f9ec99
fix all tests to use space.main
2015-11-30 16:20:39 +02:00
Torsten Ruger
afe16868b5
more some tests
2015-11-30 16:10:08 +02:00
Torsten Ruger
19dd7b96d6
fix benches interfering with testing
2015-11-30 16:09:55 +02:00
Torsten Ruger
dc560aaa5e
move main to space
2015-11-30 16:09:12 +02:00
Torsten Ruger
707c180cab
add go results, just cause I'm learning it
2015-11-27 19:54:43 +02:00
Torsten Ruger
fa63c6db6a
add ruby bench programs and numbers
2015-11-24 15:33:16 +02:00
Torsten Ruger
535757fa98
did the ratios
...
i think percentages with +/- is best otherwise it becomes an issue of
which way you look at it.
1,33 or inverse 0.75 looks like a third one way and a quarter the other
2015-11-21 17:04:20 +02:00
Torsten Ruger
0cbf346519
redid the test, snapped variance
...
yesterday i had stray processes skewing the results
also figured out c was buffering prints
looking good
2015-11-21 16:35:30 +02:00
Torsten Ruger
1e2b784583
moved all the ruby benches out of the tests
...
here into bench dir and a little frame
2015-11-21 16:33:43 +02:00
Torsten Ruger
f865486f1e
tweeks to the c tests
...
also figured out hello was caching stopped that to make results
comparable
even wrote a hello assembler version which is just 10% faster than soml
:-)
2015-11-21 16:33:07 +02:00
Torsten Ruger
a589df7bf9
take the benchmark tests out from the soml
...
they just run soon long if accidentally invoked
2015-11-21 14:33:52 +02:00
Torsten Ruger
9eab4b7f67
move c benchmarks to own directory
2015-11-21 14:22:53 +02:00
Torsten Ruger
ffc69fd2a5
add the hackers delight version of div10
...
better test too
remove remnants of 64bit multiplication
2015-11-21 14:19:07 +02:00
Torsten Ruger
96972dab29
thats most of the benchmarking
...
strange about the puts in soml, hard to see where a factor of 10 would
come from
2015-11-20 23:51:58 +02:00
Torsten Ruger
28836457c5
just let the runner run
...
and output eery step, gives better idea of variance (trouble)
2015-11-20 20:13:35 +02:00
Torsten Ruger
480e63a6c5
took the loooong test out
...
the one that was just meant for arm testing.
interpreter is 10000 times slower after all
2015-11-20 20:13:00 +02:00
Torsten Ruger
1bec6f4ca7
simple bench runner to do multiple runs
2015-11-20 19:13:21 +02:00
Torsten Ruger
da4003c30a
ruby fibs versions and tests for them
2015-11-20 19:12:58 +02:00
Torsten Ruger
9bcead4c1a
small c programs to bench against
2015-11-20 19:12:13 +02:00
Torsten Ruger
22117035e0
fix last failing tests
...
historic moment: all the test (currently 56) work on the arm too
2015-11-20 14:37:26 +02:00
Torsten Ruger
f9e95d7d1f
more tests
...
good thing, though it seemed to have worked all the time,
just the test framework was broken,
thus reusing already changed object (by the interpreter)
2015-11-20 13:28:49 +02:00
Torsten Ruger
bca0ae1b3b
fix remote test framework
...
was resting machine objects and causing bugs
reboot now and really start from scratch for remote
2015-11-20 13:27:31 +02:00
Torsten Ruger
791cc96a0d
fix check function
...
same stack depth for all calls to get caller / file name
2015-11-20 13:26:35 +02:00
Torsten Ruger
aabde4b9a6
fix word indexes on arm
...
which affected offsets in the ruby side too
the hidden dead word needed accounting for
2015-11-19 16:40:00 +02:00
Torsten Ruger
4871a52d37
better error reporting for parser
2015-11-19 10:10:13 +02:00
Torsten Ruger
249f43ad34
translate and interpret new instructions
2015-11-19 10:09:55 +02:00
Torsten Ruger
5369dc3d52
rename get/set internal
...
to _word , because _byte versions are coming
2015-11-18 15:36:43 +02:00
Torsten Ruger
633c1e9a4a
fix the fix fix
2015-11-18 15:22:20 +02:00
Torsten Ruger
caaa500cb7
fix return tests
2015-11-18 15:18:56 +02:00
Torsten Ruger
bcc2f019d9
liable remote tests to fix travis
2015-11-18 14:15:57 +02:00
Torsten Ruger
4c71b281c4
3 try to get travis to work
...
and behave like my machine, remote debugging going on
2015-11-18 13:50:38 +02:00
Torsten Ruger
506c12b6f5
change to REMOTE_PI, REMOTE seems to be set on travis
...
causing fails that were green at home. the worst kind
2015-11-18 13:42:07 +02:00
Torsten Ruger
08faec40dd
fix class test
2015-11-18 13:32:59 +02:00
Torsten Ruger
050179fee4
fix exit code check
...
did’t know exit codes are restricted to 1 byte (_really_ old stuff)
take a swing at testing by testing low byte
does leave room for error, but still something for this stage
2015-11-18 13:27:20 +02:00
Torsten Ruger
0e89cbe8ff
fix remote parsing / setup
2015-11-18 13:17:49 +02:00
Torsten Ruger
7daaec6a0a
unify fragment and parfait test code
...
so that we can test fragments remotely too
2015-11-18 13:04:57 +02:00
Torsten Ruger
18f9ea019e
move parfait tests to some
...
after renaming compiler to soml
it’s where they wanna be
also will allow for unifying test helpers and testing fragments
remotely too
2015-11-18 12:14:31 +02:00
Torsten Ruger
3efdf420a4
move parfait tests to register
...
that is the ruby parfait, the “adapter”
2015-11-18 12:10:59 +02:00
Torsten Ruger
cab7e61f8b
move interpreter tests to register
...
to shadow the interpreter move / the lib structure
2015-11-18 12:07:37 +02:00
Torsten Ruger
2bc2d4486f
move interpreter to register
...
seems more where it belongs, since it interprets the register machine
instructions
2015-11-18 12:00:30 +02:00
Torsten Ruger
40d81681b5
move parfait adapter into parfait ruby
...
in the future parfait will be coded in some and translated back into
ruby to “adapt”
until then, all ruby code is the adapter
2015-11-18 11:55:29 +02:00
Torsten Ruger
aa30864fcb
typo
2015-11-18 11:30:39 +02:00
Torsten Ruger
ac620f8ea0
unroll loops in tests
...
to get one executable per test (before they were overwritten)
2015-11-18 11:29:37 +02:00
Torsten Ruger
0643b96641
update arm
...
and small code changes from the fact that just loading a variable does
not change status flags
2015-11-17 02:28:47 +02:00
Torsten Ruger
bc3042a466
use rye to test remotely
...
via ssh , no config yet
2015-11-16 23:23:08 +02:00
Torsten Ruger
9a81d4e6a6
fixes from earlier changes
2015-11-16 18:05:57 +02:00
Torsten Ruger
f92ea36fe5
minor fixes
2015-11-16 18:02:13 +02:00
Torsten Ruger
f50d7b57a4
fix the putstring sys call indexing
...
index 0 is the marker word , so like in some, all indexes 1 based
works :-)
2015-11-15 22:03:06 +02:00
Torsten Ruger
8e82da0b61
fix arm (assembled) indexing
...
by having a dummy 0 index in salaam. when assembled
2015-11-15 20:42:07 +02:00
Torsten Ruger
278eccbed5
derive binary code form word
...
long ago hacked the binary code to use integers (thus forsaking correct
arm binaries)
Finally fix by deriving from Word which now has correct binary access
Dumped binary.name in the process, that is available from the method
2015-11-14 15:04:04 +02:00
Torsten Ruger
8fa92515b5
update arm and small arm fixes
...
constants in arm chunks, needs better solution
2015-11-14 13:05:49 +02:00
Torsten Ruger
39eed43358
some ripples from branch logic change
2015-11-14 00:22:00 +02:00
Torsten Ruger
12e210fdf5
no to slow tests to a halt
...
also the high low code isn’t even used in the current version, no need
to test too much
2015-11-13 20:50:33 +02:00
Torsten Ruger
4a8bb32039
serious bit fiddling, div10 using shift magic
...
forgot that arm has no division (or respectively only later models have)
many magic formulae out there, none seem to work 1000% on the
interpreter. some big 0 ending numbers are 1 off.
2015-11-13 20:46:27 +02:00
Torsten Ruger
c190f718ec
fix fibs test to 32 bit maxs
2015-11-13 20:44:18 +02:00
Torsten Ruger
5c862111b9
remove div and add div10
...
general division is for another day, the 10 version is manageable
also same code produces mod10
wip
2015-11-12 20:03:57 +02:00
Torsten Ruger
a5afca10f6
don't pass machine around, its global
2015-11-12 20:02:44 +02:00
Torsten Ruger
6f0d6d831e
update arm and implement most operators
...
multiplication wasn’t implemented
and division isn’t part if arm
neither is rotate by register
2015-11-12 20:02:14 +02:00
Torsten Ruger
351a747bfd
mod and div for int
2015-11-11 20:36:40 +02:00
Torsten Ruger
1e7935bf85
implement byte access for some word
...
wouldn’t have been possible without the ruby version
2015-11-11 20:36:07 +02:00
Torsten Ruger
8528fae785
add the new tests
2015-11-10 19:12:50 +02:00
Torsten Ruger
c92814440f
fix integer to_s and put, with tests
2015-11-10 19:09:17 +02:00
Torsten Ruger
760a4beb86
fix some word with tests
2015-11-10 19:08:48 +02:00
Torsten Ruger
da9dacffb2
shorten fibo test a bit
2015-11-10 11:44:55 +02:00
Torsten Ruger
9ab7b476d5
opal fix and minor
2015-11-09 23:27:15 +02:00
Torsten Ruger
b2de1c6d79
minor fixes
2015-11-08 23:58:54 +02:00
Torsten Ruger
f746218765
reinstate word creation and use for strings
...
so string constants become words, so we can fiddle with them
2015-11-08 23:58:35 +02:00
Torsten Ruger
6f69995284
stab at inter to string
...
wip
2015-11-08 17:11:03 +02:00
Torsten Ruger
ede7639861
forgot to link tests in
...
so code climate complained, oh now
2015-11-08 17:09:28 +02:00
Torsten Ruger
d6108e7b3a
fix interpreter overflow issue
...
flag set for bigness, result reduced
tests for + and *
fixed fibs tests
2015-11-08 15:15:55 +02:00
Torsten Ruger
6ea698d397
save some to_s code
2015-11-08 14:30:42 +02:00
Torsten Ruger
cf05e7553a
rework interpreter test framework
...
remove lots of copy paste
2015-11-08 14:30:28 +02:00
Torsten Ruger
37564d9c2e
implement message pseudo variable (like self)
...
too easy
also simplified some tests
2015-11-08 13:55:38 +02:00
Torsten Ruger
502cfa357d
implement and test field access
2015-11-08 13:39:13 +02:00
Torsten Ruger
6cd95ee933
more layout tests, seeing class names on stdout
2015-11-08 00:55:37 +02:00
Torsten Ruger
ab7e517e9e
slightly tighter parfait tests
2015-11-07 22:26:06 +02:00
Torsten Ruger
f11e8f0a13
fix all the test
...
many are off course affected by call sequence changes
2015-11-07 22:20:21 +02:00
Torsten Ruger
8c68ffc7a4
fixing indexes makes test work
...
forgot my own rule: all parfait works in 1 based lists
2015-11-07 20:10:55 +02:00
Torsten Ruger
7523bac80a
add layout and class accessor and test
2015-11-07 19:38:52 +02:00
Torsten Ruger
37928b8591
rename internal get/set functions
...
mainly because the salaam parser chokes on internal…
2015-11-07 17:40:59 +02:00
Torsten Ruger
8aabff6b37
get layout test
...
start of copying the ruby parfait tests
lots can be done with string output and return value
2015-11-07 17:39:17 +02:00
Torsten Ruger
d878ce00d8
framework for parfait runtime testing
...
with interpreter for now
later with arm exec support
2015-11-07 17:37:41 +02:00
Torsten Ruger
c9c0f66d79
rename test/parfait
...
to then write parfait test on the runtime
2015-11-07 14:04:38 +02:00
Torsten Ruger
b1939e9828
rename helper
2015-11-07 12:18:08 +02:00
Torsten Ruger
42c404802d
more class function testing
2015-11-07 00:13:57 +02:00
Torsten Ruger
204200b92a
metaclass is back
...
this time with a real purpose and implementation as the intermediary
As the interface to the layout and for replacing an edited layout
2015-11-07 00:11:56 +02:00
Torsten Ruger
ebcc15d314
testing fibo
2015-11-06 14:24:57 +02:00
Torsten Ruger
eae5cac4b5
check returns on tests
2015-11-05 17:00:41 +02:00
Torsten Ruger
1309ea37de
fibonacci while works just as well now
...
surprisingly much faster though,
2015-11-05 13:37:08 +02:00
Torsten Ruger
aad50021fe
more messages for recursive fibs
2015-11-05 12:23:11 +02:00
Torsten Ruger
4014ad27fe
fix and test return
...
return was in the wrong message
better tests now
2015-11-05 12:22:48 +02:00
Torsten Ruger
8310bc4985
fix while tests now that while is fixed
2015-11-04 20:28:02 +02:00
Torsten Ruger
32275f4d48
fix interpreter test
2015-11-04 20:27:48 +02:00
Torsten Ruger
c87682b77f
fix padding
...
used to be that type and layout were hidden
now type is gone and layout is an explicit instance, so 0 overhead
2015-11-04 10:34:03 +02:00
Torsten Ruger
5bddbfbb62
rename word_length to padded length
...
with word_length i was never sure if it was the padded version or not
2015-11-04 10:33:10 +02:00
Torsten Ruger
0f8f0a681c
fix padding to only consider layout (1 word)
2015-11-03 16:22:50 +02:00
Torsten Ruger
ca1dc36e3d
method marking for labels
2015-11-03 16:22:24 +02:00
Torsten Ruger
6882f39645
fixing lengths
2015-11-03 16:21:50 +02:00
Torsten Ruger
14f8b42015
fix instruction order, now with the save
...
and finally formatted in statements too
2015-11-03 11:25:02 +02:00
Torsten Ruger
dae12c532c
fix fragment tests
...
they mostly got longer due to the added store instruction + label
2015-11-03 11:23:58 +02:00
Torsten Ruger
5a8d7d313f
little more tests
2015-11-03 11:23:15 +02:00
Torsten Ruger
03979156db
fix statements
...
as they go
2015-11-02 20:12:01 +02:00
Torsten Ruger
7eebc775d6
let helper output correct version in case of error
2015-11-02 20:11:40 +02:00
Torsten Ruger
23e09b7149
more dubious test hacking
2015-11-02 17:32:06 +02:00
Torsten Ruger
0094a89707
fix spurious test
...
or maybe hack is more correct
2015-11-02 11:34:08 +02:00
Torsten Ruger
7d7b7ca995
adding types to layout
...
so we can test assignment
2015-10-29 12:45:29 +02:00
Torsten Ruger
e4201143b3
last fixes from source change
2015-10-28 21:40:48 +02:00
Torsten Ruger
5d3aace459
use module compile function
2015-10-28 21:40:22 +02:00
Torsten Ruger
bdb4a40f9c
only string and ast allowed as source
2015-10-28 21:38:23 +02:00
Torsten Ruger
ef6cb2a069
use instruction steam from message
...
had been attached there last week, but was still used mainly through
the source (which i’m trying to remove)
2015-10-28 14:33:38 +02:00
Torsten Ruger
142c36a374
fix return statement to actually return
...
fix a million tests
2015-10-27 21:04:46 +02:00
Torsten Ruger
79cf59c4e2
still finding index errors
2015-10-27 18:45:56 +02:00
Torsten Ruger
444ad75e1e
some message tests, all ok
2015-10-27 18:08:40 +02:00
Torsten Ruger
bb908dcf76
adding arg length to call sequence
...
and fix all the tests that affects
2015-10-27 16:21:11 +02:00
Torsten Ruger
bd171d091a
fix tests for indexed messages and frames
...
index_length changes index a bit
but from now on changes to layouts should push the index automatically
just have to set the index while calling now
2015-10-27 16:05:50 +02:00
Torsten Ruger
49b25ad971
fixed fragment tests
2015-10-27 11:00:48 +02:00
Torsten Ruger
638c367e00
more class methods
2015-10-26 22:23:06 +02:00
Torsten Ruger
5b7c98f50b
order requires
2015-10-26 22:22:38 +02:00
Torsten Ruger
abaa56fbba
add create_method for layout too
...
as for class, same signature
some more test for behavior
2015-10-26 17:24:28 +02:00
Torsten Ruger
9d0b264b79
minors
2015-10-26 17:23:35 +02:00
Torsten Ruger
55dd5f74fc
fixed layout inspect bug
2015-10-26 15:07:59 +02:00
Torsten Ruger
885aa765d6
still fixing index bugs
...
the indexed_length got written wrong
which is why the layout methods didn’t work
Now all indexes are 1 based, even fake men, where we just ignore 0
2015-10-26 14:33:36 +02:00
Torsten Ruger
9f4952b5ac
create behavior module
...
behavior handles instance methods (add/remove/find)
and shall be included in layout later too
2015-10-26 13:27:56 +02:00
Torsten Ruger
b76c140d32
some class field tests
2015-10-26 13:08:40 +02:00
Torsten Ruger
4cadfc9ea9
shortening some methods, removing object prefix
2015-10-26 12:58:38 +02:00
Torsten Ruger
d2c670b31a
fixing offset bug
...
found by tests that overwrite the attribute
2015-10-26 12:57:54 +02:00
Torsten Ruger
96f43dcfda
also giving word it's length
...
still hacked as char per word, but should be easy enough to fix when…
2015-10-26 12:23:52 +02:00
Torsten Ruger
979ebb7612
fixing indexed stuff
...
layout returns layout as first name (offsets indexes)
object internal length is gone into layouts functionality
2015-10-26 12:22:32 +02:00
Torsten Ruger
df62b75c6f
adding an instance for the length of lists
2015-10-25 20:44:03 +02:00
Torsten Ruger
c1ee67038c
internally objects stop changing size
2015-10-25 20:43:13 +02:00
Torsten Ruger
60098257e9
use include so we can test with is_a
...
using the well documented included/extend trick
2015-10-25 19:16:12 +02:00
Torsten Ruger
b7d0ee8f99
wit metaclass and class functions
...
needs to go back to arrays first
2015-10-25 15:40:12 +02:00
Torsten Ruger
0d001ec0fc
rename super_clsas to super_class_name
...
as it should have been
2015-10-25 15:32:38 +02:00
Torsten Ruger
99870c92d8
linking new tests in
2015-10-25 14:03:47 +02:00
Torsten Ruger
7de2f913a0
more class tests
2015-10-25 13:19:18 +02:00
Torsten Ruger
12e31f28c2
fix and test class definition
2015-10-25 12:31:35 +02:00
Torsten Ruger
7a690cd38d
fix to_s
2015-10-25 12:10:56 +02:00
Torsten Ruger
405a6935d4
lots of stuff to move to linked lists
...
and remove the blocks
more position stuff coming, but the list part should be ok
2015-10-24 17:12:36 +03:00
Torsten Ruger
a871f96630
remove passes and achieve the same by translating
2015-10-24 11:42:36 +03:00
Torsten Ruger
57f37ec023
removed blocks and moved to labels
...
somewhat easier to understand the code as a linked list
relatively painless change, considering
2015-10-23 21:27:36 +03:00
Torsten Ruger
6754518daf
prune builtin
...
will need much less, many more things can be expressed in soml
2015-10-23 15:13:05 +03:00
Torsten Ruger
147a77f4e4
fix arm test by fixing arm
2015-10-23 14:46:27 +03:00
Torsten Ruger
897e11ce80
store three versions of the code in method
...
source, instructions and binary
2015-10-23 14:41:47 +03:00
Torsten Ruger
e0c5bc4c11
rename phisol to soml
2015-10-23 14:22:55 +03:00
Torsten Ruger
dcbd3c7091
fold last of the virtual into register
2015-10-22 18:16:29 +03:00
Torsten Ruger
c68577c3f4
fixed more cases of empty block syndrome
2015-10-22 15:37:02 +03:00
Torsten Ruger
6ac339d998
catching empty blocks
...
should really clean those away
2015-10-22 15:34:47 +03:00
Torsten Ruger
b932f67da0
fixing tests
...
because interpreter was fixed
2015-10-22 14:51:20 +03:00
Torsten Ruger
3895ac624c
fix offsets, debugging revealed them to be 1 off
2015-10-22 11:48:03 +03:00
Torsten Ruger
4ca15449be
test and fix arg passing offset too
2015-10-22 11:32:37 +03:00
Torsten Ruger
13b8d0645f
tests for offset fix
2015-10-22 11:02:57 +03:00
Torsten Ruger
db5c37bc55
fix while syntax and test
2015-10-19 16:37:12 +03:00
Torsten Ruger
99cff3aa32
fix the if syntax and branches
2015-10-19 16:22:24 +03:00
Torsten Ruger
1fd937927c
adjust branch names
...
IsXXX with xxx as condition, same as after if_xxx
AlwaysBranch is back to Branch
2015-10-19 16:08:00 +03:00
Torsten Ruger
50379a1fea
update to new syntax and patch tests
...
basic semantics remain, but have to improve test for new functionality
that has to be written for new branch types
2015-10-19 15:31:48 +03:00
Torsten Ruger
bdcd0f297d
first interpreted tests, fix branch issues
...
whole branch logic wobbly
better syntax needed, but working(ish) for now
2015-10-19 14:46:12 +03:00
Torsten Ruger
d767caf479
remove MethodCall and thus all virtual instructions
2015-10-18 19:27:46 +03:00
Torsten Ruger
15b570f5cf
removing passes (before arm)
...
collector becomes a function
minimizer unused
2015-10-18 19:27:02 +03:00
Torsten Ruger
fa4949fc80
remove MethodEnter Instructions
...
only resolved to SaveReturn anyway
also Halt instruction wasn’t used, gone
passes changed to start at register
2015-10-18 17:39:35 +03:00
Torsten Ruger
8bf1337043
Remove MethodReturn instruction
...
and pass
and fix all tests
move towards removing all vm instructions
2015-10-18 17:32:32 +03:00
Torsten Ruger
6c7e4c0fe2
stop pinning self and frame
...
before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps
now: r0-message , r1-new_message , r2 + tmps
programs got smaller, less fuss
also fix in return implementation that got the address from the wrong
message
2015-10-18 17:20:19 +03:00
Torsten Ruger
da5502e301
minor
2015-10-17 19:36:00 +03:00
Torsten Ruger
4ce4775902
fix layout
...
amazing at this stage, but yet another index error
the strange (and wonderful) thing is that changing the return
of the one function just shifts the variables and everything else
stays intact. Thus are the wonders of object orientation
2015-10-17 10:03:39 +03:00
Torsten Ruger
17545d1525
fix add test
2015-10-16 21:42:11 +03:00
Torsten Ruger
3e79e5cf8e
fix code duplication
2015-10-16 19:18:37 +03:00
Torsten Ruger
5131e5d050
formatted interpreter tests
...
little helper to output the classes
2015-10-16 19:04:17 +03:00
Torsten Ruger
dc3920580b
bit more cleaning of testing
2015-10-16 18:34:54 +03:00
Torsten Ruger
3b07f625a7
fix another order dependant issue
2015-10-16 17:58:07 +03:00
Torsten Ruger
5e04ee7212
bitten by test order, fixed
2015-10-16 17:17:39 +03:00
Torsten Ruger
bd2bf612ac
fixed last test
...
back in the green
2015-10-16 17:13:08 +03:00
Torsten Ruger
a6712fc4f9
add call statement tests
2015-10-16 13:20:21 +03:00
Torsten Ruger
84eb516a01
add while statement tests
2015-10-16 13:17:02 +03:00
Torsten Ruger
349352faa9
minor
2015-10-16 13:12:52 +03:00
Torsten Ruger
6f856315d7
fix and test assign
...
also fix field def and
externalized assign
2015-10-15 13:08:53 +03:00
Torsten Ruger
398ec513f4
wrap in register module for shorter result names
2015-10-15 10:24:10 +03:00
Torsten Ruger
90ed4dd73b
test return statement
2015-10-15 10:21:07 +03:00
Torsten Ruger
f8efdd910c
basic if statement tests
2015-10-15 09:47:11 +03:00
Torsten Ruger
3d83f203ca
fixing and testing operators
2015-10-15 09:32:47 +03:00
Torsten Ruger
e436581ce8
adds value to used regs and test for it
2015-10-15 09:07:47 +03:00
Torsten Ruger
300ce24739
remove function test from here and use setup
...
function definition is a statement, goes there
2015-10-14 21:57:37 +03:00
Torsten Ruger
2094101bb2
clearer organization for compiler tests
...
was slightly messy with small/large
now needed different test for expression and statements
2015-10-14 21:49:05 +03:00
Torsten Ruger
0c8be466df
fix parfait test
2015-10-14 21:36:51 +03:00
Torsten Ruger
f105b1eb3c
fix name expression
2015-10-14 21:34:18 +03:00
Torsten Ruger
1141ed9c99
type now means class name
...
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
Torsten Ruger
d8a5dc147b
new function test and scoping fix
2015-10-14 15:17:33 +03:00
Torsten Ruger
1ea34481c1
define putting dummy to fix test
2015-10-14 15:08:42 +03:00
Torsten Ruger
e33a20dd41
minor housekeeping
2015-10-14 13:48:42 +03:00
Torsten Ruger
5b95319191
almost rewritten the call site
...
statements resolve to nothing and use all registers
expressions return register and allocate those with use_reg
2015-10-14 13:48:21 +03:00
Torsten Ruger
5122137a33
start new elf testing category (and minors)
2015-10-13 17:30:39 +03:00
Torsten Ruger
f506f95cbf
fixing basic and field access to return register
...
as that is the new way, drop a layer, code to registers
2015-10-13 16:42:53 +03:00
Torsten Ruger
80d58ee03c
fixed simple layout offset bug in layout
2015-10-13 14:46:07 +03:00
Torsten Ruger
3c7c8dea92
add basic compiler tests
2015-10-10 12:29:52 +03:00
Torsten Ruger
3d342f7d88
remove new_message instruction
2015-10-10 12:04:34 +03:00
Torsten Ruger
c3eb295f4e
remove set optimization
...
will become obsolete soon anyway
2015-10-10 11:52:54 +03:00
Torsten Ruger
c20ab21bbd
improve tests
2015-10-10 10:02:28 +03:00
Torsten Ruger
530537de1a
improve fragment checks
2015-10-09 21:53:22 +03:00
Torsten Ruger
024e6cb389
ion out last changes from grammar update
...
surprisingly painless, considering it was more or less a rewrite
2015-10-09 18:06:00 +03:00
Torsten Ruger
4c17ed2e6e
update the reader rewrite and reflect name changes
2015-10-09 17:51:14 +03:00
Torsten Ruger
99098951ca
rename bosl to phisol
2015-10-07 15:22:47 +03:00
Torsten Ruger
e669489419
went over the various readmes
2015-10-07 11:32:48 +03:00
Torsten Ruger
88fc4c0e47
clean up more tests
2015-10-07 10:53:45 +03:00
Torsten Ruger
c1d31a541d
improve method test
...
mostly by actually testing main, which is what is checked
2015-10-07 10:43:08 +03:00
Torsten Ruger
cd96e78e2d
small fix
2015-10-07 10:22:45 +03:00
Torsten Ruger
513bc8d7cf
fix more disabled tests
2015-10-07 10:19:25 +03:00
Torsten Ruger
83ef902b55
better calcite and operator to expand the interpreter test
2015-10-07 10:05:34 +03:00
Torsten Ruger
af6366f2d1
small fixes to make tests pass again
2015-10-07 10:04:55 +03:00
Torsten Ruger
4e26166dff
fix type in call issue
2015-10-06 15:26:57 +03:00
Torsten Ruger
f4a4ccb98e
several larger changes came together, bit of cleaning too
...
- all code must be in functions (which must be in classes).
— changes a fair few tests
— also changes api, as method is not recursive, not passed around
- all state in instance vars in compiler (no accessors)
- class is another such variable, surely more coming
all green again
2015-10-06 00:27:13 +03:00
Torsten Ruger
4186405930
new i_to_s test
2015-09-27 22:39:10 +03:00
Torsten Ruger
259b0afa96
improve tests
2015-09-27 20:28:34 +03:00
Torsten Ruger
eb57eb4d41
minor send fixes
2015-09-27 19:07:56 +03:00
Torsten Ruger
252c0ccdca
finish typing variables
2015-09-27 16:06:48 +03:00
Torsten Ruger
94c08f7129
small clean
2015-09-27 14:07:02 +03:00
Torsten Ruger
5a2a857485
finish the field access
...
now that fields can be defined
2015-09-27 12:59:50 +03:00
Torsten Ruger
b99b392481
new field access code and test. wip as field def broken
2015-09-27 11:28:06 +03:00
Torsten Ruger
c4f89441e2
cleaning
2015-09-27 11:27:30 +03:00
Torsten Ruger
9fe01c7b31
remove unknown type
2015-09-23 18:35:37 +03:00
Torsten Ruger
4b613fb632
virtual tests back
2015-09-21 00:14:47 +03:00
Torsten Ruger
a5b09ab059
fixed interpreter tests
2015-09-21 00:09:11 +03:00
Torsten Ruger
b1cab4f395
compiler test back up
2015-09-20 17:33:05 +03:00
Torsten Ruger
5f628744d6
more test working
...
operator wip
2015-09-20 16:52:26 +03:00
Torsten Ruger
f2fc9c5f89
new field def compiles, fix test
2015-09-20 16:30:07 +03:00
Torsten Ruger
bc70c1efe5
temporarily disabling test that haven't been fixed yet
2015-09-19 22:24:57 +03:00
Torsten Ruger
775bca50ac
switching to ast::processor
...
using instance methods instead of context
2015-09-19 18:56:18 +03:00
Torsten Ruger
3a885a8e46
more expressions and if test
2015-09-19 17:57:44 +03:00
Torsten Ruger
2061097e88
move compiler to bosl and get first test working (adjusting syntax as i go)
2015-09-19 16:28:41 +03:00
Torsten Ruger
8689633bbf
new short test
2015-08-20 16:06:44 +02:00
Torsten Ruger
f15f7800b3
disable failing test
2015-08-11 17:22:04 +03:00
Torsten Ruger
4e56056b62
better test for add
2015-08-09 00:53:04 +03:00
Torsten Ruger
5d838056fa
small rename and new test for layout
2015-08-08 18:08:47 +03:00
Torsten Ruger
0a54d030b5
add guard
2015-08-08 18:08:15 +03:00
Torsten Ruger
ca14ef8914
fix test result, but not test yet
2015-08-07 16:46:55 +03:00
Torsten Ruger
4afd7f78ca
fix the plus method that sneaked into arm
2015-08-06 18:55:08 +03:00
Torsten Ruger
c0071c947d
bit more testing
2015-08-06 18:26:59 +03:00
Torsten Ruger
21b0702154
fix tests (just using local gem)
2015-08-04 22:01:20 +03:00
Torsten Ruger
9680ff2a71
fxes for add test
2015-08-04 21:46:33 +03:00
Torsten Ruger
8ab9a417aa
minors
2015-07-30 19:18:41 +03:00
Torsten Ruger
7216300452
add interpreter here (moved from debugger)
2015-07-30 19:18:12 +03:00
Torsten Ruger
3fb08acf3f
better tests to find sneaky module bug
2015-07-28 16:19:10 +03:00
Torsten Ruger
e3577d18af
fix that silly mistake that made the percentage plummet
...
mostly due to the fact that object is a hash now,
not array. Took a while though
2015-07-21 19:41:30 +03:00
Torsten Ruger
2d0424a370
turned out to be a rewrite of boot process
...
and also attribute handling and fake_memory
luckily there are tests and all is green again
2015-07-21 15:40:25 +03:00
Torsten Ruger
f8cb33ec5e
test ivar name list
2015-07-20 13:20:43 +03:00
Torsten Ruger
2c1c38716b
move from new_object to normal new
2015-07-20 13:01:15 +03:00
Torsten Ruger
08e1852e5f
test get class
2015-07-19 21:22:29 +03:00
Torsten Ruger
d7c9245bb3
more fragment tests
2015-07-19 13:31:13 +03:00
Torsten Ruger
31d825df7b
fix and test basic and name expressions
2015-07-19 13:20:34 +03:00
Torsten Ruger
48d090f19c
test return. remove some dead code
2015-07-19 13:03:21 +03:00
Torsten Ruger
6da1c69b87
minor
2015-07-19 12:33:33 +03:00
Torsten Ruger
1f95d8994c
start testing that compile returns slot
2015-07-19 12:31:57 +03:00
Torsten Ruger
7ddee1c055
test binary creation
2015-07-19 11:52:43 +03:00
Torsten Ruger
cbff41b61d
test name expr
2015-07-19 11:15:38 +03:00
Torsten Ruger
7451493193
rearranging tests a little
2015-07-19 10:54:36 +03:00
Torsten Ruger
ac9d5eaf5a
fix tests by reordering (hmm)
2015-07-19 10:45:12 +03:00
Torsten Ruger
0a09477dc6
fix and test compiling classes
2015-07-19 10:36:06 +03:00
Torsten Ruger
a554762da8
fix the compile while test
2015-07-18 19:02:54 +03:00
Torsten Ruger
b83f50c57c
rebooting tests for small compiles
2015-07-18 15:28:57 +03:00
Torsten Ruger
7b1e89effb
get fragment tests back online
...
the 58% REALLY doesn’t look good
and things have settle down, so no more excuses
2015-07-18 14:33:09 +03:00
Torsten Ruger
f4f703975b
removed arm and use as gem
2015-07-18 14:12:20 +03:00
Torsten Ruger
bae476657a
add coverage and badges
2015-07-18 13:06:42 +03:00
Torsten Ruger
e1c19dee80
remove old to_asm
...
very strange that is was called in 1.9 but not 2.0
2.0 seems to delay interpolating strings
2015-07-18 12:15:07 +03:00
Torsten Ruger
998d5f8b90
removed ref to simple cov
2015-07-18 12:06:20 +03:00
Torsten Ruger
46de0f278e
fix the boot
...
was broken for unknown reason really
2015-07-18 11:53:04 +03:00
Torsten Ruger
4f2f56fff8
minors
2015-07-02 13:49:33 +03:00
Torsten Ruger
caa4ae1cf0
new tests for space
...
finds the bug in message creation!
2015-07-02 11:09:23 +03:00
Torsten Ruger
185f4b4697
start of an idea
2015-07-02 10:44:44 +03:00
Torsten Ruger
9ca5ddf7c0
fix all tests
...
some had to be disabled
since stability is coming back more test are coming too
2015-07-02 10:26:48 +03:00
Torsten Ruger
3195d800e9
fix putstring file descriptor
2015-07-02 09:49:52 +03:00
Torsten Ruger
11997ef354
had to revert name method change
...
method is not known when message is created
2015-07-02 09:48:41 +03:00
Torsten Ruger
6a23ef8b26
storing method, not just name in message
...
goes with a rename and other admin
2015-07-01 19:39:23 +03:00
Torsten Ruger
b9e2d4dd21
remove some debug
2015-06-30 10:22:54 +03:00
Torsten Ruger
218fafca05
renames
2015-06-29 20:55:45 +03:00
Torsten Ruger
a00a49ecdb
fix frame indexes
2015-06-28 10:50:47 +03:00
Torsten Ruger
37403f1139
fix misunderstood mov usage
...
When moving a reference (pointer) to a register
one needs to ADD to the pc
i.e. one needs an add, not mov instruction
2015-06-26 20:00:33 +03:00
Torsten Ruger
2aba926f1f
start on reworking sys calls
2015-06-22 22:48:42 +03:00
Torsten Ruger
f3ee11fca5
simple set optimisation
...
the price of having simple code (generation) is that
it is sometimes stupid code that gets generated
Filter some of the really daft stuff out
2015-06-21 17:25:27 +03:00
Torsten Ruger
6867175bd1
slot docs and rename
2015-06-21 00:21:42 +03:00
Torsten Ruger
87143091ca
moved sod write method to module
2015-06-19 12:29:41 +03:00
Torsten Ruger
1baece99c7
split the pass runs to debug
2015-06-12 18:52:06 +03:00
Torsten Ruger
9b89f6cb16
move the pass running out of elf
...
and leave it up to user
later partial running planned
2015-06-11 07:04:55 +02:00
Torsten Ruger
ee6f9d733b
rename Mystery
...
just unknown, mystery should be more difficult to find out.
After all we keep run time info, so just need unknown at compile time
2015-06-11 07:04:14 +02:00
Torsten Ruger
1c29fcfd43
mem_length to word/byte length
...
be more specific, and don’t include padding
2015-06-05 09:20:43 +03:00
Torsten Ruger
30d9aaf61b
extract padding functions to module
...
and finally TEST them
its especially the brain bending stuff that needs tests
2015-06-04 08:22:38 +03:00
Torsten Ruger
aea8f20be5
more symbol related fixes
2015-06-01 17:31:35 +03:00
Torsten Ruger
f08d9659fc
getting the symbols to work
2015-06-01 08:33:23 +03:00
Torsten Ruger
bee73801eb
revert to symbols
...
Parfait::Words were nice, but endless problems with the fact that when
you write “String” you get a string.
Symbols take care of uniqueness at the same time
2015-05-31 18:34:18 +03:00
Torsten Ruger
db5c958d2e
fix lists first
2015-05-31 13:26:47 +03:00
Torsten Ruger
079306dbf8
move main to object (from kernel)
2015-05-30 14:49:10 +03:00
Torsten Ruger
96a20ff554
add delete to list
2015-05-30 14:22:33 +03:00
Torsten Ruger
3e9e650764
fix arm tests
2015-05-29 12:47:49 +03:00
Torsten Ruger
2ccbea04b9
fixing assembly
...
position code changed and linking too
passes not working
2015-05-24 18:05:20 +03:00
Torsten Ruger
95ac024421
fix old tests again
2015-05-24 16:55:03 +03:00
Torsten Ruger
1170761922
fix classic index bug
2015-05-24 15:05:58 +03:00
Torsten Ruger
47abdffd1a
minor
2015-05-24 13:54:17 +03:00
Torsten Ruger
1a499a1de9
fix method seperation
...
Since Compiled method split into Method and
CompiledMethodInfo (parfait/vm) lots of call
syntax changes
2015-05-24 13:31:33 +03:00
Torsten Ruger
b4eb14e639
found bug and more tests
2015-05-21 21:50:39 +03:00
Torsten Ruger
422ec64105
all green
...
That fixes all existing tests. Operation successful
Off course there is tests missing :-(
2015-05-20 17:29:08 +03:00
Torsten Ruger
d71547ea01
copy and other improvements for word
...
more tests reveal a bug (fixed) and more docs
2015-05-20 13:50:25 +03:00
Torsten Ruger
c983b1cba5
bit of test cleaning
2015-05-18 10:51:37 +03:00
Torsten Ruger
cfc2c474b2
test compatibility layer
...
test from and to std/parfait objects
for list and word for now
moved some of that code to virtual, out of parfait
2015-05-18 10:47:29 +03:00
Torsten Ruger
d348e7afe7
more parfait ripples
...
changes due to previous changes in parfait api
2015-05-18 10:10:31 +03:00
Torsten Ruger
cff827ad42
final word fix
...
that does the parfait
2015-05-17 15:34:45 +03:00
Torsten Ruger
e70bfb9f7a
many minor parfait fixes
2015-05-17 15:34:29 +03:00
Torsten Ruger
3bdba119c8
fix the list after object fixes
...
start index at 1, but don’t overwrite layout,
so add one
2015-05-17 14:56:06 +03:00
Torsten Ruger
3b268df920
init with nil layout
...
making the default length 1 (the nil layout)
2015-05-17 14:55:10 +03:00
Torsten Ruger
701b0bc011
fix object grow
...
and write a test (and another one …)
2015-05-17 14:44:48 +03:00
Torsten Ruger
1114f06921
rename old layout()
...
new is called get_layout, but keep old around for
checking
2015-05-17 14:41:18 +03:00
Torsten Ruger
8fa501fb91
fix object compiletime
...
and write some tests for it
2015-05-17 14:38:25 +03:00
Torsten Ruger
fe2be323d8
improve boot
...
also move to superclass not superclass_name in class
Makes ripples
2015-05-16 20:16:49 +03:00
Torsten Ruger
bee269f7a8
just renaming
2015-05-16 12:54:11 +03:00
Torsten Ruger
9376b8bc16
work on ObjectWriter
...
Back to the root! but lots of adjusting
ObjectWriter takes machine, machine has space
Virtual constants become Parfait::Objects etc
2015-05-16 12:53:10 +03:00
Torsten Ruger
9d8dc68bf4
fixing all tests
2015-05-15 21:11:44 +03:00
Torsten Ruger
a46dd9f6bf
more word tests
2015-05-15 20:31:43 +03:00
Torsten Ruger
0731a6061a
fix word implementation and tests
...
much better, though wasteful implementation
breaks a few tests, but ploughing on first
2015-05-15 16:45:36 +03:00
Torsten Ruger
9d711e7766
moving string to parfait
...
using parfait::word
also rename builtins string to word
2015-05-13 16:17:10 +03:00
Torsten Ruger
dd41758dea
renamed array and hash to list and dictionary
...
Since these are not the ruby classes, we don’t need
the old names. They are misleading.
An Array is a military term, we mean list
And a Hash is an implementation of a Dictionary,
or LookupTable
2015-05-12 19:10:45 +03:00
Torsten Ruger
a94ce51c58
also test array
...
minor (ahm) fixes to array logic
2015-05-12 19:03:14 +03:00
Torsten Ruger
398516a596
fixes parfaits hash by implementing array
...
basic concept holds up as parfaits hash is now
working on parfaits own array
2015-05-12 18:52:01 +03:00
Torsten Ruger
b980def84e
move space to parfait
...
Also make the machine the singleton
and space hang off it
Many repercussions, not all fixed in this commit
2015-05-12 15:36:44 +03:00
Torsten Ruger
6f2affaf36
fix name expression and test
...
plus various cleaning and rename off call_site
2015-05-08 14:34:46 +03:00
Torsten Ruger
2fde50c27a
some more tests fixed
2015-05-06 15:15:53 +03:00
Torsten Ruger
4f1508ca61
moved slots to own directory
2015-05-06 08:38:29 +03:00
Torsten Ruger
cdea4915f9
bit more cleanup after compiler
2015-05-05 15:11:09 +03:00
Torsten Ruger
001af3f8b6
reviving more tests
2015-05-05 14:04:37 +03:00
Torsten Ruger
e4c799ecb6
first tests comping through after ast/compile change
2015-05-04 23:03:52 +03:00
Torsten Ruger
8180c67d48
move sof to own repo
2015-05-03 20:38:13 +03:00
Torsten Ruger
2a0dc7242a
better test doc
2015-04-06 10:28:44 +03:00
Torsten Ruger
5b10f09ea1
fix test
2015-03-28 21:12:03 +02:00
Torsten Ruger
e2e692e25d
test readme and test sof
2015-03-25 18:31:18 +02:00
Torsten Ruger
451b1c409c
update read me
2015-03-15 11:58:17 +00:00
Torsten Ruger
6e6dd257e4
rename
2014-10-18 13:53:01 +03:00
Torsten Ruger
7968cadaf9
remove singleton in arm machine and use class methods
2014-10-04 17:34:51 +03:00
Torsten Ruger
fba66371c0
(semi) proper fix for large moves, integers or virtual constants(was buggy)
2014-09-30 12:07:21 +03:00
Torsten Ruger
527e591e75
fix add instruction and test
2014-09-29 21:04:38 +03:00
Torsten Ruger
ae65952d0a
more precise tests
2014-09-29 20:28:24 +03:00
Torsten Ruger
45adf7173c
naming, clean
2014-09-29 20:28:05 +03:00
Torsten Ruger
e0c479f778
split some tests, create more and especially big move
2014-09-18 17:06:30 +03:00
Torsten Ruger
914d8af8c6
move object equality here
2014-09-16 16:06:11 +03:00
Torsten Ruger
c51dbf51e1
renamed true,false,nil class to constant (from value)
2014-09-14 18:15:33 +03:00
Torsten Ruger
5a5e977b8f
get some old builtin code backonline and improve imports
2014-09-09 18:03:13 +03:00
Torsten Ruger
d94ec6c72c
fix parfait test
2014-09-04 14:22:28 +03:00
Torsten Ruger
0271045ff4
corrected unit name
2014-08-30 20:46:38 +03:00
Torsten Ruger
be8284efd9
list all working tests in test_all
2014-08-30 19:47:03 +03:00
Torsten Ruger
ccb5b37a3c
reinserted arm for now, until dependecy is cleaned up. fixed tests
2014-08-30 19:40:37 +03:00
Torsten Ruger
18f33770b5
fix and use object writer in test
2014-08-30 14:17:00 +03:00
Torsten Ruger
da3cd69a5c
fixed the old list tests for hash, and fixed hash to pass them
2014-08-28 16:28:25 +03:00
Torsten Ruger
7d35732923
renamed method definition to compiled method
2014-08-28 08:10:33 +03:00
Torsten Ruger
fc9615a649
short hash, inline like for array. with curly braces off course
2014-08-27 14:46:34 +03:00
Torsten Ruger
97f68a1a54
basic assembly frame
2014-08-26 22:35:56 +03:00
Torsten Ruger
b4419fc438
start on linking and assembly (again, hurra)
2014-08-25 17:03:39 +03:00
Torsten Ruger
0b65e5840e
move space accesor to boot_space
2014-08-24 21:32:21 +03:00
Torsten Ruger
a7bfb6e6ee
rename (corrected) method def to instance methods in class
2014-08-23 23:57:47 +03:00
Torsten Ruger
a63e37fc50
scaffold for instance variable get implementation
2014-08-23 10:59:35 +03:00
Torsten Ruger
4783e6c326
more renaming ripples
2014-08-22 18:00:23 +03:00
Torsten Ruger
91ce05364a
add FunctionCall instruction and the missing puts (stub)
2014-08-22 15:08:46 +03:00
Torsten Ruger
e19b7be111
getting to where where the puts should be, but it aint there
2014-08-22 10:21:12 +03:00
Torsten Ruger
b305a56576
more work on send
2014-08-22 09:21:59 +03:00
Torsten Ruger
5b1e86da49
more work on send, remove yaml hack in test
2014-08-21 22:57:20 +03:00
Torsten Ruger
2260c680b2
getting the passes back and starting on send
2014-08-21 17:46:12 +03:00
Torsten Ruger
b5792c155c
added a test for class refs
2014-08-21 15:40:13 +03:00
Torsten Ruger
9608e5f626
supressing nil attributes on objects
2014-08-20 22:33:08 +03:00
Torsten Ruger
1371d395ec
pretty much redid the variable idea (now slot)
2014-08-20 17:14:52 +03:00
Torsten Ruger
ba71e568ef
made a test for short object feature
2014-08-19 23:23:03 +03:00
Torsten Ruger
52ca7110c3
ad a preliminary syntax for class objects, which is just the class name
2014-08-19 23:01:19 +03:00
Torsten Ruger
e13801c764
moving (back) to 1.9 style hash, clearer that it is an association. didnt like the double colon
2014-08-18 17:19:34 +03:00
Torsten Ruger
81f8f0f3a2
actually using volotile attributes and outputting sof in test. very readable
2014-08-18 17:16:18 +03:00
Torsten Ruger
a594b716bc
inlining references into objects as simple data
2014-08-18 14:54:03 +03:00
Torsten Ruger
a874bd49d2
short version for array
2014-08-18 14:28:28 +03:00
Torsten Ruger
1dee9a4bd1
adding the actual references for referenced objects
2014-08-18 13:53:05 +03:00
Torsten Ruger
67c3fb6cb0
recursive object test
2014-08-18 13:37:35 +03:00
Torsten Ruger
338c669a00
fix level bug that became obvous with recursion
2014-08-18 13:33:40 +03:00
Torsten Ruger
ad4aaaff8a
fix recursive arrays
2014-08-18 13:22:03 +03:00
Torsten Ruger
9f292ba618
fix weird object bug
2014-08-18 12:49:38 +03:00
Torsten Ruger
a3c9ab7e29
simpler but more verbose node model fixes everything but one
2014-08-18 08:19:48 +03:00
Torsten Ruger
b0472753f4
fixing arrays/hashs and starting complex objects
2014-08-17 21:44:34 +03:00
Torsten Ruger
9669831f78
fix all existing (hash) tests
2014-08-16 15:16:07 +03:00
Torsten Ruger
90e4837b2e
broaden the node hierachy
2014-08-16 12:34:25 +03:00
Torsten Ruger
2f84c0dfa6
fixing array tests, seperated nodes into different types
2014-08-16 11:43:41 +03:00
Torsten Ruger
7f7a174554
fixes object
2014-08-16 09:56:11 +03:00
Torsten Ruger
b0a54cb8c2
working up
2014-08-15 18:27:32 +03:00
Torsten Ruger
0a7814a07b
add hash with object
2014-08-15 17:18:15 +03:00
Torsten Ruger
16261f96b0
adds simple hash and test
2014-08-15 17:14:49 +03:00
Torsten Ruger
2d6a43cf0e
array with object
2014-08-15 15:13:36 +03:00
Torsten Ruger
1415079659
test with array in array in array
2014-08-15 15:08:45 +03:00
Torsten Ruger
716bc93e4a
test for array with array
2014-08-15 15:04:13 +03:00
Torsten Ruger
198e70b6bd
fix array with object
2014-08-15 14:59:38 +03:00
Torsten Ruger
85dad14cc8
fix simple array
2014-08-14 20:24:26 +03:00
Torsten Ruger
6b19b915a1
rewrote write to use known attributes or instance variables, simple values inline
2014-08-14 19:49:20 +03:00
Torsten Ruger
0a33f940cf
moving away from the attributes aproach, tests fixed
2014-08-14 19:24:18 +03:00
Torsten Ruger
2c2ae14928
getting some sof output and adding some tests. issues though. abound
2014-08-14 17:40:56 +03:00
Torsten Ruger
7e60827dd3
redoing the ifs with new (old) block structure
2014-08-13 20:05:32 +03:00
Torsten Ruger
200228a33d
adding the blocks to virtual machine and store instructions in array not list
2014-08-13 11:59:51 +03:00
Torsten Ruger
c2ae184e6e
simple test for get type
2014-08-07 15:41:13 +03:00
Torsten Ruger
a9ab3ca13e
forgot to add compiled methods to the class, fixed
2014-08-07 15:37:32 +03:00
Torsten Ruger
b9e259e11a
first ginger parfait test
2014-08-06 18:49:20 +03:00
Torsten Ruger
629c6e56e0
adds test before functionality (deres a good boy)
2014-07-31 21:38:01 +03:00
Torsten Ruger
8effcc866a
more machinery to the machine
2014-07-30 21:43:12 +03:00
Torsten Ruger
5add9c42f2
juggle into the machine
2014-07-30 21:07:48 +03:00
Torsten Ruger
7b6f364ba8
namechange
2014-07-29 18:33:11 +03:00
Torsten Ruger
8718ebf476
last inherited test
2014-07-27 10:09:31 +03:00
Torsten Ruger
1a95835442
adds message get and set instructions
2014-07-25 20:28:38 +03:00
Torsten Ruger
7df1490da8
mostly comments
2014-07-25 11:48:06 +03:00
Torsten Ruger
e427bcef43
change method and frame around in calling, easier to understand static first
2014-07-24 14:56:27 +03:00
Torsten Ruger
e408b0e4b9
fixed while instruciton linking after change in method add
2014-07-22 23:27:13 +03:00
Torsten Ruger
25e26f613d
fix one more test
2014-07-22 11:57:56 +03:00
Torsten Ruger
a6e78ec837
fixed the yaml output order for much better readability of failed tests
2014-07-19 21:56:17 +03:00
Torsten Ruger
eb44011177
fixed that branch numbering bug
2014-07-19 21:15:27 +03:00
Torsten Ruger
c03c4f9cc9
add return instruction and fix the tests
2014-07-18 11:56:46 +03:00
Torsten Ruger
cf00a6e490
changed marker
2014-07-18 11:16:56 +03:00
Torsten Ruger
23e1b2519e
fix all the test data to be yaml
2014-07-18 00:30:47 +03:00
Torsten Ruger
2e79caa791
using yaml as the storage format of the result as it handles graphs out of the box
2014-07-18 00:30:36 +03:00
Torsten Ruger
e02c6ed082
codes the while, but the testing throws stack too deep because loop detection is missing
2014-07-17 16:46:17 +03:00
Torsten Ruger
337b1a8ee0
renamed to kide(crystal)
2014-07-17 02:26:13 +03:00
Torsten Ruger
fb105cb895
had to let go of crystal (sniff) as the name was taken
2014-07-17 01:00:15 +03:00
Torsten Ruger
efeb910843
move branch counter to branch instruction (from if) in preperation of while
2014-07-16 22:28:28 +03:00
Torsten Ruger
7534626d87
fix the if test by naming branch and label and stitching them in constructor
2014-07-16 21:16:08 +03:00
Torsten Ruger
4185758532
slight rename tremours
2014-07-16 20:16:10 +03:00
Torsten Ruger
1ff7ae2b0a
rename method
2014-07-16 19:24:41 +03:00
Torsten Ruger
55cb6bd2d6
working on if
2014-07-16 13:20:47 +03:00
Torsten Ruger
4d725ea1ae
adds explicit load_self instruction
2014-07-15 18:27:13 +03:00
Torsten Ruger
930740e1db
fixes the tests after fixing hierarchy
2014-07-15 10:35:29 +03:00
Torsten Ruger
9891da88a4
fix all tests
2014-07-15 00:00:00 +03:00
Torsten Ruger
b59a9da34e
reduce method return type to type and introduce a single instruction for instance get
2014-07-14 21:28:21 +03:00
Torsten Ruger
b1893482ff
adds an all test, uncomment not implemented
2014-07-14 21:25:53 +03:00
Torsten Ruger
16a378e3da
fix class function test
2014-07-14 17:08:52 +03:00
Torsten Ruger
93bdd8a243
removing exceptions
2014-07-14 16:19:47 +03:00
Torsten Ruger
c7c4387e16
adds self reference and improve methods a little
2014-07-14 14:29:33 +03:00
Torsten Ruger
db8b1488d0
function test, slow but steady
2014-07-14 14:06:09 +03:00
Torsten Ruger
122452c21b
patch another test
2014-07-14 11:31:46 +03:00
Torsten Ruger
d531a24930
first method test
2014-07-14 11:29:38 +03:00
Torsten Ruger
c1f475070b
and another one, and another one....
2014-07-13 16:00:48 +03:00
Torsten Ruger
ae21863245
one more basic test back online
2014-07-13 14:12:43 +03:00
Torsten Ruger
dc6cb2bb52
a lot of work to get one more test to pass
2014-07-12 21:59:17 +03:00
Torsten Ruger
c505db490f
brainstorming mode on the new way (tm)
2014-07-10 17:14:38 +03:00
Torsten Ruger
f74999af57
zwischenstopp
2014-07-01 18:58:25 +03:00
Torsten Ruger
7045a4b256
update reader and implement singletons
2014-07-01 15:57:13 +03:00
Torsten Ruger
94d1140686
remove intel as it is in own rep now
2014-06-30 15:34:51 +03:00
Torsten Ruger
84d27ce9d9
remove arm as it is in own rep now
2014-06-30 15:28:39 +03:00
Torsten Ruger
18faeeb042
add the idea of a frame
2014-06-29 19:05:35 +03:00
Torsten Ruger
16ceb2a60d
hurra, a first test. looks a lot.... but lets not spoil th efeeling
2014-06-26 18:39:02 +03:00
Torsten Ruger
525f9d45c5
rename
2014-06-26 17:52:15 +03:00
Torsten Ruger
33c62a7db1
update reader
2014-06-26 17:48:33 +03:00
Torsten Ruger
9d0d5aa431
update reader
2014-06-26 11:34:48 +03:00
Torsten Ruger
d28df7671d
add the simplest possible hash replacement with tests
2014-06-25 16:00:24 +03:00
Torsten Ruger
fe337fad79
rename and a tiny start
2014-06-25 15:20:46 +03:00
Torsten Ruger
43a2649635
new list test and debugs
2014-06-24 12:25:03 +03:00
Torsten Ruger
a859951a8f
slight cleanup and rename test case
2014-06-17 14:25:33 +02:00
Torsten Ruger
0dbaebf647
fix all tests and a little cleaning
2014-06-14 10:59:25 +03:00
Torsten Ruger
12a92e4db0
move boot* classes to boot directory
2014-06-13 23:51:53 +03:00
Torsten Ruger
a7551ea8b6
still working on the method dispatch
2014-06-13 23:41:45 +03:00
Torsten Ruger
ebf117a63a
update tests, all green
2014-06-12 21:43:06 +03:00
Torsten Ruger
017d93d929
add to_asm debug output functions
2014-06-12 21:40:25 +03:00
Torsten Ruger
ea0572c836
fixed while compilation (block order) and fixed and improved fibo
2014-06-12 16:23:57 +03:00
Torsten Ruger
506f98da5a
fixed foo and hello, next putint
2014-06-12 09:07:03 +03:00
Torsten Ruger
b125a7c5c7
fix passes, add noop reduction, remove the wretched value operators
2014-06-11 21:36:22 +03:00
Torsten Ruger
e9519d4f05
move the code insertion functionality up to function. makes more sense. block still carries code though
2014-06-10 23:57:56 +03:00
Torsten Ruger
b66c4157d5
keep track of used and assigned registers for each block
2014-06-08 01:41:56 +03:00
Torsten Ruger
fbcfa844de
renaming and small fixes
2014-06-08 00:56:40 +03:00
Torsten Ruger
0a14cffefb
fixing fragment tests, most done
2014-06-07 23:22:32 +03:00
Torsten Ruger
36f237c633
removed the (too) fancy dsl. Also introduce register indirection
2014-06-07 17:59:44 +03:00
Torsten Ruger
c59f22f11f
first oo program to compile. But no worries, there is still work left to be done
2014-06-05 18:17:00 +03:00
Torsten Ruger
f523d0946d
fix the lasts tests
2014-06-05 16:27:25 +03:00
Torsten Ruger
f2e8e644bd
changes tests to only compare the tested function output, not the whole binary
2014-06-05 13:02:36 +03:00
Torsten Ruger
7cc4c6344c
remove the parse code and fix the rest to work with the gem (from git for now)
2014-06-04 22:03:45 +03:00
Torsten Ruger
72d4adc7af
another step closer to a working oo system
2014-06-03 22:16:57 +03:00
Torsten Ruger
ca19f5cb16
move to syms for names
2014-06-03 20:47:06 +03:00
Torsten Ruger
b7c2089046
the further down this goes, the smaller the circles. Soon the point will come. And then back out
2014-06-03 14:49:02 +03:00
Torsten Ruger
f60bbfa9ca
add a fail case, that anoyingly hangs
2014-06-03 09:41:39 +03:00
Torsten Ruger
7c1c5431bc
add qualification to function definitions
2014-06-02 14:00:30 +03:00
Torsten Ruger
1cff296ab5
small fixes, wown parse for class test
2014-06-02 13:45:08 +03:00
Torsten Ruger
31a55b07ac
makes memory a three operand instruction, like add etc. But 3 regs are still undone
2014-06-01 21:20:44 +03:00
Torsten Ruger
08bbad0fdc
more on classes, have to work on asm next
2014-06-01 21:03:08 +03:00
Torsten Ruger
1d10c2c03e
had forgotten calls on instance variables. corrected + tests
2014-06-01 14:46:16 +03:00
Torsten Ruger
9ea0acf2e3
first oo steps are wobbly, but a string.plus parses
2014-06-01 14:24:54 +03:00
Torsten Ruger
86431120d5
add also calls on classes and more tests for that
2014-05-31 17:58:26 +03:00
Torsten Ruger
5756e0b325
move that test to core (cant be done in compiled code) and focus on string addition instead
2014-05-31 16:43:03 +03:00
Torsten Ruger
cdfc1ac891
kernel functions are not fixed to be Object functions
2014-05-31 16:19:44 +03:00
Torsten Ruger
a6f02d6be3
let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life
2014-05-31 14:35:33 +03:00
Torsten Ruger
3713d08748
renamed program to boot_space, as in object_space at boot time. thats the way its going
2014-05-31 12:52:29 +03:00
Torsten Ruger
3156887a81
add instance variables and module name as basic types (as name was there already) and add tests
2014-05-30 14:25:08 +03:00
Torsten Ruger
497211f027
fix class tests and link them into all. 352 tests
2014-05-30 12:24:38 +03:00
Torsten Ruger
806960a4d6
fixing module and class rules to actually use module names. fix all tests
2014-05-30 12:17:11 +03:00
Torsten Ruger
f03d445f3d
add module names and instance variables as parse rules
2014-05-30 12:06:42 +03:00
Torsten Ruger
3e93517986
adds class definition with tests
2014-05-30 10:59:49 +03:00
Torsten Ruger
e7a823bf3e
renamed module_def too module_definition and fixed leading space tests
2014-05-30 10:42:43 +03:00
Torsten Ruger
caec5ee6f0
add module to root parse and tests
2014-05-30 10:31:25 +03:00
Torsten Ruger
c69a44f316
define modules and tests, no compiling
2014-05-29 15:57:33 +03:00
Torsten Ruger
5e8688c417
small fixes to get all the tests to pass/run
2014-05-28 21:00:52 +03:00
Torsten Ruger
25cd80c76b
small fix to return gets recursive fibonacchi to work
2014-05-28 20:13:03 +03:00
Torsten Ruger
5c0f62ebb9
upgrade calls with operator argument and chaining. Almost feels like cheating, too easy
2014-05-28 15:22:37 +03:00
Torsten Ruger
0f118c591d
fix return compilation and use it on the while fibo. worked immediately :-)
2014-05-28 15:03:54 +03:00
Torsten Ruger
5a415aed92
fix fragment tests to actually execute on the pi and check the output
2014-05-28 14:55:13 +03:00
Torsten Ruger
c01c19209a
fix tests
2014-05-28 14:27:18 +03:00
Torsten Ruger
6bfe643032
add some return test to functions
2014-05-27 16:51:37 +03:00
Torsten Ruger
fbaf292bb6
add a simple return, ie the normal kind, not with trailing statements
2014-05-27 16:33:24 +03:00
Torsten Ruger
21a53c6a7f
fix the compound type parser tests
2014-05-27 15:41:34 +03:00
Torsten Ruger
a6ea45b203
fixed deprication
2014-05-27 15:33:08 +03:00
Torsten Ruger
0e2b5665ff
add recursive fibo test, but that needs return first
2014-05-27 15:31:31 +03:00
Torsten Ruger
62ae79dfd8
all lights are green in crystal land
2014-05-25 13:45:04 +03:00
Torsten Ruger
1f17262887
fix the handcoded fibonacci (registers again)
2014-05-25 13:34:06 +03:00
Torsten Ruger
5afa6f4239
move the if logic around (execute false first) and fix the parameters passing
2014-05-25 11:35:45 +03:00
Torsten Ruger
5fb1d9825a
fixed tests according to new calling convention
2014-05-25 10:57:26 +03:00
Torsten Ruger
6ac92cac3a
working on registers, awip (a work in progress)
2014-05-25 08:43:07 +03:00
Torsten Ruger
1e326e00b9
fix tests after register allocation work
2014-05-24 16:52:54 +03:00
Torsten Ruger
61a60abd08
ridiculously easy to implement the if now
2014-05-24 10:41:57 +03:00
Torsten Ruger
00d85156da
rename conditional to if expression
2014-05-24 10:18:54 +03:00
Torsten Ruger
6eeefc5617
passes the test, as (did i mention this) it actuall works (he cackles)
2014-05-23 20:30:55 +03:00
Torsten Ruger
7b6d6b9024
more stack tests, just to make sure
2014-05-23 15:08:47 +03:00
Torsten Ruger
c196817568
adds the intel tests, even intel is not integrated. Helps to catch global replace errors
2014-05-22 19:36:13 +03:00
Torsten Ruger
bfa13f9546
moved with better name
2014-05-22 19:34:42 +03:00
Torsten Ruger
c3488724dc
moved with better name
2014-05-22 19:34:13 +03:00
Torsten Ruger
dcbbff5527
is now a fragment
2014-05-22 19:32:59 +03:00
Torsten Ruger
ccf88319e0
gives function the list of blocks it needs for branching and documents also the blocks better
2014-05-22 14:18:22 +03:00
Torsten Ruger
a76ba577f2
putint test ok
2014-05-21 22:16:19 +03:00
Torsten Ruger
33fb8e7d2f
better test for foo, nice rythm
2014-05-21 21:37:04 +03:00
Torsten Ruger
e3bccaa0fe
thats putstring working again (better testing == better code => better sleep, longer life :-)
2014-05-21 21:27:05 +03:00
Torsten Ruger
741c55cba3
start testing the previous runners more rigourusly
2014-05-21 21:13:12 +03:00
Torsten Ruger
56afe575e1
writing before asserting to be able to debug the object, also move to hex
2014-05-21 19:05:40 +03:00
Torsten Ruger
2df2dcc528
function now returns locals, not free registers
2014-05-21 16:42:36 +03:00
Torsten Ruger
53cfeb72a4
fix test and remove hack for -
2014-05-21 12:42:54 +03:00
Torsten Ruger
9d873d3cba
implement string loading and convert hello test
2014-05-20 19:21:29 +03:00
Torsten Ruger
c7a2ce5af9
phase 2, add/sub instructions work with +- operator
2014-05-20 11:54:59 +03:00
Torsten Ruger
c3c6928dc8
phase one, assignment for constants (moves) work
2014-05-20 11:14:18 +03:00
Torsten Ruger
7056f6f05c
first step of assignment magic
2014-05-20 11:03:18 +03:00
Torsten Ruger
e8660d92db
merged the fibo arm test to small_programs, as that is what it is
2014-05-20 10:35:46 +03:00
Torsten Ruger
fcf76eed34
better testing for small assembly (for coming changes)
2014-05-20 10:29:08 +03:00
Torsten Ruger
f34fddd383
minor
2014-05-19 21:28:18 +03:00
Torsten Ruger
e07682b6a3
make the asm fibo output its result. slam dunk
2014-05-19 21:04:15 +03:00
Torsten Ruger
fe1414f383
adds hand coded fibo, works
2014-05-19 17:32:41 +03:00
Torsten Ruger
8ba79d8de8
fibinacci actually compiles, doesnt mean it works though
2014-05-19 11:29:18 +03:00
Torsten Ruger
db4f074b75
last split control/stack tests
2014-05-19 11:27:20 +03:00
Torsten Ruger
76f1537174
fix some arguemnt names
2014-05-18 12:34:53 +03:00
Torsten Ruger
9fc8bfbb55
fixin up mov arguments
2014-05-18 12:30:49 +03:00
Torsten Ruger
2be96dccdc
fix logic instruction arguments
2014-05-18 12:18:57 +03:00
Torsten Ruger
6abd10f278
started naming instruction arguments properly, starting with compare
2014-05-18 11:11:26 +03:00
Torsten Ruger
88eeb2bf65
increment implementation (start) and more splitting
2014-05-16 23:08:03 +03:00
Torsten Ruger
7e2210f772
renaming update_status_flag to just update_status
2014-05-16 19:56:13 +03:00
Torsten Ruger
3d497ca622
some tests
2014-05-16 17:30:26 +03:00
Torsten Ruger
155066aac8
own dir for arm tests and split logic off
2014-05-16 15:19:38 +03:00
Torsten Ruger
87e0f297e3
rename extra to right in logic inst
2014-05-16 11:27:30 +03:00
Torsten Ruger
ccafb09224
rename first hash argument from right to left in logic inst
2014-05-16 10:54:56 +03:00
Torsten Ruger
009c0895f4
change right syntax to 1.9 style, looks a little nicer
2014-05-15 21:35:45 +03:00
Torsten Ruger
a0f0d08e81
named the first intruction constructor argument
2014-05-15 19:41:51 +03:00
Torsten Ruger
b4c79d218f
work on Integer.to_s , not a simple task as it turns out
2014-05-15 16:54:23 +03:00
Torsten Ruger
918ede1c02
arm program to generate optimal devision code for constants
2014-05-15 16:53:47 +03:00
Torsten Ruger
054f94d68b
add some comment and tests (but small bugs still there)
2014-05-14 22:34:53 +03:00
Torsten Ruger
3912e0cd31
fix register issues, some typos
2014-05-14 22:04:03 +03:00
Torsten Ruger
e10f4863ee
exporting labels to elf for (a lot) better readability
2014-05-14 16:15:47 +03:00
Torsten Ruger
d6b5d46165
while compiles. jo
2014-05-14 12:02:54 +03:00
Torsten Ruger
2230a4f25e
clean up intruction instantiation and fix tests
2014-05-14 10:47:30 +03:00
Torsten Ruger
46ea1df51e
rename function_call to call_site in all levels to avoid confusion
2014-05-13 21:15:02 +03:00
Torsten Ruger
04af367bc0
coming together, more and more each day
2014-05-13 21:06:12 +03:00
Torsten Ruger
b0302948dd
rename machine to c_machine
2014-05-13 17:06:42 +03:00
Torsten Ruger
140d33b167
c fibs (need to loop a lot to use time on it)
2014-05-13 10:36:44 +03:00
Torsten Ruger
cd67589f3e
life must go on, compunds must go (for now)
2014-05-13 08:35:49 +03:00
Torsten Ruger
61d72a74ad
fixes array test for previous rename
2014-05-13 08:35:17 +03:00
Torsten Ruger
ff612446be
using hash_key and value rules
2014-05-12 21:44:51 +03:00
Torsten Ruger
fdb5dd4f67
a good stab at array anf hash constants
2014-05-12 21:36:38 +03:00
Torsten Ruger
25a7c3ea68
fixed fibonacci example
2014-05-12 14:24:36 +03:00
Torsten Ruger
1170b0798b
make condition brackets optional
2014-05-12 13:57:24 +03:00
Torsten Ruger
956d1eb135
newline fiddling in the parser yields goods results
2014-05-12 13:47:47 +03:00
Torsten Ruger
ee4d8033af
redid while with brackets and just one condition expression
2014-05-12 12:26:38 +03:00
Torsten Ruger
e2fb0a5f34
rename conditional to control in parser
2014-05-12 12:20:31 +03:00
Torsten Ruger
7940efc64d
still trying that while loop. Check as everything else works
2014-05-12 12:14:04 +03:00
Torsten Ruger
4a27314533
fix the tests for oprerators. Also naming keywords demands change
2014-05-11 18:38:02 +03:00
Torsten Ruger
3974f2516d
llvm example
2014-05-11 17:06:13 +03:00
Torsten Ruger
2d389d2e00
adds basic math operators, thanks to kasper associative and prioritised
2014-05-10 21:41:46 +03:00
Torsten Ruger
6378209f33
leave assignee as name_expression in assignment, fix tests accordingly
2014-05-10 19:11:32 +03:00
Torsten Ruger
47f1608685
start to add while loop
2014-05-10 19:02:51 +03:00
Torsten Ruger
8faf0ba17f
phase 1- get rid of the pesty args in structions
2014-05-10 15:47:27 +03:00
Torsten Ruger
79a28ac5fa
trying to get function calls to work (but will have to rework regeister handling)
2014-05-10 15:24:56 +03:00
Torsten Ruger
7d69132d90
first root test
2014-05-10 12:57:10 +03:00
Torsten Ruger
94e8a947d9
debug helper
2014-05-10 12:55:22 +03:00
Torsten Ruger
b66b5ceff7
fix the runner to handle list of expressiosn
2014-05-10 11:23:45 +03:00
Torsten Ruger
8f2a22d12f
add a repeat to the root parser rule (need to test the root more)
2014-05-10 11:18:39 +03:00
Torsten Ruger
af1df1a104
renamed root parser class to Crystal
2014-05-10 11:03:23 +03:00
Torsten Ruger
db22966de9
hacking to get list of expressions to work (shudder)
2014-05-10 10:59:36 +03:00
Torsten Ruger
8e6297dcff
improving the string according to kasper
2014-05-09 13:51:47 +03:00
Torsten Ruger
e4dce2394c
one test slipped through
2014-05-08 21:14:26 +03:00
Torsten Ruger
6ee290e0bb
fixes all existing parser tests
2014-05-08 21:09:07 +03:00
Torsten Ruger
53a8efaa59
get the conditionals to work again
2014-05-08 19:49:15 +03:00
Torsten Ruger
eaf097752a
use debug when parsing
2014-05-08 19:31:36 +03:00
Torsten Ruger
500bc36a29
testing escaped input is awkward
2014-05-08 19:29:35 +03:00
Torsten Ruger
9c2dfe79da
at least basic tests work again
2014-05-08 18:42:24 +03:00
Torsten Ruger
4c585e415b
output debug for failed parses
2014-05-08 18:38:10 +03:00
Torsten Ruger
5436e6bfc9
testing comments
2014-05-08 18:37:52 +03:00
Torsten Ruger
f0ad11bf8c
resistance was useless, wilson is now part of the collective (as intel)
2014-05-08 15:09:56 +03:00
Torsten Ruger
f7f0eee31a
adjust program tests to new syntax, hello world works there too -)
2014-05-08 14:14:15 +03:00
Torsten Ruger
ee864fc602
fixed arm tests to use ArmMachine
2014-05-07 14:58:38 +03:00
Torsten Ruger
4135c4d2dc
crystal says Hello.
2014-05-06 21:36:28 +03:00
Torsten Ruger
7d20b5e2df
at least its in shape to start debugging again (that must count as half full)
2014-05-05 22:21:11 +03:00
Torsten Ruger
69b04d930f
cleanup
2014-05-05 15:59:29 +03:00
Torsten Ruger
de66238a9e
moved all compile to ast, vm does link and assemble. Getting there
2014-05-05 11:03:43 +03:00
Torsten Ruger
7c7e58ea62
upgrades ast to first class
2014-05-05 09:51:16 +03:00
Torsten Ruger
7c0aa8ae7d
getting better, but somethings off
2014-05-05 09:35:40 +03:00
Torsten Ruger
a61170942f
so close i can smell it, checkpoint
2014-05-03 22:18:04 +03:00
Torsten Ruger
5608c411bf
rename
2014-05-03 18:57:43 +03:00
Torsten Ruger
968556a03e
get the tests to work
2014-05-03 18:56:56 +03:00
Torsten Ruger
04e4dc872e
check
2014-05-03 18:51:47 +03:00
Torsten Ruger
845a8cab8b
more semi random code, a checkpoint
2014-05-03 15:13:44 +03:00
Torsten Ruger
fae0c1ab8c
renamed program to assembler (to avoid clashes in vm)
2014-05-02 08:14:38 +03:00
Torsten Ruger
990b4726ba
more random code
2014-05-02 08:02:25 +03:00
Torsten Ruger
1954ca562c
move non working fibos out of the way
2014-04-29 17:14:26 +03:00
Torsten Ruger
98a907e8e6
with the new framework there are 16 more tests, just doing it thorough
2014-04-29 17:02:38 +03:00
Torsten Ruger
8151ed6b9d
moe the last (function) tests to new test model
2014-04-29 16:57:36 +03:00
Torsten Ruger
1593d330ae
move assignment test to basic suite
2014-04-29 16:49:37 +03:00
Torsten Ruger
afce197797
move conditional and expression test to new model
2014-04-29 16:47:33 +03:00
Torsten Ruger
76055575a1
moves the function call tests to new model
2014-04-29 16:36:29 +03:00
Torsten Ruger
1af45334b7
move argument and parameter tests to new framework
2014-04-29 16:22:39 +03:00
Torsten Ruger
9e75a50315
improved the framework a bit
2014-04-29 16:21:28 +03:00
Torsten Ruger
585c27c78d
adds the concern aproach and explanation
2014-04-29 14:09:10 +03:00
Torsten Ruger
b6e08faa39
folds all basic tests into new directory
2014-04-29 13:50:07 +03:00
Torsten Ruger
2507251f75
start to split tests according to feature
2014-04-29 11:37:43 +03:00
Torsten Ruger
7dfde45373
fixes missing string tests and expression/transformation
2014-04-29 11:17:19 +03:00
Torsten Ruger
9c16d81ad6
some explanation for the parser tests
2014-04-28 22:22:37 +03:00
Torsten Ruger
aaed2ed5a1
More assignment test
2014-04-28 22:07:35 +03:00
Torsten Ruger
92a9372dcc
moved nodes to parser (one more layer) and fixed tests. also adds assignment
2014-04-28 21:21:12 +03:00
Torsten Ruger
c1a6003704
move straight to rb files, fixed runner
2014-04-28 16:47:12 +03:00
Torsten Ruger
2fdbb9f3ae
imroved and fixed node test (parse and transform)
2014-04-28 16:26:19 +03:00
Torsten Ruger
cfcb9ded2f
fixed and tightened transformation tests, also by implementing node ==
2014-04-28 16:07:34 +03:00
Torsten Ruger
e04973fc3c
making grammar look more like ruby
2014-04-28 15:46:57 +03:00
Torsten Ruger
0a3253c5c3
adds a runner that parses files (and some fibo examples)
2014-04-28 11:19:28 +03:00
Torsten Ruger
74060d6ab6
expanded many rule names, added some tests to find the bugs introduced
2014-04-27 21:41:38 +03:00
Torsten Ruger
408cf98ea5
renamed parser rules for clarity. fixed
2014-04-27 21:12:42 +03:00
Torsten Ruger
28410ab22a
adjusted code and tests to use renamed and rearranged parser bits
2014-04-27 18:13:34 +03:00
Torsten Ruger
f628c67188
starting to deompose the parser
2014-04-27 16:30:32 +03:00
Torsten Ruger
96a9cd3270
fixed asserts
2014-04-27 16:09:22 +03:00
Torsten Ruger
5423bc8f7e
convert to test case
2014-04-27 15:56:22 +03:00
Torsten Ruger
d72c9a3bb0
fixed tests (namespacing) and finally created a test_all
2014-04-27 15:44:34 +03:00
Torsten Ruger
6fafeda66d
block dsl facelift
2014-04-27 15:19:48 +03:00
Torsten Ruger
88ed97ac3b
fix the tests with new block syntax
2014-04-25 21:08:19 +03:00
Torsten Ruger
92beb638de
better logic with new block class
2014-04-25 18:37:19 +03:00
Torsten Ruger
d08e6702f0
removes the asm from assemble signature (not used)
2014-04-25 11:56:53 +03:00
Torsten Ruger
93e4178017
rewrote as testcase (quicker than checking where spec errors came from)
2014-04-24 21:03:11 +03:00
Torsten Ruger
2b1a56b4fe
starting with own node tests
2014-04-24 19:45:22 +03:00
Torsten Ruger
c411ac5df8
removed the structs (code smell)
2014-04-24 17:38:06 +03:00
Torsten Ruger
305f2380a9
folded fake builder, started adapting tests and added example file
2014-04-24 17:17:17 +03:00
Torsten Ruger
601dc22b2e
get thnads tests to work
2014-04-24 15:53:48 +03:00
Torsten Ruger
d90ea3dd26
copied thnad to get a kickstart
2014-04-24 15:43:20 +03:00
Torsten Ruger
7d1be1f908
improved requires
2014-04-23 13:57:34 +03:00
Torsten Ruger
69c1f8fccc
reduced label mess
2014-04-23 13:52:34 +03:00
Torsten Ruger
ceefa05b2f
removed arm subdirectory
2014-04-23 12:51:09 +03:00
Torsten Ruger
8955cf31da
really remove externs
2014-04-23 11:14:25 +03:00
Torsten Ruger
778890298c
rename data_object to string_node and move the padding there
2014-04-23 00:12:43 +03:00
Torsten Ruger
b240dc5100
fixing address resolution cleans up hello world
2014-04-22 23:55:47 +03:00
Torsten Ruger
2fdc59c13c
some renaming
2014-04-22 23:13:16 +03:00