Entry Lewis:1995:CMR from sigplan1990.bib

Last update: Thu Apr 12 03:37:15 MDT 2012                Valid HTML 3.2!

Index sections

Top | Symbols | Numbers | Math | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

BibTeX entry

@Article{Lewis:1995:CMR,
  author =       "Brian T. Lewis and L. Peter Deutsch and Theodore C.
                 Goldstein",
  title =        "Clarity {MC}ode: {A} Retargetable Intermediate
                 Representation for Compilation",
  journal =      j-SIGPLAN,
  volume =       "30",
  number =       "3",
  pages =        "119--128",
  month =        mar,
  year =         "1995",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:17:02 MST 2003",
  bibsource =    "http://portal.acm.org/; http://www.acm.org/pubs/toc/",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/plan/202529/p119-lewis/",
  abstract =     "To support the compilation of Clarity, we have
                 developed a high-level, machine-independent
                 intermediate representation that we call MCode (middle
                 code). We use MCode to compile Clarity programs at
                 execution time (i.e., on-the-fly) into SPARC 1 code for
                 the Solaris operating system. This code generator is
                 designed to be largely machine-independent: besides the
                 SPARC code generator, an Intel x86 version is being
                 developed. MCode includes a small amount of
                 optimization information that enables the runtime code
                 generator to produce good quality code. Our SPARC code
                 generator produces code about as good as that produced
                 by the SunPRO C compiler at the -O2 optimization level.
                 A significant advantage of MCode over native machine
                 code is that it can be represented more compactly;
                 MCode is stack-based, and the encoding of most
                 instructions can be a single byte. We also support an
                 interpreter for MCode that supports full interoperation
                 with C and existing C libraries. Although MCode
                 includes instructions and data structures needed to
                 implement some Clarity language-specific constructs
                 such as its exceptions and method calls, the core of
                 MCode is suitable for representing code for C and many
                 other languages.",
  acknowledgement = ack-nhfb,
  affiliation =  "Sun Microsystems Labs., Mountain View, CA, USA",
  classification = "C6110J (Object-oriented programming); C6115
                 (Programming support); C6120 (File organisation);
                 C6140D (High level languages); C6150C (Compilers,
                 interpreters and other processors)",
  confdate =     "22 Jan. 1995",
  conflocation = "San Francisco, CA, USA",
  confname =     "ACM SIGPLAN workshop on Intermediate representations,
                 January 22, 1995, San Francisco, CA",
  keywords =     "C language; C libraries; Clarity C++ programming
                 language; Clarity language-specific constructs; Clarity
                 MCode; Clarity programs; Code generator; Compilation;
                 Data structures; design; Exceptions; Execution time;
                 Good quality code; Instructions; Intel x86 version;
                 Interoperation; Interpreter; languages; Method calls;
                 Optimization information; performance; Retargetable
                 intermediate representation; Solaris operating system;
                 SPARC 1 code; theory",
  subject =      "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, C++. {\bf D.3.4} Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers. {\bf D.3.4} Software,
                 PROGRAMMING LANGUAGES, Processors, Code generation.
                 {\bf D.2.10} Software, SOFTWARE ENGINEERING, Design**,
                 Representation**.",
  thesaurus =    "Application generators; C language; Data structures;
                 Object-oriented languages; Open systems; Optimising
                 compilers; Program interpreters",
}

Related entries