Releases: Silva97/Lia
Releases · Silva97/Lia
v0.4
New features and modules are implemented in this version. The compiler nows has the possibility to implements new targets to Lia language, but just 'ases' target are implemented in this version.
Features
- New commands to
var
module.addr
| gets the address of a variable.getaddr
| Gets a value in the address.movaddr
| Copies a register value to address.setaddr
| Sets the value at the address.readline
| Reads a string from input.puts
| Prints a string to output.
- New meta-require instruction to declare a dependent module.
- meta-import and meta-require replaces '$' character to the target name.
- Compiler declares the
TARGET
macro with the target name as a string. - New meta-if instruction to do conditional at compiler-time.
- New actions system and meta-action to runs an action.
- New
io
module.putn
| Procedure to puts a number in the output.readn
| Procedure to reads a number from the input.
Fixes
- The relocation of the instructions after a procedure declaration have been caused bugs.
v0.3
The new version of the Lia has fixes in the compiler and new features to the language.
Features
- A sequence of strings now is concatenated, like in C language.
- Implemented macros system similar to Rust's macros.
- Implemented expressions using special macro
expr
. - Added new commands to
lia
module.mul
| Multiplies values.div
| Divide values.chg
| Change the value of the operands.pow
| Calculates the power.
- Added
expr
module. - Added
ases
instruction.
Fixes
- Open procedures were causing a segmentation fault.
- Commands re-declaration now replaces it correctly.
- Lexer errors were causing a segmentation fault.