[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000574] Re: new name for proto2c
ごとけんです
札幌に帰って来ました。堀之内さん、川那辺さん、黒井さん、お忙
しいところお世話になりました。やぱり札幌はさぶいです。
In message "[dennou-ruby:000571] Re: new name for proto2c"
on 00/11/13, Kuroi Keiko <keiko@xxxxxx> writes:
>いい名前だと思いますけど…。さっき、
>
>kuro@xxxxxx:~$ apt-cache search felt
>felt - Package for introductory level finite element analysis.
>felt-doc - FElt User's Guide and Reference Manual.
>
>ていうのを見つけてしまいました。f-elt ってことなんですかね?
がびーん、FreeBSD の ports にもありました。チェックしておく
べきだった。fwrap というのはどうかしらん…と思ったら、whois
によれば fwrap.com があるそうです。Lycos の FAST FTP Search
でも引っかかるなあ。
いっそのこと fwrappe -- Fotran WRAPPer -- フラッペ -- ごくご
く飲めない(cannot be `swig') -- にしたいけど、長い??
>> usage:
>> felt [options] basename file1.fp ...
>>
>> options:
>> -l <layout>
>> -d <destination dir>
>>
>> layout は各*.cファイルの作り方を書いたものです。具体的には、
>>
>> math1_blklib.c: p_header -
>> math1_chrlib.c: p_header -
>> ....
>-l を省略した場合は、
>
> *.c: <デフォルトのファイル> -
>
>のような感じですか?
そのつもりです。layoutファイル中でレイアウト指定が省略された
ものについてもそうするつもりです。
>> それと p_init 相当のdcl.cもヒナ型を出力するように出来るんじゃ
>> ないかと思うんですが、どう思いますか??
>x.fp ファイルに felt をかけると、f2c みたいに、x.c と x.P(?)
>ができて、x.P(?) の内容は、こんな感じで、
>
> extern VALUE dcl_gropn(VALUE, VALUE);
> .....
>
> rb_define_module_function(mDCL, "gropn", dcl_gropn, 1);
> .....
>
>あとで、必要な *.P(?) をマージして Init_dcl() の体裁を整えて
>dcl.c の出来上がり、とイメージしています。
>それとも、felt 一回で済ますため、dcl.c に追加していくのです
>かね?
うーむ。ぼくは中間ファイルは不要と思ってたけど *.h を吐かせ
て #include した方が逆に分かりやすいのかも知れません。一方、
extern と rb_def... が混ざった *.P はオプションかなあ。
>*.P(?) をつくるのは、*.c の内容を作ったら必要な情報はあるの
>でできると思います。
> Prototype#declare
> Prototype#define
>のようなメソッドを作りましょうか?
>でも、標準出力にだせないし。。。どうしましょう?
名前を決めてないので commit 出来ないですけど、手元で作っちゃ
いました。いまは Prototype#to_s はコードにしてますが、
class Prototype
# to_s -> wrapper
def declaration ; end
def rb_define_module_function ; end
alias to_s declaration
end
しようと思います。つまり、fwrappe では、以下のようになります。
PrototypeParser.new(f).parse do |x|
dotc.print x.wrapper
doth.print x.declaration
init.print_with_indent 4, x.rb_define_module_function
end
-- gotoken