瀏覽代碼

Updated 2015-07-20-to-ast-or-not-to-ast.md

Пётр 10 年之前
父節點
當前提交
54036a2954
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      _posts/2015-07-20-to-ast-or-not-to-ast.md

+ 8 - 0
_posts/2015-07-20-to-ast-or-not-to-ast.md

@@ -1 +1,9 @@
+---
+published: false
+---
+
 ## AST или не AST?
+Каждый раз возникает проблема, где хранить AST, хранить ли его вообще и если не хранить, то как быть?
+Однозначно хранить. Во-первых, изучать вывод компилятора в лог утомительно, лучше сразу сохранить структуру AST и поизучать ее на предмет ошибок. Во-вторых, AST должна быть слегка независима от модулей компилятора, поэтому лучше будет, если на момент передачи AST в интерпретатор/кодогенератор контекст компиляции уже будет потерян. И в-третьих, для экспериментальных языков выводом в AST все может и закончиться, ибо дешевле и проще проинтерпретировать AST, нежели писать кодогенератор для птичьих IR типа llvm.
+
+Для хранения AST уже перепробовал много разных форматов. Видимо, самый удобный все-таки XML, несмотря на общую многословность.