CS350 Exam 1 Guide
- What programming language has dominated (Scientific | Business | AI) over the last 40 years?
- What is an example of the lack or orthogonality in C?
- Why is type checking of parameters in subprograms important?
- What is aliasing?
- Briefly describe the major language categories and some of the attributes of each?
- Briefly describe the difference among interpreted, compiled and hybrid languages?
- What are some attributes of OO languages?
- Describe the ALGOL usage.
- Briefly describe the PL/I language.
- Define syntax and semantics.
- What is LL(1)?
- Describe the difference between BNF and EBNF.
- Write an ENBF description for C float literals.
- Show the parse tree for A = A * (B + (C * A)). Use the precedence rules for C.
- Show the following language ... is ambiguous.
- Consider the following grammar ..., which of the following sentences ... can be generated by the grammar?
- Draw a state diagram that recognizes C comments like /* stuff */.
- Describe the difference between keywords and reserve words.
- Define lexeme and token.
- What are the goals of syntax analysis?
- Describe the approach used by a recursive descent parser.
- Define binding and binding time.
- Define static binding and dynamic binding.
- With respect to names, define coercion, strong and weak typing.
- With respect to names define lifetime, scope, static scope and dynamic scope.
- What is a block?
- What are the advantages of named constants?
- What is an associative array?
- Discuss ways to implement character strings in a language?
- What are records?
- What is a union?
- Define row major order and column major order with respect to arrays.
- Discuss the use of reference types and pointers in C.
- Discuss static, stack-dynamic and dynamic arrays.
- Define operator precedence and operator associativity.
- What is a side effect?
- Define narrowing and widening conversions.
- What is a mixed mode expression?
- What is short-circuit evaluation?