【发布时间】:2012-08-31 02:32:22
【问题描述】:
我正在尝试为 (X)HTML5 和任何可能嵌入的内容(EcmaScript、CSS)编写我自己的自定义解析器(在 C# 中) - 只是为了学习和获得乐趣。虽然我是一名中级程序员,但我对解析器和所有技术知识了解不多。我能够相当容易地为 HTML5 创建一个词法分析器(tokeniser),但句法分析(解析)有点棘手。我不确定是否应该首先对所有源输入进行词法分析,然后再做另一个,或者同时尝试两者;获取 char 直到我有一个令牌,意识到这个令牌在语法上的含义,然后期待一个与前一个令牌相关的某个令牌。我面临的问题是 HTML 可能嵌入了其他语言,例如 CSS 和 JavaScript,据我所知,它们会有不同类别的标记,所以我不确定如何“知道”我在哪里我将代码标记化以便对标记“是”有不同的定义。有什么想法吗?另外,先进行词法分析,再进行语法分析与同时分析两者的优缺点是什么?
【问题讨论】:
标签: html parsing token lexical-analysis