# AsakusaReading Asakusaソースコードリーディング(第一回)
- marblejenka
- 2552
- 0
- 1
- 0
#AsakusaReading https://gist.github.com/988810 ソースコードをたどるときに使う資料です。
2011-05-25 18:29:06#AsakusaReading 本日の解説に使用するソースコードです https://github.com/ashigeru/asakusafw/tree/SCR-01
2011-05-25 18:30:14AsakusaSCR #AsakusaReading そろそろ始まりますよ。
2011-05-25 18:32:12#AsakusaReading DMDLコンパイラ、Operator DSLコンパイラ、Flow DSLコンパイラの順に説明します。
2011-05-25 18:36:38#AsakusaReading DMDLはRDBMSからのModelを生成するのではなく、Data Model Definition LanguageからModelを生成するユーティリティです。
2011-05-25 18:37:33#AsakusaReading まずはコンパイラの基礎から説明。ソースコードを構文解析してASTを作り、ASTを意味解析をしてASGをつくり、ASGからターゲットコードを生成する。
2011-05-25 18:40:45#AsakusaReading AST:Abstract Syntax Treeはソースコードを木構造的にしたもの。ソースコードの行番号などをつけたりしてエラーをはいたりする。
2011-05-25 18:41:43#AsakusaReading ASG:Abstract Semantic Graphは参照関係などの情報を含めたグラフ。割とターゲットコードに近い感じに設計する。
2011-05-25 18:42:26基本的なコンパイラの構造。Abstract Syntax treeとAbstract Semantic Graph. ASGは最適化の基盤としてよく使われる。#AsakusaReading
2011-05-25 18:43:33遅くなりました。Ustはこちらです。 http://www.ustream.tv/channel/asakusareading #AsakusaReading
2011-05-25 18:44:11Semantic Analyzerが一番難しい。ASTからASGへ。グラフの繋ぎかえで最適化。 #AsakusaReading
2011-05-25 18:45:02#AsakusaReading Flow DSLのフロントエンドはDSLで書いてるJavaのコード。グラフをつくるのにもFlow DSLを実行して結線の解析とかをしてる。
2011-05-25 18:46:17#AsakusaReading DMDLで作ったモデルを他のモデルから参照することもできるようにしている。ので、意味解析が要る。
2011-05-25 18:48:14