CS118 Programming Languages
CS118 consists of four threads: theory, notation, language and
translation. As parallel processes they are largely independent, but
some synchronization is required.
||in which we discuss languages in general -- how they are defined, what
they mean, and how they mediate between man and machine.
||in which we discuss notations -- how they have changed the course
of art and science, how they interact with the mind and body, how to
invent a new one.
||in which hundreds of programming languages and a handful of
concepts form the substance. The languages are important because
they are tools of computer science. We look at languages that
(1) we know well enough to teach,
(2) may be needed to solve real problems,
(3) exhibit important concepts,
(4) exhibit some aspect of elegance.
||in which the means of translating programming
languages are taught. This is a skills thread.
(1) lexing and scanning,
(2) top down and bottom up parsing,
(3) canonical parse, parse tree and abstract syntax tree,
(5) translation to HLL and machine code.
March 26, 1966
March 26, 2007