programming languages : design principles, implementation constructs
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10
contents
>>
programming languages : design principles, implementation constructs
why, how, what to study
abstraction: low-level machine, high-level human
translation: compilation, interpretation
programming environments
programming language paradigms
programming languages reference books
programming language syntax
specifying syntax: regular expressions and context-free grammars
recognizing syntax: scanners and parsers
theoretical foundations
names, scopes, and binding
binding time
object lifetime and storage management
stack-based allocation
heap-based allocation
garbage collection
scope rules
static scope
dynamic scope
symbol tables
association lists and central reference tables
the binding of referencing environments
overloading and related concepts
namespace problems
control flow
expression evaluation
precedence and associativity
assignments
ordering within expressions
short-circuit evaluation
structured and unstructured flow
sequencing
selection
iteration
recursion
nondeterminancy
data types
type systems
the definition of types
the classification of types
type checking
type equivalence
type conversion and casts
type compatibility and coercion
type inference
records(structures) and variants(unions)
arrays
strings
pointers and recursive types
lists
files and i/o
programming units: control abstractions
stack layout
calling sequences
in-line expansion
parameter passing
parameter modes
special-purpose parameters
function returns
generic units
exception handling
definition of exceptions
exception propagation
coroutines
data abstraction and object orientation
object-oriented programming
encapsulation and inheritance
modules
classes
type extension
initialization and finalization
constructor
references and values
execution order
destructor/garbage collection
dynamic method binding - polymorphism
virtual and nonvirtual methods
abstract classes
multiple inheritance
nonimperative programming models: functional and logical languages
historical origins
functional programming
review/overview of lisp/scheme
evaluation order
higher-order functions
theoretical foundations
functional programming in perspective
logic programming
prolog
theoretical foundations
logic programming in perspective
concurrency
background and motivation
the case for multithreaded programs
multiprocessor architecture
concurrent programming fundamentals
communication and synchronization
languages and libraries
shared memory
busy-wait synchronization
scheduler implementation
scheduler-based synchronization
implicit synchronization
message passing
naming communication partners
sending/receiving
remote procedure call
special languages
shell
postscript
sql
tex, latex
perl
tcl/tk
javascript
html, dhtml, xhtml, xml, css, xsl
>>
programming languages: design principles, implementation constructs
dr.salih yurttas
|
computer science