Difference between revisions of "Sx assembler"
From Just in Time
m |
|||
Line 1: | Line 1: | ||
Work is in progress on a [http://boost.org/libs/spirit/doc/introduction.html boost.spirit] based SX assembler, written in C++. | Work is in progress on a [http://boost.org/libs/spirit/doc/introduction.html boost.spirit] based SX assembler, written in C++. | ||
+ | '''update''': I'm reconsidering writing the grammar of the assembler in ANTLR instead of spirit, so that i could use the same grammar in Java (eclipse) and C++ (tool chain). | ||
The sx assembler consists of 2 parts: | The sx assembler consists of 2 parts: | ||
Line 5: | Line 6: | ||
** include | ** include | ||
** macros | ** macros | ||
− | ** recognizing opcodes that start in the label column (the first column). Currently, a word that starts in the first column will be parsed as a label, never as an opcode. | + | ** <strike>recognizing opcodes that start in the label column (the first column). Currently, a word that starts in the first column will be parsed as a label, never as an opcode.</strike> |
* backend; create a list- and hex-file out of the generated parse tree. | * backend; create a list- and hex-file out of the generated parse tree. |
Revision as of 23:00, 21 January 2007
Work is in progress on a boost.spirit based SX assembler, written in C++. update: I'm reconsidering writing the grammar of the assembler in ANTLR instead of spirit, so that i could use the same grammar in Java (eclipse) and C++ (tool chain).
The sx assembler consists of 2 parts:
- frontend; create a syntax tree out of the program text. There is a working spirit grammar without actions (the actual tree building). Open items are:
- include
- macros
recognizing opcodes that start in the label column (the first column). Currently, a word that starts in the first column will be parsed as a label, never as an opcode.
- backend; create a list- and hex-file out of the generated parse tree.