词法分析器混淆
Lexer Parser confusion
我正在开发一个新工具。此工具采用 XML 文件并创建多个用户界面。
我真的需要组织我的代码。为此,我使用名称空间。输入文件创建的命名空间之间的路径如下所示。
XML >> Parser(or Lexer) >> Token tree >> generator >> User Interface
问题是我不明白 Lexer 和 Parser 之间的区别。
protected function __construct(\SimpleXMLElement $xml, string $xmlFileName,
AbstractContainer $container) {
// Link the container with its child
$this->container = $container;
// Initialize the class attributes
$this->name = $xml->attributes()["name"];
//...
}
这段代码代表了我的构造函数的一小部分。但是词法分析器的部分在哪里,解析器的部分在哪里??
对不起我的英语,我正在学习...
并不是说我理解你的大部分问题,但词法分析器是一个将 字符 序列转换为标记的过程。这显然已经由您正在使用的 xml api 完成了。
所以你的代码中不会没有词法分析器;如果您想将 xml 格式的解释分成几层,您可以按照您认为最合适的方式自由进行。
我正在开发一个新工具。此工具采用 XML 文件并创建多个用户界面。
我真的需要组织我的代码。为此,我使用名称空间。输入文件创建的命名空间之间的路径如下所示。
XML >> Parser(or Lexer) >> Token tree >> generator >> User Interface
问题是我不明白 Lexer 和 Parser 之间的区别。
protected function __construct(\SimpleXMLElement $xml, string $xmlFileName,
AbstractContainer $container) {
// Link the container with its child
$this->container = $container;
// Initialize the class attributes
$this->name = $xml->attributes()["name"];
//...
}
这段代码代表了我的构造函数的一小部分。但是词法分析器的部分在哪里,解析器的部分在哪里??
对不起我的英语,我正在学习...
并不是说我理解你的大部分问题,但词法分析器是一个将 字符 序列转换为标记的过程。这显然已经由您正在使用的 xml api 完成了。
所以你的代码中不会没有词法分析器;如果您想将 xml 格式的解释分成几层,您可以按照您认为最合适的方式自由进行。