Programming Language Translation

Slides:



Advertisements
Similar presentations
Virtual Dart: An Augmented Reality Game on Mobile Device Supervisor: Professor Michael R. Lyu Prepared by: Lai Chung Sum Siu Ho Tung.
Advertisements

SIMULTANEOUS GRAPHIC MANAGER TEAM 9. Introduction Purpose of the system Work done Demonstration.
Programming Languages WHY MORE? Wasn’t ONE ENOUGH? Introduction to CS260.
CSC 200 Spring 2006 Instructor: Matt Kayala. What is a “Computer”? We all use them for all kinds of tasks: –Games –Word Processing Good at repetitive.
Design Review Presentation Lost Caf é 66. Introduction of Team Team Leader: Arthur Phanphengdy Members: Quincy Quach Kang Lu Jackson Ng Team Name: Lost.
Ch7: Software Production Process. 1 Questions  What is the life cycle of a software product?  Why do we need software process models?  What are the.
Introduction to a Programming Environment
SIMULATION. Simulation Definition of Simulation Simulation Methodology Proposing a New Experiment Considerations When Using Computer Models Types of Simulations.
SM3121 Software Technology Mark Green School of Creative Media.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Introduction Methodology Results This study aims to explore the current progress of using different types of software with various autism conditions. One.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
Types for Programs and Proofs Lecture 1. What are types? int, float, char, …, arrays types of procedures, functions, references, records, objects,...
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
Left click or use the forward arrows to advance through the PowerPoint Upon advancing, each section of the article will be highlighted one by one Read.
West GeaugaRocksOhioTest.
Defect, Problem and Progress Tracking System John Biddle.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc., All Rights Reserved. 1.
Computer Science for the Young Mind By: Paul Im Computer Systems Period 3.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Programming Language Translation Jamie McAtamney.
Reports An General Introduction. Reports are Important Because: They identify a problem and reason for writing. They give a more in-depth look at an issue.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
INFOMGP Student names and numbers Papers’ references Title.
National Diploma Unit 4 Introduction to Software Development Procedures and Functions.
Title of your Poster Presentation Student Presenter’s Name(s), Major(s) or Course Name · Mentor’s Name and Title, Department Insert Text Here… (replace.
Efficient Graph Traversal with Realistic Conditions by Olex Ponomarenko st Quarter Draft----
Title of your Poster Presentation
Types for Programs and Proofs
1. Systems and Software Development
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
CSE 167 [Win 17], Lecture 11: Curves Problems Ravi Ramamoorthi
Choreographies: the idea
TRANSLATORS AND IDEs Key Revision Points.
Literature Review Guidelines
Title of your Poster Presentation
Title of your Poster Presentation
Literature Review Guidelines
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
We’re moving on to more recap from other programming languages
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
General Findings and Observations
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Title of your Poster Presentation
Title of your Poster Presentation
Title of your Poster Presentation
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Title of your Poster Presentation
Efficient Graph Traversal with Realistic Conditions
Programming Language Translation
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Title of your Poster Presentation
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Title of your Poster Presentation
Language translation Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Programming Fundamentals Lecture #2 Overview of Computer Programming
SPL – PS1 Introduction to C++.
Presentation transcript:

Programming Language Translation Jamie McAtamney

Introduction Purpose: to write a fully functional translator C to Java Hasn’t been done before Java has some advantages over C Scope: as wide as possible All the “basics” Will attempt to translate modules Might not get to graphics

Background Lack of similar research Jazillian pay-per-program translation company Terekhov & Verhoef’s article on translation difficulties Sources of inspiration

Methodology Approach Read up on differences between C and Java Make everything modular Add modules for different translations Have “translate()” methods to coordinate everything Cover most common aspects first, not just simplest

Methodology Translation algorithm Tokenization Keyword search-replace Keywords and punctuation Keyword search-replace Ex: char* → String Context-sensitive search Ex: printf(“\n”); → System.out.println();

Methodology Timeline Currently on tokenization Problems writing in C Step 1: Whole-line translation Step 2: Primitive types Step 3: Input/output Step 4: Structs → Classes Step 5: Modules Step 6: ???

Methodology Testing & Analysis Reading in old C programs More structure than functionality testing Mostly debugging so far

Methodology Problems: C tokenizer didn’t work Translator moved C → Java Limited test base Few basic structures Not always direct analogs

Progress Preliminary Results Program works Full-line translation works Search-replace will work; not yet implemented Still working on it at this point

Progress Analysis Too early to draw conclusions No visuals No “degrees” of success No major changes in initial plan/hypothesis No great new insights/ideas yet Everything’s on track