新しいスクリプト言語を設計する!
■ このスレッドは過去ログ倉庫に格納されています
0001 ◆opMJSavJhM
NGNG言語が少ないような気がします。例えば。。。
PERL - 大変メジャーで、実績も十分!
しかし、記号&暗号のようなスクリプト言語と感じるのは私だけでは無いはず
です。昔やった、sendmailの設定ファイルを何故か思い出します。
RUBY - 最近(?)人気急上昇のメジャー言語!ネーミングも良い!
しかし、(善し悪しは別として)オブジェクト指向言語であるが故に、私の様
にいまだに抵抗を感じる方もきっと多いはず。
そこで、オブジェクト指向でない分かりやすいスクリプト言語を設計してみた
いと思うようになりました。
いろいろと、アドバイスなりアイデアなりを頂けると嬉しいです。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG間違い
終了
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGもうすでにHSPがあるだろ?
0007デフォルトの名無しさん
NGNG> これからは、スクリプト言語の時代だそうですが
ハァ?
新しい言語作るなら、
新しいアスペクト指向言語を作ってくれ
0008デフォルトの名無しさん
NGNGアスペクト指向を自分の言葉で説明してみろ
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG新次元新発想!新しい文法を作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1047970129/
新言語の制御文を作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1050616566/
0016デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019動画直リン
NGNG0020デフォルトの名無しさん
NGNG_'~_ ミミ
ひ` 3彡
カラン_ 匸,.イ <たて逃げするなら最初からスレッド立てなきゃいいのにな。。。
rl|iri| /yV/ \
0021デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1034182349/
0023デフォルトの名無しさん
NGNG設計する必要なし
0024デフォルトの名無しさん
NGNGとりあえず何も作ってない奴にアレコレ言ってやる程暇な香具師はそう多くないってこった。
0025デフォルトの名無しさん
NGNG『コンパイラ・スクリプトエンジン』 相談室 2
http://pc2.2ch.net/test/read.cgi/tech/1021136715/
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGGoLua !?
0028デフォルトの名無しさん
NGNGですが、どうでしょう???
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG0031名無し@沢村
NGNGどうしてFかKかといえば、おれは昔K-FACTORYというブランドが好きだったからよ。
おれは新宿丸井店と神宮店によく買いにいってたね。
おれは朝日新聞の白黒写真にK-FACTORYのニットとパンツをはいて出ていたモデルのねーちゃんがかっこよかったから、K-FACTORYを好きになったのよ。
おれもああかっこよくなりたいと思ってね。
いずれにしても開発するならF言語かK言語しかないと思っているね。
K言語がねらい目かもね…?どうよ?
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGふじつーまんせー
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG>>これからは、スクリプト言語の時代だそうですが
いまさらだな
0036デフォルトの名無しさん
NGNGbashとAWKもあるにはあるが、どちらも目的&ターゲットが限定
されすぎていない?
0037デフォルトの名無しさん
NGNGpythonとかrubyは?
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG共にオブジェクト至高
0040デフォルトの名無しさん
NGNGperlは定番だね
rexxは設計古杉
WSHはwin用?
0041デフォルトの名無しさん
NGNGそろそろ出来たろう。
早く見せてくれ。
0043デフォルトの名無しさん
NGNGなら、るびぃを手続き型で使えばいいじゃん。
0044デフォルトの名無しさん
NGNGたまいるけど、よっぽど頭かたいんじゃないかと思うよ。
0045デフォルトの名無しさん
NGNG0046名無し@沢村
NGNGCではint,short,long,flort,double,long double,charなどがあるが、
doubleとlong doubleはいらないね。
おれならchar=1バイト,wchar=2バイト,int=4バイト,flort=4バイト,long=8バイトとするね。そしてそれぞれにsignedとunsignedがあるわけだ。
これだけですべてが表現できるよ。doubleとlong doubleは無駄だね。どうよ?
まあ名前は別の名前にするかもしれないけどね。
まずこれで変数と型が設計できたぞ!
少しはかどったわけだ。次回はまた♪
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG糞
0049デフォルトの名無しさん
NGNG0050名無し@沢村
NGNGwcharは日本語を表現するのにいるよ!
charしかないと文字変換のとき日本語を二つに分解しないとダメで面倒臭いだろ?
しかしwcharがあれば一発で変換できるよ。
またcharとwcharに互換性を持たせておけば同じ配列にcharとwcharを混ぜて使えるから、テキストエディタを作るとき超便利になるよ!
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNGだせ。
0053デフォルトの名無しさん
NGNG型宣言どうすんの?
C風に比べてPASCAL風のほうがすっきりすると思うんだが
0054デフォルトの名無しさん
NGNGそのうち、お決まりの「もちろん、C言語風のsyntaxに……」とか
言い出すんだろ?見え見え。
いいかげん、一旦Cから離れろよ。できれば、アルゴル系から離れろ。
0055デフォルトの名無しさん
NGNG0056名無し@沢村
NGNG配列はCの場合int a[50];と宣言したら、intつまり4バイトのデータが50連続してるってことだろ?
だがK言語では違うんだよ。
K言語では配列型というのをつくるんだよ。
例えば、array a[50];というふうに宣言するんだな。
またarray型は型であって型ではないから、型のサイズというものを持たない。
array型というのはintやlongやflortやcharやwcharなどの型を混ぜることができる配列なんだよ。
例えばa[0]がint型でa[1]はflort型でもOKというふうにだ。
おまいらよ、これはいまだかつてないすげー便利な配列だぞ!わかるか?
まあ変数と型の設計の部分ではK言語とC言語のそう大きな違いは見られなかったが、配列の設計に来てK言語らしさがちょっと出てきたというわけだ。
まあ配列の設計はそんなところよ。
おれはこうして少しずつK言語を設計していくからな。このスレでな。
いままでのことでわからないことがあったら、何でも聞いてくれ!
0057デフォルトの名無しさん
NGNG結局、沢村はここでワンマンショーがしたいだけなんだな。
0058デフォルトの名無しさん
NGNG既に VB の Variant 型配列で実現されてますが。
0059デフォルトの名無しさん
NGNGプ
沢村の爪の垢でも飲んどけ
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG「プ」しか書けないアフォは、氏ね。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGやっぱりアフォだったか...。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGおまえは C をつかってろ。
0067デフォルトの名無しさん
NGNG型が決定されるのはどの瞬間にょ?
0068デフォルトの名無しさん
NGNG>intつまり4バイト
お、オレは釣られない、釣られないぞぉ。
0069名無し@沢村
NGNG新しい言語はCをつくりかえるのがいい。
ただアセンブラは必須だよ。アセンブラを知らないとコンパイラはつくれないからね。
コンパイラというのはその新しい言語をアセンブラにエクスポートするソフトだからだよ。
0070デフォルトの名無しさん
NGNG代入の時でいいんじゃない ?
(つーか、>>64 が言うような言語ではそうなってると思うよ。)
0071名無し@沢村
NGNGintは4バイトだろが、ハゲ!!
でcharが1バイトでshorつーかtwcharが2バイトよ。
これは処理系の常識だぞ!
0072デフォルトの名無しさん
NGNG> コンパイラというのはその新しい言語をアセンブラにエクスポートするソフトだからだよ。
別にアセンブラを経由する必要はないと思うが。
あと初期の C++ みたいに、別の言語にコンバートする方法もあるし。
0073デフォルトの名無しさん
NGNGintのサイズは処理系依存。16ビット系コンパイラなら
intは2バイトが多い。
0074デフォルトの名無しさん
NGNGネタにマジレス...、スルーしましょうよ。
0075デフォルトの名無しさん
NGNGint は割り込み命令だろうがハゲ
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGなんかこの話題になると得意満面な奴がでてくるな。
みんな知ってることなのに...。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG0081名無し@沢村
NGNGハゲ!!アセンブラにコンバートするんだよ!
アセンブラが実行可能ファイルなんだよ!!わかるか?
そのためにアセンブラの知識が必要なんだよ。
まあいずれにしても、逆アセンブラもつくれないやつにはコンパイラをつくるのは無理ってことだ!!
おまいらは、新しい言語をつくる前に、逆アセンブラをつくって言語のしくみの基礎を勉強してみろ!!いいか!!
0082デフォルトの名無しさん
NGNG> 得意満面だと思っているあたりが。
ぷぷっ。指摘されて恥ずかしかったのかな ?
0083デフォルトの名無しさん
NGNGと思ってる?
0084デフォルトの名無しさん
NGNG0085動画直リン
NGNG0086デフォルトの名無しさん
NGNGa[0] = 10.to_i
a[1] = 10.to_f
a.each do |x|
p x
end
# ruby unko.rb
10
10.0
#
0087デフォルトの名無しさん
NGNGオマエモナー。
0088デフォルトの名無しさん
NGNG>>80
0089名無し@沢村
NGNGハゲ!!
実行可能ファイルつーんだよ!つまりPCが理解できるネイティブコードだよ。な?
だからな、新しくつくった言語をネイティブコードに変換しようと思ったらアセンブラの知識がなくちゃ無理だっつーんだよ!
まあDelphiやVBの知識は必要ないが、CとJavaとアセンブラの知識は必要だということよ。新しい言語にはな。おまえ。
0090デフォルトの名無しさん
NGNGってことでFA?
0091デフォルトの名無しさん
NGNGみんな知ってることなのに...。
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGってことでFA?
0094デフォルトの名無しさん
NGNGみんな知ってることなのに...。
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGふぁ ?
0097 ◆opMJSavJhM
NGNG(私は、沢村さんではありません。念のため。。。)
さて、本題ですが、変数型についてどなたかが書き込まれていましたが、
最近思うことは、文字型(char類)って本当に必要なのか?と疑問に思い
つつあります。
いろんな言語で、文字型の無いものをさわった経験として、文字系は文字
列が表現できれば十分では?と思うようになりました。
あまりにも当り前の話ですが、「文字」を単に「長さ1の文字列」として
表すのです。
(マルチバイト文字は当然それなりの長さを単純に持たせます。)
私もC言語の影響は多大に受けていますので、最初は違和感もあったので
すが。。。AWKやらrubyやら他にいろいろ(luaもそうだったかな?)さわ
っているうちに、これは有る程度、そう思うようになりました。
この当たりは、どうおもわれますか?
単に、自分がそのような必要を感じていないだけでしょうか???
0098デフォルトの名無しさん
NGNGただCの文字型は実質単なる整数型なわけで、便利なこともある。
例えば配列にアルファベットの大文字を格納するには・・・
int i;
for(i = 0';i < 'Z - 'A';i++) array[i] = i + 'A';
なんてやればいいわけで。わかりいい。
009998
NGNG修正
0100デフォルトの名無しさん
NGNG実際的には問題ないけど
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNGGC (Garbage Collector) 使ってる言語はそれでいいけど、そうじゃない言語だとちょっとね。
char がないと例えば、一文字の結果を返す関数でも、いちいち文字列領域を確保してそのポインタを返すようにしないといけない。
使った後の解放を忘れたり、二重に解放しちゃった時のバグは見つけにくいし。
スクリプト言語の多くは GC 使ってるから、このスレ的に char はなくてもいいとは思うけど。
>>98-99
俺なら...
int i;
char *p = array;
for(i = 'A'; i <= 'Z'; i++) *p++ = i;
0103デフォルトの名無しさん
NGNG文字列に関しては処理系がしっかりメモリ管理もみてやりゃあいい話でないの?
すくなくともポインタを意識するスクリプトはやだなあ。
0104デフォルトの名無しさん
NGNGみんな知ってることなのに...。
0105デフォルトの名無しさん
NGNG> 文字列に関しては処理系がしっかりメモリ管理もみてやりゃあいい話でないの?
文字型だけ GC つけろと ? だったら全部そうした方がいいよ。
> すくなくともポインタを意識するスクリプトはやだなあ。
スクリプト言語で文字列型と文字型を区別してる奴なんかあるのか ?
0106デフォルトの名無しさん
NGNGメモリ管理まで気にしたくないのが正直なところ
0107デフォルトの名無しさん
NGNG>スクリプト言語で文字列型と文字型を区別してる奴なんかあるのか ?
文字列型と文字型は全然違うと思うが。
0108103
NGNG> 文字型だけ GC つけろと ? だったら全部そうした方がいいよ。
ごもっともです。
もし、「組み込み型」と「任意にオブジェクト生成を伴う型」にわけるなら、文字列方は、文法的には組み込み型であって欲しいです。
あ、でもこのスレではオブジェクト指向じゃないスクリプトを目指すわけだから、後者の型はないわけか?
> スクリプト言語で文字列型と文字型を区別してる奴なんかあるのか ?
ないね。ただ、型があってC言語風であるなら考慮してもいいとおもうんすが。
0109103
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGそもそも、オブジェクト指向って何?っていう話にもどらないか?
0113デフォルトの名無しさん
NGNG多態はしない
継承はしない
でもがんばればCでだってできちゃうなぁ
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNGHOGE a;//変数
a = new HOGE();//生成
みたいな手順をふまなくちゃならない言語は、かなりオブジェクト指向だと思うな。
0118デフォルトの名無しさん
NGNGそんなことしたら使う価値がゼロに近いのだが
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG> >スクリプト言語で文字列型と文字型を区別してる奴なんかあるのか ?
> 文字列型と文字型は全然違うと思うが。
ん ? 具体的にどう違うの ?
(C言語では... とか言わないでね。スクリプト言語で、と限定してあるから。)
0122デフォルトの名無しさん
NGNGRubyやLISP系言語参照
0123デフォルトの名無しさん
NGNG俺もそう思う。
言語自体は、できるだけシンプルに。
普通に欲しい機能は標準ライブラリ。
特殊な機能は include とか require なんかで動的に拡張できればいいと思う。
0124デフォルトの名無しさん
NGNG・Perlよりも速く動作する。
・組み込み正規表現マッチ。
・充実した文字列操作ライブラリ。
・日本語が通る。
0125デフォルトの名無しさん
NGNGそうすれば文字型が要るかどうかも決まるはず。
perlやrubyみたいな汎用言語を作るのは困難だろうから、
まずは使う場面を特化したものがいいと思う。
たとえば、Javascript みたいな
0126デフォルトの名無しさん
NGNGLISP をスクリプトと言うかは微妙だな。
Ruby はよく知らんけど、ぱっとみた所では文字型が見当たらんが、俺の見落としか ?
文字の文字コードを数値として扱うことはできるようだけど、これなら Perl とかでもできるからな。
できたら具体例を出してくれ。
0127デフォルトの名無しさん
NGNG・文字型が組み込みで
・文字列操作が充実してて
・正規表現があって
・文法はALGOL系で
・シンプルで
・ポインタがなくて
・メモリ管理を意識しなくてすんで
・実行が早い(実行時にコンパイル?)
そんなスクリプト。Perlをきれいにまとめたらできるような気がするが。
0128デフォルトの名無しさん
NGNGPerlの文字は長さ1の部分文字列じゃなかったけ?
0129デフォルトの名無しさん
NGNGどんな言語でも頭の痛い問題だし。
0130デフォルトの名無しさん
NGNG数値として扱う場合は明示的な型変換が必要。
LISPには、印字表現という決め事があって、S式の入出力(readとwrite)
の結果が同一になることが望ましいとされる。
その辺がどうでもいい場合は、入力だけ文字の印字表現を受け取れる
様にして、内部は数値で統一して扱う処理系もある。
0131名無し@沢村
NGNG総合コンパイラや言語コンバーターってのも面白そうだ。
Delphi、VB、LISP、C,Java,どれを打ち込んでもコンパイルしてくれたり、相互に変換してくれたりするやつだ。
両方の機能のあるソフトをつくるとすれば、おれだったらまず他の言語をCに変換した上でコンパイルするソフトをつくるね。
これがあると自分のよく知らない言語でソースが公開されていても、知ってる言語に一発変換できるから超便利だよ!!
0132デフォルトの名無しさん
NGNGトランスレータが吐き出したコードなんて読む気しないよ。
0133デフォルトの名無しさん
NGNGえと、沢村を擁護するのは気が引けるんだけど、
トランスレータの出力は読む必要ないよ。
0134デフォルトの名無しさん
NGNG> これがあると自分のよく知らない言語でソースが公開されていても、知ってる言
> 語に一発変換できるから超便利だよ!!
読む気満々だから指摘したまで。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGLISP は最近触ってないからなぁ...。
一応 Common-LISP とかだとあるみたいね。
>>126 書いたときは、手近にあった Emacs-LISP Manual みてたから、こいつは...
> その辺がどうでもいい場合は、入力だけ文字の印字表現を受け取れる
> 様にして、内部は数値で統一して扱う処理系もある。
と言うことみたいね。
>>132-135
釣られんなよ。
0137デフォルトの名無しさん
NGNGhttp://www.iolanguage.com/
pForth とか tiny-scheme とか、小さな処理系を拡張するのが良いんじゃない?
Forth や Scheme は自己拡張能力が売りなんだし、文法も好き勝手変えられる。
0138デフォルトの名無しさん
NGNGなにをもって情報隠匿と定義するかに、かなり依存するような気もする。
(オブジェクト指向かどうかの区別の件)
たとえば、AWKなんかは文字列・整数・実数を一括であつかえるけど、
これはオブジェクト指向と呼べるのだろうか?
真面目に考えてしまうけど、オブジェクト指向が至高でないのは、その
定義が(人によって)異るからではないか?
0139デフォルトの名無しさん
NGNGそれって、妄想だよな。
0140デフォルトの名無しさん
NGNG言葉のハジハジに引っかかる香具師発見!
0141デフォルトの名無しさん
NGNG"Hello,World!" println.
0142デフォルトの名無しさん
NGNGそれでみんな幸せになれる。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGどうやればGC付けられますか?
簡単につくんだろうか?
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGどうやればGC付けられますか?
簡単につくんだろうか?
0148デフォルトの名無しさん
NGNG>>143
0149デフォルトの名無しさん
NGNG>>144
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG0152>>1を無視してアイデアを書き込む人
NGNG[RES[
>>150
そんなこと俺が知るか!
]RES] println.
}
「endless」は関数呼び出しがいいな。値も返すようにして。
「{ ... }」は単に、関数呼び出しの引数を複数行で書く方法って考えるのはどうだろうか。
この場合だと、endless関数にcode型の構造体の配列が渡るってことで。
「[RES[ ... ]RES]」はヒアドキュメント。これだと、Perlの「<<RES ... RES」より開始と終了がわかりやすいかと。
0153>>1を無視してアイデアを書き込む人
NGNGヒアドキュメントのインデントは、開始トークンのインデント分
自動的に削除されたほうが便利かと。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG[RES[
>>150
そんなこと俺が知るか!
]RES] println.
}
と書いたらどうなるの
0157デフォルトの名無しさん
NGNGずれてるときにはインデントを無視しないほうが、
プログラマの意図に沿うのではないかと思ったり思わなかったり。
0158デフォルトの名無しさん
NGNGんなこと俺が知るか!
になります
0159デフォルトの名無しさん
NGNGGCって結局malloc()をGCのmalloc()に置き換えれば済む話なんですか?
初心者でスマソ
0160デフォルトの名無しさん
NGNG>>143
0161デフォルトの名無しさん
NGNGput ">>150
そんなこと俺が知るか!
" ;
}
// これでいいじゃん
0162デフォルトの名無しさん
NGNG英語にがて何だけど、結局のところ
malloc()->GC_malloc()
free() -> N/A
と理解したんですけど、これでいい?
0163デフォルトの名無しさん
NGNGfreeもあるよ。一応。
0164デフォルトの名無しさん
NGNG確保しまくって、GCで一気に開放する方が効率が良い。
というかmalloc/freeを直呼びする方式は元々遅い。
ただしGCはゴミ集めで停止するリスクがある。
それでもGCの速度に太刀打ちするには、
boost::poolなんかを駆使する必要がある。
0165デフォルトの名無しさん
NGNGええーそうかー?
0166デフォルトの名無しさん
NGNGそうだよ
0167デフォルトの名無しさん
NGNGCが静的にメモリを取る設計なのはそのため。しかもこの事実はK&R以前の時代から本質的に変わってない。
だから処理系に動的メモリ管理用のロジックを組み込むことは有益かと。
少なくとも生APIよりは。
0168デフォルトの名無しさん
NGNGbrkとかsbrkのことなら、確かにユーザが直接呼び出すんじゃなく、
ライブラリから呼び出すことを前提にしてる気がする
というか、そのためのライブラリだから malloc を使えばいいじゃん
GCの話は別として
0169名無し@沢村
NGNG実はおれはな、コード生成つーのがさっぱりわからんのよ。
まあ最適化の仕方もわからんが、最適化はせんならせんでいいからな…。
しかしコード生成だけはせんとどうしようもないだろ?
コード生成つーのはアセンブラ言語に変換すること?違うよな?
アセンブラ言語に変換だったら時間かければ泥縄式のコード書けんこともないが、アセンブラ言語に変換することじゃないよな?
アセンブラ言語のもととなる数値に変換することだよな?つまりネイティブコードに変換することだよな?
ネイティブコードにはどうやったら変換できるの?つーかネイティブコードが詳しく解説してあるサイト知らない?
ネイティブコードの解説コピペしようと思って、さがすがなかなか見つからんのよ。
0170デフォルトの名無しさん
NGNGバカ?
アセンブラ言語に変換できりゃ、コードに変換なんて猿でもできる。
単純にアセンブラが分らんのだろ?
素直に言っちまえ。
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG相手するなよ。
0173デフォルトの名無しさん
NGNG0174名無し@沢村
NGNGはげ、アセンブラ言語に変換できてもネイティブコードには変換できんよ。
アセンブラ言語で、
mov ah,09h
mov bh,0Bh
add ah,bh
はネイティブコードでどう書くのよ?
それがわからんと変換できんだろ?
つまり新しい言語の作成にはネイティブコードのマニュアルが不可欠だということだよ。
まあ新しい言語の作成で必要なのは極端にいえばコード生成の部分だけだな。
それさえわかれば、字句解析や構文解析なんかしないでソースコードから直接泥縄式に変換できるからな。
0175デフォルトの名無しさん
NGNGコード対応表見れバカ
一対一対応で分らんとか抜かすやつは逝ってよし
0176名無し@沢村
NGNGコード対応表ってサイトで見れるのか?
どこで見れるよ?コード対応表は無料か?
0177デフォルトの名無しさん
NGNGチップメーカーのサイトなり、チップ本なり買え、死んでしまえ。ドアホ。
マニュアル見たことねえのがバレバレだぞ。
0178デフォルトの名無しさん
NGNGそんなに自前のバイナリ化ここだわらなくてもいいと思うけど。
0179名無し@沢村
NGNGチップメーカー?わからん?
コードはメーカーによって違うのか?
つまり自分が使ってるPCのメーカーのコードに変換するように設計した言語は他のメーカーのPCでは使えないことになるな…。
富士通のPCを使って開発した言語は富士通のPCでしか使えないわけだ。
MSがつくったコンパイラなんかはどうやって機種の互換性を出してるのよ?
0180デフォルトの名無しさん
NGNGコンピュータの基礎からやりなおしなさい。論外、もう終り。
0181デフォルトの名無しさん
NGNG>コードはメーカーによって違うのか?
当たり前、マックとWinに互換があるか?
>MSがつくったコンパイラなんかはどうやって機種の互換性を出してるのよ?
互換OSの仕事、コンパイラは関係ない。
0182名無し@沢村
NGNGバイナリ化ができるならアセンブラ化するよりもバイナリ化するにこしたことはないぞ。
というのもアセンブラがあってもソースコードをアセンブラ言語に変換する作業は不可欠だからな…。
その上でアセンブラを起動してバイナリ化しなくちゃプログラムは実行できんわけだ。
つまりソースを書き終えて「コンパイル」ツールバーを押した時点で、
ソースをアセンブラ言語に変換→アセンブラの起動という二つの作業を内部で実行するようにしなくちゃいかんということだ。
それってちょっとドン臭いよな。
やはりバイナリ一発変換のほうがスマートで知的らしいよ♪
0183名無し@沢村
NGNGはげ!!
マックとWinは互換性はねーよ、ハゲ!!
だが、MSがつくったコンパイラは同じWinであれば富士通のでもNECのでもHewletPackardのでも動くだろ!!
チップのコードが違うのにだよ…それが不思議なんだよな?
0184デフォルトの名無しさん
NGNG> やはりバイナリ一発変換のほうがスマートで知的らしいよ♪
そか?
Eiffelなんかだと、他言語へのトランスレーターになってたりするし。
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGそこで上げた環境で動くのは、同じIntelのCPU(もしくは、互換品)使ってるからだろ。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGそんなことしたら、ソースコードが混沌として読みたくなくなっちゃう
0191デフォルトの名無しさん
NGNGひまわりやTTSねおを根本から否定する発言だな!
0192デフォルトの名無しさん
NGNGπは倍精度のローカル変数です
ここから実装部です
π ::= PI ();
帰値 := sin(度*π/256);
ここまで実装部でした
0193名無し@沢村
NGNGチップというのはCPUのことか?それならチップとまぎらわしい言葉使わずにCPUと言えや!
おれはまたいろんな部品のことかと思ったよ。
それで富士通とかNECとか言ったわけよ。
だが、Intelのサイト見ていろいろあるからわからんくなったよ。
どこにコードの対応表があるんだろうと思ってよ…?
Intelのサイトでもページの中にいろいろあって非常にわかりずらいよ!
http://www.intel.co.jp/
何かIntelアーキテクチャーソフトウエアデベロッパーのPDFマニュアルというのがそれっぽい気がするが…?
最適化リファレンス・マニュアル (日本語 PDF ファイル: 3,277KB)
デべロッパーズ・マニュアル、上巻:基本アーキテクチャ (日本語 PDF ファイル: 4,183KB)
デべロッパーズ・マニュアル、中巻:命令セット・リファレンス (日本語 PDF ファイル: 9,139KB)
デベロッパーズ・マニュアル、下巻:システム・プログラミング・ガイド (日本語 PDF ファイル: 7,838KB)
ハイパー・スレッディング・テクノロジのアーキテクチャとマイクロアーキテクチャ (日本語 PDF ファイル: 98KB)
ハイパー・スレッディング・テクノロジのプリシリコン検証 (日本語 PDF ファイル: 53KB)
スペキュレーティブ・プリコンピュテーション:マルチスレッディング・リソースの活用によるレイテンシの削減 (日本語 PDF ファイル: 118KB)
プロセッサの識別と CPUID 命令 (日本語 PDF ファイル: 688K
プロセッサにおけるスピン・ループの使用 (日本語 PDF ファイル: 103KB)
といろいろあってどれをダウンロードしていいかわからん…?
またCPUにもPentiumとXeonがあるみたいでこれには互換性があるのか?なども疑問だ…
おれはまたPentiumしかないと思っていたよ…
またそのPentiumも1〜4まであるし、まあ4のマニュアルをダウンロードしとけば下位互換性があるはずだから大丈夫だろうけどな…
拡張命令みたいなのはとりあえず知らなくても問題なさそうだな…
拡張命令って新しいから互換性ないからな…
それにしてもずいぶんサイズがでかくてイヤになりそうだが、外れなく一発でおれがコード対応表をダウンロードできるように教えてくれないかな?
0194デフォルトの名無しさん
NGNG0195名無し@沢村
NGNGひまわりやTTSの話はするな!
ちゃんと世界で話題になるような新しい言語をちゃんと設計してつくれ!!
子供のようなことを考えちゃダメだ。
0196デフォルトの名無しさん
NGNGアラビア語プログラミング言語とか?
0197名無し@沢村
NGNGちゃかすなハゲ!!
何がアラビア語だ!!
いいか世界で話題になるような言語とは世界の多くの人に使ってもらえるような言語ということだ。
チョンにも土人にもな。
0198デフォルトの名無しさん
NGNGスクリプトだぞ? 別に世界中で使ってもらう必要などない。
日本のみで、便利かつ判り易ければそれでいいんだ。
0199デフォルトの名無しさん
NGNG0200200
NGNG0201名無し@沢村
NGNG>日本のみで、便利かつ判り易ければそれでいいんだ。
いいかげん島国根性はやめんか、バカ!!
視野を広く持てよキチガイ!!
>>200
いいか世界だよ。wcharが2バイトだよ。わかるか?
日本、韓国、中国を忘れるな!!漢字はwcharだよ2バイトだよ。
世界の人口の4分の1だぞ!!
0202187
NGNG0203デフォルトの名無しさん
NGNGやはり用途を絞るべき
汎用的なのは Perl があれば足りてる
0204デフォルトの名無しさん
NGNG道理で透明あぼーんが多いと思った
0205デフォルトの名無しさん
NGNG>おれならchar=1バイト,wchar=2バイト,int=4バイト,flort=4バイト,long=8バイトとするね。
>そしてそれぞれにsignedとunsignedがあるわけだ。
>おまいらよ言語の設計は、字句解析、構文解析、意味解析、コード生成、最適化などの各ステップからなるが、
>実はおれはな、コード生成つーのがさっぱりわからんのよ。
>K言語では配列型というのをつくるんだよ。
>例えば、array a[50];というふうに宣言するんだな。
>またarray型は型であって型ではないから、型のサイズというものを持たない。
>array型というのはintやlongやflortやcharやwcharなどの型を混ぜることができる配列なんだよ。
>おれはこうして少しずつK言語を設計していくからな。このスレでな。
>いままでのことでわからないことがあったら、何でも聞いてくれ!
0206デフォルトの名無しさん
NGNG○ float
0207デフォルトの名無しさん
NGNG○ Solaris
0208 ◆opMJSavJhM
NGNGなるほど、charの件ですがこんなことも(多少、行儀悪いですが)出来ますね。
言われてみれば、時々活用することもあるようです。(^^;
文字を文字列として表現することによって、sideeffectが全く無いと思ってい
たので指摘していただいて、良かったです。
とはいえ、>>98さんも同感だと思いますが、トータル的な取捨選択をかんがえ
れば、思い切って(という程でもありませんが。。。)
文字=長さ1の文字列
としても良いようですね。
0209 ◆opMJSavJhM
NGNGあと、変数に型を持たせずに、データに型を持たせるということはオブジェク
ト指向になりえますかね?
よくあるように、宣言をせずに整数・実数・文字列をそのまま変数に代入して
使うやつです。(例↓)
a=10
b=25.6
c="Hello World\n"
これはスクリプト系では、あまりにも当たり前の使い方なんでしょうが、大変
便利だな。。。といつも関心しいます。
0210デフォルトの名無しさん
NGNGその代償として変数名の間違いに気付くのが遅くなるが
0211デフォルトの名無しさん
NGNGRuby!!
0212デフォルトの名無しさん
NGNG強型言語でもデータに型は持ってるでしょ。
データに型がなかったらキャストもいらなくなってしまう。
0213デフォルトの名無しさん
NGNGウホ!いい文法!
0214デフォルトの名無しさん
NGNG>データに型がなかったらキャストもいらなくなってしまう。
それは違うかと。 キャストはコンパイラを騙すためにするもの。 静的な型を解決するもの。
0215デフォルトの名無しさん
NGNG動いてしまえば、すべてビット列
0216デフォルトの名無しさん
NGNGrubyマンセ〜の方?すれ違いかも?
0217デフォルトの名無しさん
NGNGホイホイついて来ていいのか?
俺はリテラルからいきなりメソッド呼び出ししてしまうような言語だぜ
--------
「セックス」を「セクース」に変換
"セックス".sub(/(..)ッ(..)(..)/, '\1\2ー\3')
0218 ◆opMJSavJhM
NGNG必要なデータ型として
・空を表すNIL
・論理True/False
・文字列
・整数&実数
を仮定して、
typedef struct{
charname[14];
chartype;// Variable Type ('N'/'T'/'F'/'S'/'I'/'D')
char*str;
doubleval;
}varialbe;
のような構造を1つの変数としてもつのはいかがでしょう?
これなら、例えば
a=1.0
としたあとで、
a="Error!!"
としても、とりあえず対応出来るように思えます。
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGそのレスでちょっとレベルが見えたけど、
ちゃんと基礎からやった方がいいよ。
このまま進めると、車輪を再発明し続ける事なる。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGなんで、struct なの union じゃダメなの ?
あと読み出す時はどうするの (どの型が入っているかわからんでしょ ?)
...
つーか、>>220 の言う通りだと思う。
0223デフォルトの名無しさん
NGNG> あと読み出す時はどうするの (どの型が入っているかわからんでしょ ?)
メンバ type で判断するんでしょ?
まあ >>220 の言う通りだと思うけど。
0224デフォルトの名無しさん
NGNG失礼、正直見落とし。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGいや、おはずかしい!
実は、既にお気づきかと思いますが、非常に単純化したレベルから概念整理
を兼ねてコーディングしてみようと思いましたので、実行スピードやメモリ
効率など全く考えておりません。
unionを使ってないのもcodingの単純化のためです。
name[]はあえて、変数名をその中にもたせたものです。
don't invent the wheels again...
よく聞かされる表現です。とはいえ、既に定着しつつあることについても、
あえていろいろとトライしてみることも(時には)よいことかもしれません。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG当然!
0229デフォルトの名無しさん
NGNGトリップが無いが226=218だな?
君は見当違いの解釈をした。
>>220はやんわりと「出直して来い」と言っているのだよ。
「あえて」なんて言い訳はクソにもならない。
0230デフォルトの名無しさん
NGNGそういう問題ではない、ヤバイ
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGソースはRTFで書く。
誰か物好きが使うかもしれん。
0233動画直リン
NGNG0234デフォルトの名無しさん
NGNGhttp://www4.org1.com/~kitt/labo/pc/html/index.html
見たいなやつ。スクリプトだと詳しいエラーが出ないからよくわからず
部落ら化していたりして・・・
0235デフォルトの名無しさん
NGNGすごい配色だな。
0236デフォルトの名無しさん
NGNG全然凄くない。俺なら簡単に出来るね。
0237デフォルトの名無しさん
NGNG0238 ◆opMJSavJhM
NGNGいろいろと、ご助言ありがとうございます。
さて、素人ながらも先のデータ型をもちいて、算術演算やらif()else()やらを、
一反32ビットのダブルワードコードに変換してから実行するような、スクリプ
ト風の仕掛けを作ってみたのですが、。。。
これが案外、うまく動くものでちょっと驚いています。
正直いってメモリ効率は非常に悪いものがありますが、実行効率は非常に良いみ
たいです。(GCいれると途端に遅くなるのかもしれませんが。。。(^^;)
算出演算を繰り返すようなスクリプトソースを、perl・ruby・32ビットスクリ
プトで組んでみたものをそれぞれ実行させてみたのですが、
perl = (approx.) 2[sec]
ruby = (approx.) 5[sec]
32bit = (approx.) 1[sec]
程度でした。
シンプルだから早いのか、これからどんどん遅くなっていくのか分かりませんが、
案外素人の作った車輪でもそこそこ転がるのかもしれませんね。
0239デフォルトの名無しさん
NGNG詳細が分からんことには、実行速度などという実装に大きく依存することには
コメントしようがない。
ただ、一般に組み込み関数はperlのほうがrubyよりも速いと言われてる。
>>238もその手の延長のような気がする。
0240デフォルトの名無しさん
NGNGネタにマジレスすんなよ。
>>218 みたいなこと書いてる奴が...
> さて、素人ながらも先のデータ型をもちいて、算術演算やらif()else()やらを、
> 一反32ビットのダブルワードコードに変換してから実行するような、スクリプ
> ト風の仕掛け
なんか作れるわけないと思うよ。
0241デフォルトの名無しさん
NGNG> >>218 みたいなこと書いてる奴が...
> なんか作れるわけないと思うよ。
ま、そりゃそうだ。
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0248 ◆opMJSavJhM
NGNG確かに、あまりにもアバウトな表示ですね。(^^;
各スクリプトのソースと、実行時間の詳細をincludeします。
実行環境はLinux-2.4.20/RHL-8.0,CPU=i686,500MHz,Mem=256MB です。
まぁ、いずれにせよ相対値しか参考にはならないですが。。。
まずは、ソースから
==> test.32 <==
x=0.0
s=0.0
while(x<=1000000){
s=s+x
x=x+1
}
put x
put s
0249デフォルトの名無しさん
NGNG==> test.perl <==
$x=0.0;
$s=0.0;
while($x<=1000000){
$s=$s+$x;
$x=$x+1;
}
print "$x\n";
print "$s\n";
==> test.ruby <==
x=0.0
s=0.0
while(x<=1000000)do
s=s+x
x=x+1
end
p x
p s
と、まぁ、実にたわいもないプログラムです。(^^;
で、次は結果です。
0250デフォルトの名無しさん
NGNG==> 32 <==
1000001.000000
500000500000.000000
real0m1.161s
user0m1.160s
sys0m0.000s
==> perl <==
1000001
500000500000
real0m2.821s
user0m2.610s
sys0m0.010s
==> ruby <==
1000001.0
500000500000.0
real0m4.700s
user0m4.630s
sys0m0.020s
0251デフォルトの名無しさん
NGNGいまは、if()/else()/while()ぐらいしか組み込んでいませんが、私のように
言語系の素人であっても、案外楽しくいろんな制御構造が組み込めるので、
びっくりしました。
# 自分がいいと思うような、制御構文をいれてみれるっていいですね。
正直なところ、このような単純な言語では全く何の役にも立ちそうにありませ
んが、。。。(^^;
やる気さえあれば、言語処理系の専門家でなくとも、多少はスクリプト処理系
「らしいもの」を真似てみることができるのかもしれません...
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGあと、どこかのスレッドで誰か様が提案されていたようなflowを組み込んでみたい
と思っています。(こんな感じの奴です↓)
while(x<10){
if(x==5){
break;
}
}
normal_exit{
# x=10
}
break_exit{
# x=5
}
でも、なかなか時間がとれなくって。。。
ちょっと昼休みとかにいじったりしています。
0254デフォルトの名無しさん
NGNGもっとそれぞれの言語にあった書き方と言うものがあるのに。
# perl
while($x<=1000000){$s+=$x++;}
# ruby
s = (0..100000).inject(0) {|s, x| s+x}
まあruby版はxが最後一回加算されないが。
0255デフォルトの名無しさん
NGNGたいして代わらんだろう?
0256デフォルトの名無しさん
NGNG(除くruby)
0257デフォルトの名無しさん
NGNGなるほどrubyは5倍程早くなるようだなぁ。。。(w
0258デフォルトの名無しさん
NGNGつまり、2倍程遅くなると。。。(w
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG何剃れ?
0261デフォルトの名無しさん
NGNGVBScriptがあるじゃないか。
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267256
NGNG0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNGawk は ?
0272デフォルトの名無しさん
NGNGtcl, rexx, icon ....
腐るほどあるわけだが。
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGはん‐よう【汎用】
はんよう
広くいろいろの方面に用いること。
0276デフォルトの名無しさん
NGNGAWKは激しく汎用ではない罠〜(w
例えば、どうやって2つのファイルをマージできる?
0277デフォルトの名無しさん
NGNGよく考えたらそうやね。
汎用テキスト処理言語だな。
> 例えば、どうやって2つのファイルをマージできる?
gawk なんかだと、getline var < file という構文で直接ファイル入出力ができるので、マージぐらいは大丈夫。
0278デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGWebProg板にゆくと、OOを理解できないやつはPHP厨だとPerl厨に馬鹿にされます。
0281デフォルトの名無しさん
NGNGEmacs Lisp使ったことないだろ?
0282デフォルトの名無しさん
NGNGPUSH n スタックに値nを詰む
GET a push(*a) スタックに(a)メモリの値を詰む
SET a (*a)=pop
CLR n スタックを減らす
2項演算 1項演算 push( pop 2項演算 pop) push(1項演算 pop)
GOTO/IF n
FUNC m,n m個分のスタックフレームをBPに確保して nを呼ぶ
RET スタックフレームを解放
DO 1個分のスタックフレームをBPに確保して 次アドレスを呼ぶ
WHILE popした結果でアドレススタックに飛ぶかスタックフレームの始末
GET@ n push(BP[n]) BP相対
SET@ n (BP[n])=pop
GETLOCAL push(BP[pop])
SETLOCAL (BP[pop])=pop
0283279
NGNG洩れはvi系だからね。。。(w
でも、言語を見たことはある。
記号のオンパレード!
0284名無し@沢村
NGNGメモ帳に言語を打ち込んでDOSコマンドでそれをコンパイルするなんてのじゃ誰も使わんぞ。
やはり言語はIDEにしなくちゃいかん。それとRADツールとデバッガもないといかん。チュートリアルやサンプルも豊富にないといかん。
ライブラリやコンポーネントも充実していてWin32APIも簡単に使えるようでなくちゃいかん。
それだけやってはじめてやっと言語を開発したことになるのよ。
まあできればExelやIE程度のソフトが3日で開発できるくらい便利にしてあれば言うことはないよ♪
0285デフォルトの名無しさん
NGNG> 記号のオンパレード!
それはPerlのほうが…
0286デフォルトの名無しさん
NGNG言語と開発環境を一緒にするな。
> やはり言語はIDEにしなくちゃいかん。
むちゃくちゃなことを言っていることに気づいてくれ
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG>>言語と開発環境を一緒にするな。
それは正論だけど現実問題は違うでしょう。
PerlにしろRubyにしろ話者人口が多いプログラムほど
そういうのが充実している。
言語のアーキテクチャが優秀でもそっちが貧弱だと
どうしても淘汰されていってしまうのでは?
0289デフォルトの名無しさん
NGNG沢村に釣られてることに気づいてくれ
0290デフォルトの名無しさん
NGNGそんなものは飾りです(ry
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGLinux板で見つけた
C++製でOO厨にも読みやすいZO!
0294デフォルトの名無しさん
NGNG沢村のサイトか?
悪趣味だな
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNGこれってshellの影響ですか?
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG$は関係ないだろ。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGウッソ〜???
0301教えて
NGNG0302デフォルトの名無しさん
NGNG?? 一応仕様どおり動きますけど。
使いにくいのは認めるけどね。
>>300
せっかくの 300ゲトーなのに釣りかよ。
0303_
NGNG( ^▽^) < こんなのございまーす♪
http://www.hiroyuki.zansu.com/moe/hankaku08.html
http://hiroyuki.zansu.com/moe/hankaku10.html
http://www.hiroyuki.zansu.com/moe/hankaku03.html
http://hiroyuki.zansu.com/moe/hankaku09.html
http://www.hiroyuki.zansu.com/moe/hankaku06.html
http://hiroyuki.zansu.com/moe/hankaku05.html
http://www.hiroyuki.zansu.com/moe/hankaku01.html
http://hiroyuki.zansu.com/moe/hankaku02.html
http://www.hiroyuki.zansu.com/moe/hankaku08.html
http://hiroyuki.zansu.com/moe/hankaku04.html
0304教えて
NGNG0305デフォルトの名無しさん
NGNGスレ違い。
0306教えて
NGNG0307デフォルトの名無しさん
NGNG0308教えて
NGNG0309デフォルトの名無しさん
NGNGそのくらい自分で調べてくれ。
0310教えて
NGNGそのくらい教えてよ。
0311デフォルトの名無しさん
NGNG何がしたいんだよ。
だいたい「良い」 Cシェルのプログラムなどというものはない。
0312教えて
NGNG初心者向けの簡単なってことです。
0313デフォルトの名無しさん
NGNG「なぜ csh でプログラムを書くのが良くないのか」
http://www.klab.ee.utsunomiya-u.ac.jp/~hiroki/csh-whynot.euc
0314教えて
NGNG0315デフォルトの名無しさん
NGNGだから、いい加減うざいよ、氏ね
0316教えて
NGNGお前らオタクにゃ用はねーよ。
そんなもん本気で勉強するかってーの。
0317デフォルトの名無しさん
NGNG信長はどーした!
俺は待っているんだぞ!
0318デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGこの板、荒らし耐性無さすぎ
0323300
NGNG勘違いスマソ
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGいいえ。違います。
0327デフォルトの名無しさん
NGNGに無理やりsh風味の演算子 s/foo/bar/;
を持ち込んでいるせいだあとズボラするための演算子とか
qq(foo bar);
m{^hoge}ego;
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNG[122]: uname -smr
FreeBSD 4.7-RELEASE i386
[123]: man sh | grep 演算子
シェルにとって特別な意味を持つ特定の文字列 ( ``演算子'' と呼ばれるもので
す) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリダ
イレクト演算子の 2 種類があります (これらの意味については後述します)。以
制御演算子:
リダイレクト演算子:
引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味
予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子の
制御演算子がある場合は、そのあとの最初の単語) が予約語でない場合、シェル
環境に代入します。リダイレクト演算子とその引数 (後述) を取り除き、あ
ここで、 `redir-op' は前述したリダイレクト演算子のいずれかです。これらの
演算子をどのように利用するかの例をいくつか以下に挙げます。
適用します。演算子が ( ``<<'' でなく) ``<<-'' の場合は、 here-doc-text の
複合コマンドは、単純コマンドの組み合わせで作ります。制御演算子または予約
パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。
クト演算子で指定されたリダイレクトを処理する前のことだと考えて下さい。
短絡リスト演算子で後述) を順次実行します。 ``&'' は、直前の AND-OR リスト
コマンドが制御演算子がアンパサンド (&) で終了している場合、シェルはそのコ
``&&'' と ``||'' は AND-OR リスト演算子です。 ``&&'' は最初のコマンドを実
0331デフォルトの名無しさん
NGNG> に無理やりsh風味の演算子 s/foo/bar/;
それはsed
0332デフォルトの名無しさん
NGNGつぅかそれPerl
0333デフォルトの名無しさん
NGNG馬鹿
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGいまは、perlしか無いからいやいや使ってるだけでは?
ruby/pythonはオブジェクト指向が癌
0337デフォルトの名無しさん
NGNG0338popo
NGNG0339デフォルトの名無しさん
NGNGt c l / t k
新 時 代 の 予 感
0340デフォルトの名無しさん
NGNGみたいな再帰モノ
織田信長みたいな日本語モノ
Perl, Rubyみたいな誕生石モノ
この辺からどう?
0341名無し@沢村
NGNGネーミングが決まった時点で、新しいスクリプト言語の設計は完了したといえるな。
0342デフォルトの名無しさん
NGNG0343naming
NGNG・花崗岩
・玄武岩
あたりが、堅牢そうなイメージがあっていいんじゃないかな?
0344サンプルです
NGNGhttp://jbbs.shitaraba.com/travel/832/kenbetu.html
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNGなんてかっこよくない?>343
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG楽しいぞ!
0350343
NGNG鉱物では、
ウンモ
っていうのもあるが、必ずいらんレスが付きそうだなぁ(w
0351bloom
NGNG0352デフォルトの名無しさん
NGNGオマーン
という国名があるが、(以下...
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNGいかにも「2ch製」って感じでかっこわるい
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGがいいかな
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNG1、テキストインタプリタ実行
2、中間言語吐出型、中間言語インタプリタ実行
3、ネイテブバイナリ吐出型実行
のどの方式でやるの?
0361デフォルトの名無しさん
NGNG2だと、仮想VMとか仮想CPUみたいなものをつかうけど、
スクリプトと限定するんだから、ちょっとオーバースペックと言う気がする。
0362デフォルトの名無しさん
NGNGJavaか.NETでいいじゃん。終了。
0363デフォルトの名無しさん
NGNGコンパイルして機械語にも変換できるというやつきぼんぬ。
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGでは次の選択肢
1、スタックマシンスタイル(逆ポーランド)の中間言語
2、4つ組スタイルの中間言語
3、とりあえず1を作って2も作って機械語にも落とす
1はpascalのPCODEからJAVA-VMから一般的な手法
2の方が面倒、領域のムダ ただし機械語を吐き出す時には効率的でコンパイラに利用されている
0367デフォルトの名無しさん
NGNGかなり限定的な話してる?
0368デフォルトの名無しさん
NGNG命令のスタイルを のように3番地コード a <- b + c に分解する方式です
一つの命令を a,b,+,c の4つのメンバーに別けるわけです
命令、代入先、演算ソース1、演算ソース2 ですね。
スタックマシンよりも現実のCPUに近い表現とも言えます。
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG計算結果は、そのコード自体が保持してるという感じですね。
ですんでインタプリタ実行させるには向いてないと思います。
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG中間コードを実行するならスタックマシンの方がいいよ。
0373デフォルトの名無しさん
NGNGスタックマシンの
1、バイナリコードは独自に作成する
2、JAVA-VMを真似る
独自に作成してもスタックマシンだと誰が設計しても50歩100歩。
JAVA-VMをマネれば、作成した中間言語をそのままJAVA-VMで動かしたりと便利だとは思うけど?
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNGこのスレで既に 中間言語を発表してるのは >>282 だけのようですが、
>>282ではループ用の専用命令を追加してるようです
ループ用の専用命令を追加しますか?
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG詳しい説明TNX。
実際のところ「4つぐみ」の実装はそれほど難しくないのでは?
ちょっと、組んでみようと思うんだけど、
複雑な式→「4つぐみ」の組合せ
の分解部分がちょっと面倒そうだけど、あとは結構らくかも?
0380デフォルトの名無しさん
NGNG中間言語なんだろうけど、それって中間よりだいぶ下に位置してないですか?
(つまり、機械語よりってことです。)
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGギコbasicがテキストインタプリタ実行なんで、それよりはがんばりたいですね。
>>379
複雑な式->4つ組は一度スタックマシン(逆ポーランド)に変換してから半解釈しながら処理すると楽です。
その時のスタックの深さをローカル保存場所番地にしてしまえるからです
>>380
中間言語は、解釈の為と実行の為があって 実行の為の中間言語は当然機械語よりになりますね。
>>382
中間言語はバイトマシンが殆どです。
1バイト目で命令を識別し、その後に必要なバイト列が続くという事ですね。
メモリモデルは、最初は32bit固定少数点単一、後から浮動小数点等を増やしては?
0384デフォルトの名無しさん
NGNGのループ専用命令を入れるかどうかですが、
専用命令があると解釈処理が楽になります。
for分の のような処理で
現在の実行番地の次をスタックに詰むという命令があれば
初期値を設定して push(実行番地)
他の処理
goto (pop) で済みます。
ただし、このfor文は1回も実行させないという事が出来ません。
0385デフォルトの名無しさん
NGNG逆ポーランドですか。。。どうも苦手だなぁ。。。
むしろ、最高プリオリティをもつ4つ組部分のみを処理するルーチンを書いて、
リカーシブコールにしたほうが、現場っぽくてよくないですか?
あと、
固定少数点なんて必要でしょうか?
浮動少数点のみで十分とも思いますが。。。
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGつーか、中間コードだから、ただのバイト列だろ。
0389デフォルトの名無しさん
NGNG扱うのは32bit整数型のみ。文字列は整数型をポインタとして使って参照する
つまり、変数="文字" は"文字"の入った場所の先頭アドレスを変数に入れるだけ。
配列は1次元のみ、固定長
0390デフォルトの名無しさん
NGNGあまりにもシンプル過ぎないかい?
0391デフォルトの名無しさん
NGNGつぅかバッファオーバーランするスクリプト言語なんてイラネ。
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGとりあえず使える型を決めようよ。
| 整数型
| 文字列型
| 1次元配列
は必須として、
| 文字型
| 浮動小数点型
| オブジェクト型
| 通貨型
| 日付/時間型
| 構造型
| ポインタ型
| 2次元〜多次元配列
| ...
どこまで必要 ?
0394389
NGNGちょっとソレじゃ日曜プログラマには作るの厳しいぞ。
全部VariantならDelphiなら簡単に実装出来るけど、他言語だと面倒。それにパフォーマンスは出ない。
全部整数なら色んなコンパイラで実装出来る。
俺が思うに、どうせ便利スクリプトは既製の色んな中から選べばいいんだから
自作するなら、自作アプリに簡単に組めて、そこそこ速度も出てみたいなのが欲しいな。
0395デフォルトの名無しさん
NGNG0396389
NGNG0397389
NGNG0x 1x 2x 3x 4x 5x 6x 7x 8x 9x
x0 nop bipush lload_2 faload lstore_1 lastore iadd irem ior d2f
x1 aconst_null sipush lload_3 daload lstore_2 fastore ladd lrem lor i2b3
x2 iconst_m1 ldc fload_0 aaload lstore_3 dastore fadd frem ixor i2c
x3 iconst_0 ldc_w fload_1 baload fstore_0 aastore dadd drem lxor i2s
x4 iconst_1 ldc2_w fload_2 caload fstore_1 bastore isub ineg iinc lcmp
x5 iconst_2 iload fload_3 saload fstore_2 castore lsub lneg i2l fcmpl
x6 iconst_3 lload dload_0 istore fstore_3 sastore fsub fneg i2f fcmpg
x7 iconst_4 fload dload_1 lstore dstore_0 pop dsub dneg i2d dcmpl
x8 iconst_5 dload dload_2 fstore dstore_1 pop2 imul ishl l2i dcmpg
x9 lconst_0 aload dload_3 dstore dstore_2 dup lmul lshl l2f
xA lconst_1 iload_0 aload_0 astore dstore_3 dup_x1 fmul ishr l2d
xB fconst_0 iload_1 aload_1 istore_0 astore_0 dup_x2 dmul lshr f2i
xC fconst_1 iload_2 aload_2 istore_1 astore_1 dup2 idiv iushr f2l
xD fconst_2 iload_3 aload_3 istore_2 astore_2 dup2_x1 ldiv0 lushr f2d
xE dconst_0 lload_0 iaload istore_3 astore_3 dup2_x2 fdiv iand d2i
xF dconst_1 lload_1 laload lstore_0 iastore swap ddiv land d2l
0398389
NGNG9A ifne B3 putstatic
9B iflt B4 getfield
9C ifge B5 putfield
9D ifgt B6 invokevirtual
9E ifle B7 invokespecial
9F if_icmpeq B8 invokestatic
A0 if_icmpne B9 invokeinterface
A1 if_icmplt BA nouse
A2 if_icmpge BB new
A3 if_icmpgt BC newarray
A4 if_icmple BD anewarray
A5 if_acmpeq BE arraylength
A6 if_acmpne BF athrow
A7 goto C0 checkcast
A8 jsr C1 instanceof
A9 ret C2 monitorenter
AA tableswitch C3 monitorexit
AB lookupswitch C4 wide
AC ireturn C5 multianewarray
AD lreturn C6 ifnull
AE freturn C7 ifnonnull
AF dreturn C8 goto_w
B0 areturn C9 jsr_w
B1 return
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGオブジェクト型もイラネ。
通貨型もイラネ。
ポインタもイラネ。
0401デフォルトの名無しさん
NGNGこんなのを組み込み型にする言語はVBだけ
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGDelphiにもある罠。
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGB=83
W=62
H=85
見たいな奴
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG0410名無し@沢村
NGNG0411デフォルトの名無しさん
NGNGネイテブコンパイル出来る事を目標にして、WindowsAPIを呼べるようにしたいなら
BYTE WORD DWORD INT32 PDWORD PINT32 PCHAR 関数ポインタ とその構造体が表現出来ないといけない
COMも使うなら OLEVariant/BSTR も表現出来ないといけない。
0412デフォルトの名無しさん
NGNGそれならWSHと言う良いスクリプト言語環境がある。
0413デフォルトの名無しさん
NGNGはぁ ?
VB6 は、DWORD, PDWORD, PINT32, PCHAR, 関数ポインタ なんて型無いけど、WindowsAPI 呼べますが。
まあ、使いにくいというのは確かだが。
0414デフォルトの名無しさん
NGNGDWORD は INT32でもいいと言えばいいか
参照渡しが出来れば多少広い範囲が呼べるね
構造体型で渡す場合に多少不便程度だけど、そういうのは大抵COMサポートのもっと便利なの用意されてるしね。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGものすごい分厚さのオブラート(ラップ)を通じてな。
0419デフォルトの名無しさん
NGNGどうやって???
0420デフォルトの名無しさん
NGNG_asm{}
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGhttp://members.goo.ne.jp/home/madcap0
0423デフォルトの名無しさん
NGNG画像処理ソフトの組み込み用だけど、このソフトを作る目的自体が
画像処理ソフトというより簡易スクリプトの実験だったりして。
とりあえず、第一段階として
型はバッファ、整数、bool程度
構文はfor-next/do-while/if/(組み込み)関数呼び出し
変数や関数の評価・代入のみで加減乗除などの演算はなし(というか、
演算関数の評価で代用)
といった簡単な処理系から作ってみるつもり。
変数の管理や関数呼び出しはやったことがあるから、この段階で
難しそうなのは制御構文か。
0424名無し@沢村
NGNG出発点 (0,0,…,0), 吸収点 (1,1,…,1) の
n次元超立方体上の対称量子ウォークの
吸収時間は Tr Xn - 1 で与えられるんだよ。
ここで Xnは方程式の解となるんだよ。わかるか?
おれはいまそういう簡単な研究に取り組んでいるんだよ!!!
0425デフォルトの名無しさん
NGNG関数呼出しって、どうやって実現しましたか?
例えば、sin()/log()/exp()/... ってあったとして、
if(script=="sin"){ ...}
if(script=="log"){ ... }
if(script=="exp"){ ... }
見たいな感じに1文づつ処理していったのでしょうか?
OS組み込みor標準関数なら、なんかうまくやって
一発で書き表すことができんでしょうかね?
0426デフォルトの名無しさん
NGNG{ "sin" , func_sin , 1},
{ "cos" , func_cos , 1},
{ "abs" , func_abs , 1},
{ "sqrt", func_sqrt, 1},
{ "log" , func_log , 2},
こういうふうにして
static int func_abs( void )
{
float f;
if( pop( &f ) != 0 ) return -1;
push( fabs(f) );
return 0;
}
こんな関数作ってた
俺の式入れるとグラフだしてくれるソフト
0427デフォルトの名無しさん
NGNGちょっぴり勉強になった。
0428名無し@沢村
NGNGおまいらよ、量子重ね合わせの状態とは何かわかるか?
まあくだいていえば、一台の車が右向きに走っている状態と左向きに走っている状態が同時に成立しているということよ。
だが、おれらが実際見ると、車は右向きか左向きかに固定して走ってるだろ?それは観測することによって、重ね合わせの状態のうちのひとつが固定するからよ。
おまいらよ、重ね合わせの状態のうちのひとつがどれに固定するかは、重ね合わせの係数によって決まるのよ。おまいらよ、重ね合わせの係数は複素数よ。複素数の勉強をしてみろ?
おまいらよ、量子PCでいう演算とは、この量子重ね合わせの状態を担う物理系に対して、パルス電波を与えることよ。
いままでのPCでは4bitで表現できる16の状態のうち一つについて1回づつ演算を行い、合計16回計算して16通りの結果を出力してたが、量子PCでは4bitで表現できる16の状態を同時に実現している重ねあわされた量子状態に対して1回の演算を行い、結果を出力するんだよ。
当然処理bit数が増えるほど、量子PCの威力は大きくなるわな。だから並列処理よ。
だが、おまいらよ、その演算結果を見ようとすると、重なり合った状態のうちの一つしか見れないだろ?
この問題を解決するものとしてShorのアルゴリズムというのがあるよ。
Shorのアルゴリズムは量子PCの教科書には必ず出てくる有名なアルゴリズムだから、見てみろ?
おまいらよ、このようにこれからのプログラムは量子の時代よ。
おまいらもひとつ量子言語をつくってみたらどうだ?量子でないプログラミングなんてザコよ!
0429423
NGNG私が以前作ったプログラムは、変数・関数を数値として評価し、代入文
で変数にその結果入れていくようなスクリプトを処理するもので、
a=3
b=inc(inc(a))
とするとinc(引数の数値を1増やす)によって値が増えbに5が入る、と
いう感じのもの。処理手順としては、まず=や括弧で文の構成要素ごと
に分離して検査・評価し、代入文なら右辺の評価結果を左辺(左辺は
変数または未定義変数候補文字列のみ有効)に代入する、という流れ。
関数は、引数に一つの「数値(即値か有効な定義済み変数、関数)」
をとるようにしたから、まず()で分け
文字列1(文字列2)
という形の部分があったら、文字列2を評価し、有効な数値(即値
か変数、または評価しうる関数呼び出し)であれば、その値を取得。
続いて文字列1を検査し、関数名なら文字列2を評価した引数の
数値に対して関数の機能(+1など)を適用し、その値を関数全体の
評価とする、という処理をしてみた。
0430名無し@沢村
NGNGおまえのそのやり方は古典よ。サルがやっと2足歩行を覚えた段階だな。
少しは頭を使ってみろ?
0432423
NGNG私の場合は、そもそも「外」を歩いてみたこともない段階だからね。
2足歩行より先に4本足で動き回る練習からしないといけない。
0433デフォルトの名無しさん
NGNGやっぱり括弧付四則演算が書けないと読み辛いよ。
再帰下降で処理すれば括弧付四則演算も容易だから挑戦してみたら?
0434名無し@沢村
NGNG再帰下降法?原始的なやり方だな。
離散フーリエ変換で処理したほうがスマートだよ。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG単なるバカが無理してるとしか見えない芸風だ。 改善を求む
0437デフォルトの名無しさん
NGNGだな。
俺も昔は式の解析でいろいろ苦労した記憶があるんだが
最近書き直したらやたら簡単に書けてびびった。
0438山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0439デフォルトの名無しさん
NGNG山崎渉のしわざかー
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG釣りか ?
0442デフォルトの名無しさん
NGNGそれはどのように動く?
局ののところ、(例えOS標準の数学関数であったとしても)
1関数づつ記述しているのと、大差ないとおもわれ
0443>>429
NGNGで、OSのライブラリ呼ぶときはどうしてましたか?
1つ1つライブラリを呼ぶコードを書いてましたか?
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG平均はおまえらが下げてる。
0446デフォルトの名無しさん
NGNGおまえには分からんだろう?(w
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG自作スクリプト言語からその中間言語に変換するコンパイラの3つのプロジェクトを作ったらいいんじゃないか?
中間言語は、
・スタックマシン
・32bit整数+32bitFloat の2つの型のみ。
・文字列は中間言語メモリイメージ中に埋め込んでそのアドレスを渡すのみ
・文字列は読み込みのみ変更不可
程度でどうでしょ? あんまり機能豊富にするならJavaVM使えって言われそうだし
0450デフォルトの名無しさん
NGNG大事なはスクリプト言語。まずはその仕様を
決めないと先にすすめない。
実装手段として中間言語が出てくるかもしれないが
順番が逆。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG中間言語の仕様と違ってスクリプト言語の仕様は、これはもう簡単には決まらないぞ。
特に実用的なって事になるとな
ギコbasicの時は、面白いというだけで作ったけどなあ
0453デフォルトの名無しさん
NGNGことごとく潰れている‥‥‥。
まず作者がある程度動作するプロトタイプを好き勝手につくり、
それを叩き台にして議論して改良したほうが実は現実的かと。
0454デフォルトの名無しさん
NGNGdup pop
push(pop + , - , not , Int2Float,Float2Int, そのアドレスの値 )
push(pop pop + - * / and or xor > == >= <= <> )
1+4バイト命令:
push( 即値、グローバル変数、ローカル変数)
push( pop グローバル変数配列、ローカル変数配列)
if (pop) then 分岐
分岐,CALL
命令空間が余ったら inc dec とか即値用短形式に割り振る
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/SiliconValley-Oakland/8522/data/Script.txt
0457デフォルトの名無しさん
NGNG要は自分の功績を自慢したいと。
0458デフォルトの名無しさん
NGNGハゲ堂!
0459デフォルトの名無しさん
NGNG最近はオブジェクト指向一色って感じもするけど、そのあたりはどう?
0460デフォルトの名無しさん
NGNGなんでもかんでも出来る高機能スクリプトなら欲しいかもしれないし
ちょっと自分のプログラム中に組み込んで、カスタマイズ性を大きくしたりの用途なら不要だろうし
0461デフォルトの名無しさん
NGNGオブジェクト指向はいらん罠〜(w
0462デフォルトの名無しさん
NGNG新しいクリトリス言語って何?
0463423
NGNGといってもほとんど中間コード実行システムになっているな・・・。
簡易コンパイラも作らないと。
私も以前バイトコード(というか4バイトコード)インタプリンタを
作ってみたけど、スクリプト言語を作る前に実験のつもりでバイナリ
コードを実行する仮想マシンを作っておくと良いかも。コードの判別
やパラメータの解釈、メモリの管理などを文字列ベースのコードより
単純な形で練習できる。
テストのためにアセンブラが欲しくなるから、自然にアセンブリ言語
処理系(超簡易スクリプト)も作りたくなるだろうし(^^;。
0464名無し@沢村
NGNG採用されれば、何千万円もの開発資金を援助してもらえるよ。
もちろん定期的に進行具合をPM(プロジェクトマネージャー)に見せなければならないなどの、面倒くさい点は山ほどあるがね…
だが、それだけあれば、会社なんかやめて、毎日寝てくらせるぞ!!
PMにはアラン・ケイや伊地知をはじめ、いろんな大学教授や企業の研究者などがいる。
またPMは好きなやつを選んで応募できるから、気の合いそうなやつを選ぶといいよ。
これからは、個人でソフトを開発するなら、未踏ソフトウエア創造事業の時代だと思うが、どうよ?
0465山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0466山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0467デフォルトの名無しさん
NGNG0468山崎 渉
NGNG0469デフォルトの名無しさん
NGNG0470山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGLuaスレ dat落ちしてまったの!?
プログラミング言語 Lua
http://pc2.2ch.net/test/read.cgi/tech/1034182349/
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNGやたら古いスレあげてますね。
ところで、あなたに明日はあるんでしょうかねえ?
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG残業なくなったのは助かったけど、
職も失った
0480デフォルトの名無しさん
NGNG0481KM
NGNGhttp://bbs.infoseek.co.jp/Board02?user=qlbkncgtxapyiで教えてください・・・
また、このような質問はどこでするべきなのか教えてください、時間が無いもので。
0482self
NGNGお題目は Parrot です。
o メインサイト
http://www.parrotcode.org/
o メーリングリスト
http://www.nntp.perl.org/group/perl.perl6.internals
o Parrot のソース
http://cvs.perl.org/snapshots/parrot/
o Parrot の CVS ツリー
http://dev.perl.org/cvs/
o Parrot 入門
http://www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html
o 洗練されたPerl: Perl 6文法と正規表現
http://www-6.ibm.com/jp/developerworks/linux/041203/j_l-cpregex.html
0483self
NGNG要するにチラシの裏です。基本的には sage 進行で行きます。
まず現状ですが、2004/10/9 に 0.1.1 がリリースされています。
コード名は Poicephalus でムラクモインコの事です。
必要な機能は大分揃ってきているみたいです。
http://www.parrotcode.org/
> Objects, threads, garbage collection, a JIT compiler, namespaces,
> subroutines, a range of basic types (e.g., arrays, hashes, BigInt), NCI
> (for calling into native libraries) and multi-method dispatch for vtable
> methods are all available.
また、i386/ppc linux と Mac OS X ではちゃんと動くようです。
http://cvs.perl.org/viewcvs/cvs-public/parrot/PLATFORMS?rev=1.30
0484self
NGNGo Thread を使うには PMC を定義しなくては行けないの?
(PASM/IMC オンリーでスレッドサポートを書けないのか?)
o コンパイラを書くとしたら、Perl が良いのか、C が良いのか
(Perl のモジュールを呼び出せる様にする作法とか)
o Perl 5 と同居させるにはどうしたら良いか
(まだコンパイルしていないです)
o ブートストラップはやはり面倒くさい
(各 OS に入るまで時間掛かりそう)
o FreeBSD と Solaris での開発状況
(サポートプラットフォームには入ってる)
取り敢えず、使い方や内部構造を調べていきたいです。
0485self
NGNGo tarball がでかい
(実行ファイルがどのくらいの大きさになるかの方が大事だけど)
o ソースツリーがちょっと分かりにくい
(ast, classes, dynclasses, dynoplibs とかは root に無い方が
分かり易い気がする)
o Build システムが Perl 依存、それもかなり
(Perl でプリプロセスした C のソースとか見たくないし)
o 実行速度と必要メモリサイズはどのくらいか
0486デフォルトの名無しさん
05/01/19 22:38:230487デフォルトの名無しさん
05/01/24 14:58:08漏れらはケツの穴がガバガバだからな!
0488デフォルトの名無しさん
05/02/09 15:20:390489デフォルトの名無しさん
05/02/10 00:47:07Parrotは面白そうだけど、使えるようになるのはいつかなぁ
0490デフォルトの名無しさん
05/02/16 03:11:000491デフォルトの名無しさん
05/02/17 23:46:25出来なければお前の頭が糞ね。
0492デフォルトの名無しさん
05/02/18 01:38:20parrot-0.1.1をWinXP+VC.NETでインスコ。
README.win32 の指示に従ってicu-2.8-Win32_msvc7.zipを入手。
Configure.pl に対するオプションも指示通り。パスだけ自環境に合わせて変更。
何の問題もなくnmake完了。parrot.exe は 2,172KB。
ttp://www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html なんかでは
アセンブラとJakoが紹介されていたので、とりあえず、Jakoを弄る。
わかったことは、
・上記ページのJakoに関するコードは古くて駄目っぽい。
・現状のJakoではPerlArrayが使えないっぽい。
配列が使えないのはキビシイのでJakoは窓から投げ捨てた。
/* --- チラシの裏 ここまで --- */
0493デフォルトの名無しさん
05/02/18 02:00:36Jakoを窓から投げ捨てたので、Perl6を弄る。
parrot-0.1.1\languages\perl6 にて
>perl perl6 HelloWorld.p6 するも、だいぶ経ってから Hello, World! 。
perlコード → imcに変換 → pbmに変換 → parrot実行 という流れか?
毎回imcファイルもpbmファイルも消し去ってくれるので毎度時間がかかる。
-B オプション(stop after creating .pbc file)で解決。
と思いきやさっぱりpbcファイルが残らない。
しかたないので -I オプションで imcファイルを残し、残りはparrot.exeで。
>perl perl6 -I hoge.p6
>parrot -o hoge.pbc hoge.imc
>parrot hoge.pbc
HelloWorld.
面倒すぎるので、俺は何か間違ってるはずだ。
perl6を一寸だけ弄ってわかったこと。
・現状forループが使えないっぽい。10回のループを3回で抜ける。そもそもカウンタ変数が++されない。
・メタくそ遅い。ほぼ同内容のスクリプトでperl5.8の4倍かかる。-Oオプションがいる?
/* --- チラシの裏 2枚目 ここまで --- */
0494デフォルトの名無しさん
05/02/19 12:51:42>>493
> perlコード → imcに変換 → pbmに変換 → parrot実行 という流れか?
> 毎回imcファイルもpbmファイルも消し去ってくれるので毎度時間がかかる。
これ、勘違いだった模様。
そもそもpbcファイルは吐いておらず、imcファイルをparrotで実行っぽい。
/* --- チラシの裏 3枚目 ここまで --- */
0495デフォルトの名無しさん
05/02/27 14:46:210496デフォルトの名無しさん
05/03/13 13:48:08ちょっと狭すぎる。
0497デフォルトの名無しさん
05/03/14 00:56:24いざとなったらトイレに流せるから安全。
0498デフォルトの名無しさん
2005/04/06(水) 13:48:230499デフォルトの名無しさん
2005/04/30(土) 15:57:000500デフォルトの名無しさん
2005/04/30(土) 16:00:39本当ですか?
怖くて確かめられません。
0501デフォルトの名無しさん
2005/04/30(土) 16:25:030502デフォルトの名無しさん
2005/04/30(土) 16:34:270503デフォルトの名無しさん
2005/05/01(日) 09:19:030504デフォルトの名無しさん
2005/05/01(日) 17:20:48Squeakが近いかな
0505あげ
2005/06/29(水) 09:19:50ttp://staff.aist.go.jp/y-ichisugi/chummy/
ってどーよ?
0506デフォルトの名無しさん
2005/06/29(水) 20:41:140507デフォルトの名無しさん
2005/07/02(土) 13:57:370508デフォルトの名無しさん
2005/07/04(月) 20:29:460509デフォルトの名無しさん
2005/07/04(月) 22:03:090510デフォルトの名無しさん
2005/08/17(水) 22:34:58適当なスレが見つからないので、ここで。
ようは、COBOLやC++やEiffelのような、妙に面倒な型宣言と、
Perlもびっくりの安直な本文コーディングが混在した
奇妙な言語です。
Cでいえば、.c ファイルは Perl なみ。が、しかし、.h ファイルはCOBOLなみ、
みたいな風ですね。
0511デフォルトの名無しさん
2005/08/17(水) 22:53:42じゃあ、parrotでおながいします。
0512デフォルトの名無しさん
2005/08/18(木) 00:48:26その説明だけだとすごくバランス悪く感じる…
0513デフォルトの名無しさん
2005/08/18(木) 11:47:55やりたいことは、
ようは、Perlぐらいしか使えない下請けクンに、
仕事を丸投げしたいわけです。
なんで、せめてデータ構造だけでもこっちでばっちり決めておければ。
0514デフォルトの名無しさん
2005/08/21(日) 01:04:570515デフォルトの名無しさん
2005/08/21(日) 22:56:53プログラムに仕込むassertionやプログラムの外に構築するUnit Testと、
言語仕様としての事前条件・事後条件・不変条件の制約は
意味や目的が全く違う。
自主規制(自分で手心を加えられる)と強制(逃げ道がない)の違い。
0516デフォルトの名無しさん
2005/08/22(月) 06:57:58assertion なり unit test なりが指定されている状況で、
下請けがどうやって手心を加えるんだ?
0517デフォルトの名無しさん
2005/08/22(月) 18:58:250518デフォルトの名無しさん
2005/09/23(金) 06:43:06Airなんかがそういう趣旨の言語じゃないの。
昔スレあったけど消えちゃったね。
http://sourceforge.jp/projects/air-lang/
久々に見たらコツコツ更新が続いてるようで。
■ このスレッドは過去ログ倉庫に格納されています