Nothing Special   »   [go: up one dir, main page]

Computer Science Department: Project Specification Cs052 - Translation of Programming Languages

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 5

COMPUTER SCIENCE DEPARTMENT

Project Specification
CS052 - TRANSLATION OF PROGRAMMING LANGUAGES

PROJECTS

A compiler translates (or compiles) a program written in a high-level


programming language that is suitable for human programmers into the low-level
machine language that is required by computers.
A lexical analysis stage that basically divides the input text into a list of “words”.
This is the initial part of reading and analyzing the program text: The text is read
and divided into tokens, each of which corresponds to a symbol in the
programming language, e.g., a variable name, keyword or number.
The next process will be a syntax analysis stage that analyses the way these
words form structures and converts the text into a data structure that reflects
the textual structure.
The following set of rules that define for the syntax:
1) All statements will end in a semicolon.
2) Whitespace is not significant, i.e. a+b is the same as a + b.
3) Comments begin with /* and end with */ and they can extend across multiple
lines.
4) The only keywords are var, input, and output. Their function is as follows:
  var declares a new variable. All variables must be declared before they're
used.
 input reads a variable from the console.
output displays the value of a variable on the console.
5) All variables are integers.
6) The only operations allowed are +, -, *, /, and =. Parentheses may be used to
force operation ordering.
7) Variable names may only consist of uppercase and lowercase letters,
underscores (_), and numbers. A variable name may not start with a number.

After the syntax analysis being performed the type checking, this phase analyses
the syntax tree to determine if the program violates certain consistency
requirements, e.g., if a variable is used but not declared or if it is used in a
context that does not make sense given the type of the variable, such as trying to
use a boolean value as a function pointer.

Design: invent a language, or a language fragment, for some particular purpose


or with some particular characteristic.

Modeling: try to formalize some interesting aspect of some existing language


Make sure that computations are sufficiently documented and supported
by theories and literatures.

Implementation: explore novel techniques for implementing a given language


fragment

Take note in submitting the project:

1. May choose any two programming language. (C, C++, Java, C#, Python, etc) for
implementation of the proposed project.
2. A copy of the software (source codes) needs to be submitted and screen shots
for each of the programming language.
3. Submit the following in word document:
a. front page
b. source code
c. screen shots
4. Remember to use the filename: SURNAME-TP-PROJECT
<Project Title>

A project submitted to
<<professor>>
Computer Science Department
FEU Institute of Technology

In partial fulfillment of the requirements in


CS052 - PROGRAMMING LANGUAGES
for ______Trimester, Academic Year 2020-2021

<<LAST NAME, FIRST NAME MI>>


<<SECTION>>
<<DATE OF SUBMISSION>>
ASSESSMENT:

Department COMPUTER SCIENCE


Subject Code CS052
Description PROGRAMMING LANGUAGES
Term/Academic Year 2ND TERM - SY 2020-2021

Topic Module 1-7


Project 1
Project Activity Project Submission
CLO 1, 2, 3

Note: The following rubrics/metrics will be used to grade students’ output in the project.
Criteria Exceptional Acceptable Amateur Unsatisfactory
The project works and The project works and The project The project is
meets all of the produces the correct produces correct producing incorrect
specifications. results and displays results but does not results.
Specifications them correctly. It also display them
(40%) meets most of the other correctly.
specifications.

(31-40) (21-30) (11-20) (1-10)


The design is The design is fairly The design is fairly The design is
exceptionally attractive. Project is attractive. Project is unattractive and not
attractive. Project is "user-friendly" with not "user-friendly" user-friendly
"user-friendly" with informative and but still provide
Design
informative and consistent prompts and informative and
(15 %)
consistent prompts and messages. consistent prompts
messages. and messages.

(13-15) (9-12) (5-8) (1-4)


The code is extremely The code is fairly The code is brute The code is huge
efficient without efficient without force and and appears to be
Efficiency sacrificing readability sacrificing readability unnecessarily long. patched together.
(20%) and understanding. and understanding.

(16-20) (11-15) (6-10) (1-5)


The code is The code is fairly easy to The code is readable The code is poorly
exceptionally well read. only by someone organized and very
Readability organized and very who knows what it difficult to read.
(10 %) easy to follow. is supposed to be

(8-10) (5-7) (3-4) (1-2)


Documentati The team provides Written documentation Written There is no
on written documentation is generally complete, documentation is supporting written
(15%) that clarifies their but occasional omissions incomplete, some documentation.
experimental results create some lack of lack of clarity.
for that week. clarity. Objectives for Objectives for the
Objectives for the past the past week are past week are
week are clearly stated included with no included with no
in relation to project relationship to project relationship to
goals, and the report is goals. project goals.
structured around their
accomplishment.

(13-15) (9-12) (5-8) (1-4)


Total: 100%        

You might also like