Ver Fonte

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

Пётр há 10 anos atrás
pai
commit
54036a2954
1 ficheiros alterados com 8 adições e 0 exclusões
  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, несмотря на общую многословность.