「コンパイラ・スクリプトエンジン」相談室12at TECH
「コンパイラ・スクリプトエンジン」相談室12 - 暇つぶし2ch127:デフォルトの名無しさん
08/01/25 22:47:41
>>124の言う昔が僕の言う昔と違うことだけはわかる。
ここ5年だったらあんまりかわらんが、10年だとだいぶ違う。


128:デフォルトの名無しさん
08/01/26 20:14:12
statements や expression や leftvalue(左辺値) などの意味は分かるのですが、
primary とはどういった時に使われるのでしょうか?
あるいは、どういったものをいうのでしょうか?

129:デフォルトの名無しさん
08/01/26 20:51:11
primary expression (一次式) なら定数や変数など
それ以上分解できない式のことだが

130:デフォルトの名無しさん
08/01/26 22:49:24
GCが進歩したのはJavaのおかげ。
Lispだけではとてもとても。

131:デフォルトの名無しさん
08/01/26 23:39:24
>>129
そういう意味でしたか、どうもありがとうございました。

132:デフォルトの名無しさん
08/01/26 23:49:21
>  ・タイトルが思い出せないのだが、リファレンスカウントと
>   ガベージコレクションは双対である、とかなんとかそんなの。

A Unified Theory of Garbage Collection

133:デフォルトの名無しさん
08/01/27 17:53:05
>>130
Lisper(笑)

134:デフォルトの名無しさん
08/01/30 05:35:37
LisperはN64で使われてるとかいろいろ誇らしげに言うからな
GCは進歩したのもLispのおかげなんだよ

135:デフォルトの名無しさん
08/01/30 08:00:39
>>134
GCに一番寄与したのってSUNのプロダクトだとjavaよりselfじゃないのかな?


136:デフォルトの名無しさん
08/01/30 13:57:09
「A Scala Tutorial for Java programmers」日本語訳 (PDF注意)
URLリンク(homepage.mac.com)

オブジェクト指向+関数型なScalaのチュートリアル
こういう言語の話題はどこもってけばいいんだ

137:デフォルトの名無しさん
08/01/30 14:02:00
ここ(笑)

とは趣旨が違うよなぁ。

なにか新しい言語を、作りたい人じゃなくて使いたい人のためのスレか。

138:デフォルトの名無しさん
08/01/30 14:21:02
OOP言語統合とか、関数型統合とかないからねえ
OOはネガティブなスレしかないw

139:デフォルトの名無しさん
08/01/30 23:24:11
>>119 のid:authorNari がGC本の翻訳希望者つのってる。本気かいな・・・てか需要あるんかいな・・・

140:デフォルトの名無しさん
08/01/30 23:36:23
LISP使いの人が一番だなって感じたことがあるんだけど、
それは、



















プライドの高さ。(マジ

141:デフォルトの名無しさん
08/01/31 00:04:15
>>140
なんで? どの辺が??? そんなプライド高くねぇとおもうぞ………
少なくとも俺のしってる奴は, みんな, C とかアセンブラとか書けるし…
そう言う問題とはちゃう?


142:デフォルトの名無しさん
08/01/31 00:06:54
>>140
ワシはLisp使いだがプライドって旨いのか?

まだ食った事ないぞ


143:デフォルトの名無しさん
08/01/31 00:21:07
Lisp を貶せば自分が高みに上がれると思ってる奴ってまだ居たんだな
この多言語時代に、とっくに絶滅したと思ってたよ

144:デフォルトの名無しさん
08/01/31 00:50:57
にじみ出るプライドが俺を呪い殺そうとしている^p^

145:デフォルトの名無しさん
08/01/31 05:49:48
せっかく煽ったのに、内容がここまで勘違い全開だと恥ずかしいな。

146:デフォルトの名無しさん
08/01/31 09:00:35
>>145
馬鹿が見る豚のケツって言葉を思い浮かべた


147:デフォルトの名無しさん
08/01/31 15:59:54
lisp = 鮫島事件

おや?誰か来た様だ

148:デフォルトの名無しさん
08/01/31 22:44:45
俺はJavaとか使ってる奴とは違う。


149:デフォルトの名無しさん
08/01/31 22:50:39
かわいそうに、java屋以下とは……

150:デフォルトの名無しさん
08/02/01 07:25:09
馬鹿さ比べでjava屋以下になっても
あんまり悔しくないよなぁ

151:デフォルトの名無しさん
08/02/01 08:28:16
所詮Windowsなんて使ってる以上、どちらも一緒

152:デフォルトの名無しさん
08/02/03 15:47:22
ruby v.s. php か

153:デフォルトの名無しさん
08/02/03 15:52:37
お前ら >>1-6 を読め
ただのLL談義はスレ違いだ

154:デフォルトの名無しさん
08/02/03 20:28:11
LL談義は、こちらで盛り上がってるのでどうぞ

【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
スレリンク(tech板)

155:デフォルトの名無しさん
08/02/03 22:16:59
質問です。
bisonで、下のリストのconflictがどうしても消せません。
通常の式と、定数式を別に扱いたいんですが、両方にある単項マイナスが
解決できないようです。
%precを使ってもうまくゆきません。
どうにかならないでしょうか?

--
%token tkNUM tkVAR
%left EXPC
%left '+'
%right '-'
%%
/* 式 */
exp:
expc %prec EXPC
| tkVAR
| exp '+' exp
| '-' exp
;
/* 定数式 */
expc:
tkNUM
| expc '+' expc
| '-' expc
;
%%

156:デフォルトの名無しさん
08/02/03 22:26:05
>>31

157:デフォルトの名無しさん
08/02/03 22:42:43
ところでみんな、コンパイラ/インタプリタを作るにあたり、
C言語とアセンブリ以外の言語で、という条件だったら、
どの言語使う?

158:デフォルトの名無しさん
08/02/03 22:46:21
C++

159:デフォルトの名無しさん
08/02/03 22:48:48
なんか %prec の使いどころがようわからんのだけど、
単項マイナスのためのおまじないとしか俺理解してないので
なんか変じゃないの? としかアドバイスできない。

160:デフォルトの名無しさん
08/02/03 22:49:14
Cみたくネイティブコードコンパイラがあって
Cよりずっと型安全な言語がいいなぁ
どんな言語があるかよく知らないが

161:デフォルトの名無しさん
08/02/03 22:52:15
GCJ?

162:デフォルトの名無しさん
08/02/03 22:52:22
>>160
その条件だと SML, OCaml, Haskell が該当する。
これらの言語は処理系の実装によく使われるけど、
ランタイムの制約が大きいので要注意。

163:デフォルトの名無しさん
08/02/03 22:52:22
何も考えずにHaskell

164:デフォルトの名無しさん
08/02/03 22:54:36
ランタイムの制約って何?

165:デフォルトの名無しさん
08/02/03 22:59:35
>>164
自前で GC を用意したいとか、Int は 32bit ないと嫌だとか、
細かい処理系の実装を弄りたい向きには合わない

楽したいならむしろ良いのかもしれんけど

166:デフォルトの名無しさん
08/02/03 23:03:38
>>165
なるほど、インタプリタの話か
コンパイラ書くことしか考えてなかった
真面目にインタプリタを書くなら、Haskellで書かれたバイトコードコンパイラ+Cで書かれたバイトコードインタプリタ
みたいな構成にすれば良いかな

167:デフォルトの名無しさん
08/02/03 23:16:27
%prec EXPC が変だな。

168:155
08/02/03 23:29:15
>>167
%precがないとexpの'+'とexpcの'+'でconflictが起きるんです。

169:デフォルトの名無しさん
08/02/03 23:44:41
expとexpcを混ぜて定義しようとするからconflictするわけで

exp: tkVAR | tkNUM | exp '+' exp | '-' exp
expc: tkNUM | expc '+' expc | '-' expc

170:155
08/02/03 23:54:08
>>169
それだと定数式もexpになってしまいます。
要するに、
a + 2 + 3
を、
tkVAR + expc
としてパースしたいんです。

パーサの段階で定数式を最適化したいんです。
難しいですかね?

171:デフォルトの名無しさん
08/02/04 00:45:31
パーサの時点で定数式の最適化って
2 + a + 3
とか最適化できなくね?

172:155
08/02/04 01:27:57
>>171
それはできなくて良いです。

つか>>155のやり方でもうちょっと書いてみたけど、
演算の優先順位でも問題が発生したのでやっぱり
諦めることにしました。

面白いアイディアだと思ったんだけどなぁ…

173:デフォルトの名無しさん
08/02/04 01:27:58
「パーサの段階で定数式を最適化したい」んならアクション中で最適化すればいいだろ
文法レベルで最適化する意味が分からん

174:デフォルトの名無しさん
08/02/04 09:49:13
構文のレベルで弁別しといたほうが楽、という理由はあるかも。

優先順位付けで誤魔化すんじゃなくて、きちんと優先順位を組み込んだ
構文規則にして、あと、何かテクニックがあったような気がするんだけど...

175:155
08/02/04 12:01:23
>>173
tkVAR '=' exp
tkCONST '=' expc
みたいに書けると良いかなと思ったんですよ。

>>174
> 何かテクニック
参考になる資料があれば是非教えて頂きたいです。

176:デフォルトの名無しさん
08/02/04 13:30:58
Haskellでインタプリタか・・・
Haskellってメモリ気にし無さすぎだからヤバそうなイメージがあるけど、
実験用と以外で使われているんだろうか

177:デフォルトの名無しさん
08/02/04 13:31:41
ああああ、アホか俺は。
そんなのは処理系依存だよな。
スマソ。

178:デフォルトの名無しさん
08/02/04 22:14:06
%right '-' も変でないか
その構文では2項演算子じゃないよね

179:デフォルトの名無しさん
08/02/04 23:33:08
確かに

180:デフォルトの名無しさん
08/02/04 23:49:25
衝突の消し方は、Rubyを256倍使うための本 無道編、で読んだような気もする。記憶が正しいという自信はない。
とりあえず衝突が出なくなるところまでコナしてみたわけなのだが、これで希望する構文規則になっているだろうか。
%token tkNUM tkVAR
%%
/* 式 */
exp:
exp_
| expnc '+' expc_
| expc '+' expnc_
;
exp_:
expnc
| expc
;
expnc:
expnc_
| expnc '+' expnc_
;
expnc_:
tkVAR
| '-' expnc_
;
/* 定数式 */
expc:
expc_
| expc '+' expc_
;
expc_:
tkNUM
| '-' expc_
;
%%

181:デフォルトの名無しさん
08/02/05 00:58:18
%token tkVAR tkNUM
%left '+'
%right UMINUS
%%
program
:
| program line
;
line
: '\n'
| exp '\n'
;
exp
: expr { printf(" expr\n"); }
| cexpr { printf(" cexpr\n"); }
;
cexpr
: cexpr '+' cexpr { printf(" c+"); }
| tkNUM { printf(" %c", $1); }
| '(' cexpr ')'
| '-' cexpr %prec UMINUS { printf(" cneg"); }
;
expr
: expr '+' expr { printf(" +"); }
| expr '+' cexpr { printf(" +"); }
| cexpr '+' expr { printf(" +"); }
| tkVAR { printf(" %c", $1); }
| '(' expr ')'
| '-' expr %prec UMINUS { printf(" neg"); }
;
%%

182:デフォルトの名無しさん
08/02/05 00:58:50
続き
int yyerror(char *msg) {
printf("%s\n", msg);
return 0;
}

int yylex(void) {
int ch;
while (isspace(ch = getchar()) && ch != '\n')
;
if (isalpha(ch)) {
yylval = ch;
return tkVAR;
}
else if (isdigit(ch)) {
yylval = ch;
return tkNUM;
}
else {
return ch;
}
}

int main(void) {
yyparse();
return 0;
}


183:デフォルトの名無しさん
08/02/05 16:31:40
メンバーアクセスと呼び出しの構文規則を考えていたんですが、
expr:
  mem-expr

mem-expr:
  invoc-expr ['.' invoc-expr]*

invoc-expr:
  prim ['(' [arg]* ')']*

prim:
  ident
  |(expr)

こんな感じで C++ や Java 風の式を評価できますか?
結合順とかは問題なさそうでしょうか?

184:183
08/02/05 16:36:02
一応、こんなのは全部許したいです。不正なものは意味解析ではじく方向で。
foo.bar.baz; foo.bar.baz(); foo.bar.baz()(); foo.bar().baz; foo.bar().baz(); foo.bar()().baz; foo.bar()().baz(); foo.bar()().baz()();
foo().bar.baz; foo().bar.baz(); foo().bar().baz; foo().bar().baz(); foo()().bar.baz; foo()().bar.baz(); foo()().bar().baz; foo()().bar().baz();
foo()().bar()().baz; foo()().bar()().baz(); foo()().bar()().baz()(); (foo).bar.baz; (foo).bar.baz(); (foo).bar.baz()(); (foo).bar().baz; (foo).bar().baz();
(foo).bar()().baz; (foo).bar()().baz(); (foo).bar()().baz()(); (foo()).bar.baz; (foo()).bar.baz(); (foo()).bar().baz; (foo()).bar().baz(); (foo()()).bar.baz;
(foo()()).bar.baz(); (foo()()).bar.baz()(); (foo()()).bar().baz; (foo()()).bar().baz(); (foo()()).bar()().baz; (foo()()).bar()().baz(); (foo()()).bar()().baz()();

185:デフォルトの名無しさん
08/02/05 23:14:41
うぜえ・・
それぐらい自分で判断しろ
半年ぐらい既成の文法眺めてろ

186:デフォルトの名無しさん
08/02/06 00:33:07
ヨミ肉w

187:183
08/02/06 08:45:44
>>185
既存の文法クレクレ

188:デフォルトの名無しさん
08/02/06 10:56:48
>>31

189:183
08/02/06 12:11:15
再帰下降のパーサを手書きしてるからパーサ【ジェネレータ】の話じゃない。

190:デフォルトの名無しさん
08/02/06 14:10:11
URLリンク(java.sun.com)

191:デフォルトの名無しさん
08/02/06 15:58:18
>>183
Javaは関数ポインタないから(hoge)() とか hoge()() はできないよ。
Javaの構文規則みても、あんまし参考にはならないと思う。

192:デフォルトの名無しさん
08/02/06 16:17:49
C言語の本に書いてあるよ

193:デフォルトの名無しさん
08/02/06 16:34:15
1.6で関数型ができるという話はどうなってるの? Java

194:デフォルトの名無しさん
08/02/06 17:24:46
そんな話ないよ

195:デフォルトの名無しさん
08/02/06 17:38:13
ごめん、7だった。

196:デフォルトの名無しさん
08/02/06 19:43:36
>>193
あれは func() じゃダメで func.invoke() とかやる事になってる。
名前空間汚れるから互換性捨てないと func() みたいな呼び出しは無理。

197:jonigata
08/02/07 03:08:09
あごめん
しばらく動きなかったからすっごい見てなかった

>>105
どんな解説でしょうか?
caperというよりもっと一般的な話であるなら、
すでにあるものよりうまく説明できる自身がまったくナイデス

256倍のraccのやつとか読むといいと思うけど
まだ売ってるのかな

>>106
用途とかバグとかウザいところとかあったら教えてください

.....
書き込みから20日もたってるのでいまさらだけどw

198:jonigata
08/02/07 03:16:47
つーか今になって見ると
俺が読んでもわからんですね

たとえばTutorial 1:
> 7行目のupcastは、各非終端記号の型から、Parserのインスタンス化のときに
> テンプレートパラメータとして与える「値集合すべてをあらわす型」への変換を提供する関数です。
> セマンティックアクション関数がひとつでもある場合、安全な型変換のために
> この関数が定義されていなければなりません。

ハア? わけわかんねーよバカじゃねーの

って感じw

とはいえこれはこれで「yacc使ったことある人」対象であれば
簡潔にまとまっているような気もしないでもない

気が向いたら読み直して書き直してみます


199:デフォルトの名無しさん
08/02/07 06:12:26
なんかワロタ

200:デフォルトの名無しさん
08/02/07 16:25:28
作者キター
caperでJavaScript生成させると
 this.get_arg = function( base, index )
  {
   return this.stack[ this.stack.length - ( 3 * ( base-index ) + 2 ) ];
  }
みたいなコードが出てくるけど
 this.get_arg = function( base, index )
  {
   return this.stack[ this.stack.length - ( 3 * ( base-index ) ) + 2 ];
  }
の間違いじゃないすか?

201:jonigata
08/02/07 21:58:54
javascript普段使わない上
3時間くらいで書いたコードなのでまったく思い出せない……


そのようですね

現在のコードだと、
パーサは動くけど
セマンティックバリューにぜんぜん意味わかんないものが返ってくるってことかな?
>>200さんはそれでわかったのでしょうか?

202:デフォルトの名無しさん
08/02/07 23:36:20
え?どれを3時間だって?

203:jonigata
08/02/08 11:48:35
>>202
jsジェネレータ(caper_generate_js.cpp)です。
といっても、自分に興味がほとんどないので
上のようなバグ出しちゃうわけですが……

C#やDのジェネレータを書いてくださった方もいらっしゃるので、
他の人でもさほど難しくなさそうですよ。

PHPも需要がありそうなんで挑戦しようとしたんですが
PHPの仕様のアレさにやる気が失われました。
難しくはないと思うのですが。

週末久しぶりにバージョンアップしようかと思います。
上のバグ直してC#やDのジェネレータを取り込んだバージョン。


204:デフォルトの名無しさん
08/02/08 22:43:41
>>203
乙!


205:jonigata
08/02/10 13:44:07
む、C#のジェネリクスってduck typingできないのか
もらったコードバグっててちょっと使えないな……

C#はいったんなしにするか

206:jonigata
08/02/10 13:49:27
Dは普通に動いたっぽい

C#ジェネレータはundocumentedでだして
誰か得意な人に見てもらおう

207:デフォルトの名無しさん
08/02/10 17:31:53
スレチガイ

208:デフォルトの名無しさん
08/02/11 17:16:50
パーサジェネレータのスレってどこにあるん?

209:デフォルトの名無しさん
08/02/11 18:57:29
>>208
今のところここがもっとも近い、そういう意味じゃ>>207は微妙な指摘というか言葉たらず。
独白に近いのでそういう事はBlogでやれって意味じゃまさに207の指摘どおり。



210:デフォルトの名無しさん
08/02/12 11:44:05
趣味で(ほぼ無意味ですが)C++とほぼ同等のコンパイラを作っています。
当然テンプレートとかはないですが、文法がそっくりという意味です。

質問なのですがC++は何故、クラスの定義がファイルの行数的に先に行なわれていないとコンパイルエラーになるのでしょうか?
例えば

CHoge test;

class CHoge
{

};

こういう順番だと、CHogeって何?未定義なんだけど。ってエラーになりますよね。
ファイルの上から処理して言ってるのだから当たり前なのは分かってます。
ですが先に class などの定義系を先に処理してからにすれば回避できる問題かと思います。

「先に全ファイルをチェックして定義系を処理してから、再度全ファイルを処理する」
という2度処理が、C++が生まれたころのマシンスペックではもったいなかったのでしょうか?

211:デフォルトの名無しさん
08/02/12 11:53:55
過去の名残。

212:デフォルトの名無しさん
08/02/12 12:09:17
>>210
Cのstructの仕様をそのまま引き継いでるだけかと。
C++というよりは、Cが生まれたころのマシンスペックだろう。

213:デフォルトの名無しさん
08/02/12 13:02:39
>>211-212
なるほど、ありがとうございました。
無理にそこを真似する必要はなさそうですね

214:デフォルトの名無しさん
08/02/12 14:39:58
最初のC++コンパイラはCへのトランスレータだったような気がする。(SS1の頃でメモリも16M位が標準だった)


215:デフォルトの名無しさん
08/02/12 14:55:16
URLリンク(en.wikipedia.org)

216:デフォルトの名無しさん
08/02/12 16:35:10
質問
Javaっぽい言語でスクリプト作ってたんですが、数値型に何も考えずに
int, short, byte, long をつくったんですよ
でもおかげでかなりVMやコンパイラの仕組みが複雑になってしまってコマってます

正直、shortとかbyteってみなさん使ってます?
(メモリーをケチる目的以外で)
バイナリファイルを解析する時とかはさすがにbyte単位で扱えなければ話にならないと思いますけど
ByteArrayStreamみたいなものがあればそれでいいかなぁとか考えてるのですが…


217:デフォルトの名無しさん
08/02/12 16:42:31
Javaっぽいって…

218:デフォルトの名無しさん
08/02/12 16:47:14
>>217
すごい誤解招きそうな文章でしたね

Javaっぽい文法でスクリプトを作ってたんですが~としてください

219:デフォルトの名無しさん
08/02/12 17:16:56
byteやshortも過去の遺産じゃね?
よっぽどメモリーがきつい環境で無い限り、演算もintのほうが速いわけでもあるしint使うわ

220:デフォルトの名無しさん
08/02/12 17:32:05
あるいは、メモリに常駐するデータ量が2Gか4Gかという差があるとかな

221:デフォルトの名無しさん
08/02/12 17:35:56
確かにそれくらいメモリーの差が出るなら考えるなw
まぁそれもByteArrayStream?があればそっちでいいわけで
Javaのものだと仮定すれば、あれランダムシークもできるし(Byte型の配列とほぼ同義として扱える)

222:デフォルトの名無しさん
08/02/12 17:56:28
>>216
JavaVMも配列とかフィールドにはbyteやshortがあるけど、スタック中ではint扱いっすよ
いちいち丸め処理が入るだけで
long, float, double や参照は別扱いだけど

223:デフォルトの名無しさん
08/02/12 20:25:44
C でも汎整数拡張とかあって、
式中では勝手に int に格上げされるな。

224:デフォルトの名無しさん
08/02/12 22:23:46
でも、エンジニアリングモデルでは普通に使ってるよ。

225:jonigata
08/02/16 12:32:02
先週末にバージョンアップするとかいっときながら遅れましたが
caperバージョンアップしました。

URLリンク(tinyurl.com)

例によってうまく動かなかったらごめんなさい。

C#ジェネレータとか一応組み込んだけど
普段使わない言語でぜんぜん要領を得ないので
詳しい人がいたらここかブログ( URLリンク(d.hatena.ne.jp) )に
なにかアドバイス等いただけるとうれしいです。

226:デフォルトの名無しさん
08/02/21 23:44:59
場違いかも知れませんが、宜しくお願いします。yacc/lexはc言語での
作りですが、perl言語で同様の処理をしたいのですが、処理系はあるの
でしょうか?

以前は、随分と前に見た事はあるのですが、最近は見かけなくなりまし
た。知っている方、どうかそのインストール方法...等アドバイス宜
しくお願いします。


227:デフォルトの名無しさん
08/02/21 23:56:50
Racc

228:デフォルトの名無しさん
08/02/22 09:04:34
kmyacc

229:デフォルトの名無しさん
08/03/04 08:45:05
構文解析のアルゴリズムが沢山載っている「Parsing Techniques - Second Edition」
URLリンク(www.cs.vu.nl)

230:デフォルトの名無しさん
08/03/07 09:20:44
>>27>>37
LLVMはMac OS XのOpenGLスタックで使われてるよ。
PyPyもターゲットの一つにしてる。

URLリンク(llvm.org)

231:デフォルトの名無しさん
08/03/09 01:53:45
gnu makeのBNFとかってありますかね?

232:デフォルトの名無しさん
08/03/15 14:32:59
やはり新しい言語の方が優れてるのですか?

233:デフォルトの名無しさん
08/03/15 14:42:55
兄より優秀な弟などいない

234:デフォルトの名無しさん
08/03/15 15:05:15
>>233
イギリス皇室の方ですか?

235:デフォルトの名無しさん
08/03/15 17:16:19
>>233
ラオウ乙

236:デフォルトの名無しさん
08/03/15 17:48:49
>>235
ジャギでは

237:デフォルトの名無しさん
08/03/15 18:32:44
>>231
GNU Make のソースツリーの中に無いの?
知らないけど。

238:デフォルトの名無しさん
08/03/15 22:05:11
Lisp 最高~!

239:デフォルトの名無しさん
08/03/16 18:03:56
そういえば、昔どこかのサイト(海外)で、
プログラミング言語の上下関係を図式化したものがあった。
そこでは確かに Lisp が一番上位に来ていたような…

何がいいのかさっぱりわからんがw

240:デフォルトの名無しさん
08/03/17 08:26:38
>>239
原文を見てない範囲での推測だが、
S式という情報の取扱形式が
全ての上位に来ると言う意味なら判らなくもない。
ただそういう比較は扱う人の主観でしか有り得ない。


241:デフォルトの名無しさん
08/03/18 13:19:49
ここにそれっぽいのがあるね
URLリンク(www.geekpage.jp)

242:デフォルトの名無しさん
08/03/18 16:18:53
Adaのマルチタスクプログラミング舐めてるのか!

243:デフォルトの名無しさん
08/03/18 17:29:15
Lisp - C の連結はありえない

244:デフォルトの名無しさん
08/03/18 18:16:28
>>241
これは面白いな。
ところで、最近のマクロという名のプログラムはどこに?

245:デフォルトの名無しさん
08/03/18 18:23:52
面白くないぞw

246:デフォルトの名無しさん
08/03/19 06:10:35
>>241
部分部分を見るとアレだけど、大まかな流れは頷けなくもない。
LanguagesではなくProgrammersを扱った図だからね。言語の宗教論争とはちょっと事情が違う。
「上位」プログラマは、多くの場合「下位」プログラマ"でもある"(その言語を使える)か、
あるいは"すぐにそうなれる"(パラダイムを十分把握していて、表面の違いを学ぶだけでいい)状態にある。
きっちり成立しているとは言わないけど、少なくとも、同じ事を上下逆に考えるよりは成立している。
だから全体を、あくまで曖昧なレベルで、クラス図の比喩として見ることができるんじゃないかと。

別の言い方をするなら、この図は、
「あなたが言語Xと言語Yを使えて、どちらかの言語名+プログラマ、でしか自称してはいけないと言われたら、
どちらを口にすれば、自分のスキルや経験値をよりあますことなく示唆できるだろうか?」
っていう「ソート」の結果であり、実際、まんざらデタラメな結果ではないと思う。
LispとCが使える人だったら、この図の「Lispプログラマ」に自分を置くし、たぶんそれで正解だろう。
逆を自称するよりは、その人の経験してきたことの「より多く」を伝えられると思う。たぶん。

247:デフォルトの名無しさん
08/03/19 07:11:51
> クラス図の比喩として見ることができるんじゃないかと。

そんな必要はないだろ。
その見方から何が得られたかも書いてないし。
クラス図言いたいだけと違うんかと

248:デフォルトの名無しさん
08/03/19 07:30:39
>>247
よくわからん返しだな。

249:デフォルトの名無しさん
08/03/19 09:06:36
ジョークにマジレスしてる>>246もよくわからんのだが…

250:デフォルトの名無しさん
08/03/19 09:23:52
>>249
ジョークがまんざらでもないことを面白がってるんだよ。

251:デフォルトの名無しさん
08/03/19 13:37:47
「そうそうあるある」ってのが笑いどころのネタだしな

252:デフォルトの名無しさん
08/03/19 14:59:48
まんざらでもないからこそジョークとして成立してるところに
「いやこのジョークはまんざらでもないんだよ!」と解説しちゃうところが無粋すぎ。
ってかスレ違いすぎだな…

253:デフォルトの名無しさん
08/03/19 19:01:19
そうとも思わないが?スレチ
なかなかおもしろいと思う。

254:デフォルトの名無しさん
08/03/19 21:27:09
使用者のヒエラルキーなんてマ板の範疇だろ・・・
スレ違いどころか板違いだ

255:デフォルトの名無しさん
08/03/19 22:36:37
糞つまらなねえ >>241


256:デフォルトの名無しさん
08/03/20 05:34:52
まぁ、自分が悪く言われているジョークが面白くないのは自然だ。

257:デフォルトの名無しさん
08/03/20 13:23:29
>>241の元ねたの最下位カーストだけ妙に具体的なのは
おもしろかったw

258:デフォルトの名無しさん
08/03/22 00:33:28
お気に入り言語が下にあるからって、そんなにカリカリせんでもw

259:デフォルトの名無しさん
08/03/22 00:43:41
出来が悪いのはともかく、
言語の階層じゃなくて、
プログラマーの階層なんだぜ?

260:デフォルトの名無しさん
08/03/22 01:24:06
古臭いネタまだひっぱるのか?

261:デフォルトの名無しさん
08/03/22 09:59:11
約一名のこのネタの腐しかたが特徴的すぎるんだが、何がそんなに気に入らないんだろw

262:デフォルトの名無しさん
08/03/22 20:03:53
誰のこと?

263:デフォルトの名無しさん
08/03/22 20:59:41
野村君のことだよ

264:デフォルトの名無しさん
08/03/23 19:07:54
鈴木君は?

265:デフォルトの名無しさん
08/03/23 20:31:18
鈴木君は良い奴だよ。
先週、尻にタイ焼きを詰まらせて亡くなったけど。

266:デフォルトの名無しさん
08/03/25 19:26:54
田中くんは?

267:デフォルトの名無しさん
08/03/30 23:18:15
山田さんは?

268:デフォルトの名無しさん
08/04/02 14:48:16
おーい

269:デフォルトの名無しさん
08/04/02 21:19:35
中村くん

270:デフォルトの名無しさん
08/04/03 16:30:45
なんだい?

271:デフォルトの名無しさん
08/04/03 19:07:31
ちょいと待ちたまえ

272:デフォルトの名無しさん
08/04/03 19:41:25
>>270-271が>>268-269と世代が違う件について

273:デフォルトの名無しさん
08/04/07 12:00:22
>>272
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄


274:デフォルトの名無しさん
08/04/09 10:09:21
スクリプトの概要 - Tactico
URLリンク(www.lagarto.co.jp)

定評ある投資ツールOmegaチャートの作者が開発している、次期投資ツール「Tactico」に搭載されているスクリプト言語の解説。

関数型言語のにおい

275:デフォルトの名無しさん
08/04/20 15:48:01
あげてもいいですか?

276:デフォルトの名無しさん
08/04/20 16:03:12
いいけど、またLISPネタになるだけだよ?

277:デフォルトの名無しさん
08/04/20 18:25:38
>>275
既にあげてんじゃねぇかYo!


278:デフォルトの名無しさん
08/04/23 22:42:00
本のサンプルで利用されているANTLRをお勉強中。
今までこういったものを触ったことが無いので枠枠してる。

279:デフォルトの名無しさん
08/04/24 18:47:58
SquirrelとXtalのソース見て勉強中
頭では分かっていても、実際にコードへ落とすときに悩んでしまう

280:デフォルトの名無しさん
08/04/27 19:30:01
プログラムの最適化方法、特にベクトルプロセッシングの最適化について知りたいのですが、
どこか参考になるサイトはありませんか?
よろしくお願いします。

281:デフォルトの名無しさん
08/04/27 19:34:58
つ『コンパイラの構成と最適化』

282:デフォルトの名無しさん
08/04/27 20:20:15
了解しました。ありがとうございます。

283:デフォルトの名無しさん
08/05/01 00:33:06
髭を伸ばそうかと思っているんだけど、おまえら髭どうしてる?

284:デフォルトの名無しさん
08/05/01 03:58:14
剃ってる

285:デフォルトの名無しさん
08/05/01 06:13:41
これか

スラッシュドット・ジャパン | 髭がある程プログラミング言語は繁栄する?
URLリンク(slashdot.jp)

286:デフォルトの名無しさん
08/05/01 07:43:06
髭はバリカンで刈ってる。
別に髭専用バリカンてわけでもない。


287:デフォルトの名無しさん
08/05/01 12:12:15
年単位で前に読んだ記憶があるネタだな

288:デフォルトの名無しさん
08/05/02 05:41:41
俺はひげ専用バリカン持ってるよ。
長さを自在に調整できるやつ。
ただ今使っているのは電池専用なので使いにくい

289:デフォルトの名無しさん
08/05/06 22:25:36
型名と変数名を名前システムの観点から考察した
議論ってなんかある?

290:デフォルトの名無しさん
08/05/07 21:01:37
いきなりどうした、頭大丈夫か?

291:デフォルトの名無しさん
08/05/07 21:13:52
静的型って、型名と変数名とスコープを結びつけるわけじゃん。

抽象データ型って、変数名とスコープを介して
型名とプロシージャ名を結びつけるわけじゃん。

こういうのを名前システムとして眺めたら、
なんか見えてこねえ?

292:デフォルトの名無しさん
08/05/07 22:02:18
なにが言いたいのかわからん
マヨイガでも見えてんのか

293:デフォルトの名無しさん
08/05/07 23:29:35
>>289 の脳内で画期的な理論が生まれようとしている!
のかもしれない…?

294:デフォルトの名無しさん
08/05/09 13:32:22
ただの型推論なんじゃない?

295:デフォルトの名無しさん
08/05/09 18:13:03
GUIクラスライブラリのBoxクラスを想定。
Boxクラスには、x, y, width, heightというフィールドがある。

xとyのあいだ、widthとheightの四則演算は原理的に
禁止。書けてしまう&実行できるのは、言語が
行き届いてない証拠。

言語レベルで禁止するには、x, y, width, heightを
それぞれ別の型にしてしまえばいい。

でもそうすると、Xクラスのフィールド名はx、Yクラスの
フィールド名はy、てなことになるわけだ。
これって間抜けじゃね?

型名と変数名を名前システムの観点から考え直せば、
こういう間抜けなことの起こらない方法が見つかるかも
しれない、ってこと。

296:デフォルトの名無しさん
08/05/09 18:38:40
キログラムとセンチメートルといった単位の違うものを足したりできなくしようというわけか?
興味深いけど、なんか面倒臭そうな気がする

297:デフォルトの名無しさん
08/05/09 19:01:53
過度な形式化は無用な世話だ

298:デフォルトの名無しさん
08/05/09 19:07:28
>>295
間抜けでもいいなら、不正な操作を禁止することは既にできるわけだろ
冗長だから短く書きたいというなら型システムの問題ではない
Lispのマクロのようなものがあればいい

299:デフォルトの名無しさん
08/05/09 21:01:59
>>298
一概にそうは言い切れないだろ
略記法を展開する過程が型情報に依存するなら、単にマクロで構文を導入するのでは済まない

300:デフォルトの名無しさん
08/05/09 22:32:46
>>296
カロリー換算することで、燃費というプロキシは必要になるが計算は可能だな
ガチガチに縛るのもどうなのかなぁと思うのだが
俺の視点はずれてるのだろう

301:デフォルトの名無しさん
08/05/09 23:43:33
>>299
たとえばCのsizeofは型情報がないと計算できないが、
逆に言えばsizeofのような演算子を必要な分だけ追加すれば済むってことか?

302:デフォルトの名無しさん
08/05/10 00:28:51
新機能を追加しないと展開できない略記法?

ハードル上げ過ぎ

303:デフォルトの名無しさん
08/05/10 01:18:46
マクロ云々みたいな実装レベルの話じゃなくて、継承とかみたいな概念レベルの話をしているのでは?
型の拡張というよりも、むしろ単位という新しい概念の導入に近い気がする。
整数型とか実数型とかはそのまま受け継いで、それとは独立に演算の制約情報を付加する、って感じで。
物理とかのペーパーだとよく単位つけたまま式に代入したりするけど、それをPCで実現させるような。

俺言語での超適当な例。

unit : Volt, Ampere; // 電圧・電流の単位を定義
unit : Watt = Volt * Ampere; // 電力と電圧・電流の関係を定義

variable Integer [Volt] : vol; // 整数型(単位ボルト)の変数volを宣言
variable Integer [Ampere] : amp; // 同様
variable Integer [Watt] : wat; // 同様
variable Integer [Volt * Ampere] : wat2; // これもアリか。Wattと同じ。
variable Integer : num; // もちろんただの整数型も宣言可能

vol = amp; // ERR
wat = vol * amp; // OK
wat = vol + amp; // ERR
vol = wat / amp; // OK
vol = vol * num; // OK
vol = vol + num; // ERR

304:デフォルトの名無しさん
08/05/10 03:44:39
variable Integer : num; // もちろんただの整数型も宣言可能
こればっかり使って全て台無しって事にならんかなぁ?

unit : Ohm;
unit : Volt= Ampere * Ohm;
とかせんといかんの?

305:デフォルトの名無しさん
08/05/10 03:57:54
アプリケーションハンガリアンを思い出したぜ
URLリンク(local.joelonsoftware.com)

要は言語レベルでこれをやろうぜって話なんだろ?

306:デフォルトの名無しさん
08/05/10 05:00:56
>>295>>303
Boost C++ ライブラリに昔あったなあそれ。
今ではなくなっちゃってるっぽいけど。
変数に次元を割り当てて、異なる次元の変数同士の加算減算をしたり、
次元を無視した代入を行おうとすると、コンパイルエラーを吐いてくれるやつ。

307:デフォルトの名無しさん
08/05/10 05:59:41
情処のプログラム研究会あたりでネタにな・・・らなさそうだな

308:デフォルトの名無しさん
08/05/10 07:43:52
ならないな。こんなのとっくの昔からある話題だし。
言語レベルでやるようなもんじゃない。

309:デフォルトの名無しさん
08/05/10 11:40:27
ハンガリアンなんて便法じゃなくて、型で強制すべき、ということでしょ。
それを支援する言語というテーマは、まんま同じものが過去になければ、
研究会発表ぐらいならいけるんでない?

310:デフォルトの名無しさん
08/05/10 11:41:21
強い typedef でおkだろ。

311:デフォルトの名無しさん
08/05/10 12:39:04
>>303
よくわからんがこんな言語のこと?
URLリンク(futureboy.us)

312:デフォルトの名無しさん
08/05/10 14:27:11
LLバトロワスレにはっちゃったけど、いちおうここにも

JRuby開発者のOla Bini氏がJVM上で動作するプログラミング言語「ioke」を開発中
URLリンク(groups.google.com)

313:デフォルトの名無しさん
08/05/10 18:04:32
具体的な機能に飛びつく前に、こういう問題を概念レベルで
上から俯瞰できるような観点はないか、そこが知りたい。

数学基礎論だと、群だの体だの圏だので俯瞰するわけだ。
そういう観点があって初めて、5次以上の解の方程式が
存在しないことがわかる。

なにをどう構成して名づけるか? 変数名・型名・スコープは
構成の仕方の一例にすぎないわけよ。
演算子と構文にいろんなやりかたがあるように、名前システムにも
いろんなやりかたがあるはず。多分。

そのいろんなやりかたってのを、「あれを思いついた」
「これを思いついた」ではアドホックだから、名前システム
という観点が欲しい。

314:デフォルトの名無しさん
08/05/11 00:19:43
>>283
レーザー脱毛した。
もともとそんなに濃くなかったけど朝がなんとなく楽になった。

他の脱毛よりましらしいがレーザーもすんげー痛い。


315:デフォルトの名無しさん
08/05/11 01:06:02
>>314
痛いのか、知って良かった。

朝剃っても夕方泥棒みたいになるんだ。


316:デフォルトの名無しさん
08/05/14 15:51:01
質問。
εって一つ先読みして即還元すればいい?

317:デフォルトの名無しさん
08/05/16 07:20:07
「はじめてのコンパイラ - 原理と実践」って書かれてることに間違いないですよね?
正順LRって単語でググってもあまりヒットしないので不安なんだけど。

318:デフォルトの名無しさん
08/05/16 07:44:02
普通 正準LRっていわんか?  canonicalの訳だろ?

319:デフォルトの名無しさん
08/05/16 07:50:18
>>318
ってことは、正順と書いてあるこの本は駄目本ってことですか?
ドラゴンブックは暗号が多すぎて解読が難しかったので、この本を
無条件に信頼できると良いのですが。

320:デフォルトの名無しさん
08/05/16 08:11:15
無条件に信頼って物を学ぶ態度じゃないだろw
とりあえず仮に教科書を信頼して勉強をすすめる
知識が付いてきたら別の情報源との突き合わせも難なくできるようになるだろうから、
間違ったことを覚えていたらそのときに訂正すればいい

もちろん間違いの多い教科書を避けられるならそれが良いけどな

321:デフォルトの名無しさん
08/05/16 08:24:02
>>320
この本を読んだことあるのですか?

322:デフォルトの名無しさん
08/05/16 08:38:39
ないよ

323:デフォルトの名無しさん
08/05/16 08:45:33
>>322
やさしいJavaは?

324:デフォルトの名無しさん
08/05/16 08:49:29
>>317
スタータキットとして割りきって使えよ。
「原理と実践」でそんな薄い本。
甘えすぎ。

325:デフォルトの名無しさん
08/05/16 08:56:58
>>324
平易な言葉で書かれた素晴らしい本だと思うんですがね。
内容が正しければ良書なのですが。

ドラゴンブックマンセーしてるやつは3の倍数。

326:デフォルトの名無しさん
08/05/16 09:17:49
順は"順当"の順だから間違いってほどではないだろ。
いずれにせよ、どうでもいいことだろ。
そんな短い本で終わることはあり得ないんだから。

327:デフォルトの名無しさん
08/05/16 09:25:01
>>326
この本に含まれていなくて且一般に重要なトピックは何ですか?
こんな短い本・・・とおっしゃるくらいだからいくらでも挙げることが
できるんですよね?
それともあなた何も理解せずに適当な単語を並べてるただの3の倍数ですか?

328:デフォルトの名無しさん
08/05/16 09:31:11
そのくらい自分で調べろよ。
本じゃなくて、お前の勉学の態度が悪いんだよ。

329:デフォルトの名無しさん
08/05/16 09:32:53
>>328
結局のところ全く理解していないので一つも挙げることが出来ないのでは?

330:デフォルトの名無しさん
08/05/16 09:33:23
情報が足りるか足りないかなんか
実装してみたらわかると思うけど
それ以前に実装しようと思うだけでわかるかもね

331:デフォルトの名無しさん
08/05/16 09:33:59
情報引き出すための煽りか

332:デフォルトの名無しさん
08/05/16 09:35:12
>>330
それだと実装手法は一つしか学ばないでいいって態度だね。

333:デフォルトの名無しさん
08/05/16 09:38:42
>>331
引き出す情報を持っているかどうかが問題。
たぶん持ってないな。

334:デフォルトの名無しさん
08/05/16 09:47:43
仮にそうだとして
それを指摘して
誰になんの得があるというのか
勝利宣言するならその本読んで
実装する必要があるし

自分の立場がわかってなさそうだな

335:デフォルトの名無しさん
08/05/16 09:52:41
>>334
もうやめれ。
傍目に見てお前の無知はばれてる。
ややこしくなるからわからないならレスするな。

336:デフォルトの名無しさん
08/05/16 09:58:01
IDの無い板でそれを言っても何の説得力もないけどな

337:デフォルトの名無しさん
08/05/16 11:01:48
知らないならレスしないでください

の変形かw

338:デフォルトの名無しさん
08/05/16 11:44:13
知らないのにレスするとはなんとおこがましいのでしょう。

339:デフォルトの名無しさん
08/05/16 12:44:48
お前ら楽しそうだな。
チャットばかりしてないで、スレタイに沿った話しろよ。

340:デフォルトの名無しさん
08/05/16 12:56:36
やさしい構文解析はいつ出版されるのか。

341:デフォルトの名無しさん
08/05/17 06:49:26
構文解析をコードで理解するよりも、まだやることは多い気がする。

状態遷移図を書きまっくて、
NFA からε遷移が無くなるように DFA する辺りとか。
オートマトンを追いかけてのスキャンを考えて、
例外処理までもを備えた形にはどうなるのかとか。

一見動いて見えるコードを下手に書いてしまうと、後が大変になる。
思考実験で状況を追いかける位にはなれたらなー、とは思った。独感だけど。


342:デフォルトの名無しさん
08/05/18 21:26:16
>一見動いて見えるコードを下手に書いてしまうと、後が大変になる。

そうか?
それこそが、ITで必要なことだと思うが、

あっ、研究は別ね。

343:デフォルトの名無しさん
08/05/18 21:40:43
>>341
まずその変な日本語を直してからだな

344:デフォルトの名無しさん
08/05/19 09:48:43
COBOLのコンパイラを探してるんだけど、何か無いかな?
条件としては
フリーで独自の例外表記が無くて
外部テキストファイルの読み込みが可能
ソースと実行結果をテキストで出力が可能な奴を探してるんだ。
ずっと探してるんだけど実効結果をテキストで出力可能な奴が見当たらないorz


345:344
08/05/19 11:27:19
すいません。追記としてwindows上で動く奴があったら教えてください


346:デフォルトの名無しさん
08/05/20 06:14:44
COBOL GCCでググってみました。
URLリンク(www.google.co.jp)
COBOLってよくわからんのですが、リダイレクションとかなんかつかえばいいんでないんでしょうか?
ここは、コンパイラやスクリプトエンジンを作るスレなので、
COBOLのスレで聞いたほうがイイ!と思います。

347:344
08/05/20 10:14:30
>>346
本当にありがとうございます。
ぜひ、参考にさせていただきます

348:デフォルトの名無しさん
08/05/20 10:25:53
inforno :: Scalaでスタック指向言語をサクッと実装する
URLリンク(inforno.net)

349:デフォルトの名無しさん
08/05/23 09:50:42
expr:
expr + expr
|expr - expr
|special

special:
expr + expr


350:デフォルトの名無しさん
08/05/24 00:54:28
動的コンパイラや最適化の勉強をしようと思っているんですが、Ruby とかのス
クリプト言語で書かれた、最適化の勉強用のおもちゃコンパイラ的なもので手
軽なのって無いでしょうか?


351:デフォルトの名無しさん
08/05/24 16:25:52
・brainf*ck
インタプリタを作った事が無い人でも作れる
結構最適化に向いていると思われる

352:デフォルトの名無しさん
08/05/24 18:53:35
Martin Fowler's Bliki:パーサー恐怖症(パーサージェネレータ習得のすすめ)
URLリンク(capsctrl.que.jp)

Terence Parr 著「The Definitive Antlr Reference: Building Domain-specific Languages」
URLリンク(www.amazon.co.jp)

353:デフォルトの名無しさん
08/05/25 17:57:53
一瞬、メイド特化言語に見えた。

354:デフォルトの名無しさん
08/05/26 00:22:55
緊急入院

355:デフォルトの名無しさん
08/05/27 03:35:41
C言語のコンパイラを探したんだが
いろいろあるんだね・・・知らなかった。
ぶっちゃけお勧めって何?
OSはWinXPとVISTAで。

356:デフォルトの名無しさん
08/05/27 03:36:14
>>1

357:デフォルトの名無しさん
08/05/27 08:25:07
>>355
英語学者が英語をしゃべれるとは限らないという。
Cコンパイラの話はコンパイラスレではなくCスレで聞け。

358:355
08/05/27 08:28:01
スレチすまそ

359:デフォルトの名無しさん
08/05/27 22:36:22
>>351
brainfuck でできる最適化って具体的になにがあるでしょうか?

360:デフォルトの名無しさん
08/05/27 22:47:41
>>359
コンパイル時の定数畳み込みだろ。
究極的には入力命令","の影響の及ぶところとそうでないところを判別して、
影響の及ばないところは全てコンパイル時に計算することができる。

たとえば、
 ++[>+++<-]>.,.
というプログラムなら、
 putchar((char)6);putchar(getchar());
と最適化できる。

361:デフォルトの名無しさん
08/05/27 23:37:09
>>360
ありがとうございます。

>究極的には入力命令","の影響の及ぶところとそうでないところを判別
これって、定石ではどうやってやるんでしょうか?まったくわかっていないけ
ど、コールフローやデータフローの解析をする?


362:デフォルトの名無しさん
08/05/28 22:54:14
あたりまえですがなw

363:デフォルトの名無しさん
08/05/30 04:45:04
>英語学者が英語をしゃべれるとは限らないという。

日本語学者が日本語をしゃべれるとは限らないという?

364:デフォルトの名無しさん
08/05/30 10:44:17
海外の日本語学者にはそういう人もいるだろ

365:デフォルトの名無しさん
08/05/30 13:29:20
地震の研究者がカンファレンスで日本にきて初めて地面の揺れを経験して
「今のは何だ」
と騒いだ話を思い出した。


366:デフォルトの名無しさん
08/05/30 14:17:34
こういうやり取りが某スレで展開されてましたが、今の流行ですか?

638 名前:デフォルトの名無しさん 投稿日:2008/05/25(日) 00:23:06
アムロ・レイだってマニュアルが無ければ
ガンダムを操作することは出来なかった
つまりはそういう事さ


639 名前:デフォルトの名無しさん 投稿日:2008/05/25(日) 00:38:18
それ以前にアムロもカミーユもロボット作ったりしてなかったか?
つまりはそういう事さ

367:デフォルトの名無しさん
08/06/01 18:30:18
教えて下さい。
Lispって人工知能とかで使われたりしてるって
よく本とかに書いてあるのをみるんですが、
何が(どこが)人工知能にむいているんでしょうか?
逆に、他の言語だと何が(どこが)向いていないのでしょうか?

368:デフォルトの名無しさん
08/06/01 19:07:29
>>1にかいてあることがわからない人は、中がっこうからやりなおしてね。

369:デフォルトの名無しさん
08/06/01 19:19:12
やり直しも何も中学生ですが何か?

370:デフォルトの名無しさん
08/06/01 19:20:51
>>368
わからねえならわからねえってハッキリ言えよこの屑が

371:デフォルトの名無しさん
08/06/01 19:28:18
分かってれば情報垂れ流しとか、ハッキリ言うとそれは廃人です

372:デフォルトの名無しさん
08/06/01 19:50:59
貴様らはいちいち回りくどいな
lispスレで聞けやこのハゲ!

373:デフォルトの名無しさん
08/06/01 21:07:38
>>370
わからない場合はわからないと言ってもいいんだけど、残念ながらわかるんで、
「わからない」と書くと嘘をついたことになっちゃう。だから書けないw

あと、わからない奴が「わからない」と言うのは、名指しで答を求められて
「何か言わなきゃいけないけど答がわからない」という状況に陥ったときであって、
この場合は誰も当てはまらない。わからない奴はただ「黙ってる」場面だよ。
つまり、「わからねえなら黙ってろよ」と煽らなきゃいけない。君のはまるっきり的外れ。

頭の悪い子が興奮すると、こういうミスで大恥かいちゃうから気をつけようね。
こういうところで知能レベルってバレちゃうものだから・・・。

374:デフォルトの名無しさん
08/06/01 21:21:28
わからねえってハッキリ言えよこの屑

375:デフォルトの名無しさん
08/06/01 22:56:08
煽りたい盛りのゴミはほっておけ
まぁ放ったところで有益な答えが返ってこないだろう事実は変わらないがな

376:デフォルトの名無しさん
08/06/02 00:29:20
わかりません、ごめんなさい。
僕達は屑です

377:デフォルトの名無しさん
08/06/02 13:31:35
>>376
それでいい

おまえらもこれからは素直に生きろよな

378:デフォルトの名無しさん
08/06/02 13:50:51
>>377
「おまえら」なんて他人事みたいに語ってるが「僕達」にはお前も入ってるんだぜ?

379:デフォルトの名無しさん
08/06/02 14:15:28
>>378
他人事も何も他人だ
お前も素直になれ

380:デフォルトの名無しさん
08/06/02 16:33:51
いい加減うぜぇ


381:デフォルトの名無しさん
08/06/02 18:25:54
ここはRuby坊のLisp叩きスレですか?

382:デフォルトの名無しさん
08/06/02 19:14:42
Ruby坊はあらゆるスレに来てあらゆる言語を叩くので、
特にこのスレだけがどう、ということはないです。

383:デフォルトの名無しさん
08/06/04 00:10:05

373さん、ここは子供の来るところではありませんよ。


さて、終了です。


スレを元に戻しましょう。

384:デフォルトの名無しさん
08/06/04 00:18:33
おまえらスルーしろよ
糞が

385:デフォルトの名無しさん
08/06/04 00:23:33
インタプリタをCで作りたいです。

お勧めのサンプルって、無いですか?


386:デフォルトの名無しさん
08/06/04 00:57:59
>>384
頭の悪い子供には無理な注文。
相手の想定を上回ることを書いて鼻をあかしてやろう、と無駄なことを意気込み、
結果アピールできるのは自身の上昇した血圧だけ、というこの一セットは、彼らの宿命なのです。

387:デフォルトの名無しさん
08/06/04 01:10:09
で、>385は放置か?w

388:デフォルトの名無しさん
08/06/04 01:11:32
相手してあげたいなら、存分に相手してあげればいい。

389:デフォルトの名無しさん
08/06/04 01:16:31
断る。

390:デフォルトの名無しさん
08/06/04 01:57:20
自分のお勧めはCマガジン 2000年5月号。
十数ページの記事で一応インタプリタが作れる。

391:デフォルトの名無しさん
08/06/04 10:24:36
>>385
テキストで書いてあるソースコードを読むようなインタプリタから
始めることはおすすめしない。

単純な仮想機械からやってみてはどうか?

392:デフォルトの名無しさん
08/06/04 15:11:50
Brainfuckインタプリタでいいじゃん

393:デフォルトの名無しさん
08/06/04 16:33:53
あんなの厨房でもできるじゃん

394:デフォルトの名無しさん
08/06/04 17:17:39
>>393
BFソース -> sed -> Cソース -> gcc -> ./a.out
ってシェルスクリプト見たとき吹いた


395:デフォルトの名無しさん
08/06/04 19:09:37
>>394
何その素敵仕様w

396:デフォルトの名無しさん
08/06/04 19:36:51
>>391

初心者には無理じゃないのか?


397:デフォルトの名無しさん
08/06/04 20:26:44
>>395
TextBox(BFソース)->javascriptでreplace->javascript->eval
の変化系っぽい


398:デフォルトの名無しさん
08/06/04 20:34:22
BFソース + Dソース --(Dコンパイラ)--> executable
ってのなら前に見たな。

D言語では、コンパイル中にファイルを読み込んで、文字列操作をして、
その結果をコンパイルされるべきソースコードの一部に組み込めるらしい。

399:デフォルトの名無しさん
08/06/04 21:09:23
VCGグラフって、JPEGとかに変換できないのでしょうか?
見れなくて…

400:デフォルトの名無しさん
08/06/04 21:19:36
そのまんまの名前の可視化ツールあったと思うが。

401:デフォルトの名無しさん
08/06/05 08:15:08
How to build a monadic interpreter in one day
(based on papers provided by the Haskell community and some other resources)
午前: 仮想機械
午後: パーザ
Haskell習得とインストールにさらに半日くらいかな?

402:デフォルトの名無しさん
08/06/05 18:10:27
ここは、lispは禁句?

403:デフォルトの名無しさん
08/06/05 20:21:37
下手に話題振ると、あっという間にlispスレになるよな

404:デフォルトの名無しさん
08/06/05 21:41:25
構文解析をすっとばせるlispは、構文解析までしか語れない住民の多いこのスレでは不評です。

405:デフォルトの名無しさん
08/06/05 21:49:17
URLリンク(www.cs.cmu.edu)
Lisp風構文を持つ"APL, Scheme, SASL, CLU, Smalltalk and Prolog"のインタープリタ


406:デフォルトの名無しさん
08/06/05 21:49:38
タイトル忘れた。
Kamin: Tim Budd's C++ Implementation of the Kamin Interpreters

407:367
08/06/05 22:24:23
ありがとうございました。

408:デフォルトの名無しさん
08/06/05 23:01:35
>>385
UNIXプログラミング環境
hocインタープリタをC+yaccで作る例が乗っている。
完全なソースコードも著者のWebSiteからダウンロード可能!

409:デフォルトの名無しさん
08/06/05 23:03:24
>>401
なつかしの「while言語」w

410:デフォルトの名無しさん
08/06/13 07:21:40
データフロー解析の簡単な例とか教えてください。


411:デフォルトの名無しさん
08/06/13 21:15:30
URLリンク(nicosia.is.s.u-tokyo.ac.jp)

412:デフォルトの名無しさん
08/06/14 01:06:23
やべ、いまさらだけどBNF理解した
興奮してきた

413:デフォルトの名無しさん
08/06/14 06:55:30
そこでパーザ・コンビネータですよ。

414:デフォルトの名無しさん
08/06/15 09:02:14
え、どこどこ?

415:デフォルトの名無しさん
08/06/21 18:17:29
160行のPythonコードでコンパイラとインタプリタを書く
URLリンク(www.jroller.com)

Pythonハジマタ\(^o^)/

416:デフォルトの名無しさん
08/06/21 20:51:09
インタプリタしかないようだが。

417:デフォルトの名無しさん
08/06/22 03:16:27
ぱいぱい

418:デフォルトの名無しさん
08/06/25 00:33:43
stackless pypy

419:デフォルトの名無しさん
08/06/27 09:13:08
>>401
URLリンク(www.haskell.org)

420:デフォルトの名無しさん
08/07/02 07:36:22
こんなアホしかいませんが救ってやってください
スレリンク(prog板:398番)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch