Преглед изворни кода

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, несмотря на общую многословность.