「コンパイラ・スクリプトエンジン」相談室5at TECH
「コンパイラ・スクリプトエンジン」相談室5 - 暇つぶし2ch132:デフォルトの名無しさん
05/01/20 23:53:46
>>127
7.2節は意味関数で定義されてるが
それは人間の言葉で定義してるということでいいのか?

133:デフォルトの名無しさん
05/01/20 23:56:42
Ruby厨の脳内仕様では値を持つも値を返すも同じ

134:デフォルトの名無しさん
05/01/21 00:00:49
>>128
そうなのか?orz

ところで、式と文の関係は言語に関係なく、

式⊂文

でいいんだよなぁ?
これに反する言語ってある?


135:デフォルトの名無しさん
05/01/21 00:00:58
void がイカンのは
( void ∈ dom(f) ) = false ∧ ( void ∈ ∈ cod(f) ) = false
が常に成立するからだとおもふ


136:デフォルトの名無しさん
05/01/21 00:01:44
あっ、∈が一個多すぎた、まあ気にするな。

137:デフォルトの名無しさん
05/01/21 00:05:20
>>126
煽りじゃなくて単に見解を聞きたいんだけど、

式のセマンティクスを定義するのに式という言葉を使いたくて
式という言葉をとりあえずBNFとかで定義しておいて、
「式は値を持つ」とかいう形でセマンティクス上の意味を付加していくことがある
(特に数学的にセマンティクスを定義したい場合)。
こういう場合、「式という言葉(の意味)」はBNFで定義され
「式の(セマンティクス上の)意味」は日本語とかで定義される、
といったことになると思うんだけど、どう?

138:デフォルトの名無しさん
05/01/21 00:08:08
こんだけ暴れて何も学んでないんだなぁ。

139:デフォルトの名無しさん
05/01/21 00:10:12
「式という言葉(の意味)」はBNFで定義され

「式という言葉(の字面・パターン)」はBNFで定義され
じゃない?


140:デフォルトの名無しさん
05/01/21 00:11:38
>>137
俺の見解としては、それは普通に間違い。
「式の意味」という言葉を人間が使う時、普通は「式の(セマンティクス上の)意味」を指すから。
あくまで、BNFで使っている名前は、構文規則を定義するための記号にすぎず、
人間が「式という言葉(の意味)」と言っているときでも、そのBNF上の記号を
指しているということはまず無い。
ここでのもともとの議論も無論、前者の意味で皆「式は~」と言っていた。


141:デフォルトの名無しさん
05/01/21 00:12:58
>>134
「 ところで、式と文の関係は言語に関係なく、

  式⊂文
」はいいの? またRuby論理?

142:デフォルトの名無しさん
05/01/21 00:13:45
(゚∈゚ )

143:デフォルトの名無しさん
05/01/21 00:15:59
>>132
127じゃないが、良くないよ。
人間の言葉で定義している場合が多いというだけで、
Schemeの7.2節は例外。
Schemeは人間の言葉と、形式的な意味論と両方の定義が存在するな。
後者の方がより厳密かもしれない。

144:123
05/01/21 00:16:58
>>137
僕もそんな風に考えてたんだけど、どっちも「式」の定義だし、
「普通」は式の定義というと意味論的な意味のことを指すと言われれば
反論できないし、そんな気もしてきた。

>>141
漏れがそうでない言語を定義してあげよう。

145:123
05/01/21 00:18:22
×意味論的な意味
○意味論的な定義

146:デフォルトの名無しさん
05/01/21 00:19:04
形式的意味論で定義していないプログラム言語は
意味関数で定義できないということを意味しているの?

147:デフォルトの名無しさん
05/01/21 00:20:41
意味関数の定義自体は人間の言葉で定義してるんだから
結局は人間の言葉で定義してることにならん?

>>146
意味関数で定義できるけどしてないだけの場合も。

148:デフォルトの名無しさん
05/01/21 00:21:10
>>144
極端なこと言えば、式の構文を定義するのに、式という言葉を使わなくてもいいわけで。
もちろん、わかりにくいからそんなことは普通しないんだけど、例えば、stmtって略したり
する時もある。
だから、BNF上の記号はあくまで言葉の(意味の)定義とは別。
構文規則を定義するために便宜上わかりやすい名前をつけた記号に過ぎない。

149:デフォルトの名無しさん
05/01/21 00:22:39
>>147
まあ、間接的には結局そういうことだよ。
数学だってそう言えてしまう。
でも、普通はそういう直接自然言語で定義してないものを
自然言語で定義してるとは言わないわな。

150:デフォルトの名無しさん
05/01/21 00:23:43
Rubyの人が言うように仕様書で自由に決めたとき
意味関数に落とすと矛盾が発生することはないの?

151:デフォルトの名無しさん
05/01/21 00:24:41
>>150
あるに決まってるだろ。その場合はもちろん無効だよ。
そういうバグが無いことを前提にみんな議論してるんだろ。

152:デフォルトの名無しさん
05/01/21 00:25:27
>>150
矛盾が発生しないように意味関数を定義していくんじゃないかな。
ひょっとして意味関数を「日本語->意味」みたいな関数だと思ってる?

153:デフォルトの名無しさん
05/01/21 00:26:22
Schemeの意味関数とRubyを形式意味論を用いて意味関数に落としたものは
互いに矛盾するってことはある?

154:デフォルトの名無しさん
05/01/21 00:27:01
>>153
意味がわからない。矛盾するもなにも、別の言語の別の定義だからなんの関係もない。

155:デフォルトの名無しさん
05/01/21 00:27:53
URLリンク(swissnet.ai.mit.edu)
の7.2節の形式の意味関数を念頭においてますよ。

156:デフォルトの名無しさん
05/01/21 00:30:16
>>154
同じ状態機械を想定して
同じ形式の意味関数を用いたらどうです?


157:デフォルトの名無しさん
05/01/21 00:30:34
で?何が聞きたいの?
SchemeとRubyの間の矛盾って?

158:デフォルトの名無しさん
05/01/21 00:32:59
一方では文は値を持ち、他方では持たないと自由に定義されてると
抽象機械の遷移状態が異なってくることはないですか?

159:デフォルトの名無しさん
05/01/21 00:34:43
言語が違うんだから、形式(?)なるものが同じだとしても、意味関数や状態遷移機械は
もちろん違うし、全く関係ないんだが。

160:デフォルトの名無しさん
05/01/21 00:37:01
>>159
なんだか見えない相手と戦っているドンキホーテのようだな。がんがれ。

161:デフォルトの名無しさん
05/01/21 00:37:24
すみません、「形式(?)」って具体的にお願いします。

162:デフォルトの名無しさん
05/01/21 00:38:43
>>161
俺が聞きたいよ。
お前が「形式が同じだとどうです?」と言ってるだろ。
察するに、表示的意味論なら表示的意味論、操作的意味論なら操作的意味論で、
似たような記号使うということか?

163:デフォルトの名無しさん
05/01/21 00:38:46
意味関数の記述形式のことでいいですか?

164:デフォルトの名無しさん
05/01/21 00:39:38
>>163
いいですか?てなんだよ。お前が使ってる言葉だろ。

165:デフォルトの名無しさん
05/01/21 00:40:23
とりあえず、俺に聞く前に意味論の本読んでください。

166:137
05/01/21 00:42:11
>>140
了解。㌧クス。
>>139
うーんと、式=加算or減算etcって感じ。
数学的には
式の集合=加算の集合∪減算の集合∪etc
みたいな。

167:デフォルトの名無しさん
05/01/21 00:44:58
言語が違っても処理が同じなら、ターゲットの抽象機械が同じで
同じ意味関数を用いれば、おなじ記述になるはずですが、
文の定義が異なるのなら両者の遷移状態は異なることになりませんか?





168:デフォルトの名無しさん
05/01/21 00:49:34
同じ記述結果が出来るはずなのに、遷移状態が異なるのは
問題ではないのか?ということだな。

169:デフォルトの名無しさん
05/01/21 00:52:16
言質を確かめられてるだけで、意味論のことをおまえに
聞いてる訳じゃなさそうだから答えてやれ >>165

170:デフォルトの名無しさん
05/01/21 00:54:09
文の定義とは勿論「文」の意味論的定義な

171:デフォルトの名無しさん
05/01/21 00:54:20
>>167-168
偶然同じ処理で同じ記述になろうが、別の処理で別の記述になろうが、
別の世界の別の定義同士は何の関係も無いぞ。

あと、表示的意味論と操作的意味論ごっちゃになってるだろ。

172:デフォルトの名無しさん
05/01/21 00:57:37
同じ抽象機械で同じ目的の処理なら関係ないとホントにいえるのか?

173:デフォルトの名無しさん
05/01/21 01:04:53
ていうか、SchemeとRuby全然違うだろ。
同じ目的の処理とかほとんどありえない。そもそもSchemeに文なんて無いだろ。

174:デフォルトの名無しさん
05/01/21 01:06:46
>>173
ふふん??

175:デフォルトの名無しさん
05/01/21 01:10:15
仮に、操作的意味論で、同じ抽象機械が対象で同じ目的の処理なら、同じ記述にできるよ。
違う目的なら違う記述になるよ。
で?それが何?

176:デフォルトの名無しさん
05/01/21 01:13:17
gcでlazy sweepについて知りたいんだけど
なにかいい文献ない?


177:デフォルトの名無しさん
05/01/21 02:03:20
くだらない質問なんですが、
構文解析器のことを英語で"parser"と言いますが、
字句解析器は英語で何と言うのでしょうか?

178:デフォルトの名無しさん
05/01/21 02:04:36
>>177
lexer

# 数時間でえらい書き込みだと思ったら案の定・・・

179:デフォルトの名無しさん
05/01/21 03:03:07
scannerてのも見るけど

180:デフォルトの名無しさん
05/01/21 03:09:37
スキャナだと意味が広すぎるんでは
知らんけど

181:デフォルトの名無しさん
05/01/21 03:47:45
死ね。

182:デフォルトの名無しさん
05/01/21 03:53:25
lexというツールもあるくらいだし、lexerですかね。
ありがとうございます。

183:デフォルトの名無しさん
05/01/21 03:56:15
そういえば、Schemeに文はありませんでしたね。

184:デフォルトの名無しさん
05/01/21 03:59:22


185:デフォルトの名無しさん
05/01/21 04:04:47
>>176
定番のあの青い本にのってない?

186:デフォルトの名無しさん
05/01/21 04:49:21


187:デフォルトの名無しさん
05/01/21 05:02:26


188:デフォルトの名無しさん
05/01/21 05:14:58
なんでもいいから早く誰か俺言語さらせよ

189:デフォルトの名無しさん
05/01/21 07:38:01
俺言語I(cbt)

[syntax]
x ∈ Var
n ∈ Nat
Exp e ::= n | x | e1 e2 | e(x)

[semantics]
s ∈ State = Var -> Exp
[[e]]s = n iff s |- e => n

s |- n => n
s |- x => s(x)
s |- e1(x) e2 => e1[e2/x] <- capture avoiding substitution
s |- e(x) => e(x)

190:デフォルトの名無しさん
05/01/21 08:29:37
ぜんぜん意味わかんないから説明キボン。
∈ってなん?

191:デフォルトの名無しさん
05/01/21 08:34:52
くちばし

192:デフォルトの名無しさん
05/01/21 09:18:57
ちぃ言語

193:デフォルトの名無しさん
05/01/21 09:47:11
>190
数学、集合論の「集合に属する」を表す記号

194:デフォルトの名無しさん
05/01/21 09:50:13
使い道なさそう

195:デフォルトの名無しさん
05/01/21 09:56:53
なんか前スレにも増して役に立たないスレになってるな

196:デフォルトの名無しさん
05/01/21 10:00:30
最近中間言語を作るのが流行りらしいな

197:デフォルトの名無しさん
05/01/21 10:01:41
中間言語なんて大昔からあるけどな

198:デフォルトの名無しさん
05/01/21 10:02:26
VB1から使われてるpcodeも中間コードだしね

199:デフォルトの名無しさん
05/01/21 10:05:43
x86とJavaVMの中間言語は?

200:デフォルトの名無しさん
05/01/21 10:06:04
バイトコード

201:デフォルトの名無しさん
05/01/21 10:07:21
相変わらずの糞スレぶりだな(wwwwwwwww

202:デフォルトの名無しさん
05/01/21 10:11:36
Rubyyyy!の中間言語は?

203:デフォルトの名無しさん
05/01/21 10:19:39
無い

204:デフォルトの名無しさん
05/01/21 10:22:33
ただ荒らしたいだけのバカだからそんな長文は読まないよ

205:デフォルトの名無しさん
05/01/21 10:48:06
ψプロセッサーやOSを選ばないユニバーサル・エミュレーター登場か
スレリンク(pcnews板)

206:デフォルトの名無しさん
05/01/21 22:07:59
expression を 式 ではなく、「値」とか「表現」と読んでしまったらいいんでない?
statement は(値のある文なんて無いから)文のままでもいいよな。


207:デフォルトの名無しさん
05/01/21 22:08:32
代入文

208:デフォルトの名無しさん
05/01/21 22:19:29
>>206
「詭弁のガイドライン」より。

・自分に有利な将来像を予想する
・主観で決め付ける
・ありえない解決策を図る

今のあなたはこの辺が該当します。
予想しうる今後の展開は、

・レッテル貼りをする
・勝利宣言をする
・知能障害を起こす

辺りです。

209:デフォルトの名無しさん
05/01/21 22:21:07
それにしても詭弁認定厨はうざかったな。
詭弁でもなんでもないものを、詭弁のガイドラインに
無理矢理あてはめようとしてるところが笑えた。

210:デフォルトの名無しさん
05/01/21 23:15:13
ハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハ

211:デフォルトの名無しさん
05/01/21 23:28:31
保守になってねーんだよ!!!!!!!

212:デフォルトの名無しさん
05/01/22 10:24:34
式は y=3 のようなものが式。
y とか 3 とかを式と呼ぶのは、確かにおかしい罠


213:デフォルトの名無しさん
05/01/22 10:47:09
>>212
if(y)
などよく使うがな

214:デフォルトの名無しさん
05/01/22 11:12:48
C言語で言えばセミコロンがあれば文、なければ式です。

215:デフォルトの名無しさん
05/01/22 11:19:06
y = 3;



0;



216:デフォルトの名無しさん
05/01/22 11:20:37
yや3は式の構成要素の1つ
これらの構成要素と演算子を組み合わせたものが式
文というのは必ず特定のキーワードや記号が必要だと考えたら?

C言語
複文なら { ... }
if文なら if ( 式 ) ...
式文なら 式 ; // 式の後にセミコロン
ぬる文なら ; //セミコロンだけ

Ruby
知らん

RubyのBNFみたいなのある?

217:デフォルトの名無しさん
05/01/22 11:23:07
てかなんで知らないのにRubyが出てくるの?

218:デフォルトの名無しさん
05/01/22 11:24:13
URLリンク(www.ruby-lang.org)

219:デフォルトの名無しさん
05/01/22 11:25:25
>>218
無茶苦茶だな
不完全だし
信者が混乱するのもよくわかる

220:デフォルトの名無しさん
05/01/22 11:26:56
と、とりあえずBNFすら読めないけど書いてみた煽り屋

221:デフォルトの名無しさん
05/01/22 11:28:43
演算子の優先順位もそれじゃわかんないね。

222:デフォルトの名無しさん
05/01/22 11:29:25
よく釣れます

223:デフォルトの名無しさん
05/01/22 11:31:11
*1このBNFはまだ完全に1.6対応していません。執筆者募集

古すぎ

224:デフォルトの名無しさん
05/01/22 11:31:55
>より詳しくは parse.y を参照してください

結局これが悪いんだよ。
平たく言えばソース読めってこと。
Ruby理解するにはC言語とyaccの知識が必要だとさ。

225:デフォルトの名無しさん
05/01/22 11:33:13
↑藻前池沼以下だな。bison定義ファイルなんてそのまんまEBNFなのに

226:デフォルトの名無しさん
05/01/22 11:34:04
てかbisonも使えないのになんでこのスレにいるのかな

227:デフォルトの名無しさん
05/01/22 11:35:34
煽り屋だからさ

228:デフォルトの名無しさん
05/01/22 11:37:36
よく釣れますね

229:デフォルトの名無しさん
05/01/22 11:39:07
それは釣りなのか?
このスレと直接関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、
   釣り師→ ○  /|←竿
          ト/  |
          │.  ~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          八   §←餌(疑似餌)     >゚++<

の組み合わせだと思ってたんだけど、
最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか
言ってるの多いよね。
 これは、どっちかというと、

      ..釣れたよ~・・・│
      ──y─┘

       ・゚・。 ○ノノ。・゚・
    ~~~~~~~~~~│~~~~~~~~~~~~~~~
           ト>゚++< ミ パクッ
     ジタバタ  ハ
         ノ ノ

かと思うんだけど、どうだろう?

230:デフォルトの名無しさん
05/01/22 11:41:48
>>221
perse.y見てもわかんないですよ。

>>223
同期取れよってことですね。
あんな古いのなら置かないほうがいい。

>>225
あい、C言語の知識は必要ですね。
知っててもコード混ざってて読みにくい。
少しでも常識があればこれ見て文法わかれとはいえませんね。


231:デフォルトの名無しさん
05/01/22 11:43:27
↑コードなんて書かれる場所決まってるんだから
正規表現置き換えかflexでも使って機械的に除けるだろ池沼

232:デフォルトの名無しさん
05/01/22 11:44:53
じゃあこの機会を利用してRubyの文法誰かまとめて

233:デフォルトの名無しさん
05/01/22 11:46:45
>>230
parse.y見ても分からないのは勉強不足。
勉強しようとしないのはただの怠慢。

234:デフォルトの名無しさん
05/01/22 11:47:08
池沼に池沼と言われてもなあ


235:デフォルトの名無しさん
05/01/22 11:48:14
てかコードも隣に有った方が分かりやすいよ池沼ども

236:デフォルトの名無しさん
05/01/22 11:48:15
まあまともな言語だったらいきなりperse.y読めとはいわないよな。

237:デフォルトの名無しさん
05/01/22 11:49:04
rubyもそんな事は言ってない。
お客さんはリファレンスでも読みながらママのおっぱいでもしゃぶってな

238:デフォルトの名無しさん
05/01/22 11:49:30
pythonの文法はどうよ?

239:デフォルトの名無しさん
05/01/22 11:49:45
なんでスクリプトばっかなんだ?

240:デフォルトの名無しさん
05/01/22 11:50:30
そんな重箱の隅をつついたような言語の話ばっかりしてないで
LISPとかSmalltalkの話しようぜ

241:デフォルトの名無しさん
05/01/22 11:50:51
>>230
RubyはいまのとこC言語も読めない人は対象にしてないから大丈夫

242:デフォルトの名無しさん
05/01/22 11:52:08
てかparse.y見れば演算子の優先順位もちゃんと分かりやすく定義されてるし
煽ってる香具師はやっぱ池沼だな

243:デフォルトの名無しさん
05/01/22 11:53:09
C言語も読めないのになんでこのスレにいるの?

244:デフォルトの名無しさん
05/01/22 11:54:50
perse.y開いてprecedence tableで検索すれば優先度はわかるよ。

245:デフォルトの名無しさん
05/01/22 11:55:04
このスレの対象者
・flexが使える
・bisonが使える
・C言語くらいは使える
・何らかのアーキテクチャを対象としたアセンブラが使える(COMETとかの仮想環境以外の)

上記を全て満たす物のみ書込可

246:デフォルトの名無しさん
05/01/22 11:55:06
yaccを少しでもかじったことがあれば優先順位が分からないなんて言わないよなぁ

247:デフォルトの名無しさん
05/01/22 11:55:38
Ruby関係で用のある人は出てってください。

248:デフォルトの名無しさん
05/01/22 11:55:57
>>245
スクリプトエンジンにアセンブラの知識は必要ありませんから。
残念。

249:デフォルトの名無しさん
05/01/22 11:57:24
>>245
・Ruby関係者・信者以外
も加えといて
荒れるから

250:デフォルトの名無しさん
05/01/22 11:58:07
Ruby煽ってるような香具師はそもそも>>245の条件さえ満たしてないので
追加しなくてOK

251:デフォルトの名無しさん
05/01/22 11:59:12
>>243
Cは別に必須じゃないだろ。
MLでもPascalでも、とにかくコンピュータ言語が解かればよい。

252:デフォルトの名無しさん
05/01/22 11:59:15
bison使えないけどspiritとかANTLRとかJavaCC使える香具師もいるかもしれないぞ。

253:デフォルトの名無しさん
05/01/22 12:00:31
spiritはゴミ未満。C++マニアのオナニー。
使いにくい重い生成実行コードが巨大の3拍子そろってる有害廃棄物。

254:デフォルトの名無しさん
05/01/22 12:01:22
・flex(のようなもの)が使える
・bison(のようなもの)が使える


255:デフォルトの名無しさん
05/01/22 12:04:51
>>253
漏れもspiritは見切ったね。ありゃboost信者でもヤバイと思うもん。

256:デフォルトの名無しさん
05/01/22 12:07:55
でもbisonはC++のコードまともに吐けないからねえ。
グローバルに色々宣言しまくるから、なんか列挙子が他と被ってむかつく。

bison++は5年以上更新が無いし、bisonも一応オプションでC++のコード吐けるけど、
flexが吐くC++コードと連携できないんじゃ話にならないね。

257:デフォルトの名無しさん
05/01/22 12:09:17
GNUツールはお話にならないね。

258:デフォルトの名無しさん
05/01/22 12:09:32
bisonはいつの間にかGLR(1)すら吐けるようになってるし、
デストラクタまで自動化されてる。
日本にそういう資料無さ過ぎ。

259:デフォルトの名無しさん
05/01/22 12:10:19
>>257
吐いたコードはGPL適用外なんで

260:デフォルトの名無しさん
05/01/22 12:12:28
spiritはミニ言語のコンパイルに30分かかって5MB位の実行ファイル吐き出したワロス

261:デフォルトの名無しさん
05/01/22 12:12:52
日本人お話にならないね。

262:デフォルトの名無しさん
05/01/22 12:13:15
三国人よりマシだけどな

263:デフォルトの名無しさん
05/01/22 12:14:43
それがspiritクオリティ

264:デフォルトの名無しさん
05/01/22 12:17:42
てめーらどのコンパイラコンパイラなら満足なんだよ

265:デフォルトの名無しさん
05/01/22 12:20:22
bisonでいいや('A`)

266:デフォルトの名無しさん
05/01/22 12:25:10
ANTLRならC++コード吐けるぞ。使った事無いから誰か使って使い方教えてくれ。

267:デフォルトの名無しさん
05/01/22 12:28:57
ANTLRは左再帰駄目らしいぞ。spiritもそうだけど
文法考えるのに余計なストレスが増えて使ってられんな。
勝手に文法置き換えてくれたりはしないのかね?

268:デフォルトの名無しさん
05/01/22 12:30:36
bison最強論

269:デフォルトの名無しさん
05/01/22 12:33:03
てか紛らわしいからANTLLに改名しろよ(w

270:デフォルトの名無しさん
05/01/22 12:34:45
CCなんかなくてもコンパイラぐらい作れるっちゅうねん。

271:デフォルトの名無しさん
05/01/22 12:35:19
使った方が楽だ

272:デフォルトの名無しさん
05/01/22 12:35:59
禿同

273:デフォルトの名無しさん
05/01/22 12:38:48
てかANTLR使うくらいなら手書きでいくね?
テーブルも作らない単なる再帰下降らしいし。

274:デフォルトの名無しさん
05/01/22 12:39:51
もうCCの話飽きた。結局bison+flex最強って事でファイナルアンサー。

275:デフォルトの名無しさん
05/01/22 12:40:53
bisonはC++との親和性が…
クラスの実体渡せないのが…

276:デフォルトの名無しさん
05/01/22 12:41:40
↑バーカ実体毎回渡してたら重くて使ってられネーヨ。おとなしくポインタ渡しとけ。

277:デフォルトの名無しさん
05/01/22 12:43:15
解放するのマンドクセ

278:デフォルトの名無しさん
05/01/22 12:43:50
そこでBoehmですよ

279:デフォルトの名無しさん
05/01/22 12:54:14
bison用のC++ LALR skeletonらしいんだけど、使ったことある方いますか?

URLリンク(www.bj-ig.de)


280:デフォルトの名無しさん
05/01/22 12:57:53
てか標準で付いてるlalr1.ccとなんか違うのか?

281:デフォルトの名無しさん
05/01/22 13:03:49
Lexerが字句解析をしてる間にParserがブロッキングされないらしい…?
良く読んでないからワガンネ('A`)

282:デフォルトの名無しさん
05/01/22 14:06:44
いまのyacc/bisonだと、取りたいアクションが同じでも
還元の条件後とに、このように(↓)書かないと行けませんよね?

L1: R1 {
Action1();
}
| R2 {
Action1();
}

単純に考えて、

L1: R1
| R2 {
Action1();
}

見たいに書けない理由って何かありますか?


283:デフォルトの名無しさん
05/01/22 14:12:40
R1のときに何もしないという規則が書けない。
普通はルールをガーっと書いて文法がある程度できてることを確認してから
コードを入れていくし。


284:デフォルトの名無しさん
05/01/22 20:34:40
BNFってファイルとして持っていて、
それをコンパイル時に読み込むんですか?
それともただの設計図的なもの?

285:デフォルトの名無しさん
05/01/22 20:38:15
>>284 が何を言いたいのか
全然わからん。


286:デフォルトの名無しさん
05/01/22 20:44:28
>>284
はい。

287:デフォルトの名無しさん
05/01/22 20:46:51
>>286
     ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなわきゃーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |

288:デフォルトの名無しさん
05/01/22 20:48:12
>284
実行時に有限時間内に再構成可能なparserを読み込んで使えたら、君も人工知能の進化に貢献できる…とだけ伝えておこう。

289:デフォルトの名無しさん
05/01/22 20:48:29
>>287
いや、取り合えず返事しとこうかと。

290:デフォルトの名無しさん
05/01/22 21:01:20
>288
これを世界征服に使うかどうかは君たちの哲学次第。健闘を祈る。

291:282
05/01/22 22:07:24
>>283
R1の時に何もしないではなく、R1とR2に同じアクションを取らせたいのです。


292:デフォルトの名無しさん
05/01/22 23:50:53
>>282
yaccの書き方でそう決まってるだけ。
L1: R1 | R2 {A}

L1: R1 {A} | R2 {A}
に変換するプリプロセッサでも書け。

293:デフォルトの名無しさん
05/01/23 00:03:55
>>288
EarleyやCKY

294:デフォルトの名無しさん
05/01/23 00:12:25
>>292
LALR(1)か何かの制約だとおもてたよW


295:デフォルトの名無しさん
05/01/23 01:23:17
なんだ、ルールとアクションの区別もつかないアホだったんかよ。


296:デフォルトの名無しさん
05/01/23 02:02:44
>>285
お前馬鹿だろ?
コンパイラの前に母国語を何とかしたら?

297:デフォルトの名無しさん
05/01/23 02:22:23
6時間近く前の書き込みをよく煽れるな。
俺だったら恥ずかしくて絶対できねぇw

298:デフォルトの名無しさん
05/01/23 09:22:40
時間差攻撃というやつですね。

299:デフォルトの名無しさん
05/01/23 10:38:07
けなしはするが根拠は示さない、それが2chクオリティー


300:デフォルトの名無しさん
05/01/23 12:23:38
6時間前に対してのレスなんて全く普通だろ。

301:デフォルトの名無しさん
05/01/23 13:42:18
さすが、24時間張り付きは違うね

302:デフォルトの名無しさん
05/01/23 15:31:17
24時間張り付き即レスできるにもかかわらず敢えて数時間放置して焦らすのがここでのたしなみ。
もちろん、dat落ちギリギリで保守するなどといった、はしたない住人など存在しない。

303:デフォルトの名無しさん
05/01/23 15:56:22
URLリンク(www.fuka.info.waseda.ac.jp)

> SPathCC とは?
>
> Augmented BNF に従って記述された文法定義を用いて、文法定義に従って
> 文書の字句・構文解析を行う解析器(Parser)を生成する解析器生成系(Parser Generator)と、
> XPath に類似する構文経路表現 SPath(Syntax Path Language)を用いて構文木に対して
> 内容を伴う構造問合わせを実行可能な SPath 処理系の統一パッケージです。

見つけただけで、まったく使ったことない。

304:デフォルトの名無しさん
05/01/23 19:30:26
ちょっと戻るが、Cの関数(function)は、
関数でなくて機能として訳した方がよかったね。


305:デフォルトの名無しさん
05/01/23 19:37:35
引数取るんだから関数でいいじゃん

306:デフォルトの名無しさん
05/01/23 19:39:45
また馬鹿が舞い降りたか

307:デフォルトの名無しさん
05/01/23 19:41:41
戻り値voidでも関数?

308:デフォルトの名無しさん
05/01/23 19:42:40
>>304
あほなことを・・・

もし"function" を「機能」なんて訳したら、
それこそボコボコに叩かれるだろうが。

そんなことをした奴には、二度と翻訳の
仕事は廻ってこないだろう。
それどころか、頭脳労働の職に就けるか
どうかも怪しいね。


309:デフォルトの名無しさん
05/01/23 19:54:50
【@】ファンクション、【変化】《動》functions | functioning | functioned、【大学入試】
【名-1】機能、作用、働き
【名-2】関数
【名-3】儀式、社交的会合
【名-4】職務
【自動】機能する、働く

310:デフォルトの名無しさん
05/01/23 19:57:15
だから?

311:デフォルトの名無しさん
05/01/23 20:15:32
お前は池沼だなってことじゃないか?

312:デフォルトの名無しさん
05/01/23 20:19:26
わざわざ区別するためにfunctionality
なんて単語もある

313:デフォルトの名無しさん
05/01/24 21:44:00
りんご畑読んだ香具師いる?


314:デフォルトの名無しさん
05/01/24 21:46:39
文の定義も最新の言語では変わって来てるんだね。
勉強になった。(例:Ruby)



315:デフォルトの名無しさん
05/01/24 21:48:21
巣に帰れ
スレリンク(tech板)

316:デフォルトの名無しさん
05/01/24 21:59:24
りんご畑は読んでるうちにあほらしくなってきた

317:デフォルトの名無しさん
05/01/25 00:23:30
古い定義は新しい言語によって進化する。


318:デフォルトの名無しさん
05/01/25 21:17:47
りんご畑を例えに使うこと自体かなり苦しい感じだった。
初めてスクリプトだのに触る人には全然イメージ湧かなそう。

勉強には向かないわ、iアプリ向けなんかに書くからソースも読みづらいわでお勧めできない。

319:デフォルトの名無しさん
05/01/25 23:43:38
>>318
そうか?俺は結構面白かったけどな。といっても最後まではまだ読んでない。
例えがちょっと苦しいのは同感だが、女の子らしくって説明が可愛い。
夜中でも何か目が冴えて頭に入る感じw

まぁ、全体を初心者が見通すにはいいんでない?


320:デフォルトの名無しさん
05/01/26 22:25:15
この手の本で、女性がかいてるのって珍しくない?


321:デフォルトの名無しさん
05/01/26 22:25:44
朝菜タソは?

322:デフォルトの名無しさん
05/01/26 22:26:41
りんご畑ってどの本?

323:デフォルトの名無しさん
05/01/26 23:45:16
>>322
スモールコンパイラ、結構可愛い


324:デフォルトの名無しさん
05/01/27 23:20:15
>>321
だれそれ?


325:デフォルトの名無しさん
05/01/27 23:29:44
>>324
私です

326:デフォルトの名無しさん
05/01/27 23:58:54
そんなエサで俺様が(ry

327:デフォルトの名無しさん
05/01/28 17:17:20
クマー!

328:デフォルトの名無しさん
05/01/29 00:16:01
>>321
りんご畑のねーちゃんのこと?


329:デフォルトの名無しさん
05/01/29 23:24:43
再帰下向きって学習や研究にはいいけど、実用的なのかな?


330:デフォルトの名無しさん
05/01/29 23:27:49
ANTLRは再帰下向き

331:デフォルトの名無しさん
05/01/30 10:41:07
>>329
CFGから外れる処理を行いたい場合超有効。

332:デフォルトの名無しさん
05/01/30 13:05:09
本流は、再帰上向き


333:デフォルトの名無しさん
05/01/30 20:28:06
>>332
同意。特に実用的なプログラムでは、多少の例外を除いてまずそう。



334:デフォルトの名無しさん
05/01/30 20:41:16
手書き?

335:デフォルトの名無しさん
05/01/30 21:36:48
>>333
「再帰」上向きってどんなプログラムだよ

336:デフォルトの名無しさん
05/01/30 22:09:44
再帰下向きで解析できないような構文ってどんなのですか?

337:デフォルトの名無しさん
05/01/30 22:16:23
>>329
331ではないが、
新しい構文を追加するときに、
LALRの制限とかCFGの限界とかに縛られなくていいのは
ある意味実用的。

338:デフォルトの名無しさん
05/01/30 22:28:33
左再帰も出来ない時点でウンコ

339:デフォルトの名無しさん
05/01/31 04:50:48
>>1の内容とは無関係のシンタックスの話ばかりですね

340:デフォルトの名無しさん
05/01/31 06:36:05
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,
字句解析・構文解析から,

341:デフォルトの名無しさん
05/01/31 07:34:35
まぁ、2ちゃんねるっていう掲示板の型式で、この参加者のレベルで
盛りあがれるのは、せいぜい、字句解析・構文解析までってことだな。
そこら辺りまでなら、学部レベルの授業で皆なじみがあるし。

342:デフォルトの名無しさん
05/01/31 12:43:02
あくまで勉強として、独自スクリプトを作ってみたいんですが、
どういうアプローチで始めるのが良いでしょうか。
中間言語を生成するコンパイラと、実行用アプリケーションにわけようかと思っています。

なお、経験はJavaサーブレットを使ったシステム開発程度で、
文字列の解析はあまり経験がないです。数式程度。

343:デフォルトの名無しさん
05/01/31 12:45:00
っていうか、自分の研究分野のことを語り出すと身元ばれるし、誰も知らないような
有益な情報は匿名で出したらもったいないし。


344:デフォルトの名無しさん
05/01/31 13:00:46
プッ

345:デフォルトの名無しさん
05/01/31 13:04:37
>>344
オナラ禁止。

346:デフォルトの名無しさん
05/01/31 17:03:05
研究といえるほどの分野かよ
有益な情報とはなんだよ
知る人ぞ知るマイナー知識というだけで、難しい内容なんかあるかっちゅーの
処理系作る気ないならどっか行ってくれ
読んでいてクソも詰らん

347:デフォルトの名無しさん
05/01/31 18:20:46
>>342
綾本のサンプルをダウンロードしていじるとか
URLリンク(www.gihyo.co.jp)

348:デフォルトの名無しさん
05/01/31 20:39:21
>>346
実は、研究と言えるほどの分野だよ。
今もコンパイラに関する論文はかなり出てる。

349:デフォルトの名無しさん
05/01/31 21:05:55
(笑

350:デフォルトの名無しさん
05/01/31 21:39:40
>>346
面白い人ですね。芸人の方ですか?

351:デフォルトの名無しさん
05/01/31 21:42:25
>>346
処理系作るだけしか興味がないのか。
こんなところではまともな議論にはなるわけがない、というのは納得できるな。

…専門学校生かな?

352:デフォルトの名無しさん
05/01/31 21:53:12
>>351
ちょっとやればサルでも分る事を偉そうに語りまくるから、何だコイツと思ってるだけ、
それだけ。

353:デフォルトの名無しさん
05/01/31 21:57:00
>>342
なるほど、綾本というのはスレの頭にも載ってる本ですね。
amazon評価だと○動くサンプルコードが載ってる ×たとえがわかりにくい
とのことなので、パーサ初心者にはいいのかも。
店頭で探してみます。

354:デフォルトの名無しさん
05/01/31 22:01:08
>>352
ほう、サルでも解かることを一生懸命研究している人が滑稽だな。

355:デフォルトの名無しさん
05/01/31 22:05:19
(爆

356:デフォルトの名無しさん
05/01/31 22:05:48
偉そうなこと言うと、僻む奴が漏れなくセットでついてきますw

357:デフォルトの名無しさん
05/01/31 22:19:41
>>356
押売の断りかた:
要らないものは要らないとハッキリ言うこと。

358:デフォルトの名無しさん
05/01/31 22:29:17
妬みスレ

359:デフォルトの名無しさん
05/02/01 00:41:26
煽りと取られると心外だんだが、
言語系の技術って、そうめったに新しいものは出て来ていないよね。
論文にしても然り。

いろんなものは何時の時代にも出て繰るけど、
良いものは皆無。

ある意味、IT技術の窓際族かもw


360:359
05/02/01 00:42:02
すまん、最後の1行は無視してくれ。
(単なる煽りになる。)


361:デフォルトの名無しさん
05/02/01 00:49:02
>>359が何をもって新しいと認識するのかまるで解らないが、
少なくとも、まともな学会・会議や論文誌に掲載される全ての
論文に、必ず新規性がある。

>>359がその事実を否定できる程の人物である可能性は
限りなく低い。

362:sage
05/02/01 01:18:20
特定の規格やデータ仕様から別の規格へデータを変換するようなもんは
インタプリタででも作ったほうがさっさと作れるのだろうか。

363:デフォルトの名無しさん
05/02/01 01:32:53
>>359
ちなみに、どんな分野なら新しいものが出てるの?

364:デフォルトの名無しさん
05/02/01 13:25:02
>>362
俺は単純にデータ仕様を構造体にして、パース次第そこへ突っ込んで書き出すだけで、
インタプリタなんて考えた事も無いな。

365:デフォルトの名無しさん
05/02/01 19:50:55
チミ達はどういう目的でコンパイラの勉強をしてるの?
1、新しい言語を作って有名人になる為。
2、仕事でコンパイラを作ることがあるから。
3、ただの趣味・勉強。

366:デフォルトの名無しさん
05/02/01 20:11:40
トンでもない駄スレになってるな、ここ。
過去スレ読んだ方が勉強になる...

367:デフォルトの名無しさん
05/02/01 20:30:33
ここに限らずどこもそうだろ。

368:デフォルトの名無しさん
05/02/01 20:39:46
>>365
ゲーム屋さんなので演出家が使いやすい記述ができるスクリプトコンパイラとか作りますです。


369:デフォルトの名無しさん
05/02/01 20:42:08
HSPね

370:デフォルトの名無しさん
05/02/01 20:44:18
>>368
もう来なくて結構です。

371:365
05/02/01 21:01:35
なんか荒れる事言いましたかねぇ。


372:デフォルトの名無しさん
05/02/01 21:29:10
>>371
選択肢全てが厨房じみている。

373:デフォルトの名無しさん
05/02/01 21:32:17
HSP程度といっしょにされるとは悲しい物だな。

374:デフォルトの名無しさん
05/02/01 21:32:51
>>1に騙された…

375:デフォルトの名無しさん
05/02/02 00:38:29
>>370
(´・ω・`)

376:デフォルトの名無しさん
05/02/02 00:40:20
>>375
もう来なくて結構です。
と言ったはずですが?

377:370
05/02/02 00:42:58
>>376
なんだ、騙りまで出るのか。

378:デフォルトの名無しさん
05/02/02 00:46:22
ああ、一匹騙りが紛れ込んでるみたいだな。

379:デフォルトの名無しさん
05/02/02 00:48:19
>>372
他に選択肢がなにかあるか?

380:デフォルトの名無しさん
05/02/02 05:52:38
簡単なコンパイラ作るのは学習用途にはかなり良いと思うけどね
PC自体に対する理解も深まるし、アセンブリ言語の練習にもなるしな

新しい言語を作って有名になるのは・・その辺の奴には無理では・・・w

381:デフォルトの名無しさん
05/02/02 06:06:59
HSPでも普通の奴には無理。HSPの言語仕様はともかくとして、有名になっているということは、
馬鹿にしてる奴の想像以上に手間隙はかかってるし、有名になるためのツボをうまく
捕らえていたんだよな。
この程度なら誰でも出来るんなら、今頃HSPの代わりに、もっといいものが
有名になっているはず。

382:デフォルトの名無しさん
05/02/02 06:41:10
> 有名になるためのツボをうまく捕らえていたんだよな。

必要な機能を必要なだけしっかり実装していたってことだな。
勘違い言語オタクにはまあムリだろうね。

383:デフォルトの名無しさん
05/02/02 07:01:17
マルチメディア特化言語だから
そういう物作るのには向いているだろう

384:デフォルトの名無しさん
05/02/02 07:09:01
HSPが有名になったのは、他が軒並み敷居が高かったところに、
極端に低い敷居でフリーソフトとして参入したからだろ。
昔は、ただ窓が出したいだけなのに、GTKだの複雑なWindowsの仕組みだの
要求される知識が多すぎたからな。

あとは、マルチメディアで五感に訴えたところだな。
極端に低い敷居で窓やコントロールやグラフィックや音楽などを操れたら
嬉しくなって飛びつく奴は絶対多い。

385:デフォルトの名無しさん
05/02/02 08:07:01
HSPが出たころにgtkってあったの?

386:デフォルトの名無しさん
05/02/02 12:55:40
ゲーム業界って独自スクリプト言語とか
結構作ってそうな気がすんだが、
どうなんだろう。

387:デフォルトの名無しさん
05/02/02 13:05:36
>>386
ゲームはゲームでも、ノベルゲームとかの類の紙芝居的なものに多いよね。
そして、スクリプトをただ「作りたいだけ」。
既に作られたものがあり、それを利用すれば実現したい機能が実現できるにもかかわらず
使わないというのは愚かだね。
それに、紙芝居的なゲームならコンテンツが重要なのに、しょうもないプログラマが
しゃしゃり出てきて無駄な事に時間と金を費している。
まったく、ナンセンス、非効率。

388:デフォルトの名無しさん
05/02/02 17:22:46
何このスレ・・・・・・・?
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       // ___   \  ::::::::::::::|
  | |       |  |   |     U :::::::::::::|
  | |      .|U |   |      ::::::U::::|
  | |       | ├―-┤ U.....:::::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::

389:デフォルトの名無しさん
05/02/02 17:27:14
>>388
AAで誤魔化すな。
思うところがあるのなら、書く価値のあることだけを書け。

390:デフォルトの名無しさん
05/02/02 17:37:12
>>387
昨今は使ってない所が無いくらいじゃないか?
あらゆる分野のゲームについて。
しかも flex bison があれば作り捨て可能だぞ、
むしろ使いまわすだけの理由がなければ捨てたほうがいいかと。
特にオーサリング環境(開発ラインのネットワークの構成やDBの構成を含む)と
一体成型で作ったスクリプトの威力は絶大なんですがね。
そこらに転がっている単体動作のスクリプトエンジンとは一味違いますよ。


391:デフォルトの名無しさん
05/02/02 17:58:10
具体的にどのへんが威力絶大なのよ?

392:デフォルトの名無しさん
05/02/02 18:00:50
>>391
たとえば、コンパイル時に変更や依存関係を検出して、関係各位にメールを飛ばして注意喚起するとか。
たとえば、コンパイル時に必要なスクリプトから必要なデータを検出して、必要なサーバーからデータをダウンロードするとか。
その他色々

393:デフォルトの名無しさん
05/02/02 18:01:30
そのゲームに特化してるから効率的だし、
バグが出にくいからに決まってるだろハゲ

394:デフォルトの名無しさん
05/02/02 18:03:46
相変わらず低レベルなスレですね(わらい

395:デフォルトの名無しさん
05/02/02 18:06:02
あと、ゲームの開発も終盤になってから特殊な機能が必要になったり、
アドホックな仕様変更が必要になったりする。汎用的にしようなんて
考えてる時間が無いことも多いのよ。


396:デフォルトの名無しさん
05/02/02 18:06:48
汎用的な○○なんてただの神話だろ

397:デフォルトの名無しさん
05/02/02 18:10:36
でもそれくらいなら既存のスクリプト&ツールでも十分出来ると思うが…

398:デフォルトの名無しさん
05/02/02 18:16:38
効率悪いだろ

399:デフォルトの名無しさん
05/02/02 18:18:02
自作するほうが効率悪いだろ。

400:デフォルトの名無しさん
05/02/02 18:18:34
残念ですが、ここはゲーム用スクリプトの話をする場所ではないので、ゲ製板にお戻りください。

401:デフォルトの名無しさん
05/02/02 18:21:51
>>399
よっぽど小規模な開発しかやった事無いんだな

402:デフォルトの名無しさん
05/02/02 18:47:55
>>397
やってみなよ、その既存のスクリプトと同じものを作るかそれ以上の労力が必要だから。

403:デフォルトの名無しさん
05/02/02 19:03:53
実際に洋ゲーのFarCryとかLua使ってたりするのもあるけど。
具体例出してもらわんと本当に自作じゃないと解決できないのか
単に無能なだけなのかわからんよ。

404:デフォルトの名無しさん
05/02/02 19:16:00
自作したがり厨が煽ってるだけだろ。
スルーしろよ。

405:デフォルトの名無しさん
05/02/02 19:37:18
ほんと小規模な開発しかやった事無いんだな

406:デフォルトの名無しさん
05/02/02 19:44:01
相変わらず低レベルなスレですね(わらい

407:デフォルトの名無しさん
05/02/02 19:44:27
開発話も感想もここでは必要ありません。マ板にお帰りください。
さて、
「字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。」
の話でもしましょうか。

408:デフォルトの名無しさん
05/02/02 19:48:25
↑そうしたいなら藻前がなんか話振れよ

409:デフォルトの名無しさん
05/02/02 19:49:52
>>405
しょぼい自作スクリプト使わされる方の身にもなってくれよ…

410:デフォルトの名無しさん
05/02/02 19:52:11
むしろしょぼいから余計な機能を使う心配が無くて
余計なバグが産まれなくていいんだよ

411:デフォルトの名無しさん
05/02/02 19:52:43
カプセル化の基本だな

412:デフォルトの名無しさん
05/02/02 19:58:07
自作より汎用のほうがバグ少ないと思うけど

413:デフォルトの名無しさん
05/02/02 20:06:10
そう思うのは素人

414:デフォルトの名無しさん
05/02/02 20:16:00
↑他人が作ったものは使いこなせない素人

415:デフォルトの名無しさん
05/02/02 20:21:53
>>408
スレ違いのレスが付くより過疎った方がはるかにマシ。

416:デフォルトの名無しさん
05/02/02 20:22:37
>>414
自分で作れないからって僻んじゃだめですよー

417:デフォルトの名無しさん
05/02/02 20:29:41
ゲームはゲームでも、ノベルゲームとかの類の紙芝居的なものに多いよね。
そして、スクリプトをただ「作りたいだけ」。
既に作られたものがあり、それを利用すれば実現したい機能が実現できるにもかかわらず
使わないというのは愚かだね。
それに、紙芝居的なゲームならコンテンツが重要なのに、しょうもないプログラマが
しゃしゃり出てきて無駄な事に時間と金を費している。
まったく、ナンセンス、非効率。

418:デフォルトの名無しさん
05/02/02 20:30:36
開発話も感想もここでは必要ありません。マ板にお帰りください。
さて、
「字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。」
の話でもしましょうか。

419:デフォルトの名無しさん
05/02/02 20:31:49
>>416 はスクリプト作るのが難しいと思ってる素人

420:デフォルトの名無しさん
05/02/02 20:32:38
↑素人キタ━━━(゚∀゚)━━━!!

421:デフォルトの名無しさん
05/02/02 20:58:10
>>418
いや、需要があるならその辺の最適化ねたについて語りたいところだが、
たぶんスルーされるだけだろう。このスレの最初の方みたいに。

422:デフォルトの名無しさん
05/02/02 21:34:49
>>409
なんでフログラマがスクリプト使うんだよ(w
チーム編成のレベルでおかしなことになってないか、おまえん所。

423:デフォルトの名無しさん
05/02/02 21:44:26
おまえらいい加減マ板池

424:デフォルトの名無しさん
05/02/02 21:57:18
>>422
いやプログラマじゃないんだが。
Luaとかを使って欲しいというお願いは却下されました。
別に自作でもいいんだけどデバッグ環境とかもしっかり作って欲しい…

425:デフォルトの名無しさん
05/02/02 21:57:44
>>411
ちょっと気になった、カプセルによって文法削減や拡張はどうやってやるの?

426:デフォルトの名無しさん
05/02/02 22:03:29
>>424
>いやプログラマじゃないんだが。
うそコケバカグラマ

427:デフォルトの名無しさん
05/02/02 22:06:53
自分でもしょぼいってのは分かってるみたいね(w

428:デフォルトの名無しさん
05/02/02 22:16:56
日本だとエログラマが作った
しょぼい自作スクリプト使ってる所も多そうだな。

429:デフォルトの名無しさん
05/02/02 22:20:39
>>428
flex bison が使えるようになれば、それこそC++に匹敵する文法だって不可能ではなくなる。
C++のようにする必要は無いが、それを作ってプランナーに渡すと何が起こるか知らないだろ。
ヘッポコプログラマがC++を使うと酷い事になるよな、Javaを使うとある程度解決する。
レベルの違いこそあれ同じ事情が発生するのだよ、素人君。

430:デフォルトの名無しさん
05/02/02 22:26:19
ずいぶんしょぼいプランナーだな(w

431:デフォルトの名無しさん
05/02/02 22:36:06
そんなのはデバッグ環境さえしっかりしてれば問題ないでしょ。
まあできるだけ余計な機能は無いに越した事は無いけど。
というかわかっててシンプルにしてるなら煽りはスルーしてよ。

432:デフォルトの名無しさん
05/02/03 00:37:32
完璧というものは、何も追加するものが無くなった時ではなく、
何も取り去るものが無くなった時に達成できるものである

アントワーヌ・ド・サン=テグジュペリ

433:デフォルトの名無しさん
05/02/03 01:01:43
>アントワーヌ・ド・サン=テグジュペリ
誰?

434:デフォルトの名無しさん
05/02/03 01:27:20
>>433
本当にしらんのか? orz



435:デフォルトの名無しさん
05/02/03 01:30:29
>>432
時と場合による。

436:デフォルトの名無しさん
05/02/03 01:33:52
文系の奴が言うことなんか信じねー

437:デフォルトの名無しさん
05/02/03 01:48:22
文学と共にあれとは言わないが、もうちょっと親しんだ方が良いぞ。

つか、海外の文献って章の始めに結構文学作品の引用あるんだが
バカグラマーはなぜだか考えたことも無いんだろうね。


438:デフォルトの名無しさん
05/02/03 01:56:13
>>437
> つか、海外の文献って章の始めに結構文学作品の引用あるんだが
どうしてなの?

439:デフォルトの名無しさん
05/02/03 04:12:03
>>437
正直洒落か気取ってるだけだと思ってた。俺も知りたい。

440:デフォルトの名無しさん
05/02/03 04:25:57
>>439
気取ってるだけだろな。アメリカ人はかっここつけるの大好きだし。
しかし不思議の国のアリスみたいなので教養見せ付けてるつもりなのって
最高にダサくない?w

俺も自分の書く仕様書に東条英機の『戦陣訓』を引用しようかな。。。

441:デフォルトの名無しさん
05/02/03 04:52:34
今日は疲れた。また7時に起きなきゃ。おやすみ。

442:デフォルトの名無しさん
05/02/03 05:02:36
このスレ読むよりGCCのソースコード読む方がためになる

443:デフォルトの名無しさん
05/02/03 05:24:26
このスレの頭にある参考文献読んだほうがいいよ

444:デフォルトの名無しさん
05/02/04 00:02:14
文系といえば、りんご(ry


445:渡辺研 学生
05/02/06 08:23:31
>>7
tiny C コンパイラ (C)
URLリンク(www.watalab.cs.uec.ac.jp)

必要な人はバックアップを取っておいた方が良い。
渡辺教授の退官で今年度限りであぼーんかも。

446:デフォルトの名無しさん
05/02/06 12:37:09
本人来たー

447:デフォルトの名無しさん
05/02/07 06:52:55
本人と言うか学生だろ。

448:デフォルトの名無しさん
05/02/07 07:39:28
いくらなんでも本人、こんな糞スレみないだろ・・・

449:デフォルトの名無しさん
05/02/07 09:06:13
それを突っ込んじゃ・・w

450:デフォルトの名無しさん
05/02/07 17:15:11
捕捉完了

451:デフォルトの名無しさん
05/02/07 19:45:38
volatile厨に認定して貰えるスレはここですか?

452:デフォルトの名無しさん
05/02/07 19:52:11
退官って言うんだから、65歳だろ。
老研究者がこのスレ見て「あぼーんかも」とか
書いてるわけか?w

453:デフォルトの名無しさん
05/02/07 19:53:40
>>452
そりゃ2ちゃんねらなら書くだろう。

454:デフォルトの名無しさん
05/02/07 19:57:23
>>453
2ちゃんねらな老人か。カコイイなw

ここはベテラン研究者が集うレベルの高いインターネッツですねw

455:デフォルトの名無しさん
05/02/07 20:09:59
>>454
普通にいるって。そういう素振りを見せないだけ。実際知っているし。

456:デフォルトの名無しさん
05/02/07 20:16:38
>>455
俺も知ってる、結構お年寄りの人もいるよね。


457:デフォルトの名無しさん
05/02/07 20:24:32
2ちゃんねるが盛り上がるダイナミズム, 情報処理学会論文誌, Vol.45, No.3, pp.1053-1061(2004)

458:デフォルトの名無しさん
05/02/07 20:26:59
ていうか、老人はともかく、研究者が書き込むような内容じゃないだろ・・・・
このスレ。

459:デフォルトの名無しさん
05/02/07 20:28:41
>>458
分かってないな。
2ちゃんねるで暴れてストレス解消に決まってるでしょ。

460:デフォルトの名無しさん
05/02/07 20:36:11
>>457
そんなものが出ていたなんて知らなかった…

461:デフォルトの名無しさん
05/02/07 21:21:21
>>457
リンク先公開きぼん

462:デフォルトの名無しさん
05/02/07 22:09:58
>>457ではないが…
URLリンク(www.ipsj.or.jp)

463:デフォルトの名無しさん
05/02/07 22:38:07
>>459 それはお前以下少数派だ

464:デフォルトの名無しさん
05/02/08 01:12:40
>>462
誰も止めなかったのがすごい

465:デフォルトの名無しさん
05/02/08 01:37:26
URLリンク(www2.econ.osaka-u.ac.jp)
こいつだ。研究業績にそれのpdfもあるよ。
統計は専門外なんでどの程度まじめな研究なのか判断できないけど。








ってスレ違いだった。

466:デフォルトの名無しさん
05/02/08 01:42:38
>>465
うわ、なんでトップにAAが…
この人ちゃねらだ。

467:デフォルトの名無しさん
05/02/08 05:46:04
なんだよこのスレ、今どきねらー発見して喜ぶ素人ばっかかよ・・・

468:デフォルトの名無しさん
05/02/08 06:07:08
>>467
いや、キモい。

469:デフォルトの名無しさん
05/02/08 07:03:37
ていうか、こいつの場合、突っ込むところが違うだろ・・・
2chどころの騒ぎではなく、2chの研究してるところに突っ込めよ・・・・


470:デフォルトの名無しさん
05/02/08 23:51:29
2chの研究したらいかんの?
例に挙がってるのがどんな研究かは見てないけど
面白い題材だと思うけど。

471:デフォルトの名無しさん
05/02/09 00:10:25
>>470
論文誌の一番最後の項だった。日陰っぽいのは2chらしくてよろしい。

472:デフォルトの名無しさん
05/02/09 08:50:14
>>469
どの辺が突っ込み所なの?

473:デフォルトの名無しさん
05/02/11 12:29:33
人減ったね

474:デフォルトの名無しさん
05/02/11 22:27:03
>>473
卒論・修論終わって現実逃避しなくてよくなったから。

475:デフォルトの名無しさん
05/02/12 01:23:13
>>474 それなら、来年の卒論へ向けてネタを練るかね?

476:デフォルトの名無しさん
05/02/12 01:35:23
結局コンパイラを作るのに適した言語ってどれになりますかね?

477:デフォルトの名無しさん
05/02/12 01:42:17
>>476
なんだっていいよ。そんなことはここでは議論にはならない。

478:デフォルトの名無しさん
05/02/12 06:27:58
>>476
作る言語自身

479:デフォルトの名無しさん
05/02/12 06:39:59
たとえばコンパイラなら自己記述可能って事だよな?>>478


480:デフォルトの名無しさん
05/02/12 15:21:53
>>479
自己記述するにはコンパイラが必要なので
それができるまでどの言語でコンパイラを作るかだ

481:デフォルトの名無しさん
05/02/12 15:28:02
適当な言語Xを作る。Xはインタプリタでよい。

XでXのコンパイラX_compを書く。

X_compをX_compでコンパイルする。

Xのネイティブコンパイラ完成。

482:デフォルトの名無しさん
05/02/12 15:36:36
>476
字句解析、リスト処理、ファイル入出力などが手軽にできればとりあえずスクリプト言語でもいい。
性能を求めるなら部分的にC/C++で書け。何か問題でもあったのか?

483:デフォルトの名無しさん
05/02/12 15:58:40
ニューラルネットは一定のパターン認識に便利だが、パターンが変わると誤認識だらけのLDのような症状を著しく示すことに留意する。
低次の入力インタフェースから流れる信号からパターンを検出した際に発生した例外処理は低次の処理を中断することなく、結果を高次のインタフェース群に振り分けて渡すことにする。

484:デフォルトの名無しさん
05/02/12 16:02:27
誤爆?

485:デフォルトの名無しさん
05/02/12 17:06:31
言語Xのコードをコンパイルする命令"compile"を持つ言語X。

486:デフォルトの名無しさん
05/02/12 20:20:21
……?

てことは、一番のCコンパイラはアセンブラで書かれてたりしたのか?

487:デフォルトの名無しさん
05/02/12 20:22:47
その前にアセンブラをマシン語直打ちで書かなければなりませんw

488:デフォルトの名無しさん
05/02/12 20:32:09
>>486
ハンドコンパイルだったと思う

489:デフォルトの名無しさん
05/02/13 21:00:03
>>481
実はインタープリタを書くだけでよい。

くわしくは
二村射影(futamura projection)・部分評価(partial evaluation)


490:デフォルトの名無しさん
05/02/13 21:13:32
詳しそうな人が。
ご存知でしたら教えて欲しいのですが、"offline" partial evaluationの
(onlineに対する)画期性はどういうところだったんでしょう?

491:デフォルトの名無しさん
05/02/13 21:13:43
>>489
それは言いすぎじゃね?

492:デフォルトの名無しさん
05/02/14 11:37:36
コンパイラについて深く学びたかったら
どこの大学院がもっとも進んでいるのでしょうか
ちなみにコンパイラについては全くの素人(本でかじったぐらい)
です


493:デフォルトの名無しさん
05/02/14 11:59:37
>>492
その程度でどうやって研究計画書書くの?

494:デフォルトの名無しさん
05/02/14 13:26:27
計画書段階じゃ、そんなもんだろ。
本でかじった以上の事は研究しないと無理だよ。
この分野は中間点が無さ過ぎる。

495:デフォルトの名無しさん
05/02/14 14:05:43
インタプリタを作ればいいなんて詭弁を弄してるのがいるが
どの言語でそのインタプリタを作るのかが問題なんだよ

496:デフォルトの名無しさん
05/02/14 14:19:46
いや、これから研究するテーマを書くのに、本読んだだけっていうとほとんど知識が
ないのと一緒。
最近はどんな研究がよくされているのか、とか、注目されているのはどんなことなのか
という事も知らなくてはいけない。

497:デフォルトの名無しさん
05/02/14 15:11:47
んなもん適当に論文のabstract読めばいいだけ

498:デフォルトの名無しさん
05/02/14 15:42:41
>>492
学部3年ぐらい?
図書館行って
「情報処理学会論文誌 プログラミング」
という本を探す。
その中から興味をもてそうな研究を選ぶ。
著者のうち、
肩書きが大学の教授とか助手とかになってる人をピックアップ。
その人が著者になってる論文を見て(googleとかで探す)、
興味がもてそうなものが多ければ、
その人の研究室で決まり。
入院試験受ける前に
受かったら研究室に入れてくれるようにネゴっておこうね。

499:デフォルトの名無しさん
05/02/14 17:00:49
>>495
速度重視ならC/C++だろうし、
実装で楽したいなら、
パーサジェネレータから決めるとか。
デザインパターンのインタプリタ・パターンを使うなら、
作りたい言語と同じ制御構造をもったものを選ぶ方がよい。
例外やtry~finallyとか。

500:デフォルトの名無しさん
05/02/14 19:08:25
LISPの処理系について教えてください。

LISPの文法のBNFを探しているのですが、見つかりません。
LISPのBNF定義が載っている、本またはWebページがありましたら、教えてください。

よろしくお願いします。


501:デフォルトの名無しさん
05/02/14 19:35:38
Aho

502:デフォルトの名無しさん
05/02/14 20:00:50
>>500
ググったら一番上に出てきたけど

503:デフォルトの名無しさん
05/02/14 20:10:48
>500
"common lisp" (syntax OR parser OR source)でGoogle検索。

504:500
05/02/14 21:54:00
>>502-503

ご教示ありがとうございます。
Googleの結果を開けて回ったところ、日本Lispユーザ会というところに出ました。
このなかにANSIの規格書へのリンクがあったので、こちらを探してみることにします。


505:デフォルトの名無しさん
05/02/14 22:13:11
>>504
"lisp bnf"でウェブ全体から検索にして検索してみ

506:500
05/02/14 22:44:22
>>505

「The BNF Web」の「BNF Index of LISP」というページが一番に出てきました。
結構簡単な文法なんですね。これなら、すぐBISONに書き込めそうです。
お手数をおかけしました。


507:デフォルトの名無しさん
05/02/14 23:14:42
>>501
アホなのかエイホなのか

508:デフォルトの名無しさん
05/02/15 00:17:58
>>506
lispにbisonはoverkillじゃないだろうか。

要は(read)を書くだけでしょ?


509:デフォルトの名無しさん
05/02/15 01:55:44
>>508
魚雷廷沈めるのに大陸間弾道弾使う見たいなもんじゃねぇの?


510:デフォルトの名無しさん
05/02/15 06:00:58
>>499
やっと>>476に対する適切なレスがw

511:デフォルトの名無しさん
05/02/15 10:43:04
>>798
ドクターはともかく、マスターではネゴっただけで希望の研究室に入れるとは……


512:デフォルトの名無しさん
05/02/15 11:59:31
>やっと>>476に対する適切なレスがw
おぃおぃ・・・・
まっいいか。

513:デフォルトの名無しさん
05/02/15 13:15:44
コンパイラ屋さんとOS屋さんって完全に分業されてるの?
っていうかOS屋さんの存在自体がもう消滅してるか。

514:デフォルトの名無しさん
05/02/15 13:35:31
>>513
OSってまさかWindowsみたいなものを想像しているわけ?

515:デフォルトの名無しさん
05/02/15 20:27:58
>>490
ごめん、PEは専門じゃないので…
ここより関数型言語スレの方が詳しい人多いかも。



516:デフォルトの名無しさん
05/02/15 22:51:21
489 名前:デフォルトの名無しさん[sage] 投稿日:05/02/13 21:00:03
>>481
実はインタープリタを書くだけでよい。

くわしくは
二村射影(futamura projection)・部分評価(partial evaluation)

515 名前:デフォルトの名無しさん[sage] 投稿日:05/02/15 20:27:58
>>490
ごめん、PEは専門じゃないので…



PEのことを知らずに書いてたのかよ!

517:デフォルトの名無しさん
05/02/16 05:48:52
>>514
いやもうOSに目新しい技術もないし、実装でもだいたい
メジャーどころが決まってるような感じに思ってたけど。
組み込みにLinuxやNetBSDに手を入れて使うようじゃ、
マイナーなOS屋さんのやること、もうないじゃん。

518:デフォルトの名無しさん
05/02/16 16:06:41
>>513はあの比喩で何が言いたかったんだろ。

519:デフォルトの名無しさん
05/02/16 16:07:12
ああ間違えた。>>514だ。

520:デフォルトの名無しさん
05/02/16 16:23:51
このスレのレベルの低さの件について

521:デフォルトの名無しさん
05/02/16 23:48:53
↑レベルの高いレスの見本

522:デフォルトの名無しさん
05/02/19 13:16:42
言語屋は、収入も低(ry


523:デフォルトの名無しさん
05/02/19 13:27:36
高くは無いが低くも無いぞ

524:デフォルトの名無しさん
05/02/19 23:26:23
Perlみたいな複雑怪奇な言語でもLALR(1)文法で解析可能でしょうか?

525:デフォルトの名無しさん
05/02/20 00:36:17
文法はそこまで複雑じゃないだろ。

526:デフォルトの名無しさん
05/02/20 06:01:34
>>524
Perlはどうか知らんけど、一般に
へんてこな言語は字句解析器と構文解析器が
仲良くして構文解析をするんだよ。

そして…フラグの洪水に溺れるんだ…

527:デフォルトの名無しさん
05/02/20 19:58:56
>>526
すんません。最後の1行が分かりません。
どういうことですか?


528:デフォルトの名無しさん
05/02/20 20:19:32
文脈依存の文法を作るとかそういう話じゃないかな?

529:デフォルトの名無しさん
05/02/20 21:03:20
字句解析や構文解析ではジェネレータがコードを
自動で生成してくれるからいいけれど、
それ以降の部分は >>526 が手がけなければならないので、
その結果フラグの洪水となる、という話だと思う。


530:デフォルトの名無しさん
05/02/20 21:21:03
>>528 が正しいと思うが。要するにそういう文法を書くためには
レクサとパーサで状態を渡さないといけないのでフラグをさわりまくりになる。



531:デフォルトの名無しさん
05/02/20 21:22:36
>>529
「それ以降」じゃなくて、構文解析中の話じゃない?
構文解析の経過に応じて字句解析の動作を変えないといけなくて、
経過がどうだったかを大量のフラグで管理しとかないといけない、
みたいな。
字句解析で先読みをどんどんやらせて、
それによって構文解析の動作を変えたいなんてのもあるかな。

532: デフォルトの名無しさん
05/02/21 22:00:42 3Wu8+w1Z BE:46662645-
 初めまして.皆さんのお力を貸していただけませんか?現在独学で, 「スモールコンパイラの制作で学ぶプログラムのしくみ」を用いて勉強しているのですが, コンパイラの拡張として,
 ( 1 )関数の引数として 1 次元配列を渡せるように機能拡張する.渡し方は C言語の方法に習い, すなわち, 配列の要素全体のコピーを渡すのではなく, 配列の先頭の番地を渡す.

 ( 2 )変数の「参照渡し」を実現する.「参照渡し」つまり, 変数を関数の実引数にしたとき, 変数の中身ではなく変数自体の番地を渡すことにより, 呼び出された関数の中から呼び出し元の変数の内容を更新できるようにする.

 という 2 つの機能を追加させることを考えているのですが記述方法が解らず悩んでいます.解りましたらアドバイスをお願いいたします.


533:デフォルトの名無しさん
05/02/21 22:06:37
せっかくだから著者にラブレ^H^H^Hお手紙を出して聞いてみるのがいいかもw


534:デフォルトの名無しさん
05/02/21 23:23:25 BE:146986079-

 すみません!! > 532 に付け足しで, コンパイラのソースコードは,

URLリンク(book.gihyo.co.jp) からダウンロードできるようになっております.

 この本を読んだことがない方でも,
上記 2 問に対する拡張方法のプログラムが解る方からの返信もお待ちしております

535:デフォルトの名無しさん
05/02/21 23:45:20
フラグの洪水の件だが、今の言語は(一部の単純なやつを除き)、
みなそうなる傾向にあるのではないかな?

逆にいうと、(ちょっと飛躍しすぎかも知れんが)レクサとパーサ
による解決方法自体が、やや時代遅れになりつつあるのかも。


536:デフォルトの名無しさん
05/02/22 00:00:01
そろそろDCGやgraph grammerの時代になるのか。
ところで今の言語で、パースの難しい構文(の組み合わせ)って例えば何だろう?

537:デフォルトの名無しさん
05/02/22 00:18:59
Ruby!!!!!!!!!!

538:デフォルトの名無しさん
05/02/22 01:36:41
>>537 フラグの洪水でにっちもさっちもいかなくなってる言語の一つだね。


539:デフォルトの名無しさん
05/02/22 09:57:08
>>532
整数型を引数に取る関数と
文字列型を引数に取る関数は実装されてるみたいだから、
そこから類推して配列型を引数に取るものを追加すればいい。
function()とfactor()中の関数呼び出しを実行してる箇所を
取っ掛かりにハック。
(2)は(1)ができてからにしろ。

540:デフォルトの名無しさん
05/02/22 10:03:03
>>535
むしろ最近の言語の方が使用するケースは少ないかと
文脈依存なしでも必要十分な程度の複雑な文法は作れる


541:デフォルトの名無しさん
05/02/22 10:07:07
>>540
C#とJava以外になんかある?

542:デフォルトの名無しさん
05/02/22 11:43:57
>>541
ラベル名に語彙の種別をつける様な文脈依存はあるが、
フラグを引っ掻き回すのは行単位でパースしていた時代の物でもない限りもう無いと思うが……


543:デフォルトの名無しさん
05/02/22 12:11:56
Rubyは行指向言語

544:デフォルトの名無しさん
05/02/22 19:04:44
現存している言語のなかではfortranのパースが一番難しそうな気がする。

545:デフォルトの名無しさん
05/02/22 20:39:50
ナニ言ってんだ。
一番はる、Ru、る、


















C++

546:デフォルトの名無しさん
05/02/23 16:12:02
>>545 んな訳ねぇだよ

547:デフォルトの名無しさん
05/02/23 18:15:11
むしろ現存している実用言語で
教科書的な字句解析・構文解析が通用するような言語ってどのくらいある?
Pascal…は簡単なんだっけ。

548:デフォルトの名無しさん
05/02/23 18:21:09
> 教科書的な
関係ないだろ。文法のクラスの問題。



549:デフォルトの名無しさん
05/02/23 18:46:44
>>548
教科書的なクラス(=LR(1)?)で収まる言語を聞いてるんだと思うが。

>>547
とりあえずCはダメだね。
typedefされた識別子は、lexerで識別子じゃなく型名かなんかにしないといけないから。
JavaもLR(1)では無理だった気が。

550:デフォルトの名無しさん
05/02/23 18:49:55
プログラミング言語の専門家が作った言語は大概シンプルな
文法クラスに納まっている希ガス。

551:デフォルトの名無しさん
05/02/23 21:27:11
>>549
>とりあえずCはダメだね。
それをそのクラスに入れるために、スキャナなんてな物を考えるのであって
>教科書的な字句解析・構文解析
という点について考えたら、その回答はギャグとしか思えないのだが……

552:デフォルトの名無しさん
05/02/23 22:33:05
Cはtypedef以外にもキャスト式とか、sizeofの中身とか
一意にならない場合があるけど


553:デフォルトの名無しさん
05/02/23 22:42:52
そういや、VCとかに導入されてる__cdeclとか__stdcallって装飾子どこに掛かってるの?
関数のポインタに掛かってる?
それとも関数自身?



__stdcall f() {
}

という書き方もできるということは関数に掛かってるんだろうけど、
関数ポインタの場合の装飾子の位置が謎。

(*(int (__stdcall *)())g)() = (int (__stdcall *)())f;


554:デフォルトの名無しさん
05/02/23 22:42:58
>>550
そして、大抵実用的でない言語のような気がするw


555:デフォルトの名無しさん
05/02/23 22:47:54
すまん、こうだった。

int (__stdcall *g)() = (int (__stdcall *)())f;

パースする側から見ると凄い変な気がする。
()からずいぶん離れているのに__stdcallは関数に掛かるという。

556:549
05/02/23 23:16:39
>>551
ごめん。なに言ってるかマジわかんない。
「C言語は教科書的」って言ってるの?

C言語では
「(a)+b」は
typedef a されてればキャストだし
そうでなければ足し算ってのは知ってる?

557:デフォルトの名無しさん
05/02/23 23:28:02
>>556
Cに単項の+演算子なんてあったっけ?
-ならわかるけど。

558:デフォルトの名無しさん
05/02/23 23:34:01
あるだろ。
つうか、-でもいい話じゃないのか?

559:デフォルトの名無しさん
05/02/23 23:40:24
int const extern * p;

「int const*」がひとまとまり。
externはpにかかる。

560:デフォルトの名無しさん
05/02/23 23:49:28
>>556
もちろん知っている
bisonの教科書100回よめ、実装なんか簡単だ

561:547
05/02/23 23:57:27
えと、あまり深く考えずに「教科書的」とか言っちゃったんだけど……。

字句解析と構文解析がなかよくしてフラグの洪水とか、
bisonがどういうオートマトン出力するか気にしながらトリッキーなコード書くとか
そういうことしなくてもパースできる、みたいな?
LALR(1)の教科書数回読んだだけで解析器作れるようなのを意図してました。

とりあえずCはダメという認識でいいと思います。

562:デフォルトの名無しさん
05/02/23 23:59:42
>>561
机上の空論ばかりやってるからそうなるんだよ、
実践してみろ、どうってことはないし、トリッキーでもないし
ましてやオートマトンなんか考える必要もない

563:549
05/02/24 09:24:27
>>560
bisonの教科書に載ってるって言いたかったのね。
やっと分かったよ。

564:デフォルトの名無しさん
05/02/24 10:37:59
bisonとかそういう物以前に処理系作る人間にとっては初歩中の初歩かと

565:デフォルトの名無しさん
05/02/24 14:46:58
(゚∀゚)ラヴィ!!

566:デフォルトの名無しさん
05/02/24 19:54:16
>>561
lisp。実用言語だ。汎用ではないが。

567:デフォルトの名無しさん
05/02/24 21:34:13
>>566
実用性のない言語の典型例だなw


568:デフォルトの名無しさん
05/02/24 21:36:13
「なでしこ」のような言語をもし、lex/yacc でやるとしたら、
多量の yacc ルールが必要ですかね?


569:デフォルトの名無しさん
05/02/24 21:43:23
なでしこ知らないけど、
ああいうのはlex(相当)の方が難しいんじゃないかな。
分かち書きを強制とかしない限り。

570:デフォルトの名無しさん
05/02/24 23:56:05
>>567
実用性がある言語の典型だろ。

571:デフォルトの名無しさん
05/02/25 00:39:39
>>567
できない奴の典型だな。

572:デフォルトの名無しさん
05/02/25 00:40:04
自作じぇん

573:デフォルトの名無しさん
05/02/25 00:43:01
lispに実用性がないってどんだけ世界狭いに住んでるんだろう・・・。
schemeならまだ説得力があったがな。

574:デフォルトの名無しさん
05/02/25 00:47:34
嫌LISP厨が一人粘着してるだけです
ろくな反論もできない書き込みでわかります

575:デフォルトの名無しさん
05/02/25 03:07:15
Rubyが一番。

576:デフォルトの名無しさん
05/02/25 05:21:01
schemeもライブラリや処理系がないのが実用的に問題なだけで、
言語仕様としては良い。

577:デフォルトの名無しさん
05/02/25 05:21:56
Rubyが新湯ryてんで一番素晴らし魏、

578:デフォルトの名無しさん
05/02/25 15:00:25
>>569
識別子をちょっと凝って切り出すだけでしょ?(lex)
圧倒的に文法規則の方が難しいと思われるが?


579:デフォルトの名無しさん
05/02/26 00:22:58
字句解析と構文解析の難しさを単純に比べるなんてできないと思われるが?
やることちがうんだし。

しかしなでしこの構文ってそんなに複雑なんかね。
((式 助詞)* 動詞 句読点)* 程度かと思ってた。

580:デフォルトの名無しさん
05/02/26 10:41:59
XmlShemaの構文解析をしたいのですが、ハードの都合(200kしかメモリ占有不可)
上yaccすら乗せるのがきついため、XMLの字句解析から初めて構文解析を
しようと思うのですがyacc等使わない場合皆さんはどのようなスタイルで
書き始めますか?yacc漬けになっていて、スクラッチで字句解析構文解析
どうしようかすげー悩んでます。

581:デフォルトの名無しさん
05/02/26 11:00:36
昔は32kROM+32kRAMまたはそれ以下でBASICがエディタ付きで動いてたんだ
贅沢いっちゃいかん

582:デフォルトの名無しさん
05/02/26 13:25:44
XMLにyaccか、
なんとも不思議な使い方だね……
俺だったらスキャナは使ってもパーサは使わないな

ま、それはともかくフルスクラッチすればいいんじゃない、
速度さえ気にしなければXMLのパースは簡単だし、考える事なんか無いし。

583:Rubyist!
05/02/26 18:04:39
フルスクラッチって何ですかpu

584:デフォルトの名無しさん
05/02/26 18:10:13
フルチンみたいなものです

585:デフォルトの名無しさん
05/02/26 19:26:01
無の状態から全てを作り上げるフルスクラッチビルド
URLリンク(www5f.biglobe.ne.jp)


586:デフォルトの名無しさん
05/02/27 00:34:22
りんご農園でも、日本語の変数名が扱えるYO。


587:デフォルトの名無しさん
05/02/27 19:49:20
実際の所、最適化のほうがはるかに難しいと思われ。


588:デフォルトの名無しさん
05/02/27 20:11:02
>>587
その通り。

589:デフォルトの名無しさん
05/02/27 21:21:34
perlでさえインライン展開ぐらいやるよ

590:デフォルトの名無しさん
05/02/28 00:22:39
どのレスがどのレスに対する反応なのか、さっぱりわからんのは俺だけか?

591:デフォルトの名無しさん
05/02/28 01:03:32
藻前だけ

592:デフォルトの名無しさん
05/02/28 23:08:34
>>588
同意


593:デフォルトの名無しさん
05/03/01 10:29:26
>>590
今に始まったことじゃない。

594:デフォルトの名無しさん
05/03/01 13:55:33
中田センセイ (´・ω・`)

595:デフォルトの名無しさん
05/03/01 22:31:34
りんこのねーちゃんの本には、ケータイ画面の写真みたいたのがあったけど
(ry


596:デフォルトの名無しさん
05/03/01 23:06:22
>>595
いくらなんでもそれは略しすぎだろう

597:デフォルトの名無しさん
05/03/02 02:53:21
りn(ry

598:595
05/03/02 22:15:54
…あれって、ねーちゃんの携帯かなぁ?


599:デフォルトの名無しさん
05/03/02 22:29:04
あほきたー

600:デフォルトの名無しさん
05/03/03 12:24:26
モレモナー

601:デフォルトの名無しさん
05/03/03 14:45:44
>>600
おまえもかよ!

602:598
05/03/03 21:35:10
>>599
お前が一番の(ry


603:デフォルトの名無しさん
05/03/03 21:44:13
>>583->>602
この辺あぼーんしました。

604:デフォルトの名無しさん
05/03/03 21:50:40
>>583->>603
この辺あぼーんしました。


605:デフォルトの名無しさん
05/03/04 18:57:57
今日、電車乗ってたら、前にキモオタが二人乗ってきた。

なんか一人がデカイ声で「貴様は~~~!!だから2ちゃんねるで馬鹿に
されるというのだ~~~!!この~~~!」
ともう片方の首を絞めました。
絞められた方は「ぐええぇーー!悪霊退散悪霊退散!!」と十字を切っていた。
割と絞められているらしく、顔がドンドンピンクになっていった。

渋谷でもう一人、仲間らしい奴が乗り込んできてその二人に声をかけた。
「お!忍者キッドさんとレオンさん!奇遇ですね!」 「おお!そういう君は****(聞き取れず。何かキュンポぽい名前)ではないか!
 敬礼!」
「敬礼!出た!敬礼出た!得意技!敬礼出た!敬礼!これ!敬礼出たよ~~!」
俺は限界だと思った。

606:マイク ◆yrBrqfF1Ew
05/03/04 19:19:52
限界も何も君の友達じゃないのか。

607:デフォルトの名無しさん
05/03/04 21:19:26
おまいら、しっかりしろ!スレ違いも甚だしいぞ!
もう一度>>1のテンプレ貼っておくぞ!


プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。

608:デフォルトの名無しさん
05/03/05 13:50:23
やこしい内容にするからかえってチョッカイ出しただけの困ったちゃんが湧いてくるような気がする。
次スレはシンプルに初代の1の内容
「yaccやlexの使い方やら言語仕様やらの話題。 」
に戻すかね、周辺の話題はスレの流れで勝手に入ってくるに任せる感じで。

609:デフォルトの名無しさん
05/03/05 14:21:35
サンデープログラマが初めて勉強するべきコンパイラコンパイラは何かについて
英語とOOP はアリ

610:デフォルトの名無しさん
05/03/05 14:25:38
↑日本語でおながいします

611:デフォルトの名無しさん
05/03/05 19:26:03
オブジェクト指向プログラミング(OOP: Object Oriented Programming)

612:デフォルトの名無しさん
05/03/05 19:29:45
>>610
諦めろ。>>609は日本語を理解してないぞ。


613:デフォルトの名無しさん
05/03/05 23:28:51
LISP と OOP 程、やくにたたんものはない。


614:デフォルトの名無しさん
05/03/05 23:37:14
と、世間で役立たずの613は語った。

615:デフォルトの名無しさん
05/03/07 10:04:09
>>608
構文解析およびyacc,lexx のスレ と
>>1の内容みたいなスレを分けた方がいいんじゃないの?

616:デフォルトの名無しさん
05/03/07 10:09:19
わけるほどのモノじゃねえよ

617:デフォルトの名無しさん
05/03/07 10:36:04
>>616
最適化の話は一つ一つが長くなるとは思うが今まで一度も出てきてない気がするの俺だけ?


618:デフォルトの名無しさん
05/03/07 11:05:53
出てきてから考えれば?

619:デフォルトの名無しさん
05/03/07 12:43:32
>>615
被りまくりの上に、それほどの話題は存在しない、そんな必要はない
ただでさえ人口が少ない上、部外者だらけのこのスレをこれ以上薄めてどうする。

620:デフォルトの名無しさん
05/03/07 13:48:33
インライン展開の話がしたい

621:デフォルトの名無しさん
05/03/07 22:53:01
>>620
インライン展開の話をすることを許可する。

さぁ、存分にやりたまえ。

622:デフォルトの名無しさん
05/03/07 23:17:52
>>620
インライン展開ってさ、キャッシュの容量が小さすぎるCPUで泣いたことない?

組み込み系やってないとわからないかもしれん(つかイマドキのPCってすごすぎ)

623:デフォルトの名無しさん
05/03/08 11:06:18
>>620
どうぞどうぞ、ガンガン書いちゃって下さい

624:デフォルトの名無しさん
05/03/08 15:14:38
俺は彼女の陰ラインを展開し
その淫乱な姿に欲情した
こんなに濡れてるよ体は正直だね(ry

625:デフォルトの名無しさん
05/03/08 20:06:10
ロバート・A・はインライン展開した幼年期の終夏への扉

     ・A・ イクナイ

626:デフォルトの名無しさん
05/03/09 23:48:53
りんご展開


627:デフォルトの名無しさん
05/03/10 00:22:07
インライン展開の話に戻しますが、
単純に展開しただけでは、

inline f(int x) { return x; }
g(int y) { return f(y) + f(y); }

↓展開

g(y) {
 int x1 = y; // f(y)
 int x1r = x1; // return x
 int x2 = y; // f(y)
 int x2r = x2; // return x
 return x1r + x2r;
}

こんな感じになって変数がいくつも必要になる気がします。
上の展開結果から
g(y) {
 return y + y;
}
を導き出すには、フロー解析しないとダメでしょうか?
または別に何か簡単な方法があるでしょうか。

628:デフォルトの名無しさん
05/03/10 02:32:35
不要コード除去くらいするもんだと思うが。

629:デフォルトの名無しさん
05/03/10 05:38:27
え、全て必要な気がするけど。


630:デフォルトの名無しさん
05/03/10 23:09:55
普通の最適化をさぼっているくせに、インライン展開なんかしたら
大抵は性能劣化を招く罠。

631:デフォルトの名無しさん
05/03/11 00:37:34
先読みしたデータを元に戻す時なんか工夫してる?

632:デフォルトの名無しさん
05/03/11 00:55:38
>>631
スマンが文脈からパース時の話なのか実行時プリフェッチの話なのかワカランのでもう少しフォローしてくれ。


633:デフォルトの名無しさん
05/03/11 01:14:26
気になるのは、文脈からパースしたときです。

634:デフォルトの名無しさん
05/03/11 02:59:38
1個分のバッファを作っておいていつも先読み。戻さない。
ってのが統一的でいいんじゃないかしらん。

ていうかなぜパーサを手で書かなきゃいかんのかと小一時間(ry


635:デフォルトの名無しさん
05/03/11 21:49:00
りんこ1個分、先読みすればよいよ。


636:デフォルトの名無しさん
05/03/11 22:46:59
HTMLからTeXファイルを作りたいのですが、そこらへんのノウハウが載っているサイトってありませんか?

637:デフォルトの名無しさん
05/03/12 00:40:12
えーとパーサー生成器で作ると遅いよ?
Boost関数で作るほうがすげー早いよ?
あとメインメモリ500kぐらいの環境だとそんな荷物もてないよ?

638:デフォルトの名無しさん
05/03/12 08:56:58
メインメモリ500k位の環境じゃ他のリッチな環境から
クロスコンパイルするのが普通だわな

639:デフォルトの名無しさん
05/03/12 11:30:03
>>638
メインメモリ1M位のリッチな環境ならありますがクロスコンパイルは普通に出来ますか?

640:デフォルトの名無しさん
05/03/12 11:55:35
>>639
5万円くらいでメインメモリ512MBのx86マシンを自作して出直して下さい。

641:デフォルトの名無しさん
05/03/12 11:56:54
あの……落としものですよ?

         ∧__,,∧
        (´・ω・`)
         (つ夢と)
         `u―u´

  あなたのすぐ後ろに落ちていましたよ?

642:デフォルトの名無しさん
05/03/12 12:43:48
誰がネタを言ってるのかよくわからんが、
メインメモリ1Mぐらいの組み込み機器で
小さいスクリプト言語が動けば便利かも試練

643:デフォルトの名無しさん
05/03/12 12:47:47
メインメモリ1Mぐらいの組み込み機器なんて
入力装置がボタン数個だろうから、
スクリプト言語なんてあっても書けないぽ。

644:デフォルトの名無しさん
05/03/12 22:53:26
>>643
スタンドアローン開発する気?

645:デフォルトの名無しさん
05/03/13 00:00:58
ユーザーがスクリプト書くって事じゃないの?
そうじゃなければスクリプトである必要がないし。

646:デフォルトの名無しさん
05/03/13 12:05:29
スクリプト言語の利点はユーザが書けることだけじゃないよ。。

647:デフォルトの名無しさん
05/03/13 12:21:09
そう言いながら他の利点を書かない厨646

648:デフォルトの名無しさん
05/03/13 12:41:33
一から十まで教えられないとわからないか。
よく最大の利点と言われるのは手軽にプログラムが書けること。
ポータビリティが高いことも多い。

プログラマが自分のために書くプログラムは全部C言語とかですか?

649:デフォルトの名無しさん
05/03/13 13:44:46
>>642からの流れは「メインメモリ1Mぐらいの組み込み機器」での話ではないのか?
646や648よ。

650:デフォルトの名無しさん
05/03/13 14:21:41
>>648
教えられなくても分かるというやつは
天才か電波

651:デフォルトの名無しさん
05/03/13 14:26:43
>>642
少なくとも京ぽんのbookmarkletは激しく便利。

652:デフォルトの名無しさん
05/03/13 14:28:04
自ら学ぶ事もしないのか
ゆとり教育だな

653:デフォルトの名無しさん
05/03/13 15:21:31
>>649
>>646=>>648=俺だが、
「メインメモリ1Mぐらいの組み込み機器」では
手軽に書けることやポータビリティに意味はないと?

654:デフォルトの名無しさん
05/03/13 15:57:56
「メインメモリ1Mぐらいの組み込み機器にスクリプト言語あれば便利だなあ」
 「入力デバイスがなくてスクリプト書けねぇよ」
  「スタンドアロンで開発するわけがありません」
   「えーできないのー?ユーザが使えなきゃ意味ないじゃん」
    「んなこたない」
     「利点を具体的にいってみろよー」
    「手軽さとポータビリティだろが馬鹿そんくらい分かれ」
     「言われる前に分かったらエスパーだっつーの」
      「手前でしらべろボケ」
     「特にメモリ1M組み込み機器に限った話じゃないだろ」
      「組み込み機器にあれば便利だなあって話だ」←いまここ

結論は最初の一行。

655:デフォルトの名無しさん
05/03/13 16:16:28
では、結論。
>メインメモリ1Mぐらいの組み込み機器にスクリプト言語あれば便利だなあ
クレクレ君はスレ違いです。


656:デフォルトの名無しさん
05/03/13 16:21:42
1MもあればCコンパイラでも作れそうだが

657:デフォルトの名無しさん
05/03/13 16:43:01
>>656
その 1MB を全部コンパイラ関係(中間ファイル置き場も含む)に使ったら、
組み込み機器の本業が動かんでしょ。

658:デフォルトの名無しさん
05/03/13 17:03:40
>>656-657
640Kbyteで全部動いた時代が懐かしいな、まあどうでもいいが雑談はマ板でやったらどうだい?

659:デフォルトの名無しさん
05/03/13 17:51:23
組み込み機器にスクリプト言語実装する手間考えたら
ポータビリティの意味無いじゃん。

660:デフォルトの名無しさん
05/03/13 18:14:52
そこでLisp

661:デフォルトの名無しさん
05/03/13 19:28:42
>>658
ものによってはネイティブのマシン語より、
VM+バイトコードの方が
コード量が減るとかいう現象があったような。
さすがCISC。

662:デフォルトの名無しさん
05/03/13 21:12:23
そんなのVMの設計次第でしょ。
命令細かくすりゃマシンコードと変わらなくなる。

663:デフォルトの名無しさん
05/03/14 02:02:24
ものによってはっつってんのが目に入らんかこのバカチンが。

あ、話題としてはおもしろいかも。こういう話に詳しい人いる?

Java VM なんかはバイトコードのサイズが小さくなるように設計されてるから
最終的に動かすアプリケーションのサイズが大きければ大きいほど
ネイティブコードに比べて有利になりやすいんじゃないかな。

664:デフォルトの名無しさん
05/03/14 02:29:27
>>663
> 最終的に動かすアプリケーションのサイズが大きければ大きいほど
実用に耐える速度を出すためにJITを使うからなぁ、メモリ上の足跡はかなり大きいぞ。
まぁスタックマシンだからVM用のコードが小さいのは本当だけどさ。


665:デフォルトの名無しさん
05/03/14 02:57:43
KVMとか組み込み向けJavaVMもJITするの?
これまでの話の中でも速度は大して重視されてこなかったような。

666:デフォルトの名無しさん
05/03/14 03:30:01
バイトコードで動くCPUを使えばいいじゃないか

667:デフォルトの名無しさん
05/03/14 03:48:39
JNIのロード時間をどうにかしろよって思っちゃうんですけどこればっかりはどうしようもないんですかね?

668:デフォルトの名無しさん
05/03/14 04:55:34
情報工学とか出た人ってみんなコンパイラとか作れるんですか。

669:デフォルトの名無しさん
05/03/14 08:48:49
少なくとも資料をあたりながらでもそれができるだけの教育は受けているはず。


670:デフォルトの名無しさん
05/03/14 17:15:37
実際にはできるんですか

671:デフォルトの名無しさん
05/03/14 17:16:35
できる人もいる
できない人もいる

672:デフォルトの名無しさん
05/03/14 17:37:17
りんごが好きな奴もいれば
嫌いな奴もいるってこと?


673:デフォルトの名無しさん
05/03/14 17:47:03
↑馬鹿注意

674:デフォルトの名無しさん
05/03/14 19:04:43
ちゃんと勉強した奴もいればお情けで学位を頂戴した奴もいるってことだろ。


675:デフォルトの名無しさん
05/03/14 20:09:04
資料をあたりながらなら誰でも作れるよなあ。コンパイラくらい。

676:デフォルトの名無しさん
05/03/14 20:17:34
1.現実を知らないバカ。
2.できないやつを馬鹿にして優越感に浸るやなやつ。
3.誤爆。

677:デフォルトの名無しさん
05/03/14 21:53:56
ていうかドラゴンブック通して読んで作れない方がおかしくない?

678:デフォルトの名無しさん
05/03/14 21:58:13
そりゃどんなソフトでも作れるだろうけど、後は品質の問題になっちゃうよ。

679:デフォルトの名無しさん
05/03/14 21:59:01
麻宮騎亜はコンパイラもアセンブラもガリガリ書いてたよな

680:デフォルトの名無しさん
05/03/14 22:01:45
>>679
誰?
お前の名前か?
頭大丈夫?

681:デフォルトの名無しさん
05/03/14 22:03:59
通して読めたのに作れないのはおかしいかもな。
作れない奴は読み通せないから。

>>670
高卒がみんな高校の学習指導要領程度の英語を読み書き聞き話しできるかという質問と同じじゃないかな。

682:デフォルトの名無しさん
05/03/15 00:12:51
>>679
激しくすれ違いとでも言って欲しいのか? キモヲタくん。

683:デフォルトの名無しさん
05/03/15 00:30:31
本読めば作れると思ってる馬鹿がいるな

684:デフォルトの名無しさん
05/03/15 00:46:21
本読めば作れますが何か?

685:デフォルトの名無しさん
05/03/15 00:49:41
スモールコンパイラの製作で学ぶプログラムの仕組みとか読んだらわかるけど
Javaのコードと実質説明あんまりマッチしてないよ。
実際コーディングって泥臭いし、やり方は人それぞれ書けちゃうから。
本は定石を知るためにあると思うけどな。まぁでも、できるやつは本見ながら
適当に実装できるのは事実。


686:デフォルトの名無しさん
05/03/15 00:50:33
読んだだけで作れるなら幼稚園児でも作れるな

687:デフォルトの名無しさん
05/03/15 00:52:43
あの綾本の変な例え話漏れは受け入れられなかった・・・

688:デフォルトの名無しさん
05/03/15 11:26:49
狂大生だけど、作れなさそうなやつはわりといるよ.
曰く、「おれはプログラムなんかを組むために情報学科に来たんじゃない」だと。

689:デフォルトの名無しさん
05/03/15 12:37:27
>>685
その本読んだらわかるけど、まともな本じゃないよ。いわゆる俗本。

690:デフォルトの名無しさん
05/03/15 12:41:16
だからドラゴンブック読めよ

691:デフォルトの名無しさん
05/03/15 13:51:29
Tiger本でも良いと思うぞ。

692:デフォルトの名無しさん
05/03/15 14:09:29
>>687
ふらっと手にとってレジに持っていきそうになったが、
あの喩えのおかげで思いとどまる事ができた。いわば踏み絵。


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