使用(我所理解的)高级编译器技术(如特殊语法,AST等)比使用简单的字符串操作来制作非常小的编程语言有什么优势?我对编译器设计感兴趣,并且不知道我是否应该学习所有这些编译器理论,如果我只是要制作小而简单的语言。我知道当我开始制作更大的语言时,我可能不得不使用解析器生成器等,但在那之前我应该打扰吗?
答案 0 :(得分:0)
你一定要知道AST是什么以及如何构建一个。{3}}。即使您稍后使用解析器生成器。我的意思是,你怎么能对编译器设计感兴趣而不是对语法和语法树感兴趣?学习如何在幕后工作,而不是把它当作魔术,这总是值得的。
严肃地说,除了Whitespace或Brainf*ck之外的任何其他内容,只要它变得更复杂,就会对字符串操作很糟糕......