Matches in SemOpenAlex for { <https://semopenalex.org/work/W2507310726> ?p ?o ?g. }
Showing items 1 to 55 of
55
with 100 items per page.
- W2507310726 abstract "The first compiler, developed for the FORTRAN programming language and written in a rather ad hoc manner, was announced in the Fall of 1954. That compiler stands as a testament to the inventiveness of the people involved in the project which took approximately eighteen person-years. Today, almost four decades later, such a compiler project would take but a fraction of the time due to the development of a formal theoretic foundation for compiler writing and the availability of excellent compiler construction methodologies.The primary role of this manuscript is to present to a wide readership, in a pedagogically sound manner, the fundamental concepts associated with the activities that are carried out by a compiler, namely, scanning, parsing, and code generation. This work encompasses some of the more popular compiler construction methodologies employed today. Underlying theoretical material on formal languages and grammars, finite-state machines, and pushdown automata are described when needed, as are the practical necessities of symbol table construction and computing machine architecture.The use of regular grammars and finite-state machines lead to the development of the first phase of compilation called scanning, where a lexical analysis of an input program is conducted. Symbol tables, which are used throughout the entire compilation process, are constructed and filled as needed information is procured. The second phase of compilation, that of parsing, performs a syntactic analysis of the input program and may be accomplished employing a number of different methodologies. The manuscript presents top-down parsing in the form of LL(1) and recursive descent parsing and bottom-up parsing in the form of SLR(1), LALR(1), and LR(1) parsing. In addition, semantic actions are built into the parsing phase so that machine code may be eventually synthesized. The manuscript approaches the final phase of compilation, that of code generation, by indicating how improvements may be made on a simple machine code generator.As the different phases of compilation are considered, a complete compiler is constructed for a simple programming language named Proem. The Proem compiler parts may be used as a template for the design and implementation of a compiler for a student compiler project for a specified language called Lang2." @default.
- W2507310726 created "2016-09-16" @default.
- W2507310726 creator A5028932346 @default.
- W2507310726 date "1992-01-01" @default.
- W2507310726 modified "2023-09-24" @default.
- W2507310726 title "A first course in compiler writing" @default.
- W2507310726 hasPublicationYear "1992" @default.
- W2507310726 type Work @default.
- W2507310726 sameAs 2507310726 @default.
- W2507310726 citedByCount "0" @default.
- W2507310726 crossrefType "journal-article" @default.
- W2507310726 hasAuthorship W2507310726A5028932346 @default.
- W2507310726 hasConcept C111564260 @default.
- W2507310726 hasConcept C169590947 @default.
- W2507310726 hasConcept C186644900 @default.
- W2507310726 hasConcept C199360897 @default.
- W2507310726 hasConcept C29331672 @default.
- W2507310726 hasConcept C41008148 @default.
- W2507310726 hasConcept C68366613 @default.
- W2507310726 hasConcept C9957790 @default.
- W2507310726 hasConceptScore W2507310726C111564260 @default.
- W2507310726 hasConceptScore W2507310726C169590947 @default.
- W2507310726 hasConceptScore W2507310726C186644900 @default.
- W2507310726 hasConceptScore W2507310726C199360897 @default.
- W2507310726 hasConceptScore W2507310726C29331672 @default.
- W2507310726 hasConceptScore W2507310726C41008148 @default.
- W2507310726 hasConceptScore W2507310726C68366613 @default.
- W2507310726 hasConceptScore W2507310726C9957790 @default.
- W2507310726 hasLocation W25073107261 @default.
- W2507310726 hasOpenAccess W2507310726 @default.
- W2507310726 hasPrimaryLocation W25073107261 @default.
- W2507310726 hasRelatedWork W1494199306 @default.
- W2507310726 hasRelatedWork W1514031302 @default.
- W2507310726 hasRelatedWork W1557486623 @default.
- W2507310726 hasRelatedWork W1580184270 @default.
- W2507310726 hasRelatedWork W1598612296 @default.
- W2507310726 hasRelatedWork W1908445849 @default.
- W2507310726 hasRelatedWork W1965139202 @default.
- W2507310726 hasRelatedWork W1977285665 @default.
- W2507310726 hasRelatedWork W2000611761 @default.
- W2507310726 hasRelatedWork W2001269532 @default.
- W2507310726 hasRelatedWork W2016594368 @default.
- W2507310726 hasRelatedWork W2018549339 @default.
- W2507310726 hasRelatedWork W215286753 @default.
- W2507310726 hasRelatedWork W2155757092 @default.
- W2507310726 hasRelatedWork W218874624 @default.
- W2507310726 hasRelatedWork W2369288331 @default.
- W2507310726 hasRelatedWork W2379745016 @default.
- W2507310726 hasRelatedWork W3092853977 @default.
- W2507310726 hasRelatedWork W3145846323 @default.
- W2507310726 hasRelatedWork W331945502 @default.
- W2507310726 isParatext "false" @default.
- W2507310726 isRetracted "false" @default.
- W2507310726 magId "2507310726" @default.
- W2507310726 workType "article" @default.