nEditというテキストエディタを改造して、自分用のテキストエディタを
nEditというテキストエディタを改造して、自分用のテキストエディタを作ろうと考えているのですが…。
環境
OS:Windows XP
言語:C言語(bcc55)
http://www.shiftup.net/ (シフトアップネット)
というサイトの
http://www.shiftup.jpn.org/flash/game2/ (ツクアド2)
というコンテンツがあります。
子供でも簡単にブラウザ上でプログラミングができ、なお且つ簡単にゲームを公開できると言うコンテンツです。
ただ、その簡単さ故に大した機能もありません。
ファイルの分割ができない、関数と言う概念がない、マクロ定義もできない…。
そこで、ツクアド2用のテキストエディタを作成し、追加命令を作ろうと思います。
「ファイルを分割して管理し、結合する」
main.txt func0.txt , func1.txt , func2.txt
という4つのファイルがあったとして、
main.txtに
#include "func0.txt" (ツクアド2の言語使用ではセミコロンはコメント化なので;は使えない)
#include "func1.txt"
#include "func2.txt"
と記述しコンパイルすると、新たにウィンドウが開いて3つのファイルを結合後のファイルを表示する。
「#enum」
#enum {A,B,C}
と記述しコンパイルすると
A = 0
B = 1
C = 2
に変換する
などを実装したテキストエディタを作りたいです。
1からテキストエディタを作成するのにはあまりにも無知なのでオープンソースのnEditをダウンロードしてきました。
rcファイルに、コンパイル用のメニューを追加して、メッセージを受け取るところまでは作りました。
で、メッセージを受け取った後どうすればいいのかわからないんです。
正規表現を使って置換しようと思ったのですが、C言語って正規表現サポートしていないみたいです…。
そこでregex.hというライブラリを探してきて、使おうと思ったら、コンパイルエラーがでてしまいました。
どうやらstream_iteratorヘッダのtemplateという文が原因のようです。
で、よくソースを見てみるとC++のソースでしたorz
.cでコンパイルできるわけもないので、.cppにファイルを変換してコンパイル…(。
したら今度はnEdit.cが驚くほど大量のエラーを履きました(C++はCの上位互換程度にしか考えてませんでしたが上手くいきませんでした。。)
流石に他人が書いたコードをcpp用にデバッグするのは厳しいです。。
なんとかする方法はないでしょうか。
他にC言語で正規表現を使えるようにする方法はありますか?
それとも正規表現を使わなくても希望の動作が可能な方法はありますか?
お礼
ありがとうございます。こんな環境があったんですね。無事にレポートが書けそうです。