我有一些编程经验,我想理解语法分析,对于语境和上下文都是如此。我在哪里可以学习语法分析?你推荐哪些好书,网站或论坛?
请注意,我正在学习自己编程,并且没有正式的培训。
答案 0 :(得分:4)
编译器:原则,技术和工具由Aho,Lam,Sethi和Ullman,又名。 “龙书”深入探讨了为无上下文语法构造解析器。
对于上下文相关语法,决定字符串是否属于给定上下文敏感语法指定的语言是PSPACE-complete。在大多数情况下,您要做的是首先根据无上下文语法解析字符串,然后将上下文相关的规则应用于结果。例如,C变量必须在使用之前声明的规则是作为这样的规则实现的。
还有一些其他方法,对于上下文相关规则遵守某些约束(所谓的温和上下文敏感语法)非常有用。有关这些内容的详情,请参阅the Wikipedia article。