「コンパイラ・スクリ ..
123:デフォルトの名無しさん
05/01/20 23:05:42
>>122
えーと。
だから「式と文の違いを意味で説明することはできるかもしれないが、
それは別に式と文それぞれの定義ではない」とゆーたんですよ。
124:デフォルトの名無しさん
05/01/20 23:08:36
>>121ではないが、>>122の想定してる定義は
URLリンク(swissnet.ai.mit.edu)
の7.2節みたいな内容か?
まあすべての言語がalgolやsmlやschemeみたいな意味定義は持ってないわな。
125:123
05/01/20 23:12:34
あー!わかった。
漏れ「式とはこういう構文のことだ。そのように定義される式はこういう意味をもつ(これは式の定義ではなく式の意味の定義、のつもり)」
>122「式とはこういう構文であり、かつこういう意味をもつものだ」
とそれぞれ主張していたのか。多分。
この辺は趣味じゃないかなー。
126:デフォルトの名無しさん
05/01/20 23:17:12
>>123 >>125
あのね、
>そもそも文や式の「定義」は、大抵の言語では文法の上で定義するよね (厳密には BNF とか) 。
>漏れ「式とはこういう構文のことだ。そのように定義される式はこういう意味をもつ(これは式の定義ではなく式の意味の定義、のつもり)」
これがとりあえず間違いなのね。文や式の定義って言う時は、普通、「意味」の定義のこと、あるいは、意味を含んだ定義を
言ってるわけで、文法上では定義されないの。
>意味 (値を返すとか返さないとか) から「説明」することはできるけど、
>それは「定義」じゃないし。
この「それ」は「違いを意味で説明すること」だったわけね・・・・
それはこちらが誤解してました。スマソ。
俺が定義だといってるのは、「値を返す」とかの説明がまさに意味の
定義だから。定義と言ってたわけ。
>>124
そうだよ。そういうふうに意味論で定義するか、もしくは自然言語で定義するわけだけど、
これは文法とは別物。
127:デフォルトの名無しさん
05/01/20 23:23:28
>>124
しかしそれも今となっては古めかしいな。
言語に並行性を取り込もうとすると全面書き直しになりそうだ。
128:デフォルトの名無しさん
05/01/20 23:25:43
激論のとこ今更で悪いが、そもそもCの式は厳密には、値を”返さない”ぞ
operatorや関数が値を返すだけでなw
式は値を返すが、文は値を返さないとか言ってる奴はCでも間違いだぞw
129:123
05/01/20 23:31:17
>>126
うーん、考え直すとやっぱ
>122「式とはこういう構文であり、かつこういう意味をもつものだ」
の方が自然ですね。ごめん。
>>128
今度は「返す」「返さない」の意味定義の話?
130:デフォルトの名無しさん
05/01/20 23:32:35
どうせ例をあげるならvoid型関数の呼び出し式にでもすればよかったのに。
131:デフォルトの名無しさん
05/01/20 23:45:26
値を持つ・値が定まる
132:デフォルトの名無しさん
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
了解。dクス。
>>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
自作したがり厨が煽ってるだけだろ。
スルーしろよ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5330日前に更新/188 KB
担当:undef