Syntax
  1. Any programming language needs precise definition of the syntax
  1. Different ways of describing a language
  1. Expressions
  1. Abstract syntax trees (2.2)
  1. Lexical syntax
  1. Context free grammars