Kvara is an assembler with i18n (internationalization) support for the Varvara/Uxn ecosystem, forked from the reference uxnasm assembler implemented in C.
- Kvara means fourth in Esperanto.
- Kvara rhymes with Uxn's Varvara.
- Kvara is the fourth Uxntal assembler that I have used, the others were: uxnasm, asma and drifblim.
- Kvara is also a reference to the Forth programming langauge, which led me to the Uxn ecosystem.
- English
- Spanish (
es
) - Esperanto (
eo
) - Toki pona (
tok
)
$ make # English version.
$ make all # All versions.
$ make es # Spanish version.
$ make eo # Esperanto version.
$ make tok # Toki pona version.
$ kvrasm[-es|-eo|-tok] input.kvr[es|eo|tok] [output.rom]
$ make test # Test English version.
$ make test-all # Test all versions.
$ make test-es # Test Spanish version.
$ make test-eo # Test Esperanto version.
$ make test-tok # Test Toki pona version.
$ make install # Install English version.
$ make install-all # Install all versions.
$ make install-es # Install Spanish version.
$ make install-eo # Install Esperanto version.
$ make install-tok # Install Toki pona version.
The executables are installed at ~/bin
, make sure that this directory is in
your PATH
and that you have sourced your shell configuration file, for example
~/.bashrc
or start a new shell session for Kvara assembler(s) to be available
from any directory.
$ make install
$ echo "export PATH=$PATH:~/bin" >> ~/.bashrc
$ source ~/.bashrc
- Kvara supports
\ comment
backslash space Forth style comments, these are not part of the Uxntal specification which only supports( comment )
parenthesis Forth style comments (there must whitespace after the opening(
and closing)
parenthesis).
- In order to offer full compatibility with other standard Uxntal assemblers,
ease porting standard Uxntal to a supported Kvara language and also porting
from one supported kvara language to another there is the Kvara porter at
utils/kvrprt
.
$ kvrprt source.kvr[lang] # Creates: source.tal
$ kvrprt source.tal lang # Creates: source.kvr{lang}
- Implement
kvrptr
(Kvara porter). - Explain how to contribute and add a new language.
- Implement another utility to scafold and make easier adding new languages.
- Use the opcode test for all languages.
- Improve opcode tests.
- If no output file name is given, by default use the input file name and save rom to the current working directory.