Torsten Ruger
|
a552e3fbce
|
remove virtual frame (just using parfait)
|
2015-05-10 17:12:43 +03:00 |
|
Torsten Ruger
|
d41676fdfd
|
namespace cleanup
remove unnecessary Virtual namespace prefix
which was a large motivation for the move
|
2015-05-08 15:19:30 +03:00 |
|
Torsten Ruger
|
de8fe46fe0
|
move compiler into virtual
and associated changes in code, requires tests etc
|
2015-05-08 15:10:30 +03:00 |
|
Torsten Ruger
|
a1b9acce3d
|
basic name expression code
needs fleshing out and tests
|
2015-05-08 14:57:11 +03:00 |
|
Torsten Ruger
|
c700a3aabe
|
better compiler docs
|
2015-05-08 14:55:01 +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
|
9bf5eb2621
|
somewhat correct that message at compile-time idea
|
2015-05-06 15:15:33 +03:00 |
|
Torsten Ruger
|
8a7db6d4f2
|
remove message as third arg to compile
|
2015-05-06 15:14:47 +03:00 |
|
Torsten Ruger
|
1feed6af44
|
create one file per instruction
|
2015-05-06 08:55:14 +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
|
ff22c17784
|
move ast to compiler
new compile module does just that: compile
Dispatch with visitor pattern
no more patching into ast
|
2015-05-04 14:22:22 +03:00 |
|
Torsten Ruger
|
92bbd70c77
|
move builtin to register, where it belongs
|
2015-05-04 11:12:31 +03:00 |
|
Torsten Ruger
|
3659cb4b81
|
make the tests run (and pass) again
|
2015-05-04 11:10:40 +03:00 |
|
Torsten Ruger
|
8180c67d48
|
move sof to own repo
|
2015-05-03 20:38:13 +03:00 |
|
Torsten Ruger
|
618b8d05f8
|
adding ruby method lists
Just for reference (not to copy)
|
2015-04-15 11:39:12 +03:00 |
|
Torsten Ruger
|
5792fb983b
|
add module
between class and object, as in ruby
|
2015-04-15 11:38:46 +03:00 |
|
Torsten Ruger
|
c14bacd171
|
fix inheritance
|
2015-04-10 14:02:28 +03:00 |
|
Torsten Ruger
|
aaf6da8808
|
make object derivation explicit
in parfait
|
2015-04-08 20:33:15 +03:00 |
|
Torsten Ruger
|
81e3a98af8
|
add integer to parfait
|
2015-04-08 20:32:56 +03:00 |
|
Torsten Ruger
|
fdb3fbc825
|
Parfait documentation
outline of expanded parfait, documented but not coded
|
2015-04-08 20:24:50 +03:00 |
|
Torsten Ruger
|
4f1e99d744
|
adding stubs for coming classes
|
2015-04-06 11:38:11 +03:00 |
|
Torsten Ruger
|
f8fe074af2
|
change arg to arg_names
and a bit of clean up
|
2015-03-28 20:20:01 +02:00 |
|
Torsten Ruger
|
c0dcf6feb0
|
add todo comment
|
2015-03-28 12:29:17 +02:00 |
|
Torsten Ruger
|
e881a5f2ee
|
separate frames and messages
also not using context which was not defined anyway
|
2015-03-28 12:25:04 +02:00 |
|
Torsten Ruger
|
0c08c335e5
|
fix the conditional parfait
|
2015-03-25 18:30:47 +02:00 |
|
Torsten Ruger
|
aee36d9f5f
|
bit of line wrapping
|
2015-03-25 17:29:39 +02:00 |
|
Torsten Ruger
|
d758a23eb6
|
correct parfait module
parfait only needs to be in a module when it is used in the vm, not
when it is parsed.
The parsed parfait must be without namespace.
|
2015-03-25 17:16:20 +02:00 |
|
Torsten Ruger
|
6e6dd257e4
|
rename
|
2014-10-18 13:53:01 +03:00 |
|
Torsten Ruger
|
f09a70a65b
|
correctly jumping to __init and then calling main
|
2014-10-07 15:35:13 +03:00 |
|
Torsten Ruger
|
30a982be0e
|
better debug fo the booting parts
|
2014-10-07 15:34:43 +03:00 |
|
Torsten Ruger
|
c10ef20622
|
was issuing wrong instruction
|
2014-10-07 12:23:59 +03:00 |
|
Torsten Ruger
|
9ac165c34c
|
some checks
|
2014-10-07 12:23:27 +03:00 |
|
Torsten Ruger
|
cae99f217c
|
just make sre we really ret registers (some constants were flying about)
|
2014-10-07 12:23:08 +03:00 |
|
Torsten Ruger
|
e1b29d799a
|
limit to_s length
|
2014-10-07 12:21:40 +03:00 |
|
Torsten Ruger
|
b7164b354d
|
better solution for initial jump
|
2014-10-07 12:01:33 +03:00 |
|
Torsten Ruger
|
5c90ad83e0
|
add initial jump instruction
|
2014-10-06 19:57:44 +03:00 |
|
Torsten Ruger
|
e1aa3fd843
|
implement the vm call logic
|
2014-10-05 18:40:47 +03:00 |
|
Torsten Ruger
|
dbbcc738c4
|
remove walue which was eold
|
2014-10-05 01:18:11 +03:00 |
|
Torsten Ruger
|
965e5f2a0f
|
minor
|
2014-10-05 01:13:57 +03:00 |
|
Torsten Ruger
|
a99e2602ae
|
introduce method call that includes setup
|
2014-10-05 01:13:43 +03:00 |
|
Torsten Ruger
|
486580aeb2
|
fix bad scoping bug
|
2014-10-05 01:12:44 +03:00 |
|
Torsten Ruger
|
d38097aea4
|
fixing pass order by require order (easier to track)
|
2014-10-05 01:12:16 +03:00 |
|
Torsten Ruger
|
8f0fb7e4e2
|
correct function call to method call (includes vm setup)
|
2014-10-05 01:10:10 +03:00 |
|
Torsten Ruger
|
3aca3cc33d
|
making good headway with register machine implementation in arm
|
2014-10-05 01:05:18 +03:00 |
|
Torsten Ruger
|
7968cadaf9
|
remove singleton in arm machine and use class methods
|
2014-10-04 17:34:51 +03:00 |
|
Torsten Ruger
|
d7d2622d7f
|
use register instructions
|
2014-10-04 17:22:23 +03:00 |
|
Torsten Ruger
|
9939c6afa0
|
fix imports and name issues
|
2014-10-04 12:52:47 +03:00 |
|
Torsten Ruger
|
4f7fefb0ab
|
using new register instructions
|
2014-10-04 12:52:28 +03:00 |
|
Torsten Ruger
|
e3c3840bc6
|
a creative moment, making up instructions
|
2014-10-04 12:51:08 +03:00 |
|
Torsten Ruger
|
f77d3ea7eb
|
move to virtual as it leaves vm instructions
|
2014-10-04 12:50:28 +03:00 |
|
Torsten Ruger
|
c5655b1059
|
a long string of import order and namespace issues which is not over yet
|
2014-10-03 14:52:47 +03:00 |
|
Torsten Ruger
|
1347a85eb7
|
fixing import order
|
2014-10-03 14:33:06 +03:00 |
|
Torsten Ruger
|
a083c03b1d
|
move function call instruction to register level and the pass to arm
|
2014-10-03 14:32:54 +03:00 |
|
Torsten Ruger
|
1af66567fb
|
fixed the SetImplementation with new register instructions
|
2014-10-03 11:07:18 +03:00 |
|
Torsten Ruger
|
38a286942e
|
move the hash access stuff to arm, not sure if needed at all
|
2014-10-03 11:05:17 +03:00 |
|
Torsten Ruger
|
220d9f6213
|
moving instrctions into own folders and arm machine out of the way
|
2014-10-03 10:25:10 +03:00 |
|
Torsten Ruger
|
ad73e320b0
|
moved unsued code out of the way
|
2014-10-02 22:34:58 +03:00 |
|
Torsten Ruger
|
277dddeb6a
|
time was up for the Bassembler
|
2014-10-02 22:33:09 +03:00 |
|
Torsten Ruger
|
1be71918a5
|
move all arm instructions to own folder and fold inheritance
|
2014-10-02 22:28:34 +03:00 |
|
Torsten Ruger
|
9923eb0b07
|
move passes to own dir
|
2014-10-02 16:11:45 +03:00 |
|
Torsten Ruger
|
cc08016a0f
|
fix the logic of move, but really there is a deeper issue (we'd have to add to get pc relative addressing for constants)
|
2014-10-02 16:08:24 +03:00 |
|
Torsten Ruger
|
0e3e11a699
|
add more debug (string values)
|
2014-10-02 16:06:05 +03:00 |
|
Torsten Ruger
|
493b02674c
|
remove some boiler
|
2014-09-30 12:08:12 +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
|
7d52e71f5c
|
found and implemented the movw, but not for pi :-(
|
2014-09-29 20:26:55 +03:00 |
|
Torsten Ruger
|
d8710de590
|
fix frame more
|
2014-09-28 11:18:24 +03:00 |
|
Torsten Ruger
|
5a17bf3396
|
more headway on the (new) frame implementation
|
2014-09-27 14:59:16 +03:00 |
|
Torsten Ruger
|
2ce17ed5ff
|
fold messages and frames to save an instance in bootspace
|
2014-09-25 20:31:21 +03:00 |
|
Torsten Ruger
|
efe39292ae
|
extract position as module to be included
|
2014-09-25 20:30:02 +03:00 |
|
Torsten Ruger
|
6c7004688b
|
bit of namespace cleanup
|
2014-09-25 20:29:05 +03:00 |
|
Torsten Ruger
|
4d07113429
|
add register reference where symbols are allowed
|
2014-09-25 20:28:40 +03:00 |
|
Torsten Ruger
|
df9d6284ae
|
up to, ut not including, creating frames
|
2014-09-24 18:25:18 +03:00 |
|
Torsten Ruger
|
363fe5e35f
|
scaffold for NewMessage and Frame
|
2014-09-24 18:15:08 +03:00 |
|
Torsten Ruger
|
31ee3a62fe
|
rename __send__ for now
|
2014-09-24 18:14:23 +03:00 |
|
Torsten Ruger
|
892f251d18
|
implement how send should work (but parfait doesn't parse yet, so it doesnt)
|
2014-09-23 20:16:05 +03:00 |
|
Torsten Ruger
|
f5ec7f3bdb
|
fixed
|
2014-09-23 19:23:52 +03:00 |
|
Torsten Ruger
|
c5765d4255
|
improve return implementation
|
2014-09-23 19:20:55 +03:00 |
|
Torsten Ruger
|
4e01bc798f
|
add NewMessage / Frame instructions (without actual implementation)
|
2014-09-23 19:06:10 +03:00 |
|
Torsten Ruger
|
3d5eb685a1
|
more constants for slots
|
2014-09-20 17:06:11 +03:00 |
|
Torsten Ruger
|
21177bd7ce
|
add a list of symbols to boot space
|
2014-09-19 19:11:30 +03:00 |
|
Torsten Ruger
|
457b40a7de
|
fix api and implement the big constant move
|
2014-09-18 17:05:59 +03:00 |
|
Torsten Ruger
|
c32ca84861
|
clean
|
2014-09-18 17:05:22 +03:00 |
|
Torsten Ruger
|
f80df69262
|
clean
|
2014-09-18 17:04:54 +03:00 |
|
Torsten Ruger
|
49b6b99ab9
|
more work on large moves, including the notion of linking again
|
2014-09-17 17:00:19 +03:00 |
|
Torsten Ruger
|
4af93493fb
|
class code went
|
2014-09-17 16:32:21 +03:00 |
|
Torsten Ruger
|
e7f7f9c319
|
move fits_u8 to integer constant (from numberic)
|
2014-09-17 16:23:29 +03:00 |
|
Torsten Ruger
|
95c7e44342
|
at least it assembles again
|
2014-09-17 12:11:34 +03:00 |
|
Torsten Ruger
|
e4474e7e2c
|
rename length to mem_length and suffer the consequences
|
2014-09-17 12:04:54 +03:00 |
|
Torsten Ruger
|
79e42003b2
|
collect all add functions at bottom (rename too)
|
2014-09-16 18:50:44 +03:00 |
|
Torsten Ruger
|
8b8a8eea56
|
rename code.length tp mem_length with lots of noise impact
|
2014-09-16 17:16:56 +03:00 |
|
Torsten Ruger
|
cffa7f1953
|
small function naming adjustments
|
2014-09-16 17:16:13 +03:00 |
|
Torsten Ruger
|
db01529b67
|
eol warning
|
2014-09-16 17:15:17 +03:00 |
|
Torsten Ruger
|
45977ecc01
|
move assembly from visitor into objects, part one
|
2014-09-16 16:06:56 +03:00 |
|
Torsten Ruger
|
bbcfef3c43
|
make a little more real
|
2014-09-16 16:05:38 +03:00 |
|
Torsten Ruger
|
dd8e46fd1c
|
move length here
|
2014-09-16 16:05:08 +03:00 |
|
Torsten Ruger
|
56facae658
|
eol signal
|
2014-09-16 16:04:53 +03:00 |
|
Torsten Ruger
|
16b3cacc8d
|
work to move large constants
|
2014-09-16 11:39:08 +03:00 |
|
Torsten Ruger
|
c92b165a3f
|
carry constants through in reference slots. resolve functions with it
|
2014-09-15 12:08:37 +03:00 |
|
Torsten Ruger
|
bdd4a3d6ad
|
just checking which part of unimplemented i hit
|
2014-09-14 21:26:30 +03:00 |
|
Torsten Ruger
|
c51dbf51e1
|
renamed true,false,nil class to constant (from value)
|
2014-09-14 18:15:33 +03:00 |
|
Torsten Ruger
|
6b85054958
|
better, correcter use of return storage
|
2014-09-14 18:14:57 +03:00 |
|
Torsten Ruger
|
b29de4600e
|
use slot constants
|
2014-09-11 21:30:40 +03:00 |
|
Torsten Ruger
|
b7e0d3fba4
|
more on set
|
2014-09-11 21:26:22 +03:00 |
|
Torsten Ruger
|
1d33c03537
|
corrected method enter and return and created those missing constants
|
2014-09-11 19:00:14 +03:00 |
|
Torsten Ruger
|
771eeb7a3d
|
fix block positions for debug
|
2014-09-11 15:19:29 +03:00 |
|
Torsten Ruger
|
98a88ec10e
|
change to module style like other modules in this dir
|
2014-09-11 15:08:56 +03:00 |
|
Torsten Ruger
|
3d66ffcc17
|
start on __init__
|
2014-09-11 15:01:50 +03:00 |
|
Torsten Ruger
|
cb727c658e
|
add inital jump to __init__
|
2014-09-11 10:30:23 +03:00 |
|
Torsten Ruger
|
f44965ef21
|
fix padding bug
|
2014-09-10 21:43:05 +03:00 |
|
Torsten Ruger
|
e53de8ad43
|
fixup names in builtin module
|
2014-09-10 21:35:52 +03:00 |
|
Torsten Ruger
|
5a5e977b8f
|
get some old builtin code backonline and improve imports
|
2014-09-09 18:03:13 +03:00 |
|
Torsten Ruger
|
61e80d4f28
|
had to boot_classes outside constructor (unfortunately) because of recursion
|
2014-09-09 17:51:34 +03:00 |
|
Torsten Ruger
|
7036a87678
|
fix the address for calls to jump past the method object header
|
2014-09-09 17:36:33 +03:00 |
|
Torsten Ruger
|
e3fdbb30a5
|
remove relative positions. have to fix them up somehow
|
2014-09-09 17:29:24 +03:00 |
|
Torsten Ruger
|
97bfd77038
|
implements the type word
|
2014-09-09 13:28:07 +03:00 |
|
Torsten Ruger
|
8040829501
|
moves link slot positions to bytes (from words). easier maths and better for later
|
2014-09-07 17:31:40 +03:00 |
|
Torsten Ruger
|
f00b06bb44
|
move to relative (to self) addressing
|
2014-09-06 23:03:33 +03:00 |
|
Torsten Ruger
|
c6072c683b
|
oops, less said the better
|
2014-09-06 22:48:58 +03:00 |
|
Torsten Ruger
|
64a433fd15
|
move the 2 to pad_to (from each call)
|
2014-09-06 22:38:32 +03:00 |
|
Torsten Ruger
|
bfa3f28e97
|
fix assembly (at least lositions and padding)
|
2014-09-06 19:48:56 +03:00 |
|
Torsten Ruger
|
197ecd576e
|
debugging assembly
|
2014-09-05 20:56:05 +03:00 |
|
Torsten Ruger
|
d94ec6c72c
|
fix parfait test
|
2014-09-04 14:22:28 +03:00 |
|
Torsten Ruger
|
5bb03f2d8b
|
unscoping block names and adding labels to objects (which are off)
|
2014-08-30 20:55:22 +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
|
050a8ada9f
|
fix position handling
|
2014-08-30 17:08:30 +03:00 |
|
Torsten Ruger
|
6d67c03cc9
|
make block replace take array or single instruction
|
2014-08-30 16:57:56 +03:00 |
|
Torsten Ruger
|
48b33e5f9d
|
add position to instruction (for relative calculations)
|
2014-08-30 16:57:34 +03:00 |
|
Torsten Ruger
|
18f33770b5
|
fix and use object writer in test
|
2014-08-30 14:17:00 +03:00 |
|
Torsten Ruger
|
b5c39b2749
|
minor debug remove
|
2014-08-30 14:16:41 +03:00 |
|
Torsten Ruger
|
726a514c9e
|
fix assembler recursion
|
2014-08-30 14:01:22 +03:00 |
|
Torsten Ruger
|
50af6a8f41
|
lots of rework on assembly. constant object for layouts, hash implementation.
|
2014-08-30 13:48:52 +03:00 |
|
Torsten Ruger
|
d33077c2b1
|
reworking method and block assembly for new aproach
|
2014-08-30 13:47:51 +03:00 |
|
Torsten Ruger
|
90e5b4584a
|
rework link into two phase
|
2014-08-29 21:00:25 +03:00 |
|
Torsten Ruger
|
cec339890c
|
fold the linker back into assembler. too easy to get the link and assemble functions out off sync
|
2014-08-29 17:20:59 +03:00 |
|
Torsten Ruger
|
3ed1e814ec
|
more towards correct assembly
|
2014-08-29 15:49:59 +03:00 |
|
Torsten Ruger
|
99b4468599
|
fix spelling
|
2014-08-28 22:32:53 +03:00 |
|
Torsten Ruger
|
35b738639b
|
improve readmes
|
2014-08-28 19:12:46 +03:00 |
|
Torsten Ruger
|
1fc3f1fb18
|
renaming ripples
|
2014-08-28 18:53:48 +03:00 |
|
Torsten Ruger
|
09698ec70a
|
moved to consitent md ending
|
2014-08-28 18:52:55 +03:00 |
|
Torsten Ruger
|
b8a74f4a77
|
renamed the kernel dir/ module to Builtin (so to not confuse with ruby kernel module)
|
2014-08-28 18:27:04 +03:00 |
|
Torsten Ruger
|
8c1c72f1c3
|
remove that all include file
|
2014-08-28 16:44:27 +03:00 |
|
Torsten Ruger
|
9dd37a74df
|
add a kenrnel array class with function stubs
|
2014-08-28 16:39:35 +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
|
d3c4087871
|
use simple array based hash, so assembly of it will be easy
|
2014-08-28 16:20:09 +03:00 |
|
Torsten Ruger
|
0bc0506c5a
|
small fix for str len
|
2014-08-28 16:19:43 +03:00 |
|
Torsten Ruger
|
c7bc18dac8
|
small fix for str len
|
2014-08-28 16:19:30 +03:00 |
|
Torsten Ruger
|
fb42cb16f0
|
move get implementation to virtual as it should not result in register action
|
2014-08-28 08:43:38 +03:00 |
|
Torsten Ruger
|
41de2b5822
|
moved boot_class back to virtual (as things get clearer)
|
2014-08-28 08:24:37 +03:00 |
|
Torsten Ruger
|
7d35732923
|
renamed method definition to compiled method
|
2014-08-28 08:10:33 +03:00 |
|
Torsten Ruger
|
e09d3c2f65
|
adding legth of object itself
|
2014-08-28 08:08:11 +03:00 |
|
Torsten Ruger
|
a71f55f661
|
moved all link functions to a (da da) linker class
|
2014-08-27 21:44:23 +03:00 |
|
Torsten Ruger
|
aad3f7ca15
|
equivalent transformation, just looks
|
2014-08-27 17:23:50 +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
|
6343e644b4
|
prepare for short hash, but no change yet
|
2014-08-27 14:42:41 +03:00 |
|
Torsten Ruger
|
97f68a1a54
|
basic assembly frame
|
2014-08-26 22:35:56 +03:00 |
|
Torsten Ruger
|
8f9bbe2f1d
|
fold old link and length into one function
|
2014-08-26 16:36:12 +03:00 |
|
Torsten Ruger
|
1379b4ea4e
|
slightly better enter
|
2014-08-26 16:16:59 +03:00 |
|
Torsten Ruger
|
888acdca0c
|
slightly better enter
|
2014-08-26 16:15:00 +03:00 |
|
Torsten Ruger
|
714cd2a5d6
|
slightly better return implementation
|
2014-08-26 16:12:20 +03:00 |
|
Torsten Ruger
|
dd0674c7dd
|
dummy implementation of enter and return
|
2014-08-26 12:05:49 +03:00 |
|
Torsten Ruger
|
7fd9ff44db
|
simple call implementation
|
2014-08-26 11:58:28 +03:00 |
|
Torsten Ruger
|
a3a55aec08
|
add volotiles in their classes
|
2014-08-26 11:50:43 +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
|
dd82095cca
|
reditribute boot dir evenly. some was parfait, some virtual, some kernel
|
2014-08-24 00:25:15 +03:00 |
|
Torsten Ruger
|
5f3b0c1779
|
moved list to parf
|
2014-08-24 00:03:25 +03:00 |
|
Torsten Ruger
|
a7bfb6e6ee
|
rename (corrected) method def to instance methods in class
|
2014-08-23 23:57:47 +03:00 |
|
Torsten Ruger
|
ad6be2676c
|
start on call implementation, getting separation issues
|
2014-08-23 23:37:33 +03:00 |
|
Torsten Ruger
|
594784c729
|
create hard dependency to salama-arm (for now)(as path for now-now)
|
2014-08-23 21:49:52 +03:00 |
|
Torsten Ruger
|
435fefd310
|
implementation passes involving assembly go to register directory
|
2014-08-23 21:49:09 +03:00 |
|
Torsten Ruger
|
495df14e19
|
started coding, but
|
2014-08-23 20:25:19 +03:00 |
|
Torsten Ruger
|
f0efb1e0d9
|
start on implementing set
|
2014-08-23 13:57:14 +03:00 |
|
Torsten Ruger
|
a63e37fc50
|
scaffold for instance variable get implementation
|
2014-08-23 10:59:35 +03:00 |
|
Torsten Ruger
|
0fcb1c8f68
|
move the send to send_implementation, functions to add passes
|
2014-08-23 10:25:55 +03:00 |
|
Torsten Ruger
|
4783e6c326
|
more renaming ripples
|
2014-08-22 18:00:23 +03:00 |
|
Torsten Ruger
|
e398a6b053
|
make space for new passes
|
2014-08-22 17:46:09 +03:00 |
|
Torsten Ruger
|
b196810e89
|
adjusted module name accordingly
|
2014-08-22 17:40:09 +03:00 |
|
Torsten Ruger
|
b100956909
|
renamed
|
2014-08-22 17:27:57 +03:00 |
|
Torsten Ruger
|
f735d6cbc9
|
remove old stuff that i only kept for reference. be gone
|
2014-08-22 17:26:49 +03:00 |
|
Torsten Ruger
|
fd2e717b62
|
remove old boot stuff, was quite same and always mixed them up
|
2014-08-22 15:12:54 +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
|
3915f5b7f9
|
fix the missing reference bug on class
|
2014-08-21 15:35:55 +03:00 |
|
Torsten Ruger
|
0677069fc0
|
fix folded array bug by using object_id, fix ref bug but only counting first
|
2014-08-21 15:21:20 +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
|
d401327319
|
made a simple node for small objects. bad news is that tests pass unchanged
|
2014-08-19 23:16:40 +03:00 |
|
Torsten Ruger
|
8ff55fdb1f
|
that make four (times of identical == definitions)
|
2014-08-19 23:03:39 +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
|
a7dc60e638
|
just formatting
|
2014-08-19 22:57:08 +03:00 |
|
Torsten Ruger
|
dd59a2f9c6
|
remove unused attributes() boilerplate
|
2014-08-19 22:54:28 +03:00 |
|
Torsten Ruger
|
4b17a1e58f
|
use the sof attributes for equality
|
2014-08-19 22:40:28 +03:00 |
|
Torsten Ruger
|
28b4344ef9
|
make attributes available outside sof (iw as module funtion)
|
2014-08-19 22:39:58 +03:00 |
|
Torsten Ruger
|
9d5f62eded
|
only marking/counting occurences that are actually referenced, so numbers stay smaller
|
2014-08-18 17:25:49 +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
|
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
|
99e0c0db18
|
cleanup
|
2014-08-18 13:01:52 +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
|
a10321922e
|
add transformation step to tree before output to help with the logic
|
2014-08-15 22:29:48 +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
|
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
|
2f5ed43073
|
move from known attributes to volotile (white to blacklist)
|
2014-08-14 20:04:15 +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
|
7eeb269d50
|
fixed scope
|
2014-08-14 19:48:26 +03:00 |
|
Torsten Ruger
|
519283a034
|
moved utility functions to own module (used from members and writer)
|
2014-08-14 19:48:06 +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
|
90cbeddc0a
|
premature start on the salama object files, just for reading the compiled code
|
2014-08-13 20:05:00 +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
|
9a197ff7c1
|
expanded the send a bit
|
2014-08-06 18:37:19 +03:00 |
|
Torsten Ruger
|
ce3505710a
|
basic send
|
2014-08-05 15:55:24 +03:00 |
|
Torsten Ruger
|
e92f949a71
|
fix the vm in link
|
2014-07-31 21:55:54 +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
|
da9a57b3cf
|
delete some files i had kept for reference
|
2014-07-28 12:59:43 +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
|
8d7b353f33
|
pass message to compile, not frame
|
2014-07-25 10:49:34 +03:00 |
|
Torsten Ruger
|
13a05e7b72
|
comments and cosmetics
|
2014-07-24 21:56:31 +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
|
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
|
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
|
98db88ac2f
|
not recursing into labels to avoid infinite loops
|
2014-07-18 00:29:45 +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
|
f00fa98818
|
fixed import
|
2014-07-17 03:01:34 +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
|
f8e3f17660
|
split frame into message (caller) and frame (receiver)
|
2014-07-17 00:53:19 +03:00 |
|
Torsten Ruger
|
58298ab62b
|
some cleaning of scratches
|
2014-07-16 22:36:24 +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
|
ba15f352db
|
gets the if coded, but test fail die to instruction being a graph now
|
2014-07-16 20:16:40 +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
|
3a152c1295
|
adds self to sends args
|
2014-07-15 18:34:03 +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
|
49f73c090d
|
fixed tests because of inheritance changes
|
2014-07-15 09:34:45 +03:00 |
|
Torsten Ruger
|
bb051230f4
|
fixed relation of values and types that had got watered in the virtual move
|
2014-07-15 09:31:25 +03:00 |
|
Torsten Ruger
|
102c5c2327
|
remove singletons and make them constants
|
2014-07-15 09:15:04 +03:00 |
|
Torsten Ruger
|
3ca61d54eb
|
fixes constant to be values not object. interestingly tests still pass
|
2014-07-15 09:12:51 +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
|
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
|
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
|
842c4e3044
|
copied old boot for later reference
|
2014-07-12 21:18:45 +03:00 |
|
Torsten Ruger
|
c505db490f
|
brainstorming mode on the new way (tm)
|
2014-07-10 17:14:38 +03:00 |
|
Torsten Ruger
|
ee5615ec03
|
fix rename
|
2014-07-01 19:12:32 +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
|
1e866ae0ae
|
minor
|
2014-06-30 14:56:58 +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
|
b9ddd75a33
|
rewrote with ternary operator for conciseness
|
2014-06-25 16:03:39 +03:00 |
|
Torsten Ruger
|
d28df7671d
|
add the simplest possible hash replacement with tests
|
2014-06-25 16:00:24 +03:00 |
|
Torsten Ruger
|
5c887846f0
|
updates
|
2014-06-25 15:59:22 +03:00 |
|
Torsten Ruger
|
fe337fad79
|
rename and a tiny start
|
2014-06-25 15:20:46 +03:00 |
|
Torsten Ruger
|
e41bb8027d
|
copies of the old code to start the new layer
|
2014-06-25 02:47:59 +03:00 |
|
Torsten Ruger
|
9b39a3a816
|
renaming, making space for extra layer
|
2014-06-25 02:33:44 +03:00 |
|
Torsten Ruger
|
3771f44e62
|
just moving code around
|
2014-06-24 19:34:36 +03:00 |
|
Torsten Ruger
|
98de7404ef
|
named syscall register
|
2014-06-24 12:40:49 +03:00 |
|
Torsten Ruger
|
17904d8e02
|
rename blocks do_add to be the same as sunctions add_code to blur the difference
|
2014-06-24 12:36:32 +03:00 |
|
Torsten Ruger
|
43a2649635
|
new list test and debugs
|
2014-06-24 12:25:03 +03:00 |
|
Torsten Ruger
|
b8b1d98a7c
|
towards rubys true definition
|
2014-06-24 12:24:36 +03:00 |
|
Torsten Ruger
|
bc89da0bc1
|
instance setter
|
2014-06-24 12:23:58 +03:00 |
|
Torsten Ruger
|
07b98d684a
|
more on method lookup
|
2014-06-24 12:23:39 +03:00 |
|
Torsten Ruger
|
98e25abf8e
|
broaden ifs possibilities
|
2014-06-24 12:22:32 +03:00 |
|
Torsten Ruger
|
25c5b2da6e
|
more setter work
|
2014-06-24 12:20:59 +03:00 |
|
Torsten Ruger
|
dc198ac79f
|
more setter work
|
2014-06-24 12:20:38 +03:00 |
|
Torsten Ruger
|
9251bab507
|
add setter and remove debug
|
2014-06-24 12:20:10 +03:00 |
|
Torsten Ruger
|
a859951a8f
|
slight cleanup and rename test case
|
2014-06-17 14:25:33 +02:00 |
|
Torsten Ruger
|
7d05b7c42f
|
adds plocks (Proc Block) as descibed in posts. Usage also described, but not coded yet
|
2014-06-17 01:01:00 +02:00 |
|
Torsten Ruger
|
a68d84a781
|
introducing references
|
2014-06-14 23:48:12 +03:00 |
|
Torsten Ruger
|
4db54a760e
|
gives values their own directory and seperate files
|
2014-06-14 21:29:57 +03:00 |
|
Torsten Ruger
|
87fa71277a
|
some inlining and renaming
|
2014-06-14 11:12:53 +03:00 |
|
Torsten Ruger
|
0dbaebf647
|
fix all tests and a little cleaning
|
2014-06-14 10:59:25 +03:00 |
|
Torsten Ruger
|
2c26415de7
|
transformations according to todays post
|
2014-06-14 00:19:12 +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
|
017d93d929
|
add to_asm debug output functions
|
2014-06-12 21:40:25 +03:00 |
|
Torsten Ruger
|
dcd691fe00
|
minor
|
2014-06-12 21:27:47 +03:00 |
|
Torsten Ruger
|
6d6c7ddb68
|
register assignment fix (was not taking subsequent calls into account)
|
2014-06-12 21:27:30 +03:00 |
|
Torsten Ruger
|
200da192b4
|
improve output
|
2014-06-12 21:04:15 +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
|
8da1bc4645
|
fix putint (too eager optimization broke it)
|
2014-06-12 13:47:06 +03:00 |
|
Torsten Ruger
|
506f98da5a
|
fixed foo and hello, next putint
|
2014-06-12 09:07:03 +03:00 |
|
Torsten Ruger
|
eef6744827
|
fixes the if test (regs again)
|
2014-06-12 08:34:46 +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
|
4e6319b753
|
inrtoduce block passes. move the allocation there and implement those simple optimisations
|
2014-06-11 11:41:50 +03:00 |
|
Torsten Ruger
|
7cca50cd3a
|
still recoving from previous block - function change. no more exceptions at least
|
2014-06-11 00:38:46 +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
|
e9fc8ac6aa
|
making the third arg of block init explicit (not optional)
|
2014-06-10 18:51:27 +03:00 |
|
Torsten Ruger
|
7ca3207b3e
|
moved registers to machine, changed return to 0 (from 7) and erased all integer references to registers
|
2014-06-10 13:29:01 +03:00 |
|
Torsten Ruger
|
d7a60f2803
|
new register allocation generates good looking push/pop
|
2014-06-09 19:24:09 +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
|
e7bb774da0
|
fix block insert ordering with depth > 1
|
2014-06-08 00:56:15 +03:00 |
|
Torsten Ruger
|
42a840614e
|
adding call counter and splitting block after call
|
2014-06-08 00:55:18 +03:00 |
|
Torsten Ruger
|
0a14cffefb
|
fixing fragment tests, most done
|
2014-06-07 23:22:32 +03:00 |
|
Torsten Ruger
|
6b715bbb1b
|
remoe hash attributes (less magic) and make attributes on context explicit
|
2014-06-07 22:41:02 +03:00 |
|
Torsten Ruger
|
36f237c633
|
removed the (too) fancy dsl. Also introduce register indirection
|
2014-06-07 17:59:44 +03:00 |
|
Torsten Ruger
|
6433a394e7
|
adding receiver and a register abstraction
|
2014-06-06 21:49:03 +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
|
e6e969b4e4
|
a spirited effort to make assembly repeatable
|
2014-06-05 10:46:42 +03:00 |
|
Torsten Ruger
|
41a02a7190
|
small step to making the assmebly process repeatable (is destructive at the moment)
|
2014-06-05 10:28:53 +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 |
|
Nigel Thorne
|
5145d21e37
|
Merge branch 'master' of https://github.com/ruby-in-ruby/crystal
|
2014-06-04 21:49:06 +10:00 |
|
Nigel Thorne
|
20433e3ad2
|
Change to NigelThorne fork to detect infinite loops
and fixed grammar to ignore missing parameter list.
|
2014-06-04 21:48:32 +10: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
|
88a26414eb
|
change the debug output to be more readable
|
2014-06-02 15:11:48 +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
|
83d4ce55ca
|
fix the load memory instruction
|
2014-06-01 22:06:59 +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
|
4038bd331a
|
clean up block names and export of qualified names makes assembler nicer to read
|
2014-05-31 17:02:55 +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
|
c9c484f353
|
change program to inherit stright from code, not block (as it keeps the funcitons anyway)
|
2014-05-31 12:38:15 +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
|
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
|
25cd80c76b
|
small fix to return gets recursive fibonacchi to work
|
2014-05-28 20:13:03 +03:00 |
|
Torsten Ruger
|
4186c9cafe
|
add <= operator for fibo
|
2014-05-28 20:10:16 +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
|
e9720c4c54
|
padding with space not zero
|
2014-05-28 14:27:37 +03:00 |
|
Torsten Ruger
|
07ef170db0
|
padding with space not zero
|
2014-05-28 14:26:24 +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
|
0b07e77782
|
fix the spurious root expression and add conmound types back (thanks to kasper for fixing that)
|
2014-05-27 15:36:51 +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
|
5a5b016a7e
|
use crystal calling convention, documented in readme
|
2014-05-25 10:57:56 +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
|
4a67504a61
|
remove parslet, bundling now
|
2014-05-24 14:51:50 +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
|
2c90006697
|
that fixes the while. To work. Actually work. Fibonacci and all :-)
|
2014-05-23 20:27:14 +03:00 |
|
Torsten Ruger
|
86e73bf1ba
|
save and restore the right registers
|
2014-05-22 21:55:17 +03:00 |
|
Torsten Ruger
|
4f0b769e82
|
get conditions to work for while
|
2014-05-22 21:38:57 +03:00 |
|
Torsten Ruger
|
7c2d149106
|
solves control flow issue when adding blocks
|
2014-05-22 16:35:59 +03:00 |
|
Torsten Ruger
|
8596fb312d
|
while coded
|
2014-05-22 14:56:31 +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
|
cf87c5323d
|
using the next field of blocks for a consecutive code line
|
2014-05-22 13:59:47 +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
|
587fd56300
|
remove a layer of indirection
|
2014-05-21 21:15:23 +03:00 |
|
Torsten Ruger
|
bc278a61eb
|
using function args for call
|
2014-05-21 21:12:46 +03:00 |
|
Torsten Ruger
|
65cde70114
|
add space at file end
|
2014-05-21 21:08:15 +03:00 |
|
Torsten Ruger
|
46102e56ad
|
rename c to register machine
|
2014-05-21 19:43:46 +03:00 |
|
Torsten Ruger
|
937f566b27
|
value is not derived from code (was too much generalisation/confusing)
|
2014-05-21 19:41:51 +03:00 |
|
Torsten Ruger
|
067cde8d43
|
remove remnant of old dsl
|
2014-05-21 19:34:58 +03:00 |
|
Torsten Ruger
|
c36a08d52d
|
small fixes
|
2014-05-21 19:33:58 +03:00 |
|
Torsten Ruger
|
b281c24a39
|
move towards locals (not hardcoding registers)
|
2014-05-21 19:27:27 +03:00 |
|
Torsten Ruger
|
570b6db659
|
start using locals
|
2014-05-21 19:06:21 +03:00 |
|
Torsten Ruger
|
847a486288
|
fix from assign
|
2014-05-21 19:06:06 +03:00 |
|
Torsten Ruger
|
c701eb9f5b
|
outputting hex for better comparison with objdump
|
2014-05-21 19:04:48 +03:00 |
|
Torsten Ruger
|
127ce5a5d9
|
outputting entries to get jumps rights
|
2014-05-21 19:04:16 +03:00 |
|
Torsten Ruger
|
2df2dcc528
|
function now returns locals, not free registers
|
2014-05-21 16:42:36 +03:00 |
|
Torsten Ruger
|
e1f889fd10
|
fix fibo with new syntax. certainly works for operators, but not everything
|
2014-05-21 12:47:40 +03:00 |
|
Torsten Ruger
|
16a07d5aa2
|
fixed method_missing to check whether local var exists (not gobble everything up)
|
2014-05-21 12:44: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
|
fcf76eed34
|
better testing for small assembly (for coming changes)
|
2014-05-20 10:29:08 +03:00 |
|
Torsten Ruger
|
0fa47d204e
|
minor
|
2014-05-20 10:28:34 +03:00 |
|
Torsten Ruger
|
f34fddd383
|
minor
|
2014-05-19 21:28:18 +03:00 |
|
Torsten Ruger
|
fe1414f383
|
adds hand coded fibo, works
|
2014-05-19 17:32:41 +03:00 |
|
Torsten Ruger
|
285988f173
|
putint works, work on syntax goes on
|
2014-05-19 15:44:12 +03:00 |
|
Torsten Ruger
|
76ce9aa654
|
improve argument handling for puntint
|
2014-05-19 12:18:01 +03:00 |
|
Torsten Ruger
|
8ba79d8de8
|
fibinacci actually compiles, doesnt mean it works though
|
2014-05-19 11:29:18 +03:00 |
|
Torsten Ruger
|
c56b7cdf09
|
minor
|
2014-05-19 11:28:37 +03:00 |
|
Torsten Ruger
|
59952f8503
|
more work on instruction format
|
2014-05-19 11:28:13 +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
|
f65ad813af
|
move first arg into derived intruction constructor
|
2014-05-18 10:27:35 +03:00 |
|
Torsten Ruger
|
a35bba39bc
|
merge logichelper into last class that uses it
|
2014-05-18 10:24:14 +03:00 |
|
Torsten Ruger
|
7b1b2c5d87
|
aliased add_code to <<, to give a bit of the stream feel
|
2014-05-18 10:15:43 +03:00 |
|
Torsten Ruger
|
53666e8b33
|
bit of evaling
|
2014-05-16 23:33:25 +03:00 |
|
Torsten Ruger
|
a08661955f
|
a bit of cleanup and the good news is, we can output a (small) number
|
2014-05-16 23:24:19 +03:00 |
|
Torsten Ruger
|
fee82643e5
|
strangely the coredumps stopped. sure didnt feel like they would
|
2014-05-16 23:08:45 +03:00 |
|
Torsten Ruger
|
7e2210f772
|
renaming update_status_flag to just update_status
|
2014-05-16 19:56:13 +03:00 |
|
Torsten Ruger
|
b3f7b66ceb
|
coding the weird udiv10 and utoa
|
2014-05-16 19:55:46 +03:00 |
|
Torsten Ruger
|
823c11a381
|
more work on instrucitons, mov this time
|
2014-05-16 17:31:01 +03:00 |
|
Torsten Ruger
|
4030f32ead
|
finally coded the logic Shifting (what a beast)
|
2014-05-16 12:55:51 +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
|
ef17bbf9dd
|
rename left to first in instruction and started on logic instruction cleanup
|
2014-05-16 10:42:25 +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
|
c9ffb78e82
|
allowing comments instead of newlines and not capturing comments (leave that for later as it messes the output)
|
2014-05-14 22:19:20 +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
|
d8d536aa2c
|
while assembles, now for some nice assmbler reading
|
2014-05-14 12:54:23 +03:00 |
|
Torsten Ruger
|
a5b4f3d9ad
|
remove NumLiteral, replace with IntegerConstant
|
2014-05-14 12:08:06 +03:00 |
|
Torsten Ruger
|
d6b5d46165
|
while compiles. jo
|
2014-05-14 12:02:54 +03:00 |
|
Torsten Ruger
|
d50c38f5ad
|
add more functionality to get while to work (not there yet)
|
2014-05-14 11:33:23 +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
|
f6711ea49c
|
checkpointing on the mad road to register allocation
|
2014-05-13 18:21:24 +03:00 |
|
Torsten Ruger
|
b0302948dd
|
rename machine to c_machine
|
2014-05-13 17:06:42 +03:00 |
|
Torsten Ruger
|
d7f31e7f39
|
introduce constant class and add block to compile signature(wip, work in progress)
|
2014-05-13 16:24:19 +03:00 |
|
Torsten Ruger
|
dd05b30230
|
ads to_s to ast for better readability
|
2014-05-13 10:49:26 +03:00 |
|
Torsten Ruger
|
cd67589f3e
|
life must go on, compunds must go (for now)
|
2014-05-13 08:35:49 +03:00 |
|
Torsten Ruger
|
72de0089b2
|
small renames
|
2014-05-13 08:24:55 +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
|
cc5915135a
|
add lots of operators. Assignment becomes operator. fix the mess
|
2014-05-11 18:37:26 +03:00 |
|
Torsten Ruger
|
b4af123c9e
|
operator docs
|
2014-05-11 17:05:21 +03:00 |
|
Torsten Ruger
|
be4825579d
|
finally remove kaspers example from which the oprerator stuff is copied
|
2014-05-10 21:43:03 +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
|
e600911fe8
|
adds variable, something compliles , but...
|
2014-05-10 17:55:02 +03:00 |
|
Torsten Ruger
|
5b002c0ff6
|
little more attribute filing
|
2014-05-10 16:08:53 +03:00 |
|
Torsten Ruger
|
9e5b60dfab
|
moving many attributes into the attributes hash, but not nearly all
|
2014-05-10 15:59:46 +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
|
3f88fe15b4
|
some reagganging on my way to retire logic_helper
|
2014-05-10 15:34:05 +03:00 |
|
Torsten Ruger
|
cba171cc7d
|
remove the old asm (that is now arm)
|
2014-05-10 15:27:10 +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
|
e69decee90
|
slight shuffling
|
2014-05-10 12:54:31 +03:00 |
|
Torsten Ruger
|
20128627c7
|
implements inspect for copy paste into tests
|
2014-05-10 12:54:10 +03:00 |
|
Torsten Ruger
|
051b0ea7dc
|
remove the double transform rules (as not using maybe anymore)
|
2014-05-10 12:02:11 +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
|
b266bb84ba
|
splitting the parser up more
|
2014-05-10 11:14:34 +03:00 |
|
Torsten Ruger
|
af1df1a104
|
renamed root parser class to Crystal
|
2014-05-10 11:03:23 +03:00 |
|
Torsten Ruger
|
31aa9c8768
|
actually ads a value to Value
|
2014-05-10 10:59:56 +03:00 |
|
Torsten Ruger
|
7341586d15
|
more expressions compile
|
2014-05-10 10:58:25 +03:00 |
|
Torsten Ruger
|
8e6297dcff
|
improving the string according to kasper
|
2014-05-09 13:51:47 +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
|
b82c2241b7
|
get parameter lists to work again (no more ifs as function arguments:-)
|
2014-05-08 19:41:27 +03:00 |
|
Torsten Ruger
|
9c609ee299
|
make machine init default to the running one with ruby config
|
2014-05-08 19:30:46 +03:00 |
|
Torsten Ruger
|
9c2dfe79da
|
at least basic tests work again
|
2014-05-08 18:42:24 +03:00 |
|
Torsten Ruger
|
034ae4f7ca
|
add comment and remove newline from space (starting a long whitespace battle)
|
2014-05-08 18:38:49 +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
|
fa123e0354
|
move kernel to core and apply the classmethod pattern to all core classes
|
2014-05-06 12:47:07 +03:00 |
|
Torsten Ruger
|
12b6800efe
|
work on function entry and exit. fix stack instructions
|
2014-05-06 12:42:43 +03:00 |
|
Torsten Ruger
|
22b5117c8b
|
getting a _start and _exit, just missing the actual code
|
2014-05-06 00:12:04 +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
|
99da6f5be3
|
gets rid of conversion approach, ast compiles
|
2014-05-05 10:13:49 +03:00 |
|
Torsten Ruger
|
c67ee7f6f3
|
extracted ast classes to own files
|
2014-05-05 10:02:02 +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
|
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
|
1c86ecb84e
|
copied asm here so that stays working while i break (an) arm
|
2014-05-03 15:13:15 +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
|
90e2658bc0
|
small poslish
|
2014-04-29 16:22:12 +03:00 |
|
Torsten Ruger
|
7dfde45373
|
fixes missing string tests and expression/transformation
|
2014-04-29 11:17:19 +03:00 |
|
Torsten Ruger
|
874f080ba2
|
Semi random code for the next step
|
2014-04-28 22:08:09 +03:00 |
|
Torsten Ruger
|
129f9f5c57
|
space and order fiddling (gets assignments to work better)
|
2014-04-28 22:07:13 +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
|
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
|
18c2abfd2b
|
some docs
|
2014-04-27 21:51:06 +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
|
583e6f0c9f
|
add keyword and operators as seperate parser modules
|
2014-04-27 21:12:24 +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
|
032758db8b
|
using new modules
|
2014-04-27 18:13:10 +03:00 |
|
Torsten Ruger
|
d8f228da11
|
more basic types (untested)
|
2014-04-27 18:12:32 +03:00 |
|
Torsten Ruger
|
4e4099e552
|
adds tokens as own parser module
|
2014-04-27 18:12:04 +03:00 |
|
Torsten Ruger
|
f628c67188
|
starting to deompose the parser
|
2014-04-27 16:30:32 +03:00 |
|
Torsten Ruger
|
d72c9a3bb0
|
fixed tests (namespacing) and finally created a test_all
|
2014-04-27 15:44:34 +03:00 |
|
Torsten Ruger
|
436a5dac5a
|
created own directory for parser
|
2014-04-27 15:38:07 +03:00 |
|
Torsten Ruger
|
b1203363d4
|
vendored parslet, deemed stable enough and better without dependency
|
2014-04-27 15:34:35 +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
|
7af46d210b
|
rename label to block and assembler to program
|
2014-04-25 18:36:40 +03:00 |
|
Torsten Ruger
|
75873ea18e
|
cleaned intruction initialization and fixed a test accidentally (was schoddy code)
|
2014-04-25 15:07:47 +03:00 |
|
Torsten Ruger
|
eca9e66f73
|
renamed instruciton tools to arm machine
|
2014-04-25 13:34:10 +03:00 |
|
Torsten Ruger
|
f1a7993b47
|
bit of renaming , cleaning and documentation
|
2014-04-25 13:29:12 +03:00 |
|
Torsten Ruger
|
6261451c4b
|
adds code class as base for anything that can be assembled
|
2014-04-25 12:28:23 +03:00 |
|
Torsten Ruger
|
d08e6702f0
|
removes the asm from assemble signature (not used)
|
2014-04-25 11:56:53 +03:00 |
|
Torsten Ruger
|
3f316cda63
|
fixed root
|
2014-04-24 21:02:27 +03:00 |
|
Torsten Ruger
|
f39eef38a1
|
complier was deemed redundant, as the java stuff
|
2014-04-24 21:02:00 +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
|
f97205300f
|
cleaned up BIG time, instruction hierachy, better names, DRYd up a lot
|
2014-04-23 23:40:35 +03:00 |
|
Torsten Ruger
|
c98547137b
|
first step to overloading assemble
|
2014-04-23 19:59:55 +03:00 |
|
Torsten Ruger
|
b2f45d9f9c
|
move a function out of the builder to tools for clarity
|
2014-04-23 14:02:58 +03:00 |
|
Torsten Ruger
|
ced82628d4
|
forgot a puts
|
2014-04-23 14:02:39 +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
|
bc60e1d265
|
actually remoe the unused relocation stuff
|
2014-04-23 13:11:48 +03:00 |
|
Torsten Ruger
|
89a92f80c9
|
merged arm_assembler and assmbler (who are we kidding, right)
|
2014-04-23 13:02:02 +03:00 |
|
Torsten Ruger
|
f4299de120
|
finally cleaned up those pestey parse errors
|
2014-04-23 12:58:59 +03:00 |
|
Torsten Ruger
|
ceefa05b2f
|
removed arm subdirectory
|
2014-04-23 12:51:09 +03:00 |
|
Torsten Ruger
|
1423b8a845
|
renove Node class as it wasnt doing anything
|
2014-04-23 12:38:38 +03:00 |
|
Torsten Ruger
|
8955cf31da
|
really remove externs
|
2014-04-23 11:14:25 +03:00 |
|
Torsten Ruger
|
dc9bba58e2
|
move unused addr table out of the way
|
2014-04-23 11:09:38 +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
|
7ff8fa8802
|
a little renaming and moving around of constants
|
2014-04-22 23:35:15 +03:00 |
|
Torsten Ruger
|
1dedc41e39
|
rename objects to value sin assembler
|
2014-04-22 22:24:22 +03:00 |
|
Torsten Ruger
|
e23211602b
|
Hello World
|
2014-04-22 14:39:47 +03:00 |
|
Torsten Ruger
|
5127deeeff
|
implement offset addressing for load (ie reg+num)
|
2014-04-22 12:23:55 +03:00 |
|
Torsten Ruger
|
2784a8da98
|
just use register nodes as registers (no more arrays)
|
2014-04-22 11:58:17 +03:00 |
|
Torsten Ruger
|
40a6437893
|
most the relocation stuff is going
|
2014-04-21 21:38:39 +03:00 |
|
Torsten Ruger
|
f724883691
|
adds position to instruction
|
2014-04-21 21:21:45 +03:00 |
|
Torsten Ruger
|
fc81122bc4
|
renamed code generator to arm assembler (more appropriate)
|
2014-04-21 21:13:14 +03:00 |
|
Torsten Ruger
|
7478b65fb0
|
dropped extern functionality for now
|
2014-04-21 21:02:11 +03:00 |
|
Torsten Ruger
|
5237ff9e40
|
move towards simpler relocation model
|
2014-04-21 20:59:48 +03:00 |
|
Torsten Ruger
|
1b8f15a3fc
|
rename write to assembler for builders
|
2014-04-21 20:51:13 +03:00 |
|
Torsten Ruger
|
82ea5730f3
|
math node went too, more clarity
|
2014-04-21 17:39:10 +03:00 |
|
Torsten Ruger
|
c87967c95d
|
removes ArgNode which just served to make long names (unused)
|
2014-04-21 17:35:38 +03:00 |
|
Torsten Ruger
|
fc3f5d5402
|
remove some of the node mess
|
2014-04-21 17:34:24 +03:00 |
|
Torsten Ruger
|
ff38bde44e
|
clean and work on labels
|
2014-04-21 17:27:05 +03:00 |
|
Torsten Ruger
|
49ee2af8af
|
slightly better name for builder
|
2014-04-21 00:28:26 +03:00 |
|
Torsten Ruger
|
98a197a0ca
|
better builder names and remove the funny make syntax
|
2014-04-21 00:07:33 +03:00 |
|
Torsten Ruger
|
2dffad61b8
|
fix cp paste
|
2014-04-21 00:07:03 +03:00 |
|
Torsten Ruger
|
2c57ca773b
|
push and pop were forgotten, fixed and tested
|
2014-04-20 23:48:04 +03:00 |
|
Torsten Ruger
|
6226521abb
|
figuring relocations
|
2014-04-20 02:28:57 +03:00 |
|
Torsten Ruger
|
4e075e3a81
|
ast was used in parsing
|
2014-04-20 02:28:15 +03:00 |
|
Torsten Ruger
|
091a93f368
|
fix names and requires to get some elf out again (still crashes though)
|
2014-04-19 23:25:46 +03:00 |
|
Torsten Ruger
|
bef1df8485
|
test and fix store instruction (syntax was not for coding)
|
2014-04-19 19:34:04 +03:00 |
|
Torsten Ruger
|
4bb74a0de2
|
fix block initialization style by adding init methods
|
2014-04-18 19:19:57 +03:00 |
|
Torsten Ruger
|
529f109171
|
found and fixed a real bug
|
2014-04-18 16:04:14 +03:00 |
|
Torsten Ruger
|
4fa00371e5
|
remove lines and columns
|
2014-04-18 15:58:42 +03:00 |
|
Torsten Ruger
|
5d9c4323bb
|
test no 3
|
2014-04-17 15:35:55 +03:00 |
|
Torsten Ruger
|
f38c94d8e9
|
add accessor for the s instruction postfix (affecting status flag)
|
2014-04-17 12:54:37 +03:00 |
|
Torsten Ruger
|
a7af1a4664
|
small doc
|
2014-04-16 12:45:36 +03:00 |
|
Torsten Ruger
|
8e0494f410
|
move some unused parse related classes out of the way
|
2014-04-16 12:10:58 +03:00 |
|
Torsten Ruger
|
69b0f7a0e3
|
lift the nodes out of the parser
|
2014-04-16 12:03:39 +03:00 |
|
Torsten Ruger
|
5bd4be313c
|
lift label out of the code generator
|
2014-04-16 12:02:28 +03:00 |
|
Torsten Ruger
|
2e6b90b12e
|
cleanup, requires, namespacing to actually get it to work
|
2014-04-14 21:52:16 +03:00 |
|
Torsten Ruger
|
408b290b8a
|
adds first version of the expanded as assembler from mikko
|
2014-04-14 18:09:56 +03:00 |
|
Torsten Ruger
|
8648647754
|
jeweler generates its things
|
2014-04-14 15:58:59 +03:00 |
|