View Code? Open in Web Editor
NEW
A programming language that focuses on simplicity and productivity and leverages the JVM ecosystem.
Home Page: https://cylvre-language.github.io/CylvreHome.html
License: MIT License
cylvre's People
Watchers
cylvre's Issues
Arrays need to be implemented properly. Currently they are half implemented. Bytecode Generator needs updating to handle arrays.
Related Issue: #13
Java API compiles but throws the following error when run:
java.lang.ClassFormatError: Illegal class name "Ljava/lang/String;" in class file JavaAPITest
explicit type declaration needed to reference java API like String
functions.
the following example compiles but throws error when run.
func main (){
x : "string" ;
str y : x .toUpperCase ();
println (y );
str z : x .replace ("str" , "s" );
println (z );
}
CylvreErrorListener gives error messages even though the compiler compiles the program and it can be run successfully.
This is the main issue for all the fixes that has to be done currently in TODO.md
This issue will be closed after the following issues are closed and fixed.
The compiler still is not complete, but tests need to be run for macOS and Linux to see whether the instructions provided in the README work for them. Check Features.md to see what can compile and run successfully.
Cylvre doesn't reference Java API or other Cylvre Files
EDIT: Now it does but throws ClassFormatError. Issue #32
func main (){
x : 0 ;
for x (0 to 100 ) println (x ); //doesn't work (compiler throws ArrayIndexOutOfBoundsException )
}
func main (){
for x (0 to 100 ) println (x ); //works
}
Bytecode for else
statement not generated. else
executes even if condition is true. Else statement also doesn't work in for loop.
The code given below compiles successfully but the main method isn't generated and hence cannot be run.
str field ;
func main (){
field : "Field!" ;
println (field );
}
fix if statement generator and if statement visitor to also handle else
statements
Create documentation for working features. Refer Features.md
variable declaration in Cylvre should have static typing to fix a couple of NPEs.
A command line interface to ease Cylvre files compiling and execution
Commands:
Compiling : forge <path to Cylvre file>
or forge <Cylvre file>
Executing : run <Class File>
println()
cannot be used as println()
. Can only be used as println("")
need to configure Travis CI to run successful builds for both Linux and macOS. The problem is probably with the config file for travis
Although implemented, functions currently cannot compile successfully.