• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-09-25 09:37 Aet 隐藏边栏 |   抢沙发  4 
文章评分 1 次,平均分 5.0

概述

解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。诸如此类的例子也有很多,比如编译器、正则表达式等等。

如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子,这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。

定义

给定一种语言,该模式定义了其语法的表示形式,以及使用该表示形式来解释该语言中的句子的解释器。解释器模式具有行为目的,并且适用于类。

角色

  • Context:环境类
  • AbstractExpression:抽象表达式类
  • TerminalExpression:终结符表达式
  • NonterminalExpression:非终结符表达式
  • Client:客户端

场景

  • 当语法简单时(对于复杂语法,有更好的选择)
  • 效率不是关键问题

实现

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享