递归对自顶向下语法分析的影响.docxVIP

  • 8
  • 0
  • 约2.41千字
  • 约 6页
  • 2019-02-17 发布于贵州
  • 举报
递归对自顶向下语法分析的影响   摘要:在编译程序的语法分析中,含有左递归的文法,无法采用自顶向下的方法来进行语法分析,该文从递归的角度出发,讨论递归对自顶向下语法分析的影响。   关键词:编译器 ;语法分析;递归;左递归;右递归   中图分类号: 文献标识码:A 文章编号:1009--0231-02   语法分析是编译程序的核心部分,语法分析方法有多种,每一种语法分析方法只能处理某一种形式的文法,为了适应所选择的语法分析方法,常常需要对原始文法进行改造。比如含有左递归文法或二义性文法将无法采用自顶向下的方法来进行语法分析,本文从递归的角度出发,讨论递归对自顶向下语法分析的影响。   1 递归的定义   递归作为一种算法在程序设计语言中广泛应用,程序调用自身的编程技巧称为递归,递归可把一个大型复杂的问题层层转化为一个与原始问题相似的规模较小的问题来求解,只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要优势在于用有限的语句来定义对象的无限集合。其缺点是递归算法相对于非递归算法效率低,在递归调用的过程中系统需要为每一层的返回点、局部变量等开辟栈来存储,如果递归次数过多容易造成栈溢出。   2 文法中的递归   若文法中存在一个非终结符号,它可以推导出含有其自身的符号串,则称该非终结符号是递归的。一个文法中如果含有递归的非终结符号,则此该文法称

文档评论(0)

1亿VIP精品文档

相关文档