美文网首页
解析器模式

解析器模式

作者: fanren | 来源:发表于2019-04-10 22:55 被阅读0次

定义

给定一个语言,定义它的语法的一种表达式,并且定义一个解析器,该解析器使用该表达式来解析语言中的句子;

文法

“我是软件工程师”
“我”是主语,“是”表示谓语,“软件工程师”表示宾语,形成了“主谓宾”结果,这样的结构称之为文法。
那么可以根据文法造出更多复合文法的语句;
这种文法只是其中一种,还有其他的各种类别。

应用场景

  • 如果某个简单的语言需要解析执行,而且可以将该语言中的语句表示为一个抽象语法树时,可以使用该模式。
    例如:a + b + c - d表达式,其中“a、b、c、d”表示参数符号,不能够再推导,称之为终结符号。而“+、-”是算数运算符,运算符的左边和右边都是有意义的计算参数,称之为非终结符;
  • 在某些特定的领域出现不断重复的问题时,可以将该领域的问题转换为一种语法规则下的语句,然后构建解析器来解释该语句。
    例如:大小写转换、数字转字符串、字符串转数字、阿拉伯数字转中文等等。。这个转换过程就是一个不断重复的问题。这其中所有的阿拉伯数字、大小写字母、中文数字都是固定的,也称之为终结符号。但具体的内容不同,所以可以使用该模式来解决。

角色划分

  • 角色一:抽象表达式
  • 角色二:终结符表达式
  • 角色三:非终结符表达式
  • 角色四:解析器上下文

案例

  • 原理案例:demo

相关文章

  • 解析器模式 与 免费公交卡

    解析器模式,它能用在什么地方呢? 解析器模式,它是如何解析的? 解析器模式,它有哪些关键要素? 解析器模式(Int...

  • “领域规则”模式

    “领域规则”模式 解析器模式 模式定义 类图 要点总结

  • 解析器模式

    一、模式简介 定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子,用编译语言...

  • 解析器模式

    解析器模式-定义? 定义:给定一个语言,定义它的文法的一种表达式,并且定义一个解析器,该解析器使用该表示来解析语言...

  • 解析器模式

    定义 给定一个语言,定义它的语法的一种表达式,并且定义一个解析器,该解析器使用该表达式来解析语言中的句子; 文法 ...

  • 解析器模式

    什么是解析器模式 给定一种语言,定义它的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中句子(通过解析器...

  • Boolan C++设计模式第三周心得笔记

    单件模式 享元模式 状态模式 备忘录 组合模式 迭代器 职责链 命令模式 访问器 解析器 本周作业 本次作业要求针...

  • 设计模式之解析器模式

    解析器模式:给拍一个语言,定义它的文法的一种表示,并定义一个解析器,这个解析器使用该表达来解析语言中的句子。 UM...

  • JAVA解析器模式

    一。概述 给定一个语言,定义它的文法的一种表示,并表示一个解析器,这个解析器使用该表示来解释语言中的句子。 二。适...

  • 前端面试题

    标签(空格分隔): 面试题 1.Doctype作用?标准模式和兼容模式的区别? Doctype是告诉浏览器的解析器...

网友评论

      本文标题:解析器模式

      本文链接:https://www.haomeiwen.com/subject/papaiqtx.html