Skip to content
jasanignPublic

About

An interpreter written in C language for arithmetic expressions that use A Recursive Descent Parser

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Parser

This project is a basic interpreter in C language for arithmetic expressions as defined by a particular grammar that is implemented using a recursive descent parser. This parser is a language recognizer in which determines whether each expression that is input is syntactically correct (it also catches any lexical errors). This parser is also an interpreter which evaluates and returns the resulting value when the input expressions are syntactically correct.

Grammar

This parser uses the following grammar:

<bexpr> ::= <expr>;
<expr> ::= <term> <ttail>
<ttail> ::= <add_sub_tok> <term> <ttail> | epsilon
<term> ::= <stmt> <stail>
<stail> ::= <mult_div_tok> <stmt> <stail> | epsilon
<stmt> ::= <factor> <ftail>
<ftail> ::= <compare_tok> <factor> <ftail> | epsilon
<factor> ::= <expp> ^ <factor> | <expp>
<expp> ::= ( <expr> ) | <num>
<add_sub_tok> ::= + | -
<mul_div_tok> ::= * | /
<compare_tok> ::= < | > | <= | >= | != | ==
<num> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }+

About

An interpreter written in C language for arithmetic expressions that use A Recursive Descent Parser

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages