我正在创建一种编译器,当您在文本框中键入if或else之类的内容时,它会自动更改为红色。我只需要这个就可以使用javascript创建一个简单的编译器
答案 0 :(得分:0)
您需要一个元素( 不是输入元素 ),您可以在其中附加击键侦听器。您将收到的字符收集到令牌地图中。
完成AST生成后。使用它来创建具有类名称的HTML元素以匹配其token class
(例如assignment
,variable
,string
)
现在使用CSS来附加样式:
.variable-name {font-style: italic, color: #838383}
.string {color: green}
.operator {color: red}
答案 1 :(得分:-1)
你可能需要有一些正则表达式。因此,例如,您查找if语句的匹配:(简单示例)
text.match(/(if)/g);
然后你可以只为它应用一个类:
text.classList.add('red');
当使用括号和括号表示代码中的所有可能性处理正则表达式时会非常复杂,正则表达式会非常激烈,所以祝你好运。我相信有更好的解决方案。