2024-03-28T18:52:34Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001287362023-11-17T02:17:36Z06504:08089:08096
言語処理系クラスライブラリと一体化したオブジェクト指向構造エディタAn Object-Oriented Structure Editor embodied in Programming Language Class Library.jpnhttp://id.nii.ac.jp/1001/00128921/Conference Paperhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=128736&item_no=1&attribute_id=1&file_no=1電子技術総合研究所電子技術総合研究所電子技術総合研究所電子技術総合研究所電子技術総合研究所一杉, 裕志平野, 聡須崎, 有康田沼, 均塚本, 享治我々は、プログラミング言語の進化速度向上を目指し、言語処理系の部品のクラスライブラリ、Lodsを設計中である。このコンパイラキットの一部分として、構造エディタを実現するモジュールの基本設計を行なった。構造エディタは、文や式などプログラミング言語の構文単位での挿入・削除を操作の基本とするエディタである。単純な文法エラーが早い段階で排除できる、インデントを自動的に行なってくれるなど、プログラムの生産性を向上させる特徴を多く持っている。The synthesizer generatorなど多くのシステムでは、属性文法による言語の定義を与えることにより、コンパイラと構造エディタを自動生成できるようにしている。我々のコンパイラキットでは、拡張モジュールを追加していくことにより言語機能を拡張していけるものを目指している。しかし、従来のような文脈自由文法による記述では、シンタックスの拡張に制約が生じる。例えば、構文解析に影響を与えるような特殊文字や新しいキーワードを、言語仕様の他の部分に影響を与えずに追加することが不可能である。そこで我々のコンパイラキットでは、言語シンタックスの拡張性を考慮に入れた構造エディタを、標準的プログラミング環境として提供することにした。このエディタの実現方法は、以下の特徴を持っている。1.オブジェクト指向言語を用いて記述し、制御構造単位で表示方法、編集方法の変更・拡張が可能。2.コンパイラキットと一体化しており、制御構造のシンタックスとセマンティックスをカプセル化した記述が可能。AN00349328全国大会講演論文集第51回ソフトウェア121995-09-202015-01-20