Semantic analysis stage project (compilers) C/C++

Other

I need to build a simple compiler for Ada productions(short version). In general the phases of every compiler are :Lexical Analysis ( my first project), Syntax Analysis ( proj2) , Semantic Analysis( the recent project3) and one more for the last project. Project 2 is completed , it works ok ( 95% was graded) and I will provide it I will provide you my instructors website. At the hand outs there are examples for Fortran– productions,flex,bison ( for that I could send it to you .l .y .c .h files -for example in the dropbox folder for project 3 is a file check.c – project3 supposed to be similar but for Ada production ). here is the project : Part 3: Your third part of the project is to traverse the tree, checking the types and generating the symbol table. The fields in the symbol table is up to you; I would expect at least the name of the variable, the type, its scope level, and for arrays the upper and the lower limits in the declaration and the basetype (but it is your choice). You must handle scopes, although you may want to start with only one level, make sure it works, and then add the support for multiple scopes. The declarations in a DECLARE section start a scope ending at the corresponding end. The restrictions in the program are: •a DECLARE starts a new scope that ends at the corresponding END •the type of the LHS and the RHS of an assignment must agree; •the expressions in an IF must have type Boolean; •for a FOR loop, the 2 values in the range must be the same type and the identifier is (implicitly) declared in a new scope that encases the body of the FOR loop •the operands for OR, AND, XOR, and NOT must be Boolean, and the result is Boolean; •the operands for the relational operators must agree, and the result is Boolean; •the operands for the arithmetic operators (including unary + and -) must be Integer, and the result is Integer; •the an Ident used with an index (A(3)) must be declared as an array variable, and the index must be of type Integer. Note there 3 places where a scope starts: the start of the program, every DECLARE, and every FOR. The executable must be called ada, it will take one command-line argument (the input file), and is to output (to stdout) any errors found and just before the end of every scope, the scope level and the names and types of all visible Idents. You must turn in all the source files: the .l, .y files, the files containing the main program and the checking routines, all the needed .h files, and a Makefile with extension .mak. It is my feeling that you should start with one scope with assignments and expressions; then add the DECLARE construct, WHILE, EXIT, and FOR; and finally the declaration and use of array variables.

#write essay #research paper #blog writing #article writing #academic writer #reflective paper #essay pro #types of essays #write my essay #reflective essay #paper writer #essay writing service #essay writer free #essay helper #write my paper #assignment writer #write my essay for me #write an essay for me #uk essay #thesis writer #dissertation writing services #writing a research paper #academic essay #dissertation help #easy essay #do my essay #paper writing service #buy essay #essay writing help #essay service #dissertation writing #online essay writer #write my paper for me #types of essay writing #essay writing website #write my essay for free #reflective report #type my essay #thesis writing services #write paper for me #research paper writing service #essay paper #professional essay writers #write my essay online #essay help online #write my research paper #dissertation writing help #websites that write papers for you for free #write my essay for me cheap #pay someone to write my paper #pay someone to write my research paper #Essaywriting #Academicwriting #Assignmenthelp #Nursingassignment #Nursinghomework #Psychologyassignment #Physicsassignment #Philosophyassignment #Religionassignment #History #Writing #writingtips #Students #universityassignment #onlinewriting #savvyessaywriters #onlineprowriters #assignmentcollection #excelsiorwriters #writinghub #study #exclusivewritings #myassignmentgeek #expertwriters #art #transcription #grammer #college #highschool #StudentsHelpingStudents #studentshirt #StudentShoe #StudentShoes #studentshoponline #studentshopping #studentshouse #StudentShoutout #studentshowcase2017 #StudentsHub #studentsieuczy #StudentsIn #studentsinberlin #studentsinbusiness #StudentsInDubai #studentsininternational