用javascript解析类似把手模板的语法

用javascript解析类似把手模板的语法,javascript,parsing,Javascript,Parsing,我想用JavaScript中类似把手的语法制作一个实时模板引擎。我有这个模板代码,我想分割所有内容(通过空格、标记内容等分隔标记名和属性) {{{#组件索引} {{{#if user.connected} 已连接为{user.pseudo} {{/if} {{/component} {{{#分量index2}} {{/component} 我想做一个词法分析器,有人知道教程或工具吗?首先要做的是为解析器创建一个语法分析器,然后根据语法分析器对语法进行分类。然后您必须编写解析器或更常用的语法分析

我想用JavaScript中类似把手的语法制作一个实时模板引擎。我有这个模板代码,我想分割所有内容(通过空格、标记内容等分隔标记名和属性)

{{{#组件索引}
{{{#if user.connected}
已连接为{user.pseudo}

{{/if} {{/component} {{{#分量index2}} {{/component}

我想做一个词法分析器,有人知道教程或工具吗?

首先要做的是为解析器创建一个语法分析器,然后根据语法分析器对语法进行分类。然后您必须编写解析器或更常用的语法分析器,例如。由于您的问题过于笼统,我认为您不会得到具体的答案,只能得到提示和指导。由于您是StackOverflow新手,请阅读。如果不仔细阅读,看到嵌套分隔符(例如
{}
)是一个危险信号,通常意味着无法使用正则语言(例如regex)。很可能你会有一个。我应该把我的模板语言的HTML分开还是把它变成一个字符串?是否有上下文无关语法的工具?TackOverflow不是讨论板,不鼓励在评论中进行长时间的讨论。你需要以问题的形式提出具体问题,而不是将问题转化为讨论。说真的,拿着书读吧。不要期望在讨论中回答问题,即使是我。关于
我应该将模板语言的HTML分开还是将其设置为字符串?
我没有足够的信息来回答,也不会回答,因为这将是一个讨论。:)
{{#component index}}
    {{#if user.connected}}
        <p>connected as {{user.pseudo}}</p>
    {{/if}}
{{/component}}

{{#component index2}}
{{/component}}