MST

星途 面试题库

面试题:Objective-C 中解释器模式的基本结构是什么

请简述在Objective-C语言环境下,解释器模式包含哪些核心角色,并简要说明每个角色的职责。
28.1万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试
  1. 抽象表达式(Abstract Expression)
    • 职责:定义解释器的接口,声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享。
  2. 终结符表达式(Terminal Expression)
    • 职责:实现与文法中的终结符相关联的解释操作,一个句子中的每个终结符都有一个具体的终结符表达式与之对应。
  3. 非终结符表达式(Non - Terminal Expression)
    • 职责:为文法中的非终结符实现解释操作。对文法中每一条规则R1、R2…Rn都需要一个具体的非终结符表达式类。非终结符表达式根据逻辑的复杂程度可以包含一个或多个成员变量,用于保存各个组成部分。
  4. 环境(Context)
    • 职责:包含解释器之外的一些全局信息,如变量的定义、状态等,在解释过程中,解释器可能需要访问这些信息。
  5. 客户端(Client)
    • 职责:构建(或被给定)一个抽象语法树,然后调用解释操作,让解释器工作。