Introduction to Compiler Design View Full Text


Ontology type: schema:Book     


Book Info

DATE

2017

GENRE

Monograph

AUTHORS

Torben Ægidius Mogensen

PUBLISHER

Springer Nature

ABSTRACT

The second edition of this textbook has been fully revised and adds material about loop optimisation, function call optimisation and dataflow analysis. It presents techniques for making realistic compilers for simple programming languages, using techniques that are close to those used in "real" compilers, albeit in places slightly simplified for presentation purposes. All phases required for translating a high-level language to symbolic machine language are covered, including lexing, parsing, type checking, intermediate-code generation, machine-code generation, register allocation and optimisation, interpretation is covered briefly. Aiming to be neutral with respect to implementation languages, algorithms are presented in pseudo-code rather than in any specific programming language, but suggestions are in many cases given for how these can be realised in different language flavours. Introduction to Compiler Design is intended for an introductory course in compiler design, suitable for both undergraduate and graduate courses depending on which chapters are used. More... »

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/978-3-319-66966-3

DOI

http://dx.doi.org/10.1007/978-3-319-66966-3

ISBN

978-3-319-66965-6 | 978-3-319-66966-3

DIMENSIONS

https://app.dimensions.ai/details/publication/pub.1092457020


Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
Incoming Citations Browse incoming citations for this publication using opencitations.net

JSON-LD is the canonical representation for SciGraph data.

TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

[
  {
    "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
    "about": [
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/20", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Language, Communication and Culture", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/2004", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Linguistics", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "Datalogisk Institut, K\u00f8benhavns Universitet, Copenhagen, Denmark", 
          "id": "http://www.grid.ac/institutes/grid.5254.6", 
          "name": [
            "Datalogisk Institut, K\u00f8benhavns Universitet, Copenhagen, Denmark"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Mogensen", 
        "givenName": "Torben \u00c6gidius", 
        "id": "sg:person.016655503425.67", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016655503425.67"
        ], 
        "type": "Person"
      }
    ], 
    "datePublished": "2017", 
    "datePublishedReg": "2017-01-01", 
    "description": "The second edition of this textbook has been fully revised and adds material about loop optimisation, function call optimisation and dataflow analysis. It presents techniques for making realistic compilers for simple programming languages, using techniques that are close to those used in \"real\" compilers, albeit in places slightly simplified for presentation purposes.\u00a0 All phases required for translating a high-level language to symbolic machine language are covered, including lexing, parsing, type checking, intermediate-code generation, machine-code generation, register allocation and optimisation, interpretation is covered briefly. Aiming to be neutral with respect to implementation languages, algorithms are presented in pseudo-code rather than in any specific programming language, but suggestions are in many cases given for how these can be realised in different language flavours.\u00a0 Introduction to Compiler Design is intended for an introductory course in compiler design, suitable for both undergraduate and graduate courses depending on which chapters are used.", 
    "genre": "monograph", 
    "id": "sg:pub.10.1007/978-3-319-66966-3", 
    "inLanguage": "en", 
    "isAccessibleForFree": false, 
    "isbn": [
      "978-3-319-66965-6", 
      "978-3-319-66966-3"
    ], 
    "keywords": [
      "compiler design", 
      "programming language", 
      "specific programming language", 
      "high-level language", 
      "machine code generation", 
      "simple programming language", 
      "implementation language", 
      "realistic compiler", 
      "machine language", 
      "type checking", 
      "dataflow analysis", 
      "loop optimization", 
      "presentation purposes", 
      "compiler", 
      "language", 
      "optimization", 
      "introductory course", 
      "lexing", 
      "checking", 
      "parsing", 
      "algorithm", 
      "graduate course", 
      "design", 
      "technique", 
      "allocation", 
      "generation", 
      "introduction", 
      "purpose", 
      "chapter", 
      "respect", 
      "suggestions", 
      "second edition", 
      "analysis", 
      "interpretation", 
      "place", 
      "textbooks", 
      "cases", 
      "course", 
      "edition", 
      "phase", 
      "undergraduates", 
      "flavor", 
      "materials", 
      "function call optimisation", 
      "call optimisation", 
      "symbolic machine language", 
      "intermediate-code generation", 
      "different language flavours", 
      "language flavours"
    ], 
    "name": "Introduction to Compiler Design", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1092457020"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/978-3-319-66966-3"
        ]
      }
    ], 
    "publisher": {
      "name": "Springer Nature", 
      "type": "Organisation"
    }, 
    "sameAs": [
      "https://doi.org/10.1007/978-3-319-66966-3", 
      "https://app.dimensions.ai/details/publication/pub.1092457020"
    ], 
    "sdDataset": "books", 
    "sdDatePublished": "2021-12-01T19:54", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-springernature-scigraph/baseset/20211201/entities/gbq_results/book/book_24.jsonl", 
    "type": "Book", 
    "url": "https://doi.org/10.1007/978-3-319-66966-3"
  }
]
 

Download the RDF metadata as:  json-ld nt turtle xml License info

HOW TO GET THIS DATA PROGRAMMATICALLY:

JSON-LD is a popular format for linked data which is fully compatible with JSON.

curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-66966-3'

N-Triples is a line-based linked data format ideal for batch operations.

curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-66966-3'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-66966-3'

RDF/XML is a standard XML format for linked data.

curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-66966-3'


 

This table displays all metadata directly associated to this object as RDF triples.

99 TRIPLES      21 PREDICATES      74 URIs      67 LITERALS      5 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/978-3-319-66966-3 schema:about anzsrc-for:20
2 anzsrc-for:2004
3 schema:author Nd4c83f0b37f241c58d5f0250e848246e
4 schema:datePublished 2017
5 schema:datePublishedReg 2017-01-01
6 schema:description The second edition of this textbook has been fully revised and adds material about loop optimisation, function call optimisation and dataflow analysis. It presents techniques for making realistic compilers for simple programming languages, using techniques that are close to those used in "real" compilers, albeit in places slightly simplified for presentation purposes.  All phases required for translating a high-level language to symbolic machine language are covered, including lexing, parsing, type checking, intermediate-code generation, machine-code generation, register allocation and optimisation, interpretation is covered briefly. Aiming to be neutral with respect to implementation languages, algorithms are presented in pseudo-code rather than in any specific programming language, but suggestions are in many cases given for how these can be realised in different language flavours.  Introduction to Compiler Design is intended for an introductory course in compiler design, suitable for both undergraduate and graduate courses depending on which chapters are used.
7 schema:genre monograph
8 schema:inLanguage en
9 schema:isAccessibleForFree false
10 schema:isbn 978-3-319-66965-6
11 978-3-319-66966-3
12 schema:keywords algorithm
13 allocation
14 analysis
15 call optimisation
16 cases
17 chapter
18 checking
19 compiler
20 compiler design
21 course
22 dataflow analysis
23 design
24 different language flavours
25 edition
26 flavor
27 function call optimisation
28 generation
29 graduate course
30 high-level language
31 implementation language
32 intermediate-code generation
33 interpretation
34 introduction
35 introductory course
36 language
37 language flavours
38 lexing
39 loop optimization
40 machine code generation
41 machine language
42 materials
43 optimization
44 parsing
45 phase
46 place
47 presentation purposes
48 programming language
49 purpose
50 realistic compiler
51 respect
52 second edition
53 simple programming language
54 specific programming language
55 suggestions
56 symbolic machine language
57 technique
58 textbooks
59 type checking
60 undergraduates
61 schema:name Introduction to Compiler Design
62 schema:productId Ne4ce57824fb34bcb8d5a036aaf34e781
63 Nfe14da82124f492c8f08e2be7b4a3553
64 schema:publisher Nf3ef6ea27a4546e18b4165d837714a52
65 schema:sameAs https://app.dimensions.ai/details/publication/pub.1092457020
66 https://doi.org/10.1007/978-3-319-66966-3
67 schema:sdDatePublished 2021-12-01T19:54
68 schema:sdLicense https://scigraph.springernature.com/explorer/license/
69 schema:sdPublisher Nc2cf9fc7a8794b128977e4162c7c274d
70 schema:url https://doi.org/10.1007/978-3-319-66966-3
71 sgo:license sg:explorer/license/
72 sgo:sdDataset books
73 rdf:type schema:Book
74 Nc2cf9fc7a8794b128977e4162c7c274d schema:name Springer Nature - SN SciGraph project
75 rdf:type schema:Organization
76 Nd4c83f0b37f241c58d5f0250e848246e rdf:first sg:person.016655503425.67
77 rdf:rest rdf:nil
78 Ne4ce57824fb34bcb8d5a036aaf34e781 schema:name doi
79 schema:value 10.1007/978-3-319-66966-3
80 rdf:type schema:PropertyValue
81 Nf3ef6ea27a4546e18b4165d837714a52 schema:name Springer Nature
82 rdf:type schema:Organisation
83 Nfe14da82124f492c8f08e2be7b4a3553 schema:name dimensions_id
84 schema:value pub.1092457020
85 rdf:type schema:PropertyValue
86 anzsrc-for:20 schema:inDefinedTermSet anzsrc-for:
87 schema:name Language, Communication and Culture
88 rdf:type schema:DefinedTerm
89 anzsrc-for:2004 schema:inDefinedTermSet anzsrc-for:
90 schema:name Linguistics
91 rdf:type schema:DefinedTerm
92 sg:person.016655503425.67 schema:affiliation grid-institutes:grid.5254.6
93 schema:familyName Mogensen
94 schema:givenName Torben Ægidius
95 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016655503425.67
96 rdf:type schema:Person
97 grid-institutes:grid.5254.6 schema:alternateName Datalogisk Institut, Københavns Universitet, Copenhagen, Denmark
98 schema:name Datalogisk Institut, Københavns Universitet, Copenhagen, Denmark
99 rdf:type schema:Organization
 




Preview window. Press ESC to close (or click here)


...