Skip to content

Artem-Semenov-dev/BazaScript

Repository files navigation

BazaScript language

Project consist of 3 modules:

  • FSM

  • Calculator

  • BazaScript

FSM

Universal module that implements the concept of Finite state machine.

For transitions between states that define in transition matrix we used transducers.

FSM used a universal mechanism for throwing exceptions.

Also this module has an implementation of Identifier machine. Identifier machine used to read symbols and collect them.

Calculator

Module that implement concept of calculator for mathematical expressions.

Calculator created with usage of finite state machines

This calculator can solve expressions that include:

  • Integer or float numbers
  • Priority binary operators like +, -, /, *, ^, etc.
  • Brackets
  • Functions like sum, avg, min, max

BazaScript language

Simple programming language that used interpreter for execution of the code.

Work of interpreter for BazaScript based on Finite state machines.

This language can:

  • Initialize variables of Double type or with expression that solve double values.
  • Resolve expressions with prefix unary operators before variables like ++, --.
  • Resolve math operations between variables like +, -, /, *, ^, etc.
  • Print variables

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published