- Notifications
You must be signed in to change notification settings - Fork2
AOT compiled object oriented programming language
License
NotificationsYou must be signed in to change notification settings
Blazify/blazex
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An object orineted AOT compiled language which is gradual typed
$ git clone https://github.com/BlazifyOrg/blazex.git$cd blazex$ make$cd ..# Set $HOME/.blazex to PATH
Confirm Installation
$ blazex
error: The following required arguments were not provided: <path>USAGE: blazex [FLAGS] [OPTIONS] <path>For more information try --help
- Printing the famous "Hello World"
extern variadic fun printf(string): int;printf("Hello World!") @ yep as simple as that
- Comments
@ single line comment@@multi-line comment@@
- Creating and calling functions
fun sum(a, b) { var c = a + b; return c;}println("%i", sum(2, 2));
- Working around with objects
var obj = { prop: 5 @ properties should be Identifier or there will be Invalid Syntax Error}println("%i", obj.prop); @ accessing object propertyobj.prop = 10; @ editing object property valueprintln("%i", obj.prop) @ 10
- Classes
class Main { var a = 10; @ this is a property @ this is constructor fun() { soul.a = 5; @ soul is the current object it's operating on } @ this is a method fun sum_to_a(b) { soul.a = soul.a + b; return soul.a; }}var ins = new Main(); @ creating/initializing a class, returns a object with the propertiesprintln("%i", ins.sum_to_a(5));
- llvm_sys (Interacting with LLVM)
- codespan-reporting (Errors)
- mimalloc (Memory allocation)
- structopt (Argument parsing)
- notify (Look for file changes)
- Fork the repository
- Create a branch with the patch/feature you want
- Make Changes to the code
- Commit the code (Use theEmoji Commit Style) and the message should **NOT** contain the word "release"
- Finally, push the code and make a pull request
Crate | Description |
---|---|
blazex | The binary |
bzxc_lexer | Lexer for Tokenizing |
bzxc_parser | Parser for AST Tree |
bzxc_type_system | Type System |
bzxc_llvm | LLVM IR Code Generation |
bzxc_shared | Things Shared among crates |
- Type System
- LLVM
- Errors
- Lexer
- Parser
- Type System
- LLVM
- Reading from file
- Lexer
- Parser
- AST
About
AOT compiled object oriented programming language
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Contributors6
Uh oh!
There was an error while loading.Please reload this page.