Program analysis | Metaprogramming | Program transformation tools

Compiler-compiler

In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a programming language and machine. The most common type of compiler-compiler is more precisely called a parser generator. It only handles syntactic analysis. The input of a parser generator is a grammar file, typically written in Backus–Naur form (BNF) or extended Backus–Naur form (EBNF) that defines the syntax of a target programming language. The output is the source code of a parser for the programming language. The output of the (compiled) parser source code is a parser. It may be either standalone or embedded. This parser takes as an input the source code of the target programming language source and performs some action or outputs an abstract syntax tree (AST). Parser generators do not handle the semantics of the AST, or the generation of machine code for the target machine. A metacompiler is a software development tool used mainly in the construction of compilers, translators, and interpreters for other programming languages. The input to a metacompiler is a computer program written in a specialized programming metalanguage designed mainly for the purpose of constructing compilers. The language of the compiler produced is called the object language. The minimal input producing a compiler is a metaprogram specifying the object language grammar and semantic transformations into an object program. (Wikipedia).

Video thumbnail

Overview of compiling a program

Compiling a program takes place over several stages. This video is an overview of the compilation process: scanner/lexer, parser, semantic analyzer, code generator, and optimizer. An introduction to token streams and abstract syntax trees.

From playlist Discrete Structures

Video thumbnail

Compiler Design lecture 1-- Introduction and various phases of compiler

Click for free access to Educator's best classes: : https://www.unacademy.com/a/Best-Classes-of-all-time-by-Vishvadeep-Gothi-CS.html For regular updates follow : https://unacademy.com/community/Q3ZGJY/ To purchase please click : https://unacademy.onelink.me/081J/zv9co3u1

From playlist Compiler Design

Video thumbnail

The Wolfram Compiler

The Wolfram Compiler is a long-term project for the compilation of Wolfram Language programs. It converts Wolfram Language into native machine code and provides a faster execution path as well as many opportunities for innovative programming features. It is used for an increasing amount of

From playlist Wolfram Technology Conference 2021

Video thumbnail

Defining Target Machines — How to Create a Compiler part 5b/5 — Data oriented programming

In this tool-assisted education video series I create a compiler in C++ for a B-like programming language. In this episode we write code that defines the target platforms that the compiler is going to target. This is part of a multi-episode series. Become a member: https://youtube.com/Bi

From playlist Creating a Compiler

Video thumbnail

Compilation – Why learn about compilers?

As you will see when you watch this series, compilation involves a diverse range of themes in the field of computer science including high and low level programming paradigms, the definition of context free grammars, the application of dynamic data structures such as stacks, linked lists,

From playlist Compilation

Video thumbnail

Software Engineering and Computer Science with the Wolfram Compiler

The Wolfram Compiler is one of the largest applications built from the Wolfram Language. This talk will review the software engineering practices used to build the Wolfram Compiler, ensure it runs correctly and improve its efficiency. It will also discuss its internal organization, showing

From playlist Wolfram Technology Conference 2022

Video thumbnail

RubyConf 2021 - A History of Compiling Ruby by Chris Seaton

Did you know that there have been at least sixteen attempts to build a compiler from Ruby to machine code? Why have there been so many? What were the ideas and context of each of these compilers? How are they similar and how are they different? What can we learn about compilers and Ruby fr

From playlist RubyConf 2021

Video thumbnail

RustConf 2022 - Bootstrapping: The once and future compiler by Joshua Nelson

"Bootstrapping" is the process of building a compiler written in its target language. Bootstrapping has been used since the development of ALGOL and LISP in the 1960s. In this talk, you'll learn the history of the bootstrapping the Rust compiler, how bootstrap works today, and some big ide

From playlist RustConf 2022

Video thumbnail

The Wolfram Compiler

The Wolfram Compiler converts Wolfram Language code into native machine instructions that run directly on the machine hardware. It offers a powerful way to speed up programs and provides many opportunities for innovative programming features such as building connections to external librari

From playlist Wolfram Technology Conference 2022

Video thumbnail

Effective Use of the Mathematica Compiler and Code Generation

Even if you have never used the Mathematica function Compile directly, it has probably been used under the hood for a variety of things you have done. This talk from the Wolfram Technology Conference 2011 shows you how to effectively use the Mathematica compiler and code generation. For

From playlist Wolfram Technology Conference 2011

Video thumbnail

Compilation - Part One: Overview of the Stages of Compilation

This is part one of a series of videos about compilation. As you will see when you watch this series, compilation involves a diverse range of themes in the field of computer science including high and low level programming paradigms, the definition of context free grammars, the application

From playlist Compilation

Video thumbnail

Compilation Technology

For the latest information, please visit: http://www.wolfram.com Speakers: Tom Wickham-Jones, Abdul Dakkak & Steve Wilson Wolfram developers and colleagues discussed the latest in innovative technologies for cloud computing, interactive deployment, mobile devices, and more.

From playlist Wolfram Technology Conference 2015

Video thumbnail

Lecture 10A: Compilation

MIT 6.001 Structure and Interpretation of Computer Programs, Spring 2005 Instructor: Harold Abelson, Gerald Jay Sussman, Julie Sussman View the complete course: https://ocw.mit.edu/6-001S05 YouTube Playlist: https://www.youtube.com/playlist?list=PLE18841CABEA24090 Compilation License: Cr

From playlist MIT 6.001 Structure and Interpretation, 1986

Video thumbnail

The Wolfram Compiler

This talk features Tom Wickham Jones describing the Wolfram Compiler, its benefits and goals of the project. He discusses advantages of developing a compiler in the Wolfram Language, as well as challenges and their resolution. Examples are given of working with the DataStructure library, c

From playlist Wolfram Technology Conference 2020

Related pages

Lex (software) | PQCC | Metaprogramming | Parsing expression grammar | Semantics (computer science) | GLR parser | Parsing | Simple LR parser | Xtext | Packrat parser | ALTRAN | Formal grammar | The Art of Computer Programming | LL parser | Abstract syntax tree | Parse tree | Left recursion | Backus–Naur form | Flex (lexical analyser generator) | DMS Software Reengineering Toolkit | Denotational semantics | Extended Backus–Naur form | History of compiler construction | LALR parser | Tree (data structure) | Program transformation | LR parser | Attribute grammar | Forth (programming language) | Metalanguage