设计模式-解释器模式-interpreter-python

def

给定一门语言, 定义它的文法的一种表示, 并定义一个解释器, 该解释器使用该表示来解释语言中的句子。

usage

● 解释器模式会引起类膨胀
每个语法都要产生一个非终结符表达式, 语法规则比较复杂时, 就可能产生大量的类文件, 为维护带来了非常多的麻烦。
● 解释器模式采用递归调用方法
每个非终结符表达式只关心与自己有关的表达式, 每个表达式需要知道最终的结果, 必须一层一层地剥茧, 无论是面向过程的语言还是面向对象的语言, 递归都是在必要条件下使用的, 它导致调试非常复杂。 想想看, 如果要排查一个语法错误, 我们是不是要一个断点一个断点地调试下去, 直到最小的语法单元。
● 效率问题
解释器模式由于使用了大量的循环和递归, 效率是一个不容忽视的问题, 特别是一用于解析复杂、 冗长的语法时, 效率是难以忍受的。

code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值