请教句法分析的算法
比如,TSQL里面SELECT的语法是:
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
对一个SELECT语句进行分析时,麻烦的是,select_list里的table,又可以是一个SELECT语句包上扩号作为一个table,嵌套是无穷的。
这只是一个例子,TSQL里还有UPDATE、INSERT等语句,各自有Syntax。
那么,有没有一个通用的句法分析的程序呢?首先可以以一定的格式定义某动作(如SELECT)的语法,然后,自动就可以根据定义来判断输入的语句是否语法规范。有这样的程序么?请指点,谢谢!