【发布时间】:2019-05-07 07:36:12
【问题描述】:
我正在编写一种可以转译为 html 的类似玉器的语言。下面是标签定义的样子:
section #mainWrapper .container
这转换为:
<section id="mainWrapper" class="container">
词法分析器应该区分 class 和 id 还是应该只吐出带有名称的特殊字符?
换句话说,令牌数组应该是这样的:
[
{type: 'tag', value: 'section'},
{type: 'id', value: 'mainWrapper'},
{type: 'class', value: 'container'}
]
然后解析器只是将它们组装成一棵树
或者词法分析器应该非常原始并且只返回匹配的字符串,然后解析器负责区分它们?:
[
{type: 'name', value: 'section'},
{type: 'name', value: '#mainWrapper'},
{type: 'name', value: '.container'}
]
【问题讨论】:
标签: html parsing token lexer transpiler