一点背景。我正在为作为 XML 子集的模板语言编写解析器。我自己编写而不是使用现有解析器的原因是真实的,但不值得在这里讨论。
我的解析器遍历字符串中的字符并在检测到新标签的开始、现有标签的关闭等时切换模式(基本上它是一个有限状态机)。
我想知道的是给存储标签开启器、标签关闭器和终止斜杠字符的常量起什么名字。(我知道我只是在那里命名它们,但我对这些名字不满意)
所以为此:
<MyTag attr="foo" />
您实际上将以下字符称为什么(在解析的上下文中):
<
>
/
我特别对“标签更近”有疑问,因为这真的很模棱两可,它是否意味着</MyTag>
或是否指的是终止/
或>
. 明白了吗?我想明确地命名一切。
澄清一下:我知道这些字符被称为什么,我实际上是在描述这些字符触发解析器做什么的动词之后,而不是这些字符的名称实际上是什么。假设语言实际上是这样写的:[Mytag attr=/foo/ #]
. 它是相同的语言,只是触发模式切换的字符不同。