Skip to content

vityaman-edu/prog-langs-arithmetic-expression-calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Seminar 6. Task 3. Option 1. Arithmetic Expression Calculator

Arithmetic expression grammar:

<expr>    ::= <subadd>
<subadd>  ::= <subadd> ('+', '-') <divmul>
<divmul>  ::= <divmul> ('*', '/') <neg>
<neg>     ::= '-' <neg> 
            | '(' <expr> ')' 
            |     <num> 
<num>     ::= ('1'..'9') {'\x00'..'9'} *

Without left-recursion and other problms:

<expr>        ::= <subadd>
<subadd>      ::= <divmul> <subadd-tail>
<subadd-tail> ::= ('+', '-') <divmul> <subadd-tail>
                | \epsilon
<divmul>      ::= <neg> <divmul-tail>
<divmul-tail> ::= ('*', '\') <divmul-tail>
                | \epsilon
<neg>         ::= '-' <neg> 
                | '(' <expr> ')' 
                |     <num> 
<num>         ::= ('1'..'9') {'0'..'9'} *

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published