– Describe how a program executes step-by-step on an abstract machine. Example: “To evaluate x + 3 , first find the value of x , then add 3.”
Meaning: if condition P holds before running command C , and C terminates, then Q holds afterward. 15312 foundations of programming languages
The course focuses on the study of programming language phenomena using the tools of and Operational Semantics . Instead of looking at languages like Java or Python as monolithic tools, you learn to see them as a collection of "features" (functions, recursion, exceptions, parallelism) that can be formally defined and proven correct. The Pillars of the Course 1. Abstract Syntax – Describe how a program executes step-by-step on
– Describe how a program executes step-by-step on an abstract machine. Example: “To evaluate x + 3 , first find the value of x , then add 3.”
Meaning: if condition P holds before running command C , and C terminates, then Q holds afterward.
The course focuses on the study of programming language phenomena using the tools of and Operational Semantics . Instead of looking at languages like Java or Python as monolithic tools, you learn to see them as a collection of "features" (functions, recursion, exceptions, parallelism) that can be formally defined and proven correct. The Pillars of the Course 1. Abstract Syntax