Programming Languages: Concepts and Implementation
Introduction and the Basics of Syntax and Semantics
These slides introduce the course and give an overview over syntax and semantics.
For a later, more in-depth treatment of "big-step operational semantics" or "natural semantics",
please refer to
this handout instead.
Representing Information in Memory
Assembly Language: 2opm
This module series introduces assembly languages via 2opm, a
synthetic assembly language. 2opm is substantially simpler
than typical assembly languages but maps directly to amd64/x86_64
assembly, meaning that it can be executed directly on these
contemporary 64 bit CPUs.
You can get 2opm as part
of the AttoVM compiler/runtime, which the course covers later, and
try it yourself (tested on Linux/OS X). Here
is the 2opm summary description.
2OPM Foundations
Registers, arithmetic, and other basic operations.
2OPM Advanced Operations
Building conditionals and loops with jump and branch instructions.
2OPM Subroutines
Subroutine execution and recursion.
Overview: Implementation of High-Level Languages
Executing High-Level Languages
Compilers: Overview
Executing in the UNIX run-time environment
Programming Languages: Expressions, Statements, Subroutines
This module series introduces variables, expressions, statements, and
subprograms as the first set of core concepts in general-purpose
programming languages.
Names and Bindings
Names and Scopes
Variables
Expressions
Statements, including Assignments
Control Structures
Iterative Control Structures
Subprograms
Nested Subprograms
Parameter Passing
Programming Languages: Expressions, Statements, Subroutines: Implementation
This module series describes some of the less obvious implementation
strategies the concepts introduced in Programming Languages: Expressions, Statements, Subroutines.
Implementing Iterative Control Structures
Implementing Parameter Passing
Closures and Thunks
More to come...
This page is Copyright © 2004-2021 Christoph Reichenbach. Re-use in whole or in parts is allowed without restriction.