Skip to content

gavraz/Calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

Calculator

An implementation of a programming-language calculator.

Features

  • Arithmetic: +,-,*,/
  • Parentheses
  • Variables
  • Assignment operators: =,+=,-=,*=,/=
  • Unary increment/decrement
  • In-expression assignments

Algorithm: Precedence Climbing

Grammar

  1. NUM:=[0-9]*
  2. VAR:=[a-z;A-Z]+[a-z;A-Z;0-9]*
  3. TERMINAL:={NUM|VAR}
  4. ASSIGN:={VAR}[=,+=,-=,*=,/=]{EXPR}
  5. EXPR:= ({EXPR}) || ASSIGN || SUM || MUL || DIV || SUB || {VAR}++ || ++{VAR} || {VAR}-- || --{VAR}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages