The user enter a code in Mini C language (described below). The analyser tokenizes the code into tokens according to white spaces and symbols. Each token is assigned to a valid type and line number. The description of types are below. You have to write a regular expression for each type. For assigning a type for a token you can use the following algorithm:
Your program should have one GUI interface that have:
text box to type a code by the user. Textbox to show the errors if any. 2 buttons one for lexical analyser and the other for syntax parsing. An option to upload a text file.
The lexical analyser reads any code from a textbox or a file (note that multi-spaces are accepted as one space for tokenization)
You should use regular expressions to identify types of the tokens.
Output: Identify the lexical errors with a clear message.
Output: a list of (line number, token, type) should be generated in a text file with all errors exist.
The user can modify the code from the screen and rescan again.
Note: This phase concerns on the tokens regardless the syntax structure of the statements. For example: the tokens in a statement (x int =5;) are accepted; but one token is not accepted in (3int x=5;) as 3int is not accepted in all DFA we have. Thus you should report a lexical error with line number.
Mini C language:
This language is a subset of C language just to practice compiler design process. It contains a set of primitive types (that you have to write a regular expression for each) and other types that will be used in the grammars in the syntax phase.
Primitive types: Digit, letter, INT_NUM, FLOAT_NUM, ID, Void
STR is a type of string which has numbers/spaces/letters/symbols
Token *\ Type: END COMMENT. Token: /* Type: BEGIN COMMENT.
Token: if Type: IF. Token: Token: * Type: MULT. Token else Type: ELSE. And so on..
The syntax is similar to C language that has:
Control statements (if, loops,…) and nested statements
Declarations will be in format (variables: type) all variables must be declared at the beginning of the
program or function.
Function will be in format (function_name: type(list of parameters){}), recursive call is also accepted
Blocks of code will be in format { code }
It is not case sensitive (small/capital letters are the same).
The project submission requirements:
A report with a brief description of the compiler phases.
Regular expression and types of the programming language
Snapshots of the lexical analyser input and output.
The context free grammars for the syntax using the description and the start symbol will be:
Program -> Proram_name srart: Declarations functions body
The code.
A video of how to run the program with correct and incorrect input.
Ex:
TestProgram start:
Var1, Locvar1,age Integer
var1:=5
func1: Void (var2 integer) {
print ( var2)
}
Locvar1:=var1+6-2
enter( age)
if (4+2 == var1*2) then {
print(“good”, age)
func1(var1)
}
Bid Summary
we have develop such type a project in android for compiler construction using android studio
but i can develop using java for you.
Project Requirements
we have develop such type a project in android for compiler construction using android studio
but i can develop using java for you.
Relevant Skills and Experience
we have develop such type a project in android for compiler construction using android studio
but i can develop using java for you.
Proposed Milestones
$60 USD - initial
$60 USD 2 gün içinde
4,9 (7 değerlendirme)
2,8
2,8
6 freelancers are bidding on average $122 USD for this job
Bid Summary
i am lexical analyser, syntax grammer expert and have full experience for 12 years.
java/javafx, c/c++ is my top skill and passision.
Then, I will give you good result.
hire me.
Project Requirements
It is project for syntax or grammer parssing
Relevant Skills and Experience
c/c++, java/javafx
Proposed Milestones
$15 USD - fee of the project
$140 USD - price for completing.
If you want the succes, please contact me.
Bid Summary
I am an IITK graduate and I have 9 years of experience in software development.
Project Requirements
I am an IITK graduate and I have 9 years of experience in software development.
Relevant Skills and Experience
I am an IITK graduate and I have 9 years of experience in software development.
Proposed Milestones
$155 USD - I am an IITK graduate and I have 9 years of experience in software development.
Bid Summary
50 usd
Project Requirements
Lexical analyzer that tokenize the code and assign proper identifier to each token
Relevant Skills and Experience
i have recently done lexical analyzer as a project of software construction. i am a software engineering student and have successfuly implemented it n java using GUI. so dont worry.
Proposed Milestones
$50 USD - all
Bid Summary
I saw fully your project.
I have many c/c++ development experience.
Also I worked with great companies.
I can finish very quickly your project.
I am ready usually.
Thank you.
Project Requirements
I saw your project detail.
Relevant Skills and Experience
c/c++
Proposed Milestones
$444 USD - complete