This website requires JavaScript.
c01c19209a
fix tests
Torsten Ruger
2014-05-28 14:27:18 +03:00
07ef170db0
padding with space not zero
Torsten Ruger
2014-05-28 14:26:24 +03:00
dded655443
update status
Torsten Ruger
2014-05-27 19:19:55 +03:00
262868161c
typo
Torsten Ruger
2014-05-27 19:19:46 +03:00
6bfe643032
add some return test to functions
Torsten Ruger
2014-05-27 16:51:37 +03:00
fbaf292bb6
add a simple return, ie the normal kind, not with trailing statements
Torsten Ruger
2014-05-27 16:33:24 +03:00
21a53c6a7f
fix the compound type parser tests
Torsten Ruger
2014-05-27 15:41:34 +03:00
0b07e77782
fix the spurious root expression and add conmound types back (thanks to kasper for fixing that)
Torsten Ruger
2014-05-27 15:36:51 +03:00
a6ea45b203
fixed deprication
Torsten Ruger
2014-05-27 15:33:08 +03:00
0e2b5665ff
add recursive fibo test, but that needs return first
Torsten Ruger
2014-05-27 15:31:31 +03:00
62ae79dfd8
all lights are green in crystal land
Torsten Ruger
2014-05-25 13:45:04 +03:00
1f17262887
fix the handcoded fibonacci (registers again)
Torsten Ruger
2014-05-25 13:34:06 +03:00
5afa6f4239
move the if logic around (execute false first) and fix the parameters passing
Torsten Ruger
2014-05-25 11:35:45 +03:00
5a5b016a7e
use crystal calling convention, documented in readme
Torsten Ruger
2014-05-25 10:57:56 +03:00
5fb1d9825a
fixed tests according to new calling convention
Torsten Ruger
2014-05-25 10:57:26 +03:00
6ac92cac3a
working on registers, awip (a work in progress)
Torsten Ruger
2014-05-25 08:43:07 +03:00
1e326e00b9
fix tests after register allocation work
Torsten Ruger
2014-05-24 16:52:54 +03:00
4a67504a61
remove parslet, bundling now
Torsten Ruger
2014-05-24 14:51:50 +03:00
d131218b83
fixed and using gemfile
Torsten Ruger
2014-05-24 14:50:30 +03:00
6e7e7563a2
add a gemspec (with the madly optimistic thought of ever releasing a gem)
Torsten Ruger
2014-05-24 14:35:06 +03:00
61a60abd08
ridiculously easy to implement the if now
Torsten Ruger
2014-05-24 10:41:57 +03:00
00d85156da
rename conditional to if expression
Torsten Ruger
2014-05-24 10:18:54 +03:00
6eeefc5617
passes the test, as (did i mention this) it actuall works (he cackles)
Torsten Ruger
2014-05-23 20:30:55 +03:00
2c90006697
that fixes the while. To work. Actually work. Fibonacci and all :-)
Torsten Ruger
2014-05-23 20:27:14 +03:00
7b6d6b9024
more stack tests, just to make sure
Torsten Ruger
2014-05-23 15:08:47 +03:00
86e73bf1ba
save and restore the right registers
Torsten Ruger
2014-05-22 21:55:17 +03:00
4f0b769e82
get conditions to work for while
Torsten Ruger
2014-05-22 21:38:57 +03:00
c196817568
adds the intel tests, even intel is not integrated. Helps to catch global replace errors
Torsten Ruger
2014-05-22 19:36:13 +03:00
bfa13f9546
moved with better name
Torsten Ruger
2014-05-22 19:34:42 +03:00
c3488724dc
moved with better name
Torsten Ruger
2014-05-22 19:34:13 +03:00
dcbbff5527
is now a fragment
Torsten Ruger
2014-05-22 19:32:59 +03:00
7c2d149106
solves control flow issue when adding blocks
Torsten Ruger
2014-05-22 16:35:59 +03:00
8596fb312d
while coded
Torsten Ruger
2014-05-22 14:56:31 +03:00
ccf88319e0
gives function the list of blocks it needs for branching and documents also the blocks better
Torsten Ruger
2014-05-22 14:18:22 +03:00
cf87c5323d
using the next field of blocks for a consecutive code line
Torsten Ruger
2014-05-22 13:59:47 +03:00
a76ba577f2
putint test ok
Torsten Ruger
2014-05-21 22:16:19 +03:00
33fb8e7d2f
better test for foo, nice rythm
Torsten Ruger
2014-05-21 21:37:04 +03:00
e3bccaa0fe
thats putstring working again (better testing == better code => better sleep, longer life :-)
Torsten Ruger
2014-05-21 21:27:05 +03:00
587fd56300
remove a layer of indirection
Torsten Ruger
2014-05-21 21:15:23 +03:00
741c55cba3
start testing the previous runners more rigourusly
Torsten Ruger
2014-05-21 21:13:12 +03:00
bc278a61eb
using function args for call
Torsten Ruger
2014-05-21 21:12:46 +03:00
65cde70114
add space at file end
Torsten Ruger
2014-05-21 21:08:15 +03:00
46102e56ad
rename c to register machine
Torsten Ruger
2014-05-21 19:43:46 +03:00
937f566b27
value is not derived from code (was too much generalisation/confusing)
Torsten Ruger
2014-05-21 19:41:51 +03:00
067cde8d43
remove remnant of old dsl
Torsten Ruger
2014-05-21 19:34:58 +03:00
c36a08d52d
small fixes
Torsten Ruger
2014-05-21 19:33:58 +03:00
b281c24a39
move towards locals (not hardcoding registers)
Torsten Ruger
2014-05-21 19:27:27 +03:00
570b6db659
start using locals
Torsten Ruger
2014-05-21 19:06:21 +03:00
847a486288
fix from assign
Torsten Ruger
2014-05-21 19:06:06 +03:00
56afe575e1
writing before asserting to be able to debug the object, also move to hex
Torsten Ruger
2014-05-21 19:05:40 +03:00
c701eb9f5b
outputting hex for better comparison with objdump
Torsten Ruger
2014-05-21 19:04:48 +03:00
127ce5a5d9
outputting entries to get jumps rights
Torsten Ruger
2014-05-21 19:04:16 +03:00
2df2dcc528
function now returns locals, not free registers
Torsten Ruger
2014-05-21 16:42:36 +03:00
e1f889fd10
fix fibo with new syntax. certainly works for operators, but not everything
Torsten Ruger
2014-05-21 12:47:40 +03:00
16a07d5aa2
fixed method_missing to check whether local var exists (not gobble everything up)
Torsten Ruger
2014-05-21 12:44:36 +03:00
53cfeb72a4
fix test and remove hack for -
Torsten Ruger
2014-05-21 12:42:54 +03:00
9d873d3cba
implement string loading and convert hello test
Torsten Ruger
2014-05-20 19:21:29 +03:00
c7a2ce5af9
phase 2, add/sub instructions work with +- operator
Torsten Ruger
2014-05-20 11:54:59 +03:00
c3c6928dc8
phase one, assignment for constants (moves) work
Torsten Ruger
2014-05-20 11:14:18 +03:00
7056f6f05c
first step of assignment magic
Torsten Ruger
2014-05-20 11:03:18 +03:00
e8660d92db
merged the fibo arm test to small_programs, as that is what it is
Torsten Ruger
2014-05-20 10:35:46 +03:00
fcf76eed34
better testing for small assembly (for coming changes)
Torsten Ruger
2014-05-20 10:29:08 +03:00
0fa47d204e
minor
Torsten Ruger
2014-05-20 10:28:34 +03:00
f34fddd383
minor
Torsten Ruger
2014-05-19 21:28:18 +03:00
e07682b6a3
make the asm fibo output its result. slam dunk
Torsten Ruger
2014-05-19 21:04:15 +03:00
fe1414f383
adds hand coded fibo, works
Torsten Ruger
2014-05-19 17:32:41 +03:00
285988f173
putint works, work on syntax goes on
Torsten Ruger
2014-05-19 15:44:12 +03:00
76ce9aa654
improve argument handling for puntint
Torsten Ruger
2014-05-19 12:18:01 +03:00
8ba79d8de8
fibinacci actually compiles, doesnt mean it works though
Torsten Ruger
2014-05-19 11:29:18 +03:00
c56b7cdf09
minor
Torsten Ruger
2014-05-19 11:28:37 +03:00
59952f8503
more work on instruction format
Torsten Ruger
2014-05-19 11:28:13 +03:00
db4f074b75
last split control/stack tests
Torsten Ruger
2014-05-19 11:27:20 +03:00
76f1537174
fix some arguemnt names
Torsten Ruger
2014-05-18 12:34:53 +03:00
9fc8bfbb55
fixin up mov arguments
Torsten Ruger
2014-05-18 12:30:49 +03:00
2be96dccdc
fix logic instruction arguments
Torsten Ruger
2014-05-18 12:18:57 +03:00
6abd10f278
started naming instruction arguments properly, starting with compare
Torsten Ruger
2014-05-18 11:11:26 +03:00
f65ad813af
move first arg into derived intruction constructor
Torsten Ruger
2014-05-18 10:27:35 +03:00
a35bba39bc
merge logichelper into last class that uses it
Torsten Ruger
2014-05-18 10:24:14 +03:00
7b1b2c5d87
aliased add_code to <<, to give a bit of the stream feel
Torsten Ruger
2014-05-18 10:15:43 +03:00
53666e8b33
bit of evaling
Torsten Ruger
2014-05-16 23:33:25 +03:00
a08661955f
a bit of cleanup and the good news is, we can output a (small) number
Torsten Ruger
2014-05-16 23:24:19 +03:00
fee82643e5
strangely the coredumps stopped. sure didnt feel like they would
Torsten Ruger
2014-05-16 23:08:45 +03:00
88eeb2bf65
increment implementation (start) and more splitting
Torsten Ruger
2014-05-16 23:08:03 +03:00
7e2210f772
renaming update_status_flag to just update_status
Torsten Ruger
2014-05-16 19:56:13 +03:00
b3f7b66ceb
coding the weird udiv10 and utoa
Torsten Ruger
2014-05-16 19:55:46 +03:00
823c11a381
more work on instrucitons, mov this time
Torsten Ruger
2014-05-16 17:31:01 +03:00
3d497ca622
some tests
Torsten Ruger
2014-05-16 17:30:26 +03:00
155066aac8
own dir for arm tests and split logic off
Torsten Ruger
2014-05-16 15:19:38 +03:00
4030f32ead
finally coded the logic Shifting (what a beast)
Torsten Ruger
2014-05-16 12:55:51 +03:00
87e0f297e3
rename extra to right in logic inst
Torsten Ruger
2014-05-16 11:27:30 +03:00
ccafb09224
rename first hash argument from right to left in logic inst
Torsten Ruger
2014-05-16 10:54:56 +03:00
ef17bbf9dd
rename left to first in instruction and started on logic instruction cleanup
Torsten Ruger
2014-05-16 10:42:25 +03:00
009c0895f4
change right syntax to 1.9 style, looks a little nicer
Torsten Ruger
2014-05-15 21:35:45 +03:00
a0f0d08e81
named the first intruction constructor argument
Torsten Ruger
2014-05-15 19:41:51 +03:00
b4c79d218f
work on Integer.to_s , not a simple task as it turns out
Torsten Ruger
2014-05-15 16:54:23 +03:00
918ede1c02
arm program to generate optimal devision code for constants
Torsten Ruger
2014-05-15 16:53:47 +03:00
054f94d68b
add some comment and tests (but small bugs still there)
Torsten Ruger
2014-05-14 22:34:53 +03:00
c9ffb78e82
allowing comments instead of newlines and not capturing comments (leave that for later as it messes the output)
Torsten Ruger
2014-05-14 22:19:20 +03:00
3912e0cd31
fix register issues, some typos
Torsten Ruger
2014-05-14 22:04:03 +03:00
e10f4863ee
exporting labels to elf for (a lot) better readability
Torsten Ruger
2014-05-14 16:15:47 +03:00