Skip to content

Dynamic type Object oriented and scripting language written in Java

License

Notifications You must be signed in to change notification settings

AlectronikForge/Tank

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tank

It's Dynamic type Object oriented and scripting language written in Java

Porting version of Jlox

Features

  • import native modules
  • Classes
  • Array data structure with dynamic types
  • Single Inheritance like Java
  • this keyword
  • Methods
  • Functions
  • Function Extenson
  • Local functions
  • Native Functions
  • Ternary (X ? Y : Z) and Elvis (X ? Y) Operators
  • If condition
  • While loop
  • Do While Loop
  • Repeat block like Kotlin
  • Scope and Block
  • super, this keywords for oop
  • Break and Continue keyword for loops
  • Logical operators AND, OR, XOR
  • Bitwise operators <<, >>, >>>
  • Function can take other Function as Parameter
  • Runtime error
  • Semantic analysis
  • Arity Similar to Python that throw error if developer pass less or more than function arguments
Arrays

Arrays

Function Extension.

Function Extension

Parse Json.

Json

Make Network Request.

Network

Get system information.

system

Test statement to show request result in the runtime.

Test

Tools:

Code Style Check for Tank code to check if your code style is match your check configuration

  • Check class name and super class name.
  • Check method name and parameters.
  • Check function name and parameters.
  • Check function extension name and parameters.
  • Check variables name.
  • Check test block tag.
  • Check if constants folding is possible.

For Example.

Style

For all Examples see examples directory.

About

Dynamic type Object oriented and scripting language written in Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%