Skip to content

lefebvreb/cstar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C*

About

An interpreter for an ECS-based C-style language.

Similarly to the legendary origin of javascript, this interpreter was rushed to completion in a matter of workdays. Expect about the same level of quality as the first iteration of javascript.

Compiling

Install the Rust programming language's toolchain, then place yourself at the root of the repository and do:

cargo build --release

Running

Still at the root of the repository, do:

cargo run --release -- examples/1-hello.cstar

This will run the hello, world! example of the examples directory. There are more examples for you to try in this directory.

TODO

  • Finish first grammar
  • Use parser to build AST
  • Treewalk the AST
  • ECS
  • More examples and automated tests

Bonus

  • Ternary operator
  • Types and type checking
  • Functions
  • Vanilla structs
  • Switch statements
  • Lists
  • Imports and modules
  • User input
  • Increment/Decrement operators
  • Assignements operators
  • Enums
  • Span and proper errors

About

An ECS-based C-style language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages