Skip to content
/ mewa Public

(=​`ω´=) simple Math EWAluator written on C

License

Notifications You must be signed in to change notification settings

mandriota/mewa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(=​`ω´=) MEWA

A simple Math EWAluator written on C.

Installation

git clone https://github.com/mandriota/mewa
cd mewa
make build
sudo ln -n ./bin/mewa /usr/local/bin

Featchers

  • Basic arithmetic operators
  • Basic logical operators
  • Operators priority and associativity
  • Type inference
  • Functions
  • Function specialization
  • Function ranged specialization
  • Command-line arguments and redirects handling
  • REPL
  • REPL: multiline input
  • REPL: history
  • REPL: escape handling
  • Calculation of maximal relative error

Naming Conventions

Constants, Enums, Defines

All caps, snake case.

Structs

Title, camel case.

Functions, local variables

All script, snake case.

Methods

Same as functions. First word is an abbreviation of struct name.

Names abbreviations list

Name Abbreviation
Primitive PM/PRIM
Reader RD
Token TK
TokenType TT
Lexer LX
Node ND
NodeType NT
Parser PR
Priority PT
Interpreter IR

Acknowledgements

Releases

No releases published

Packages

No packages published