Abstract
This chapter discusses imperative programming languages , in which the value of a variable may be modified by assignment. We first present a naive imperative language where a variable denotes an updatable store cell, and then present the environment/store model used in real imperative programming languages. Then we show how to evaluate micro-C, a C-style imperative language, using an interpreter, and present the concepts of expression, variable declaration, assignment, loop, output, variable scope, lvalue and rvalue, parameter passing mechanisms, pointer, array, and pointer arithmetics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Hoare, C.: Hints on programming language design. In: ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Boston, Massachusetts 1973. ACM Press (1973)
Kernighan, B.W., Ritchie, D.M.: The C Programming Language, 2nd edn. Prentice-Hall, Englewood Cliffs (1988)
Richards, M.: Homepage. At http://www.cl.cam.ac.uk/~mr10/
Ritchie, D.M.: Homepage. At https://www.bell-labs.com/usr/dmr/www/
Ritchie, D.M.: The development of the C language. In: Second History of Programming Languages Conference, Cambridge, Massachusetts (1993)
Sestoft, P.: Java Precisely, 3rd edn. The MIT Press, Cambridge (2016)
Strachey, C.: Fundamental concepts in programming languages. High. Order Symb. Comput. 13, 11–49 (2000). Written 1967 as lecture notes for a summer school
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Sestoft, P. (2017). Imperative Languages. In: Programming Language Concepts. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-60789-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-60789-4_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-60788-7
Online ISBN: 978-3-319-60789-4
eBook Packages: Computer ScienceComputer Science (R0)