Its can-read-but-cannot-write time again, unfortunately. The bootstrap compiler should run, but misses marshalling primitives in C. An object file is nothing more than a marshalled simplified AST which passed all semantic checks, so those primitives should be added to arrive at a full bootstrap compiler.
I read a new ParaSail post on tasks, which basically gives an overview of scheduling terminology. I am looking at mutlithreading too. In my case, designing given the current runtime boils down to choosing between alternatives which I can expect give reasonable performance. So I am looking at how to handle memory, what to do explicit and implicit, and how to combine FFI and the environment - possibly combine low-level task primitives with marshalling code.
There is a simple scheme I think will work out nicely, but has two drawbacks, 1) explicit management of memory, and 2) some need for synchronization beyond what I like, or rather, how to implement a join, or signals. I'll do something simplistic on which I expect different solutions can be build, EDF scheduling is a bit too much at this point, but should be implementable given what I am aiming for.
Needed some rest, so writing on the ReST parser - see if I can get the bootstrap to output documentation before a complete self compile.
011210: Cleaning up again, writing some position based parser combinators. Ugly and slow but sufficient. I don't extract blocks from the source, but the penalty is a large number of redundant positional checks. I should get my hands on: S. Doaitse Swierstra and Pablo R. Azero Alcocer, Fast, Error Correcting Parser Combinators: A Short Tutorial. In Lecture Notes in Computer Science, SOFSEM’99: Theory and Practice of Informatics, volume 1725/2009, page 763. Friday, January 01, 1999. Nice-to-have for the Hi grammar parser I guess.
No comments:
Post a Comment