Skip to content

Voiris/RuneWay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

238 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧪 ᚱuneWay

RuneWay is a programming language written in Rust, with syntax inspired by Rust, Python, and JavaScript.

🔧 Features (WIP)

✨ Language Features

  • Comments (//, /* */)
  • Variables and Types (let, int, float, string, bool, null)
  • Binary and Unary Operations
  • String Interpolation (f"...", r"...", fr"...")
  • Logic and Loops (if, while, for, loop)
  • Functions (act name() {})
  • Static type annotations (x: int)
  • Static type annotations in functions (act f(x: int) -> int)
  • Constants (const PI: float = 3.14)

🧱 Architecture

  • Lexer (out: Tokens)
  • Parser (out: AST. Based on: Recursive Descent + Pratt) - in progress
  • IR generator (out: IR)
  • Semantic Checker
  • Optimizer
  • Bytecode generator (out: Stack-based bytecode)
  • Register-based VM

🪵 Built-ins

  • Native console out (print, println)
  • Native console in (input)
  • Primitive Types (int, string, bool, ...)

🧩 Standard Library

  • Module System (Imports: import some_module::some_submodule)
  • std::buffered
  • std::http
  • std::json
  • std::itertools
  • std::random
  • std::decimal
  • std::math
  • std::files
  • std::time
  • std::mem

🔩 OOP (or not exactly)

  • Method calls (a.iter())
  • User-defined structs
  • Contracts

📢 Errors

  • Error reporter (Rust like)
  • User-defined Error Throwing

Installation

To be continued...

📖 Documentation

To be continued...

🤝 Contributing

We welcome your issues about bugs, ideas, or suggestions.

📬 Contact me

📄 License

MIT License. See LICENSE for details.

About

My own programming language RuneWay. Woohoo!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published