A person who finds an error is a human being,
A person who finds a solution for it is a visionary,
A person who does something about it is an entrepreneur and a person who does it in code is a developer.
CYLVRE IS NOW UNMAINTAINED. THE REASON BEING THAT EVERY FIX INTRODUCED WILL CAUSE MORE FIXES THAT HINDER OTHER FIXES (MEANING NOT MUCH PROGRESS IS DONE). A BETTER VERSION OF IT, CRYPT IS BEING CURRENTLY WORKED ON. CRYPT WILL RECYCLE MOST OF CYLVRE'S SYNTAX. SORRY TO ALL CYLVRE USERS/TESTERS.
Hi There! Welcome to Cylvre!
Cylvre (pronounced Silver) stands for CYber Language for Virtual Runtime Environments. It is an open-source programming language that focuses on simplicity and ease of use while leveraging the power and vast amount of libraries found on the JVM ecosystem. Currently compiles to Java 8 bytecode.
Want to read how I created Cylvre? Click here for my github.io
blog post on it.
The world didn't need another langauge, I wanted it.
NOTE: As of now, Cylvre is still pre-alpha due to a few issues with the compiler. These issues will be resolved. New contributors are welcome to help develop this language. (Users and Contributors) Feel free to follow the instructions provided in this README. If you wish to know what works currently, see Features.md for more info
Hello World:
func main(){
println("Hello, World!");
}
A for
loop with a conditional:
func main(){
for x (0 to 100) x = 100 ? println("Loop ended (although this only works if the loop goes to 100)");
}
- JDK 8 or above (I used Java 15 to write Java 8 style code for the compiler)
- Gradle 6.7
- All other dependencies will be packaged into the jar file by running
gradle jar
Want to know more about Cylvre's syntax? Click the link for the official Cylvre Docs!
- Clone this repository
- run
gradle build
to build it andgradle jar
to package it into an executable jar.
java -classpath <path to jar file>^ CylvreCompiler.compiler.Forge <path to Cylvre file>^
java <class file name>^
The jar file will be located in the libs
directory located in the build
directory.
Replace '^' with appropriate info.
Contributions are highly valued and extremely welcome! Please see CONTRIBUTING.md for more details.
If you wish to report a security vulnerability, refer SECURITY.md for more info.
- Before v0.1.0 (pre-alpha)
- v0.1.0 to v0.5.0 (alpha)
- v0.6.0 to v.0.9.0 (beta)
Cylvre will follow the SemVer system of versioning which implies that versions are released in the following order: major.minor.patch
.
This repository follows the MIT License.
- CodeGlytch (Creator) (formerly CodeUnstable)
Feel free to ask them in the Q&A Discussion here.
If the compiler still doesn't work, notify me using the community gitter channel given underneath the logo in this readme.