Advancing Compilers

Total Page:16

File Type:pdf, Size:1020Kb

Advancing Compilers © 2014 IJIRT | Volume 1 Issue 6 | ISSN : 2349-6002 COMPILERS-STUDY FROM ZERO Vishal Sharma, Priyanka Yadav, Priti Yadav Computer Science Department, Dronacharya College of Engineering/ Maharishi Dayanand University, India Abstract- This paper gives the basic understanding of Compilers also aid in detecting programming errors compilers. The beginning of paper explain the term (which are all too common). compiler followed by its working, need and Compiler techniques also help to improve computer knowledge required in building compilers. Further security. we have explained the different types of compiler and For example, the Java Byte code Verifier helps to the application of compilers. The paper shows the study of different types of compilers.Thus, going guarantee that Java security rules are satisfied. through this paper one will end up with a good II. HOW DOES A COMPILER WORK? understanding of compilers and their future aspect. A compiler can be viewed in two parts: Index Terms- Analyser, Compilers, FORTRAN, LISP, UNIVAC. 1. Source Code Analyser: which takes as input I. INTRODUCTION source code as a sequence of characters, and Compilers are fundamental to modern computing. interprets it as a structure of symbols (vars, values, They act as translators, transforming human- operators, etc.) oriented programming languages into computer- oriented machine languages. 2. Object Code Generator: which takes the A compiler allows programmers to ignore the structural analysis from (1) and produces runnable machine-dependent details of programming. code as output? Compilers allow programs and programming skills to be machine-independent. Code Source analyser Code Code generator Object Code The Code Analyser typically has three stages: • Semantic Analyser: checks that variables are • Lexical Analysis: accepts the source code as a instantiated before use, etc. sequence of chars, outputs the code as a sequence of tokens. What is the Challenge? • Syntax Analyser: interprets the program tokens as Many variations: a structured program. IJIRT 100560 INTERNATONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 226 many programming languages (eg, write n*m compilers, one for each language- FORTRAN, C++, Java) architecture combination. many programming paradigms (eg, object- A typical real-world compiler usually has multiple oriented, functional, logic) phases. This increases the compiler's portability many computer architectures (eg, MIPS, and simplifies retargeting. The front end consists of SPARC, Intel, alpha) the following phases: many operating systems (eg, Linux, 1. scanning: a scanner groups input Solaris, Windows) characters into tokens; Qualities of a compiler (in order of importance): 2. parsing: a parser recognizes sequences of 1. the compiler itself must be bug-free tokens according to some grammar and 2. it must generate correct machine code generates Abstract Syntax Trees (ASTs); 3. the generated machine code must run fast 3. Semantic analysis: performs type 4. the compiler itself must run fast checking (ie, checking whether the (compilation time must be proportional to variables, functions etc in the source program size) program are used consistently with their 5. the compiler must be portable (ie, definitions and with the language modular, supporting separate compilation) semantics) and translates ASTs into IRs; 6. it must print good diagnostics and error 4. optimization: messages 5. Optimizes IRs. 7. the generated code must work well with The back end consists of the following phases: existing debuggers 1. instruction selection: maps IRs into 8. must have consistent and predictable assembly code; optimization. 2. code optimization: optimizes the assembly Building a compiler requires knowledge of code using control-flow and data-flow programming languages (parameter analyses, register allocation, etc; passing, variable scoping, memory 3. code emission: generates machine code allocation, etc) from assembly code. theory (automata, context-free languages, The generated machine code is written in an object etc) file. This file is not executable since it may refer to external symbols (such as system calls). The algorithms and data structures (hash operating system provides the following utilities to tables, graph algorithms, dynamic execute the code: programming, etc) linking: computer architecture (assembly A linker takes several object files and libraries programming) as input and produces one executable object software engineering. file. It retrieves from the input files (and puts A compiler can be viewed as a program that them together in the executable object file) the accepts a source code (such as a Java program) and code of all the referenced functions/procedures generates machine code for some computer and it resolves all external references to real architecture. Suppose that you want to build addresses. The libraries include the operating compilers for n programming languages (eg, sytem libraries, the language-specific libraries, FORTRAN, C, C++, Java, BASIC, etc) and you and, maybe, user-created libraries. want these compilers to run on m different loading: architectures (eg, MIPS, SPARC, Intel, alpha, etc). A loader loads an executable object file into If you do that naively, you need to memory, initializes the registers, heap, data, etc and starts the execution of the program. IJIRT 100560 INTERNATONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 227 © 2014 IJIRT | Volume 1 Issue 6 | ISSN : 2349-6002 In computer science, bootstrapping is the process programming language developed by the Naval of writing a compiler (or assembler) in the Electronics Laboratory in 1958. target programming language which it is intended NELIAC was the brainchild of Harry Huskey — to compile. Applying this technique leads to a self- then Chairman of the ACM and a well known hosting compiler. computer scientist, and supported by Maury Many compilers for many programming languages Halstead, the head of the computational centre at are bootstrapped, including compilers NEL. The earliest version was implemented on the for BASIC, ALGOL, C, Pascal, PL/I, Factor, Hask prototype USQ-17 computer (called the Countess) ell, Modula-2, Oberon, OCaml, Common at the laboratory. It was the world's first self- Lisp, Scheme, Java, Python, Scala, Nimrod and compiling compiler. This means that the compiler more. was first coded in simplified form in assembly language (the bootstrap), and then re-written in its NELIAC own language, compiled by this bootstrap compiler, and re-compiled by itself, making the bootstrap The Navy Electronics Laboratory International obsolete. ALGOL Compiler or NELIAC was a dialect and compiler implementation of the ALGOL 58 Lisp IJIRT 100560 INTERNATONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 228 XCOM compiles from XPL source code, but since The first self-hosting compiler (excluding XCOM itself is written in XPL it can compile itself assemblers) was written for Lisp by Tim Hart and – it is a self-compiling compiler, not reliant on Mike Levin at MIT in 1962.[4] They wrote a Lisp anyone else's compilers. Several famous languages compiler in Lisp, testing it inside an existing Lisp have self-compiling compilers, including interpreter. Once they had improved the compiler Burroughs B5000 Algol, PL/I, C, LISP, and Java. to the point where it could compile its own source Creating such compilers is a chicken-and-egg code, it was self-hosting. conundrum. The language is first implemented by a The compiler as it exists on the standard compiler temporary compiler written in some other tape is a machine language program that was language, or even by an interpreter (often an obtained by having the S-expression definition of interpreter for an intermediate code, as BCPL can the compiler work on itself through the interpreter. do with intcode or O-code). XCOM began as an (AI Memo 39) Algol program running on Burroughs machines, This technique is only possible when an interpreter translating XPL source code into System/360 already exists for the very same language that is to machine code. Someone manually turned its Algol be compiled. It borrows directly from the notion of source code into XPL source code. That XPL running a program on itself as input, which is also version of XCOM was then compiled on used in various proofs in theoretical computer Burroughs, creating a self-compiling XCOM for science, such as the proof that the halting problem System/360 machines. The Algol version was then is undecidable. thrown away, and all further improvements happened in the XPL version only. This is called XPL bootstrapping the compiler. Retargeting the compiler for a new machine architecture is a XPL is a dialect of the PL/I programming similar exercise, except only the code generation language, developed in 1967, used for the modules need to be changed. development of compilers for computer languages. XCOM is a one-pass compiler (but with an emitted It was designed and implemented by a team with code fix-up process for forward branches, loops William McKeeman, James J. Horning, and David and other defined situations). It emits machine code B. Wortman at Stanford University and the for each statement as each grammar rule within a University of California, Santa Cruz. It was first statement is recognized, rather than waiting until it announced at the 1968 Fall Joint Computer has parsed the entire procedure or entire program. Conference in San Francisco. There are no parse trees or other required It is the name of both the programming language intermediate
Recommended publications
  • VERSION 2.0 Referene MANUAL
    VERSION 2.0 REFERENe MANUAL BORlAnD INTERNATIONAL Borland International 4113 Scotts Valley Drive Scotts Valley, California 95066 Copyright Notice© This software package and manual are copyrighted 1983, 1984 by BORLAND INTERNATIONAL Inc. All rights reserved worldwide. No part of this publication may be reproduced, transmitted, transcribed, stored in any retrieval system, or translated into any language by any means without the express written per­ mission of BORLAND INTERNATIONAL Inc., 4113 Scotts Valley Drive, Scotts Valley, CA 95066, USA. Single CPU License The price paid for one copy of TURBO Pascal licenses you to use the product on one CPU when and only when you have signed and returned the License Agreement printed in this book. Disclaimer Borland International makes no warranties as to the contents of this manual and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Borland International further reserves the right to make changes to the specifications of the program and contents of the manual without obligation to notify any person or organization of such changes. Fifth edition, October 1984 Printed in the United States of America 98765 TABLE OF CONTENTS INTRODUCTION ............................................. 1 The Pascal Language .........................................1 TURBO Pascal ..............................................1 Structure of This Manual ..................................... 2 Typography ............................................... 3 Syntax Descriptions
    [Show full text]
  • TURBO Pascal Tutor·
    The TURBO Pascal Tutor· A Self-Study Guide to TURBO Pascal Copyright @1984 Copyright @1985 BORLAND INTERNATIONAL, INC. 4585 Scotts Valley Drive Scotts Valley, CA 95066 U.S.A. Borland's No-Nonsense License Statement! This software is protected by both United States Copyright Law and International Treaty provisions. Therefore you must treat this software just like a book with the following single exception. Borland International authorizes you to make archival copies of the software for the sole purpose of backing-up your software and protecting your investment from loss. By saying, "just like a book", Borland means for example that this software may be used by any number of people and may be freely moved from one computer location to another so long as there is No Possibility of it being used at one location while it's being used at another. Just like a book that can't be read by two different people in two different places at the same time, neither can the software be used by two different people in two different places at the same time. (Unless, of course, Borland's Copyright has been violated.) WARRANTY With respect to the physical diskette and physical documentation enclosed herein, BORLAND INTERNATIONAL, INC., ("BORLAND") warrants the same to be free of defects in materials and workmanship for a period of 30 days from the date of purchase. In the event of notification within the warranty period of defects in material or workmanship, BORLAND will replace the defective diskette or documentation. The remedy for breach of this warranty shall be limited to replacement and· shall not encompass any other damages, including but not limited to loss of profit, special, incidental, consequential, or other similar claims.
    [Show full text]
  • Digital Equipment: Corporation, Maynard, Massachusetts 01754 Digital Equipment Cor1poration • Maynard
    TOPS .. 10 DOCUMENTATION DIRECTORY Order Number AA-0858C-TB April 1979 This document describes the manuals for the TOPS·10 Software Notebooks. This manual supersedes the TOPS·10 Documentation Directory, Order Number AA·0858B·TB. To order additional copies; of this document, contact the Software Distribution Center, Digital Equipment: Corporation, Maynard, Massachusetts 01754 digital equipment cor1poration • maynard. massachusetts First Printing, February, 1978 Upda ted, May, 1978 Updated, June, 1978 Updated, August, 1978 Revised, Nov~mber, 1978 Revised, April, 1979 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. Digital Equipment Corporation assumes no responsibility for the use or reliability of its software on equipment that is not supplied by DIGITAL and its affiliated companies. copyright©l979 by Digital Equipment Corporation The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. The following are trademarks of Digital Equipment Corporation: DIGITAL DECsystem-lO MASSBUS DEC DECSYSTEM-20 OMNIBUS PDP DEC tape OS/8 DECUS DIBOL PHA UNIBUS EDUSYSTEM RSTS COMPUTER LABS FLIP CHIP RSX COMTEX
    [Show full text]
  • KTS-A Memory Management Control User's Guide Digital Equipment Corporation • Maynard, Massachusetts
    --- KTS-A memory management control user's guide E K- KTOSA-U G-001 digital equipment corporation • maynard, massachusetts 1st Edition , July 1978 Copyright © 1978 by Digital Equipment Corporation The material in this manual is for informational purposes and is subject to change without notice. Digital Equipment Corporation assumes no responsibility for any errors which may appear in this manual. Printed in U.S.A. This document was set on DIGITAL's DECset-8000 com­ puterized typesetting system. The following are trademarks of Digital Equipment Corporation, Maynard, Massachusetts: DIGITAL D ECsystem-10 MASSBUS DEC DECSYSTEM-20 OMNIBUS POP DIBOL OS/8 DECUS EDUSYSTEM RSTS UNI BUS VAX RSX VMS IAS CONTENTS Page CHAPTER 1 INTRODUCTION 1 . 1 SCOPE OF MANUAL ..................................................................................................................... 1-1 1.2 GENERAL DESCRI PTION ............................................................................................................. 1-1 1 .3 KT8-A SPECIFICATION S.............................................................................................................. 1-3 1.4 RELATED DOCUMENTS ............................................................................................................... 1-4 1 .5 SOFTWARE ..................................................................................................................................... 1-5 1.5.1 Diagnostic .............................................................................................................................
    [Show full text]
  • On the Cognitive Prerequisites of Learning Computer Programming
    On the Cognitive Prerequisites of Learning Computer Programming Roy D. Pea D. Midian Kurland Technical Report No. 18 ON THE COGNITIVE PREREQUISITES OF LEARNING COMPUTER PROGRAMMING* Roy D. Pea and D. Midian Kurland Introduction Training in computer literacy of some form, much of which will consist of training in computer programming, is likely to involve $3 billion of the $14 billion to be spent on personal computers by 1986 (Harmon, 1983). Who will do the training? "hardware and software manu- facturers, management consultants, -retailers, independent computer instruction centers, corporations' in-house training programs, public and private schools and universities, and a variety of consultants1' (ibid.,- p. 27). To date, very little is known about what one needs to know in order to learn to program, and the ways in which edu- cators might provide optimal learning conditions. The ultimate suc- cess of these vast training programs in programming--especially toward the goal of providing a basic computer programming compe- tency for all individuals--will depend to a great degree on an ade- quate understanding of the developmental psychology of programming skills, a field currently in its infancy. In the absence of such a theory, training will continue, guided--or to express it more aptly, misguided--by the tacit Volk theories1' of programming development that until now have served as the underpinnings of programming instruction. Our paper begins to explore the complex agenda of issues, promise, and problems that building a developmental science of programming entails. Microcomputer Use in Schools The National Center for Education Statistics has recently released figures revealing that the use of micros in schools tripled from Fall 1980 to Spring 1983.
    [Show full text]
  • DIBOL for Beginners Order No
    DIBOL for Beginners Order No. AA-BI77 A-TK April 1984 Supersession: This is a new manual. Operating System: VAXNMS, CTS-300, RSTS/E, Professional, RSX-11 M-Plus, Micro/RSX, Professional CTS-300 Software Version: Applicable to all products containing DIBOL-83 . First Printing, April 1984 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. The specifications and drawings, herein, are the property of Digital Equipment Corporation and shall not be reproduced or copied or used in whole or in part as the basis for the manufacture or sale of items without written permission. Copyright © 1984 by Digital Equipment Corporation. All Rights Reserved The following are trademarks of Digital Equipment Corporation: CTI BUS MASSBUS RSTS DEC PDP RSX DECmate P/OS Tool Kit DECsystem-10 PRO/BASIC UNIBUS DECSYSTEM-20 Professional VAX DECUS PRO/FMS VMS DECwriter PRO/RMS VT DIBOL PROSE Work Processor mamDOma Rainbow CONTENTS Page PREFACE ............................................................................................. v INTRODUCTION ...................................................................... Introduction-1 CHAPTER 1 COMMUNICATING WITH YOUR COMPUTER ........................ 1-1 CHAPTER 2 HOW DATA IS STORED ..................................................... 2-1 Accessing Stored Data............................................................. 2-2 CHAPTER 3 HOW DATA IS PROCESSED ............................................... 3-1 The Basic Data Processing Cycle.............................................
    [Show full text]
  • HP Powerpoint 2000 Dark Template
    OpenVMS Strategy and Futures OpenVMS Division, Hewlett-Packard © 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Agenda • OpenVMS Today • OpenVMS Tomorrow • Integrity Update • Summary 2 20 October 2007 OpenVMS Today 3 20 October 2007 The OpenVMS Mission Statement The OpenVMS Division is committed to delivering the OpenVMS roadmaps on time and with outstanding quality. The capabilities that customers have come to rely on in OpenVMS - leadership clustering, high availability, excellent quality, exceptional security and “bullet-proof” operations - will continue to be delivered and enhanced by HP, ensuring product leadership now and in the future. 4 20 October 2007 OpenVMS Celebrating 29 years across 3 computer architectures • Differentiating product • Some key Customers attributes Vodafone Toys R Us − Availability: Disaster Tolerance Deutsche Borse Renault − Clustering: Scalable to 96 nodes, Ikea USPS up to 500 miles apart Verizon Wireless Fraport USAF Commerzbank − Security: System and Cluster Mayo Foundation Intel − Best TCO in class Indian Railways PKE − Strong Integration technology Korean Exchange HKJC Veterans Association Volvo • Core Markets • Market Profile − Finance: Capital Markets, Retail − #1 rated in Healthcare Banking, Wholesale Banking, − 90% of manufacturing of the world’s CPU − Telecommunications: Mobile chips Billing, SMS, Prepaid, HLR, Cable − 30%+ of mobile phones billed in the world & Satellite TV − Over 50% of the world’s SMS transactions − Healthcare:
    [Show full text]
  • 1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
    AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT ​ 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B.
    [Show full text]
  • BORLAND Turbo Pascafbj Version 6.0
    BORLAND Turbo PascafBJ Version 6.0 Turbo Vision Guide BORLAND INTERNATIONAL INC. 1800 GREEN HILLS ROAD P.O. BOX 660001, scons VALLEY, CA 95067-0001 Copyright © 1990 by Borland International. All rights reserved. All Borland products are trademarks or registered trademarks of Borland International, Inc. Other brand and product names are trademarks or registered trademarks of their respective holders. PRINTED IN THE USA. R2 10 9 8 7 6 5 4 3 2 1 c o N T E N T s Introduction 1 Chapter 2 Writing Turbo Vision Why Turbo Vision? ................... 1 applications 23 What is Turbo Vision? ................. 1 Your first Turbo Vision application . .. 23 What you need to know ............... 2 The desktop, menu bar, and status line .. 25 What's in this book? ................... 2 The desktop . .. 26 The status line . .. 26 Part 1 Learning Turbo Vision Creating new commands. .. 27 Chapter 1 Inheriting the wheel 7 The menu bar ..................... 28 The framework of a windowing A note on structure . .. 30 application . .. 7 Opening a window. .. 31 A new Vision of application development. 8 Standard window equipment . .. 31 The elements of a Turbo Vision Window initialization .............. 33 application . .. 9 The Insert method ............... 33 Naming of parts .................... 9 Closing a window. .. 34 Views ........................... 9 Window behavior . .. 34 Events ........................... 9 Look through any window . .. 35 Mute objects. .. 10 What do you see? .................. 37 A common "look and feel" .......... 10 A better way to Write. .. 38 "Hello, World!" Turbo Vision style ..... 12 A simple file viewer .. .. 38 Running HELLO.PAS .............. 13 Reading a text file .. .. 39 Pulling down a menu. .. 14 Buffered drawing .................
    [Show full text]
  • Download Turbo Pascal 7.1 Full Version ->->->-> DOWNLOAD
    Download Turbo Pascal 7.1 Full Version ->->->-> DOWNLOAD 1 / 4 2 / 4 Look Up Quick Results Now! Find Related Search and Trending Suggestions Here.Ke tiga Download Turbo Pascal . Subway Surfers HD for PC Full Version; Internet Download Manager 6.20 . WebcamMax 7.7.1 Full Patch; Internet Download Manager 6.14 .Download Turbo Pascal 7.1 . Is TP71 an official release of turbo pascal? I find no info on such version . I would go with the disk set if your looking for a full .Downloading Borland Turbo Pascal 1.5 for Microsoft Windows (5.25-1.2mb) version 1.5 for Microsoft Windows. Thanks for downloading from WinWorld, your primary source .FREE DOWNLOAD TURBO PASCAL 7.1. VMware Workstation 10.0.4 2014 Full Version Free Download VMware Workstation 10.0.4 + Keygen 472 MB .download turbo pascal Windows 8 downloads - Free Download Windows 8 download turbo . Demo spy software download enables you to perform every function as full version.Turbo Pascal Download - here are listed some old version of Borland Turbo Pascal compilers available for free download.MidwayUSA is a privately held American retailer of various hunting and outdoor-related products.Download Turbo Pascal 7.1, Download DOSBox 0.74, Tutorial Install Turbo Pascal and DOSBox, Ready to Use, . Edited by Chrono5oft, Free and Full Version, .Version information for Borland, Inprise Pascal and Turbo Pascal compilers and addons. Borland/Inprise Pascal Versions. Full version packaging.turbo pascal 7.1 download, Download Accelerator Plus 10, Download Accelerator Plus 10.0.5.3, Free Pascal 2.4.0Downloading Borland Turbo Pascal 7.1 (3.5) version 7.1.
    [Show full text]
  • From Eiffel to the Java Virtual Machine
    From Eiffel to the Java Virtual Machine Adding a new language target to the EiffelStudio compiler Søren Engel, [email protected] Supervisor Dr. Joseph R. Kiniry Thesis submitted to The IT University of Copenhagen for the degree of Bachelor of Science in Software Development August 2012 Abstract Previous attemps has been made towards translating and executing programs written in Eiffel on the Java platform, as described in Baumgartner [1]. However, the generated Java code has not been easy to use in terms of interoperability between the two languages, due to the restrictions of the Java language. Due to the evolution of the Java language, the work presented in this thesis examines whether it is possible to simplify the translation model of Eiffel to Java. In doing so, this thesis describes a refined translation model that leverages on some of the new features of the Java language, such as the invokedynamic bytecode instruction. Moreover, in order to verify the correctness of the proposed translation model, a description follows on how the translation model may be integrated into the existing EiffelStudio compiler, in terms extending the back-end to target the Java platform. In regards of simplicity, it was found that by using new language features of Java, the translation model of Eiffel to Java could be simplified to the extend that it solves the known issues found in the solution presented in Baumgartner [1]. In trying to integrate the translation model into the existing EiffelStudio compiler, it was found that no public documentation exists which described the internal structure of the EiffelStudio compiler.
    [Show full text]
  • Eiffelstudio: a Guided Tour
    EiffelStudio: A Guided Tour Interactive Software Engineering 2 EIFFELSTUDIO: A GUIDED TOUR § Manual identification Title: EiffelStudio: A Guided Tour, ISE Technical Report TR-EI-68/GT. (Replaces TR-EI-38/EB.) Publication history First published 1993 as First Steps with EiffelBench (TR-EI-38/EB) and revised as a chapter of Eiffel: The Environment (TR-EI- 39/IE), also available as An Object-Oriented Environment (Prentice Hall, 1994, ISBN 0-13-245-507-2. Version 3.3.8, 1995. Version 4.1, 1997 This version: July 2001. Corresponds to release 5.0 of the ISE Eiffel environment. Author Bertrand Meyer. Software credits Emmanuel Stapf, Arnaud Pichery, Xavier Rousselot, Raphael Simon; Étienne Amodeo, Jérôme Bou Aziz, Vincent Brendel, Gauthier Brillaud, Paul Colin de Verdière, Jocelyn Fiat, Pascal Freund, Savrak Sar, Patrick Schönbach, Zoran Simic, Jacques Sireude, Tanit Talbi, Emmanuel Texier, Guillaume Wong-So; EiffelVision 2: Leila Ait-Kaci, Sylvain Baron, Sami Kallio, Ian King, Sam O’Connor, Julian Rogers. See also acknowledgments for earlier versions in Eiffel: The Environment (TR-EI-39/IE) Non-ISE: special thanks to Thomas Beale, Éric Bezault, Paul Cohen, Paul-Georges Crismer, Michael Gacsaly, Dave Hollenberg, Mark Howard, Randy John, Eirik Mangseth, Glenn Maughan, Jacques Silberstein. Cover design Rich Ayling. Copyright notice and proprietary information Copyright © Interactive Software Engineering Inc. (ISE), 2001. May not be reproduced in any form (including electronic storage) without the written permission of ISE. “Eiffel Power” and the Eiffel Power logo are trademarks of ISE. All uses of the product documented here are subject to the terms and conditions of the ISE Eiffel user license.
    [Show full text]