Programming Languages/Systems
- A set of possible computations (usually infinite)
- A set of primitive operations: e.g., arithmetic operations, loading, storing, branching.
- A set of language primitives: e.g., identifiers, operators, etc., or menu items, components of rules, etc.
- A set of combining rules (grammar) used to form larger and larger expressions, and eventually, programs.
- A mapping from programs in the language to computations, usually expressed in terms of mappings from language primitives and combination schemata to primitive operations and partial computations.