- 著者
-
小藤 哲彦
河野 健二
竹内 郁雄
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
- 巻号頁・発行日
- vol.44, no.13, pp.84-99, 2003-10-15
- 被引用文献数
-
3
具象構文と抽象構文は対応関係が強く,これらを別々に記述するのは無駄が多い.この無駄を省くために,具象構文と抽象構文を一体として記述する手法がいくつか提案されている.本論文では,具象構文と抽象構文を一体として記述し,抽象構文木を出力するパーザを生成するコンパイラ・コンパイラ?<>< ∪∪(notavaCC )の設計と実装について述べる. ?<>< ∪∪は,継承,ラベル付け,エイリアスの構文記法を用い,オブジェクト指向に基づいた抽象構文を記述することができる. ?<>< ∪∪は,算術式のような従来の研究では表現できない抽象構文を記述することができ,表現力が高い.本論文では?<>< ∪∪が実用的な性能を持っていることも示す.Because of the similarity between abstract syntax and concrete syntax, it is wasteful to write these syntax descriptions individually. The paper describes the design and implementation of a compiler compiler named ¬<>< ∪∪(notavaCC), which has an integrated notation that can represent both of abstract syntax and concrete syntax, and generates a parser that builds an object-oriented abstract syntax tree. Using the notation for inheritance, labeling and aliases, ¬<>< ∪∪enables us to generate an object-oriented syntax tree of an arithmetic expression, which existent compiler compilers cannot generate. The paper also describes the practicability of ¬<>< ∪∪.