Simple Project about Scanner, Parser, Evaluator

Project contains three tasks below;

1. task - SCANNER

Scanner represents the interface between the original program and parser. Its task is to give parser terminal symbols. Its task is also to exclude the empty spaces, new line breaks, and comments.

Scanner reads the input file as a string of characters which are then composed of the terminal symbols. For a description of the symbols used we use finite state automaton, which can be implemented by a two-dimensional table.

Expand the program of arithmetic expressions in such a way that will also support the following operations:

sin | cos | abs | sqr

Given program:

2 + 5 * 2 + cos (0)


'2' integer (1 , 1)

'+' operator (1 , 3)

'5' integer (1 , 5)

'*' operator (1 , 7)

'2' integer (1 , 9)

'+' operator (1 ,11)

'cos' function(1,13)

'(' separator(1 ,17)

'0' integer (1 ,18)

')' separator(1 ,19)

2. task - PARSER

Parser task is to identify the syntactical correctness given sequence of terminal symbols prf scanner. Write LL(1) parser for the programming language of arithmetic expressions with the following grammar:

E: T = EE;

EE: = EE + T | - T EE | epsilon;

T: F = TT;

TT: = TT * F | / F TT | epsilon;

F: = (E) | cos (E) | sin (E) | abs (E) | sqrt (E) | # float | - # float;

Given program:

2 + 5 * 2


true (program OK)

3. task - EVALUATOR

Write evaluator for arithmetic expressions. Evaluator task is to evaluate the given arithmetic expression. Parser from previous task has to be upgraded with semantic functions in order to obtain a numerical evaluation of the value of the input stream.

Given program:

2 + 5 * 2



Compétences : Programmation C++

en voir plus : parser evaluator, simple project parser, evaluator parser, simple scanner parser evaluate, scanner parser simple, arithmetic parser scanner, string programming, string cplusplus, stream programming, simple programming language, scanner programming, programming symbols, programming operator, programming expression, programming comments, original programming, numerical programming, new programming language, f# programming language, f programming language, float programming, float c programming, expression in c programming, epsilon value, e programming language

Concernant l'employeur :
( 18 commentaires ) London, United Kingdom

Nº du projet : #1082606

Décerné à:


sir, i have four years experience in C,C++,java. I am ready to [login to view URL] you

%selectedBids___i_sum_sub_4% %project_currencyDetails_sign_sub_5% USD en 1 jour
(5 Commentaires)

6 freelance font une offre moyenne de $50 pour ce travail


Hi,Please Check your inbox,Thanks.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 2 jours
(105 Commentaires)

Please see the PM for more details.

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% USD en 1 jour
(13 Commentaires)

Hey, please check your PMB.

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% USD en 1 jour
(3 Commentaires)

Hello, Sir I have 3 years experience on C++ programming. I understand your requirements. I have solution of your requirements. So you can trust on me for better solution.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 2 jours
(0 Commentaires)

Hello I can do this PLease see PMB for more details

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 2 jours
(0 Commentaires)