List of Compilers 1 List of Compilers

Total Page:16

File Type:pdf, Size:1020Kb

List of Compilers 1 List of Compilers List of compilers 1 List of compilers This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, etc. Ada compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? [2] Aonix Object Ada Atego Yes Yes Yes Proprietary Eclipse GCC GNAT GNU Project Yes Yes No GPL GPS, Eclipse [3] Irvine Compiler Irvine Compiler Corporation Yes Proprietary No [4] IBM Rational Apex IBM Yes Yes Yes Proprietary Yes [5] A# Yes Yes GPL No ALGOL compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? ALGOL 60 RHA (Minisystems) Ltd No No DOS, CP/M Free for personal use No ALGOL 68G (Genie) Marcel van der Veer Yes Yes Various GPL No Persistent S-algol Paul Cockshott Yes No DOS Copyright only Yes BASIC compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? [6] BaCon Peter van Eerten No Yes ? Open Source Yes BAIL Studio 403 No Yes No Open Source No BBC Basic for Richard T Russel [7] Yes No No Shareware Yes Windows BlitzMax Blitz Research Yes Yes No Proprietary Yes Chipmunk Basic Ronald H. Nicholson, Jr. Yes Yes Yes Freeware Open [8] CoolBasic Spywave Yes No No Freeware Yes DarkBASIC The Game Creators Yes No No Proprietary Yes [9] DoyleSoft BASIC DoyleSoft Yes No No Open Source Yes FreeBASIC FreeBASIC Yes Yes DOS GPL No Development Team Gambas Benoît Minisini No Yes No GPL Yes [10] Dream Design Linux, OSX, iOS, WinCE, Android, GLBasic Yes Yes Proprietary Yes Entertainment WebOS, Pandora List of compilers 2 [11] Just BASIC Shoptalk Systems Yes No No Freeware Yes [12] KBasic KBasic Software Yes Yes No Open source Yes Liberty BASIC Shoptalk Systems Yes No No Proprietary Yes [13] [14] Creative Maximite MMBasic Geoff Graham Yes No Maximite,PIC32 Commons EDIT [15] NBasic SylvaWare Yes No No Freeware No PowerBASIC PowerBASIC, Inc. Yes No DOS Proprietary Yes PureBasic Fantaisie Software Yes Yes Yes Proprietary Yes QB64 Galleon Yes Yes ? LGPL Yes QuickBASIC Microsoft No No DOS Proprietary Yes [16] RapidQ William Yu Yes Yes Yes Freeware Yes Realbasic Real Software Yes Yes Yes Proprietary Yes Visual Basic Microsoft Yes No DOS Proprietary Yes C compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? AMPC Axiomatic Solutions Sdn Yes Yes Yes Proprietary Yes Bhd Aztec C Manx Software Systems Yes CP/M, No No Proprietary No CP/M-86, MS-DOS Amsterdam Compiler Andrew Tanenbaum and No Yes Yes BSD No Kit Ceriel Jacobs [17] CCS C Compiler CCS, Inc. Yes Yes Yes Proprietary Yes Ch [18] Mac OS X, SoftIntegration, Inc Yes — FreeBSD, Professional and Yes Linux, Solaris, Yes Freeware Student versions HP-UX, AIX, only Qnx Clang LLVM Project Yes Yes Yes BSD Xcode [19] CParser/libFirm Matthias Braun, Christoph Mallon and Yes Yes Yes GPL No Michael Beck Digital Mars Digital Mars Yes No No ? No [20] Dignus, L.L.C Dignus Yes (host) Yes (host) Yes Z/Architecture Proprietary No Systems/C GCC C GNU Project Yes IBM mainframe, MinGW, Yes AmigaOS, GPL NetBeans Cygwin VAX/VMS, RTEMS List of compilers 3 IAR C/C++ IAR Systems [21] Yes No No Proprietary Yes Compilers Interactive C KISS Institute for Unix, Mac, [22] Practical Robotics Yes Linux, IRIX, No Freeware No Solaris, SunOS LabWindows/CVI National Instruments Yes Yes Yes Proprietary Yes lcc Chris Fraser and David Freeware (source code Hanson Yes Yes Yes available for Windows only non-commercial use) Mark Williams C Mark Williams Company Yes Coherent Yes Proprietary Yes Micro C Compiler Roshan Snigh Freeware (source code (mcc) Yes Yes Yes available for No non-commercial use) MikroC Compiler Mikroelektronika Yes Yes Yes Proprietary Yes [23] Nwcc Nils Weller No Yes No BSD No Open64 AMD SGI Google HP Intel Nvidia PathScale No Yes Yes GPL No Tsinghua University and others Open Watcom Sybase and SciTech Sybase Open Watcom Yes Windows Yes Yes Linux Yes OS/2, MS-DOS Software Public License only? Pelles C Pelle Orinius Yes No No Freeware Yes PGCC The Portland Group ? Yes — Visual Yes Yes Proprietary Studio on Windows Portable C Compiler Stephen C. Johnson, Anders Magnusson and Yes Yes Yes BSD No others Power C Mix Software No No Yes Proprietary No QuickC Microsoft Yes No No Proprietary Yes RCC (RCOR C Rodrigo Caetano (rcor) Yes Yes No GPL No Compiler) Ritchie C Compiler Dennis Ritchie and John (PDP-11) Reiser; converted to Yes Yes Yes Freeware No cross-compiler by Doug Gwyn SAS/C SAS Institute Yes IBM mainframe, Yes Yes Proprietary Yes AmigaOS, 68K, 88K Small-C Ron Caine, James E. Yes Yes Yes CP/M MS-DOS Public Domain Yes Hendrix, Byte magazine Small Device C Sandeep Dutta and others ? Yes Yes GPL No Compiler SubC Nils M Holm FreeBSD, MinGW No Public Domain No NetBSD, Linux Tiny C Compiler Fabrice Bellard Yes Yes No LGPL No List of compilers 4 (Borland) Turbo C Embarcadero Proprietary - V 2.01 Yes No Yes Yes freely available [24] ups debugger Tom Hughes, Ian (includes C Edwards, and others No Yes Yes Solaris, SunOS GPL Yes interpreter) VBCC Dr. Volker Barthelmann Freeware (source code available, Yes Yes Yes No modification not allowed) Visual C++ Express Microsoft Yes No No Freeware Yes XL C IBM No AIX, Linux No Proprietary Eclipse C++ compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? C++ Builder Embarcadero ? Yes No Proprietary Yes (CodeGear) AMD x86 Open64 AMD Compiler Suite No Yes No GPLv2/LGPLv2.1 No [25] Turbo C++ Embarcadero Yes No No Freeware Yes Explorer (CodeGear) C++ Compiler Embarcadero Yes No No Freeware No (CodeGear) CINT CERN BeBox, DOS, Yes Yes X11/MIT Yes Convex, etc. Borland C++ Borland (CodeGear) Yes No DOS Proprietary Yes Turbo C++ for Borland (CodeGear) No No DOS Proprietary Yes DOS Clang LLVM Project Yes Yes Yes BSD-like Xcode CodeWarrior Metrowerks Yes Yes Yes Freeware Yes Comeau C/C++ Comeau Computing Yes Yes Yes Proprietary No CoSy compiler ACE Associated development Compiler Experts Yes Yes No Proprietary No system [26] Digital Mars Digital Mars Yes No DOS Proprietary No EDGE ARM Mentor Graphics Yes Yes Yes Proprietary Yes C/C++ GCC GNU Project Xcode, Kdevelop, MinGW, Yes Yes GPLv3 Eclipse, NetBeans, Cygwin Code::Blocks HP aC++ Hewlett-Packard No Yes No Proprietary No IAR C/C++ IAR Systems [21] Yes No No Proprietary Yes Compilers List of compilers 5 Intel C++ Intel Yes Linux, Mac OS X No Proprietary Yes Compiler KAI C++ Kuck & Associates, Digital Unix, HP-UX, Compiler Inc. (bought by Linux for Intel x86, SGI No No Proprietary Unknown Intel) Irix 5.3,SGI Irix 6.x, Solaris 2.x Microtec Mentor Graphics Yes Yes Yes Proprietary Yes MULTI Green Hills Yes Yes Yes Proprietary Yes Software Open Watcom Sybase Sybase Open Watcom Yes Yes Yes Yes Public License Open64 HP AMD Tsinghua University and No Yes No Modified GPLv2 No others PathScale PathScale and Mixed (Proprietary&Open others No Yes Yes Source&GNU General No Public License) PGCPP The Portland Group Yes Yes ? Proprietary Yes ProDev WorkShop Silicon Graphics No No Yes Proprietary Yes RealView C/C++ Keil (ARM Yes Yes No Proprietary Yes Compiler (armcc) Limited) Salford C++ Silverfrost Yes No No Proprietary Yes Compiler SAS/C C++ SAS Institute IBM Windows AIX, Solaris/SunOS, mainframe, Proprietary No NT/95 Linux DOS Systems/C,C++ Dignus Yes Linux No Proprietary Yes Solaris Studio Oracle No Linux, Solaris No Proprietary Yes Solaris Studio Oracle No Linux, Solaris No Freeware Yes Express TenDRA TenDRA Project No Yes No BSD_License No VectorC Codeplay Yes No No Proprietary No Visual C++ Microsoft Yes No No Proprietary Yes VisualAge C++ IBM Yes AIX, Linux OS/2 Proprietary Yes XL C/C++ IBM Linux (POWER and BlueGene No Proprietary Eclipse Cell) and AIX and VM Wind River (Diab) Wind River Systems Yes Yes Yes Proprietary Yes Compiler List of compilers 6 C# compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? Microsoft Visual C# Microsoft Yes No No Proprietary Yes Microsoft Visual C# Express Microsoft Yes No No Freeware Yes Mono Xamarin Yes Yes Yes GPLv2 Yes Portable.NET Dot Gnu Project Yes Yes No GPL No COBOL compilers This list is incomplete; you can help by expanding it [1]. Compiler Author Windows Unix-like Other OSs License type IDE? COBOL IBM Yes AIX z/OS and z/VM Proprietary Eclipse OpenCOBOL Roger While, Keisuke Nishida Yes Yes Yes GPL No Visual COBOL Microfocus Yes Yes Yes Proprietary Yes RainCode COBOL RainCode Yes No No Proprietary Visual Studio Common Lisp compilers Compiler Author Target Windows Unix-like Other OSs License type IDE? Allegro Common Lisp Franz, Inc. Native code Yes Yes Yes Proprietary Yes Armed Bear Common Lisp JVM Yes Yes Yes GPL Yes CLISP Bytecode Yes Yes Yes GPL No Clozure CL Clozure Associates Native code Yes Yes No LGPL Yes CMU Common Lisp Native code, Bytecode No Yes No Public Domain Yes Corman Common Lisp Native code Yes No No Proprietary Yes Embeddable Common Lisp Bytecode, C Yes Yes Yes LGPL Yes GNU Common Lisp C Yes Yes No GPL No LispWorks LispWorks Ltd Native code Yes Yes No Proprietary Yes Open Genera Symbolics Ivory emulator No Yes No Proprietary Yes Scieneer Common Lisp Scieneer Pty Ltd Native code No Yes No Proprietary No Steel Bank Common Lisp Native code Yes Yes Yes Public Domain Yes D compilers List of compilers 7 Compiler Author Windows Unix-like Other OSs License type IDE? Digital Mars D (DMD) Digital Mars and others Yes 32-bit Linux, Mac OS X, FreeBSD No GPL and Artistic No D Compiler for .Net ? Yes Yes ? ? ? GDC GCC Yes Yes No GPL No LDC LLVM Yes Yes No Open Source No DIBOL/DBL compilers This list is incomplete; you can help by expanding it [1].
Recommended publications
  • KDE 2.0 Development, Which Is Directly Supported
    23 8911 CH18 10/16/00 1:44 PM Page 401 The KDevelop IDE: The CHAPTER Integrated Development Environment for KDE by Ralf Nolden 18 IN THIS CHAPTER • General Issues 402 • Creating KDE 2.0 Applications 409 • Getting Started with the KDE 2.0 API 413 • The Classbrowser and Your Project 416 • The File Viewers—The Windows to Your Project Files 419 • The KDevelop Debugger 421 • KDevelop 2.0—A Preview 425 23 8911 CH18 10/16/00 1:44 PM Page 402 Developer Tools and Support 402 PART IV Although developing applications under UNIX systems can be a lot of fun, until now the pro- grammer was lacking a comfortable environment that takes away the usual standard activities that have to be done over and over in the process of programming. The KDevelop IDE closes this gap and makes it a joy to work within a complete, integrated development environment, combining the use of the GNU standard development tools such as the g++ compiler and the gdb debugger with the advantages of a GUI-based environment that automates all standard actions and allows the developer to concentrate on the work of writing software instead of managing command-line tools. It also offers direct and quick access to source files and docu- mentation. KDevelop primarily aims to provide the best means to rapidly set up and write KDE software; it also supports extended features such as GUI designing and translation in con- junction with other tools available especially for KDE development. The KDevelop IDE itself is published under the GNU Public License (GPL), like KDE, and is therefore publicly avail- able at no cost—including its source code—and it may be used both for free and for commer- cial development.
    [Show full text]
  • Typology of Programming Languages E Early Languages E
    Typology of programming languages e Early Languages E Typology of programming languages Early Languages 1 / 71 The Tower of Babel Typology of programming languages Early Languages 2 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 3 / 71 IBM Mathematical Formula Translator system Fortran I, 1954-1956, IBM 704, a team led by John Backus. Typology of programming languages Early Languages 4 / 71 IBM 704 (1956) Typology of programming languages Early Languages 5 / 71 IBM Mathematical Formula Translator system The main goal is user satisfaction (economical interest) rather than academic. Compiled language. a single data structure : arrays comments arithmetics expressions DO loops subprograms and functions I/O machine independence Typology of programming languages Early Languages 6 / 71 FORTRAN’s success Because: programmers productivity easy to learn by IBM the audience was mainly scientific simplifications (e.g., I/O) Typology of programming languages Early Languages 7 / 71 FORTRAN I C FIND THE MEAN OF N NUMBERS AND THE NUMBER OF C VALUES GREATER THAN IT DIMENSION A(99) REAL MEAN READ(1,5)N 5 FORMAT(I2) READ(1,10)(A(I),I=1,N) 10 FORMAT(6F10.5) SUM=0.0 DO 15 I=1,N 15 SUM=SUM+A(I) MEAN=SUM/FLOAT(N) NUMBER=0 DO 20 I=1,N IF (A(I) .LE. MEAN) GOTO 20 NUMBER=NUMBER+1 20 CONTINUE WRITE (2,25) MEAN,NUMBER 25 FORMAT(11H MEAN = ,F10.5,5X,21H NUMBER SUP = ,I5) STOP TypologyEND of programming languages Early Languages 8 / 71 Fortran on Cards Typology of programming languages Early Languages 9 / 71 Fortrans Typology of programming languages Early Languages 10 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 11 / 71 ALGOL, Demon Star, Beta Persei, 26 Persei Typology of programming languages Early Languages 12 / 71 ALGOL 58 Originally, IAL, International Algebraic Language.
    [Show full text]
  • Note on Using the CS+ Integrated Development Environment
    Tool News RENESAS TOOL NEWS on April 16, 2015: 150416/tn2 Note on Using the CS+ Integrated Development Environment When using the CS+ IDE, take note of the problem described in this note regarding the following point. Statements in source code which form a deeply-nested block 1. Products Concerned Products from the following list for which the version number of the CS+ common program is 3.00.00 to 3.01.00. - RX Family C/C++ Compiler Package (with IDE) - RL78 Family C Compiler Package (with IDE) - RH850 Family C Compiler Package (with IDE) - CS+ evaluation edition To check the version number of the product you have, refer to the following URL. https://www.renesas.com/cubesuite+_ver 2. Description CS+ might be terminated forcibly when a program is downloaded to a debugging tool or when an editor panel is opened after downloading a program. 3. Conditions Forced termination may occur when the source code for a project includes code that meets any of the following conditions. (a) { } blocks nested to a depth of 128 or more within a function. (b) 64 or more consecutive "else if" conditions are in sequence. (c) The total of double the number of consecutive "else if" conditions and the depth of the nesting of {} blocks at some point in the sequence of consecutive "else if" conditions is 128 or more. With conditions (b) and (c) above, the problem only arises when the C99 option is designated and the product is the RX family C/C++ compiler package (with IDE). 4. Workaround To avoid this problem, do any of the following.
    [Show full text]
  • BASIC CODE 2010 Edition by the League of Minnesota Cities Duke Addicks, Special Counsel Rachel Carlson, Staff Attorney
    THE MINNESOTA BASIC CODE 2010 Edition By The League of Minnesota Cities Duke Addicks, Special Counsel Rachel Carlson, Staff Attorney Published by American Legal Publishing Corporation 432 Walnut Street, 12th Floor Cincinnati, Ohio 45202 Tel: (800) 445-5588 Fax: (513) 763-3562 E-Mail: [email protected] Internet: http://www.amlegal.com PREFACE TO THE MINNESOTA BASIC CODE, 2010 EDITION The Minnesota Basic Code This League of Minnesota Cities/American Legal Publishing (LMC/ALP) Minnesota Basic Code (MBC) is an effort to provide a modern and comprehensive code of ordinances for smaller Minnesota cities without the expense of a customized code of ordinances. Its provisions are also useful to all Minnesota cities that wish to have models for the basic city ordinances on the subjects contained in the code. The code reflects current state statutes, case law and rules through January, 2010. The MBC will be supplemented periodically to reflect legislative enactments and new case law and rules. The supplements will consist of new pages which will replace or be in addition to the pages contained in this edition. In addition, the supplements will contain new model ordinances that will be included into the MBC unless the city decides not to incorporate them into their code. Authors and Editors This Minnesota Basic Code is partly based on the Model Ordinance Code for Minnesota Cities, Revised Edition 1980, prepared by Orville C. Peterson, former Executive Director of the League of Minnesota Cities, and the 1989 Model Ordinance Code prepared by Thomas L. Grundhoefer, then Staff Attorney and now General Counsel for the League.
    [Show full text]
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • Embrace and Extend Approach (Red Hat, Novell)
    Integrated Development Environments (IDEs) Technology Strategy Chad Heaton Alice Park Charles Zedlewski Table of Contents Market Segmentation.............................................................................................................. 4 When Does the IDE Market Tip? ........................................................................................... 6 Microsoft & IDEs ................................................................................................................... 7 Where is MSFT vulnerable?................................................................................................. 11 Eclipse & Making Money in Open Source........................................................................... 12 Eclipse and the Free Rider Problem ..................................................................................... 20 Making Money in an Eclipse World?................................................................................... 14 Eclipse vs. Microsoft: Handicapping the Current IDE Environment ................................... 16 Requirements for Eclipse success......................................................................................... 18 2 Overview of the Integrated Development Environment (IDE) Market An Integrated Development Environment (IDE) is a programming environment typically consisting of a code editor, a compiler, a debugger, and a graphical user interface (GUI) builder. The IDE may be a standalone application or may be included as part of one or more existing
    [Show full text]
  • Embedded Linux Systems with the Yocto Project™
    OPEN SOURCE SOFTWARE DEVELOPMENT SERIES Embedded Linux Systems with the Yocto Project" FREE SAMPLE CHAPTER SHARE WITH OTHERS �f, � � � � Embedded Linux Systems with the Yocto ProjectTM This page intentionally left blank Embedded Linux Systems with the Yocto ProjectTM Rudolf J. Streif Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales depart- ment at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Visit us on the Web: informit.com Cataloging-in-Publication Data is on file with the Library of Congress.
    [Show full text]
  • Lindoo2019 Miami Xojo Presentation
    Back to the Basics, in an Two Effort to Improve Student distinct retention in Intro to schools Programming Classes CS Dr. Ed Lindoo Associate Professor Computer Information Systems (CC&IS) 3 year average CS and CIS Drop/Fail rate • 3 year average • 50+ percent drop/fail rate in intro to programming class Two CIS classes taught by CS • Specifically CC&IS students were failing at a 62% rate! • Big problem! • If they fail this course, they don’t continue in the program • Represents a huge loss of revenue to the school • Intro to programming class taught by CS department • I was asked by our Dean to “Fix it” • Computer Science students and Information Systems students • Performed extensive research on why students fail. (business students) took the class together. • After sifting through all the research, I decided to go back to • Business students don’t have the strong technical skills to the basics, BASIC programing that is. jump into a Java or C++ course • I started thinking back to my days of BASIC and QBASIC • Certainly not as an intro class • Remember BASIC? • But that’s what was happening • Well that wasn’t going to cut it! • Further research found a common theme • Visual Programming Environments • Easier to understand languages. DON’T START WITH C++ • I thought long and hard about it • Re-wrote the entire course, Intro to Programming based on Xojo • Even though I had done a lot of work in VB.net, I felt like that was too heavy for this course • Ahh, but there’s a catch…………………isn’t there always? • Then I remembered back to my days of using Real Basic, so I • Must pass a Java course once they pass this class.
    [Show full text]
  • 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]
  • An Optimized R5RS Macro Expander
    An Optimized R5RS Macro Expander Sean Reque A thesis submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Master of Science Jay McCarthy, Chair Eric Mercer Quinn Snell Department of Computer Science Brigham Young University February 2013 Copyright c 2013 Sean Reque All Rights Reserved ABSTRACT An Optimized R5RS Macro Expander Sean Reque Department of Computer Science, BYU Master of Science Macro systems allow programmers abstractions over the syntax of a programming language. This gives the programmer some of the same power posessed by a programming language designer, namely, the ability to extend the programming language to fit the needs of the programmer. The value of such systems has been demonstrated by their continued adoption in more languages and platforms. However, several barriers to widespread adoption of macro systems still exist. The language Racket [6] defines a small core of primitive language constructs, including a powerful macro system, upon which all other features are built. Because of this design, many features of other programming languages can be implemented through libraries, keeping the core language simple without sacrificing power or flexibility. However, slow macro expansion remains a lingering problem in the language's primary implementation, and in fact macro expansion currently dominates compile times for Racket modules and programs. Besides the typical problems associated with slow compile times, such as slower testing feedback, increased mental disruption during the programming process, and unscalable build times for large projects, slow macro expansion carries its own unique problems, such as poorer performance for IDEs and other software analysis tools.
    [Show full text]
  • Rmox: a Raw-Metal Occam Experiment
    Communicating Process Architectures – 2003 269 Jan F. Broenink and Gerald H. Hilderink (Eds.) IOS Press, 2003 RMoX: A Raw-Metal occam Experiment Fred BARNES†, Christian JACOBSEN† and Brian VINTER‡ † Computing Laboratory, University of Kent, Canterbury, Kent, CT2 7NF, England. {frmb2,clj3}@kent.ac.uk ‡ Department of Mathematics and Computer Science, University of Southern Denmark, Odense, Denmark. [email protected] Abstract. Operating-systems are the core software component of many modern com- puter systems, ranging from small specialised embedded systems through to large distributed operating-systems. This paper presents RMoX: a highly concurrent CSP- based operating-system written in occam. The motivation for this stems from the overwhelming need for reliable, secure and scalable operating-systems. The major- ity of operating-systems are written in C, a language that easily offers the level of flexibility required (for example, interfacing with assembly routines). C compilers, however, provide little or no mechanism to guard against race-hazard and aliasing er- rors, that can lead to catastrophic run-time failure (as well as to more subtle errors, such as security loop-holes). The RMoX operating-system presents a novel approach to operating-system design (although this is not the first CSP-based operating-system). Concurrency is utilised at all levels, resulting in a system design that is well defined, easily understood and scalable. The implementation, using the KRoC extended oc- cam, provides guarantees of freedom from race-hazard and aliasing errors, and makes extensive use of the recently added support for dynamic process creation and channel mobility. Whilst targeted at mainstream computing, the ideas and methods presented are equally applicable for small-scale embedded systems — where advantage can be made of the lightweight nature of RMoX (providing fast interrupt responses, for ex- ample).
    [Show full text]
  • Towards a Portable and Mobile Scheme Interpreter
    Towards a Portable and Mobile Scheme Interpreter Adrien Pi´erard Marc Feeley Universit´eParis 6 Universit´ede Montr´eal [email protected] [email protected] Abstract guage. Because Mobit implements R4RS Scheme [6], we must also The transfer of program data between the nodes of a distributed address the serialization of continuations. Our main contribution is system is a fundamental operation. It usually requires some form the demonstration of how this can be done while preserving the in- of data serialization. For a functional language such as Scheme it is terpreter’s maintainability and with local changes to the original in- clearly desirable to also allow the unrestricted transfer of functions terpreter’s structure, mainly through the use of unhygienic macros. between nodes. With the goal of developing a portable implemen- We start by giving an overview of the pertinent features of the tation of the Termite system we have designed the Mobit Scheme Termite dialect of Scheme. In Section 3 we explain the structure interpreter which supports unrestricted serialization of Scheme ob- of the interpreter on which Mobit is based. Object serialization is jects, including procedures and continuations. Mobit is derived discussed in Section 4. Section 5 compares Mobit’s performance from an existing Scheme in Scheme fast interpreter. We demon- with other interpreters. We conclude with related and future work. strate how macros were valuable in transforming the interpreter while preserving its structure and maintainability. Our performance 2. Termite evaluation shows that the run time speed of Mobit is comparable to Termite is a Scheme adaptation of the Erlang concurrency model.
    [Show full text]