Find Jobs
Hire Freelancers

compiler design - coding

$15-25 USD / hour

Cerrado
Publicado hace más de 7 años

$15-25 USD / hour

Part I: Declaration checking The Mython language has a very simple type system as described in the Mython specification (assignment#2). There are only three types in Mython: integers, booleans and strings. Mython has no explicit type declarations or global variables; in general, we have to determine the type of a variable by the way it is first used in the code. o Integers: All parameters passed in Mython are implicitly integers. Another way for a variable to get integer type is when it is first used on the left side of an assignment statement where the expression on the right side has type integer. For example, if the first use of x is x = 3 + 2, then x will have an integer type and can be used anywhere an integer is expected. An input statement can also be used to give a variable integer type. All function are type integer. o Boolean: The only way for a variable to have boolean type is when it is first used on the left side of an assignment statement where the expression on the right side has type boolean. o Strings: The only way for a variable to have string type is to assign a string to it on the right side of an assignment statement. For this part of the assignment, you need to see that all variables that are used in a Mython have been given a type. A variable cannot be used (on the right side of an assignment statement, in a condition for a compound statement, used in a print statement or passed as a parameter) if it hasn't given a type as described above. If this condition has been violated, print out an error message and the associated line number. Continue processing. If there is an attempt to give a different type to a name in some scope, this should also be flagged as an error. No two functions can share a name. In a given procedure/function, no two local variables or parameter can share a name. They should also not share a name with their declared scope. King Saud University College of Computer and Information Sciences Computer Science Department CSC 340: Programming Language and Compilation Programming Assignment 3: Semantic Analysis Due Date: December 28, 2016 ----------------------------------------------------------------------------------------------------------- Part II: Checking the Type system The Mython specification also describes rules for type checking statements and expression. During parsing, if a type rule is violated, print an error message that explains the violation (along with associated line number) and continue processing the input. o The left and right side of an assignment statement must have the same type. Once a variable has been given a type, that type cannot change. For example, the two statement x = 2 followed later by x = true is a violation of Mython's type system. o input ( ) has type integer. o Arithmetic operator (+,-,*,/) only operate on integers and the result is an integer. o Relational operation (<,>,<=,>=,<>,==) only operate on integers and result is a Boolean. o The expression in if and while statements must have type Boolean. o Return expression must be type integer. o Parameters to the print function can be integer, Boolean or strings. o A function cannot be called until after it has been declared. Since formal parameters are implicitly integer, actual expression must also be of type integer. A function call must have the correct number of parameters. All parameters will be passed by value.
ID del proyecto: 12695361

Información sobre el proyecto

6 propuestas
Proyecto remoto
Activo hace 7 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
6 freelancers están ofertando un promedio de $20 USD /hora por este trabajo
Avatar del usuario
A proposal has not yet been provided
$20 USD en 3 días
4,9 (277 comentarios)
7,0
7,0
Avatar del usuario
I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on server side, using c++ under linux environment. I used c++ to make many great projects, for example, I made the tools which can convert java files into c++ scripts, of course garbage collection included, this job is very similar to a compiler, and is very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
$20 USD en 8 días
4,9 (91 comentarios)
6,7
6,7
Avatar del usuario
Hi, I'm a OS expert experienced C/C++/ObjC developing. I can develop almost kinds of C/C++/ObjC codes for any OS : Windows, Linux, MAC OS X... I can use almost of develop libraries such as QT, MFC, boost... and ant IDE tools that you prefer. I had done several developing tasks related operating systems or applications. I can also develop IPhone/IPad Apps with Corona SDK, Obj C, QT and Swift Please check my profile and contact with me. Best regards!
$21 USD en 10 días
4,9 (40 comentarios)
6,0
6,0

Sobre este cliente

Bandera de SAUDI ARABIA
riyadh, Saudi Arabia
5,0
2
Forma de pago verificada
Miembro desde ene 5, 2017

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.