语法分析所依据的是语言的语法规则,即描述程序结构的规则。通过语法分析确定整个输入串是否构成一个语法上正确的程序。程序的结构通常是由递归规则表示的,例如,我们可以用下面的规则来定义表达式:
  (1) 任何标识符是表达式。
  (2) 任何常数(整常数、实常数)是表达式。
  (3) 若表达式1和表达式2都是表达式,那么:表达式1+表达式2以及表达式1 * 表达式2都是表达式。

类似地,语句也可以递归地定义,如
  (1) 标识符∶=表达式是语句。
  (2) while(表达式)do语句和if(表达式 )then语句 else语句都是语句。