虽然我学过 C 和 C# 以及其他一些次要语言,但我对 C 还是很陌生。我的问题是:如何检查 HTML 文件的语法是否正确?我的意思是:
<html><head></head><body>random stuff
和
<tag></tag>random stuff</body></html>
我想做一个堆栈,但我迷路了。从一个字符一个字符地读取文件并放入那么多 if
听起来太复杂了。
有人知道我怎么写这个吗?正如我所说,我是 C 的新手,所以如果您能在您的解释中附上一些代码,我们将不胜感激。谢谢!
最佳答案
您需要为 HTML 编写一个简单的 Lexer 和 Parser。
查看 Lex(或 Flex)和 Yacc(或 Bison)以及如何使用它们。
有关旧版 HTML 的简单 Yacc 语法,请参阅此内容 Simple Yacc Grammar for HTML
这是另一个简单的 XML 解析器:XML Grammar和 XML Lexer
我的建议:不要从头开始编写所有内容。使用预先存在的工具来帮助您做您想做的事。使用 Lex 和 Yacc 比手写的词法分析器/解析器更不容易出错
关于html - 如何检查 HTML 文件的语法是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008886/