プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。
Wikiのまとめページ
http://www6.atwiki.jp/compilerandscriptengine/
探検
「コンパイラ・スクリプトエンジン」相談室16
2014/07/20(日) 11:16:19.37ID:p6eMVAxc
121デフォルトの名無しさん
2014/12/06(土) 17:17:29.59ID:djm9MkQZ 演算子の優先順位はどうしてんの?
122デフォルトの名無しさん
2014/12/06(土) 17:30:21.62ID:5oGFUyw+ べつに区切り文字が = だろうが : だろうが ::= だろうが BNF は BNF だ
123117
2014/12/06(土) 23:05:55.88ID:BPhK2Nlg >>120
>みんなBNFとかやってるのか
JavaCCの場合字句解析でトークン列に分解してくれて、
>>117にあるようにそのトークンの並びを書いて構文解析の定義をします。
なのでBNF記法とは違った書き方になります。
>>121
>演算子の優先順位はどうしてんの?
いい説明文が思い浮かばないので、
まずは例として1+2*3/4-5という式を構文木にしたものを以下にアップします。
http://fast-uploader.com/file/6973429321730/
こんなかんじのまとまりです。
演算子:/ 左辺:3(enzan5) 右辺:4(enzan5) → @(enzan4)
演算子:* 左辺:2(enzan5) 右辺:@(enzan4) → A(enzan4)
演算子:- 左辺:A(enzan4) 右辺:5(enzan5) → B(enzan4)
演算子:+ 左辺:1(enzan5) 右辺:B(enzan4) →C(enzan3)
>みんなBNFとかやってるのか
JavaCCの場合字句解析でトークン列に分解してくれて、
>>117にあるようにそのトークンの並びを書いて構文解析の定義をします。
なのでBNF記法とは違った書き方になります。
>>121
>演算子の優先順位はどうしてんの?
いい説明文が思い浮かばないので、
まずは例として1+2*3/4-5という式を構文木にしたものを以下にアップします。
http://fast-uploader.com/file/6973429321730/
こんなかんじのまとまりです。
演算子:/ 左辺:3(enzan5) 右辺:4(enzan5) → @(enzan4)
演算子:* 左辺:2(enzan5) 右辺:@(enzan4) → A(enzan4)
演算子:- 左辺:A(enzan4) 右辺:5(enzan5) → B(enzan4)
演算子:+ 左辺:1(enzan5) 右辺:B(enzan4) →C(enzan3)
124117
2014/12/06(土) 23:06:51.00ID:BPhK2Nlg とりあえずenzan3の定義の先頭にマイナスの記号があるかもしれないという意味合いで
以下のようなコードに変えてみました。
void enzan3() :
{}
{
[<HIKU>]enzan4() //★
((<TASU>|<HIKU>)enzan4())*
}
void enzan4() :
{}
{
enzan5()
((<KAKERU>|<WARU>)enzan5()
}
void enzan5() :
{}
{
<MOZI>|<SUUZI>|"(" enzan3() ")"
}
<>:トークン |:左右のどちらかの構文(||やOr演算子のようなもの) []:省略可能構文
以下のようなコードに変えてみました。
void enzan3() :
{}
{
[<HIKU>]enzan4() //★
((<TASU>|<HIKU>)enzan4())*
}
void enzan4() :
{}
{
enzan5()
((<KAKERU>|<WARU>)enzan5()
}
void enzan5() :
{}
{
<MOZI>|<SUUZI>|"(" enzan3() ")"
}
<>:トークン |:左右のどちらかの構文(||やOr演算子のようなもの) []:省略可能構文
125117
2014/12/06(土) 23:07:27.16ID:BPhK2Nlg すると、以下のような警告が出ました。
Warning: Choice conflict in (...)* construct at line 608, column 9.
Expansion nested within construct and expansion following construct
have common prefixes, one of which is: <HIKU>
Consider using a lookahead of 2 or more for nested expansion.
内容は選択の突出(Choice conflict)と言うもので、
私が作った構文の定義があいまいのようで
608行目(ここでは★を付けた行)の定義が他の定義とかぶっているらしく、
先頭に出てくる<HIKU>トークンが共通点らしいです。
そもそもの考え方が間違っているかもしれませんが、
それを抜きにしてもまずなぜこのような警告が出ているかわかりません。
一体なぜ出ているかわかる人いれば教えてださい。
Warning: Choice conflict in (...)* construct at line 608, column 9.
Expansion nested within construct and expansion following construct
have common prefixes, one of which is: <HIKU>
Consider using a lookahead of 2 or more for nested expansion.
内容は選択の突出(Choice conflict)と言うもので、
私が作った構文の定義があいまいのようで
608行目(ここでは★を付けた行)の定義が他の定義とかぶっているらしく、
先頭に出てくる<HIKU>トークンが共通点らしいです。
そもそもの考え方が間違っているかもしれませんが、
それを抜きにしてもまずなぜこのような警告が出ているかわかりません。
一体なぜ出ているかわかる人いれば教えてださい。
126デフォルトの名無しさん
2014/12/06(土) 23:08:41.58ID:q7blqefO127デフォルトの名無しさん
2014/12/06(土) 23:27:12.88ID:5oGFUyw+ この文脈でconflictは「衝突」と言う。
そのメッセージの通り、複数の定義で共通してるトークンがあるから、どっちの定義のほうだとして
解釈していいかわからないからエラーになる。
そのメッセージでは「Consider using a lookahead of 2 or more for nested expansion.」2個あるいはそれ以上の
先読みを使うことを検討してみろ、と言っているが、それに従ったところでうまくいくかどうかは
わからんけどね。
そのメッセージの通り、複数の定義で共通してるトークンがあるから、どっちの定義のほうだとして
解釈していいかわからないからエラーになる。
そのメッセージでは「Consider using a lookahead of 2 or more for nested expansion.」2個あるいはそれ以上の
先読みを使うことを検討してみろ、と言っているが、それに従ったところでうまくいくかどうかは
わからんけどね。
128デフォルトの名無しさん
2014/12/07(日) 01:31:54.20ID:bfkTF4nN129デフォルトの名無しさん
2014/12/07(日) 01:36:47.04ID:bfkTF4nN >>128
勘違いしたわすれて
勘違いしたわすれて
130117
2014/12/07(日) 21:58:06.68ID:OacxF8nB131デフォルトの名無しさん
2014/12/07(日) 22:37:16.24ID:bfkTF4nN >>130
試しに四則演算のみ行う言語をjavaccで作ってみたけど単行演算子程度ならLookAheadいらないよ
試しに四則演算のみ行う言語をjavaccで作ってみたけど単行演算子程度ならLookAheadいらないよ
132117
2014/12/08(月) 00:25:52.66ID:yQ2quuvD いろいろ考えているうちに構文規則がおかしなことになってきました;
とりあえず負の数やかっこを含む数式の構文木を一通り考えてみたつもりなんですけど、
以下のような感じであっているでしょうか?
http://fast-uploader.com/file/6973521373227/
また、他に欠けているパターンはないでしょうか?
とりあえず負の数やかっこを含む数式の構文木を一通り考えてみたつもりなんですけど、
以下のような感じであっているでしょうか?
http://fast-uploader.com/file/6973521373227/
また、他に欠けているパターンはないでしょうか?
133デフォルトの名無しさん
2014/12/08(月) 18:02:04.16ID:3czqE9B9 >>132
単項演算子はどこに行ったんだ
単項演算子はどこに行ったんだ
134117
2014/12/08(月) 21:29:48.11ID:yQ2quuvD >>133
あれは構文木と言うより抽象構文木というか内部構造と言うかそんなかんじのものですね;
負の数をどう計算するか考えてたらその式や数字に-1をかければいいかなと思って作ってました。
今度はきちんと抽象じゃない構文木を考えます。 はい。
あれは構文木と言うより抽象構文木というか内部構造と言うかそんなかんじのものですね;
負の数をどう計算するか考えてたらその式や数字に-1をかければいいかなと思って作ってました。
今度はきちんと抽象じゃない構文木を考えます。 はい。
135117
2014/12/08(月) 23:27:15.44ID:yQ2quuvD とりあえず自分がわかっている範囲で -(1+2)*4 の解析木を作ってみました。
http://fast-uploader.com/file/6973604307310/
enzan番号という名前はやめてみました。
空欄部分は下位置調節のためや何を入れたらいいかわからない部分です。
http://fast-uploader.com/file/6973604307310/
enzan番号という名前はやめてみました。
空欄部分は下位置調節のためや何を入れたらいいかわからない部分です。
136117
2014/12/09(火) 21:43:09.57ID:KYZ3f1RL 構文規則作ってみましたが、選択の衝突が消えません。
tasuhikuのkakewaruをkakewaru2に変えると消えます。
kakewaruで呼んでるminusの[<HIKU>]がtasuhikuの<HIKU>と競合しているのかと思いましたが、
なぜなのかわかりません。
どこが間違っているでしょうか?
警告なのでとりあえず無視してjavacコンパイルして解析&実行させてみると、以下の式はきちんと実行できました。
1+2+3
-9-3
1+2*3/4-5
7+(-2)
-6*2
-(1+2)*4
(-1+2)*4
-1+2*4
4-(-2/5)
-(-(-39))/13
一応ある程度のパターンを網羅していると思います。
Warning: Choice conflict in (...)* construct at line 608, column 9.
Expansion nested within construct and expansion following construct
have common prefixes, one of which is: <HIKU>
Consider using a lookahead of 2 or more for nested expansion.
tasuhikuのkakewaruをkakewaru2に変えると消えます。
kakewaruで呼んでるminusの[<HIKU>]がtasuhikuの<HIKU>と競合しているのかと思いましたが、
なぜなのかわかりません。
どこが間違っているでしょうか?
警告なのでとりあえず無視してjavacコンパイルして解析&実行させてみると、以下の式はきちんと実行できました。
1+2+3
-9-3
1+2*3/4-5
7+(-2)
-6*2
-(1+2)*4
(-1+2)*4
-1+2*4
4-(-2/5)
-(-(-39))/13
一応ある程度のパターンを網羅していると思います。
Warning: Choice conflict in (...)* construct at line 608, column 9.
Expansion nested within construct and expansion following construct
have common prefixes, one of which is: <HIKU>
Consider using a lookahead of 2 or more for nested expansion.
137117
2014/12/09(火) 21:44:56.07ID:KYZ3f1RL void tasuhiku():
{}
{
kakewaru() //608行目
((<TASU>|<HIKU>)kakewaru2())*
}
void kakewaru():
{}
{
minus()
((<KAKERU>|<WARU>)sikikakko())*
}
void kakewaru2():
{}
{
sikikakko()
((<KAKERU>|<WARU>)sikikakko())*
}
{}
{
kakewaru() //608行目
((<TASU>|<HIKU>)kakewaru2())*
}
void kakewaru():
{}
{
minus()
((<KAKERU>|<WARU>)sikikakko())*
}
void kakewaru2():
{}
{
sikikakko()
((<KAKERU>|<WARU>)sikikakko())*
}
138117
2014/12/09(火) 21:45:41.74ID:KYZ3f1RL void minus():
{}
{
[<HIKU>]sikikakko()
}
void sikikakko():
{}
{
("(" tasuhiku() ")"
|atai())
}
void atai():
{}
{
<SUUZI>
}
{}
{
[<HIKU>]sikikakko()
}
void sikikakko():
{}
{
("(" tasuhiku() ")"
|atai())
}
void atai():
{}
{
<SUUZI>
}
139デフォルトの名無しさん
2014/12/10(水) 06:22:59.98ID:ICK0nNNi 荒らされてるなぁ・・・
140デフォルトの名無しさん
2014/12/10(水) 14:14:42.32ID:lFxVBhH5 >>136
文法作るのはものすごく難しいんだよ。
同じ文書を受理する複数の文法が存在し、複数の間で優劣がある。
しかも、優劣を機械的に評価することが難しい。
「こいつを使えば簡単にできる」というようなソフトウェア紹介を見かけると
思うけど、そんな魔法の杖みたいなソフトは無いから。
そういうこと言ってる人は、付属してきたサンプルを動かして簡単といってるだけ。
信じちゃだめだ。
構文解析器の生成系を自分で作れるようにならないと文法を作れないと思っていい。
少なくともその程度の理解は必要。
まずドラゴンブックを買ったらどうかと思うんだが。
文法作るのはものすごく難しいんだよ。
同じ文書を受理する複数の文法が存在し、複数の間で優劣がある。
しかも、優劣を機械的に評価することが難しい。
「こいつを使えば簡単にできる」というようなソフトウェア紹介を見かけると
思うけど、そんな魔法の杖みたいなソフトは無いから。
そういうこと言ってる人は、付属してきたサンプルを動かして簡単といってるだけ。
信じちゃだめだ。
構文解析器の生成系を自分で作れるようにならないと文法を作れないと思っていい。
少なくともその程度の理解は必要。
まずドラゴンブックを買ったらどうかと思うんだが。
141デフォルトの名無しさん
2014/12/10(水) 14:18:41.54ID:lFxVBhH5 まずドラゴンブックを買う。
実際に作ってみる。
この作ったものは実用にはならないよ。
テーブルが大きすぎるからね。
それでも作ることが重要。
その後に、市中に出回る生成系を使ってみたらどうだろう。
俺はこの順番が良いと思うよ。
中身の動作を知らないと使えないって、ツールとしては下等だけど、
今はまだその程度の世界なんだよ。
実際に作ってみる。
この作ったものは実用にはならないよ。
テーブルが大きすぎるからね。
それでも作ることが重要。
その後に、市中に出回る生成系を使ってみたらどうだろう。
俺はこの順番が良いと思うよ。
中身の動作を知らないと使えないって、ツールとしては下等だけど、
今はまだその程度の世界なんだよ。
142117
2014/12/10(水) 16:50:00.17ID:pQyEQrGQ >>139
私のことだったら荒らそうと言うつもりは全くありません。
でも荒らしに見えてしまっていたならすいません。
>>140-141
ドラゴンブックってこれのことですかね?
http://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E2%80%95%E5%8E%9F%E7%90%86%E3%83%BB%E6%8A%80%E6%B3%95%E3%83%BB%E3%83%84%E3%83%BC%E3%83%AB-Information-Computing-A-V-%E3%82%A8%E3%82%A4%E3%83%9B/dp/478191229X
(私にとって)安くないですし今そこから勉強している余裕はないので・・・。
すいません。
よそでパーサジェネレータ使った方がいいとか言われて、
Javaが好きなどの理由でJavaCCを使うようになりました。
なんにせよ周りに作ったことある人とかいないので、
http://www.sbcr.jp/products/4797337958.html
とか
http://item.rakuten.co.jp/books-sanseido/ebm-techno03/
とか片手に独学でやってます。
私のことだったら荒らそうと言うつもりは全くありません。
でも荒らしに見えてしまっていたならすいません。
>>140-141
ドラゴンブックってこれのことですかね?
http://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E2%80%95%E5%8E%9F%E7%90%86%E3%83%BB%E6%8A%80%E6%B3%95%E3%83%BB%E3%83%84%E3%83%BC%E3%83%AB-Information-Computing-A-V-%E3%82%A8%E3%82%A4%E3%83%9B/dp/478191229X
(私にとって)安くないですし今そこから勉強している余裕はないので・・・。
すいません。
よそでパーサジェネレータ使った方がいいとか言われて、
Javaが好きなどの理由でJavaCCを使うようになりました。
なんにせよ周りに作ったことある人とかいないので、
http://www.sbcr.jp/products/4797337958.html
とか
http://item.rakuten.co.jp/books-sanseido/ebm-techno03/
とか片手に独学でやってます。
143デフォルトの名無しさん
2014/12/10(水) 17:17:43.47ID:lFxVBhH5 >>142
そこが勘違いなんだよ。
JavaCCを使うにはJavaCCを作れる程度の知識が必要。
だからドラゴンブックが必須。
ドラゴンブックは決して読みやすい書籍ではないよ。
どうとでもとれる表現がいくつもある。
読み解きながら理解する必要があるので、結局生成系を自分で一つ書き上げる必要がある。
「JavaCCを使えば知識がなくてもこんなに簡単」的なことを書く人は
実はJavaCCを使っていないんだよ。
そこに騙されてはいけない。
文法を作るには深い理解が必要なんだよ。
簡単にできる方法はない。
そこが勘違いなんだよ。
JavaCCを使うにはJavaCCを作れる程度の知識が必要。
だからドラゴンブックが必須。
ドラゴンブックは決して読みやすい書籍ではないよ。
どうとでもとれる表現がいくつもある。
読み解きながら理解する必要があるので、結局生成系を自分で一つ書き上げる必要がある。
「JavaCCを使えば知識がなくてもこんなに簡単」的なことを書く人は
実はJavaCCを使っていないんだよ。
そこに騙されてはいけない。
文法を作るには深い理解が必要なんだよ。
簡単にできる方法はない。
144デフォルトの名無しさん
2014/12/10(水) 18:27:22.40ID:eXNtCHKb 誰か別の人にやってもらえばいいんだよ。クラウドソーシングとかあるじゃん。
145デフォルトの名無しさん
2014/12/10(水) 21:11:35.37ID:Lctd7lUm 荒らされてるんじゃなくて話題がなさすぎるから一人が専有してるように見えるだけだろ?
146117
2014/12/10(水) 21:46:27.74ID:pQyEQrGQ >>143
>「JavaCCを使えば知識がなくてもこんなに簡単」的なことを書く人は
そこまで言われたことはないです。
一番最初は文字列を自分で解析するところからやろうとしてましたけど、
パーサジェネレータを知ってからわたしにとってはそっちの方が楽だと感じています。
ここで質問したこと以外でも詰まったりもしましたけども、
もし構文解析ツールを1から作っていたらきっとここまでたどり着くまでにもっと詰まっていると思います。
>>144
すいません。
実はこれ卒業研究なので・・・。
自分で作ってみたい→卒研のテーマに悪くないよね?
な感じで決めてしまったテーマです。
>>145
連投とかしすぎましたかね・・・;
>「JavaCCを使えば知識がなくてもこんなに簡単」的なことを書く人は
そこまで言われたことはないです。
一番最初は文字列を自分で解析するところからやろうとしてましたけど、
パーサジェネレータを知ってからわたしにとってはそっちの方が楽だと感じています。
ここで質問したこと以外でも詰まったりもしましたけども、
もし構文解析ツールを1から作っていたらきっとここまでたどり着くまでにもっと詰まっていると思います。
>>144
すいません。
実はこれ卒業研究なので・・・。
自分で作ってみたい→卒研のテーマに悪くないよね?
な感じで決めてしまったテーマです。
>>145
連投とかしすぎましたかね・・・;
147デフォルトの名無しさん
2014/12/10(水) 21:57:46.01ID:dcz7kjCK 指導教授に聞けば。
148デフォルトの名無しさん
2014/12/10(水) 22:28:57.42ID:ZSLSh1LL www
卒研なら自分で考えいw
卒研なら自分で考えいw
149デフォルトの名無しさん
2014/12/10(水) 22:32:59.96ID:eXNtCHKb >>146
まさか卒業研究の本体がなんの新規性もない構文解析なわけじゃないだろう。
それが本質的な部分じゃなければ人に手伝ってもらうのもありだよ。
もし、構文解析そのものが君の卒業研究なら……
楽してでっち上げるという考えは即座に捨てて、143のいうようにちゃんと勉強して理解しな。
まさか卒業研究の本体がなんの新規性もない構文解析なわけじゃないだろう。
それが本質的な部分じゃなければ人に手伝ってもらうのもありだよ。
もし、構文解析そのものが君の卒業研究なら……
楽してでっち上げるという考えは即座に捨てて、143のいうようにちゃんと勉強して理解しな。
150デフォルトの名無しさん
2014/12/10(水) 22:55:57.69ID:Lctd7lUm 卒研かよ
フォローして損した
フォローして損した
151117
2014/12/10(水) 23:23:29.27ID:pQyEQrGQ >>147
Javaの研究室ではありますけど、先生は構文解析などの経験はないそうなので・・・。
ゼミのときに負の数と引き算の問題も一応聞いてみたんですけど、
残念ながら大したアドバイスをもらえませんでした。
ちなみに、研究室ではネットワーク関連のことやってる人が多いです。
Javaの研究室ではありますけど、先生は構文解析などの経験はないそうなので・・・。
ゼミのときに負の数と引き算の問題も一応聞いてみたんですけど、
残念ながら大したアドバイスをもらえませんでした。
ちなみに、研究室ではネットワーク関連のことやってる人が多いです。
152デフォルトの名無しさん
2014/12/10(水) 23:27:11.16ID:bWIayA6r うーん、その卒業研究、どこか新規性あるの?
153デフォルトの名無しさん
2014/12/10(水) 23:46:18.31ID:lFxVBhH5 文法を作ることの難しさを理解できていないんだよ。
嘘ではなく、本当に難しい。
実用性は無くとも理論通りに動作する生成系を自分で作るのは絶対必要。
遠回りに見えるだろうけど、これが最短の道なんだよ。
「俺の考えた言語」の文法をきちんと作れるなら、生成系程度すぐ作れる。
その逆は無いよ。
何か考え違いをしてるんだと思う。
文法程度すぐ作れるけど、生成系を作るのは難しいと思っていそう。
まるっきり逆。
嘘ではなく、本当に難しい。
実用性は無くとも理論通りに動作する生成系を自分で作るのは絶対必要。
遠回りに見えるだろうけど、これが最短の道なんだよ。
「俺の考えた言語」の文法をきちんと作れるなら、生成系程度すぐ作れる。
その逆は無いよ。
何か考え違いをしてるんだと思う。
文法程度すぐ作れるけど、生成系を作るのは難しいと思っていそう。
まるっきり逆。
154デフォルトの名無しさん
2014/12/10(水) 23:48:44.51ID:lFxVBhH5 さらに言えば、理論通り動く生成系を作っても、それは実用性を持たない。
学習のために作るんだ。
実用には、既存の生成系を使うんだよ。
そういう順番が良い。
学習のために作るんだ。
実用には、既存の生成系を使うんだよ。
そういう順番が良い。
155117
2014/12/11(木) 00:04:58.83ID:TxaNdaYp >>148 >>150
すいません・・・。
>>149 >>152
"こういうところが新しいです"
と言える自信はありません・・・。 すいません。
一番の理由は"自分で作ってみたい"と思ったからです。
あと、先生に止められることもなかったですし。
構文解析が目的と言うよりは、半分ノリで付けてしまったテーマが
「初めでも使いやすい日本語で書けるプログラミング言語を作る」
なんてテーマです。
"日本語なら初めてでもとっつきやすいかな?"なんて安易な考えで
「初めてでも」なんてつけて付けてしまいました。
構文を考える上で自分で後悔してたりします;
>>153
文法を考えるのも構文規則を作るのも楽なものではないと思ってます。
それよりも構文解析器を作るほうが難しそうと感じてしまっているのは事実です。
すいません・・・。
>>149 >>152
"こういうところが新しいです"
と言える自信はありません・・・。 すいません。
一番の理由は"自分で作ってみたい"と思ったからです。
あと、先生に止められることもなかったですし。
構文解析が目的と言うよりは、半分ノリで付けてしまったテーマが
「初めでも使いやすい日本語で書けるプログラミング言語を作る」
なんてテーマです。
"日本語なら初めてでもとっつきやすいかな?"なんて安易な考えで
「初めてでも」なんてつけて付けてしまいました。
構文を考える上で自分で後悔してたりします;
>>153
文法を考えるのも構文規則を作るのも楽なものではないと思ってます。
それよりも構文解析器を作るほうが難しそうと感じてしまっているのは事実です。
156デフォルトの名無しさん
2014/12/11(木) 01:55:24.44ID:pP5Pqqse157デフォルトの名無しさん
2014/12/11(木) 06:06:17.74ID:sSshpgwI 数学の知識もないのにアンチョコ片手にMathematica使えば何でもできると思ってるようなもんだな。まあ、無理。
158117
2014/12/11(木) 07:22:36.95ID:TxaNdaYp159デフォルトの名無しさん
2014/12/11(木) 07:41:13.71ID:JXHpp2tS 空気読め
160117
2014/12/11(木) 17:45:33.30ID:TxaNdaYp ドラゴンブックは残念ながら大学の図書館にはありませんでしたが、
市内(他区)の図書館にはあるとのことなので取り寄せて読みます。
1万円ほどの本を買うには残念ながらお金がないもので・・・;
他に大学にあった以下のコンパイルの本び中でおすすめってありますか?
コンパイラの基礎 / 徳田雄洋著
命令レベル並列処理 : プロセッサアーキテクチャとコンパイラ / 安藤秀樹著
コンパイラ入門 : 文法から設計・製作まで / 小田一博著
Cコンパイラ設計 : yacc/lexの応用 / A.T.シュライナー,H.G.フリードマン 著 ; 矢吹道郎 〔ほか〕訳
超並列処理コンパイラ / 村岡洋一著
コンパイラ / 疋田輝雄 著
DIANA入門/言語仕様/応用 : Adaコンパイラ実現のための中間言語
やさしいコンパイラの作り方 / 中西正和 共著 ; 大野義夫 共著
新言語作成の技法 : オリジナル・コンパイラ / 大貫広幸 著
N88日本語BASIC(86)コンパイラ活用法 : Personal computer MS-DOS版 / 肥田野登 著
コンパイラの技法 / 中田育男 著
コンパイラのうちとそと / 島内剛一ほか共著
コンパイラの設計と構築 / Arthur B.Pyster 著 ; 松尾正信 訳
コンパイラの技法 / F.R.A.ホップグッド著 ; 首藤勝, 関本彰次共訳
コンパイラ構成法 / 原田賢一著
コンパイラ : プログラム言語処理の基礎 / 井上謙蔵著
コンパイラ設計技法 : 理論と実践 / T. ピットマン, J. ピーターズ著 ; 今泉貴史訳
dBASE ・ PLUSコンパイラ & アセンブラ ゜ / 桑村幸雄,池端良一 著. -- 2版
コンパイラ・コンパイラ / 井上謙蔵著. -- 産業図書, 1970.
Let's C(Ver3.0)プログラミングハンドブック : MS-DOS用Cコンパイラ / PMC研究所 編
やさしいコンパイラの作り方 / 中西正和,大野義夫 共著
Microsoft QuickC コンパイラ Ver.2.0 ランタイム ライブラリ リファレンス
コンパイラ作成の技法 / David Gries著 ; 牛島和夫訳
コンパイラ / 中田育男著
市内(他区)の図書館にはあるとのことなので取り寄せて読みます。
1万円ほどの本を買うには残念ながらお金がないもので・・・;
他に大学にあった以下のコンパイルの本び中でおすすめってありますか?
コンパイラの基礎 / 徳田雄洋著
命令レベル並列処理 : プロセッサアーキテクチャとコンパイラ / 安藤秀樹著
コンパイラ入門 : 文法から設計・製作まで / 小田一博著
Cコンパイラ設計 : yacc/lexの応用 / A.T.シュライナー,H.G.フリードマン 著 ; 矢吹道郎 〔ほか〕訳
超並列処理コンパイラ / 村岡洋一著
コンパイラ / 疋田輝雄 著
DIANA入門/言語仕様/応用 : Adaコンパイラ実現のための中間言語
やさしいコンパイラの作り方 / 中西正和 共著 ; 大野義夫 共著
新言語作成の技法 : オリジナル・コンパイラ / 大貫広幸 著
N88日本語BASIC(86)コンパイラ活用法 : Personal computer MS-DOS版 / 肥田野登 著
コンパイラの技法 / 中田育男 著
コンパイラのうちとそと / 島内剛一ほか共著
コンパイラの設計と構築 / Arthur B.Pyster 著 ; 松尾正信 訳
コンパイラの技法 / F.R.A.ホップグッド著 ; 首藤勝, 関本彰次共訳
コンパイラ構成法 / 原田賢一著
コンパイラ : プログラム言語処理の基礎 / 井上謙蔵著
コンパイラ設計技法 : 理論と実践 / T. ピットマン, J. ピーターズ著 ; 今泉貴史訳
dBASE ・ PLUSコンパイラ & アセンブラ ゜ / 桑村幸雄,池端良一 著. -- 2版
コンパイラ・コンパイラ / 井上謙蔵著. -- 産業図書, 1970.
Let's C(Ver3.0)プログラミングハンドブック : MS-DOS用Cコンパイラ / PMC研究所 編
やさしいコンパイラの作り方 / 中西正和,大野義夫 共著
Microsoft QuickC コンパイラ Ver.2.0 ランタイム ライブラリ リファレンス
コンパイラ作成の技法 / David Gries著 ; 牛島和夫訳
コンパイラ / 中田育男著
161デフォルトの名無しさん
2014/12/11(木) 18:35:53.94ID:yZEE5pFs162デフォルトの名無しさん
2014/12/11(木) 18:43:18.72ID:tbxqmm74163デフォルトの名無しさん
2014/12/11(木) 20:08:42.05ID:O2yGUM7o >>143
んなアホな
んなアホな
164デフォルトの名無しさん
2014/12/11(木) 20:21:08.66ID:ED9Fc+9a 中田本は結構いいね。でもドラゴンブックも読んどくべきだけどね。
165デフォルトの名無しさん
2014/12/11(木) 20:26:34.20ID:URNWWvBk ドラゴンブックに限らずあの手の堅い文章は頭に入りにくい
166デフォルトの名無しさん
2014/12/11(木) 20:51:29.95ID:HAPX7Bnj167デフォルトの名無しさん
2014/12/11(木) 20:58:28.23ID:hXJaCtwW やさしいコンパイラの作り方と
コンパイラのうちとそとは
読み物として面白い。
でもたぶん(今じゃ)なんの役にも立たないw
コンパイラのうちとそとは
読み物として面白い。
でもたぶん(今じゃ)なんの役にも立たないw
168デフォルトの名無しさん
2014/12/11(木) 21:22:50.68ID:tbxqmm74 >>166
2011年が最後かな
言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで
ってのをオライリーから共著で出してたはず
でも一番読み応えあるのは1999年発行の
コンパイラの構成と最適化
だと思う、この本はドラゴンブックと一緒に是非買うべきって言っても良い
2011年が最後かな
言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで
ってのをオライリーから共著で出してたはず
でも一番読み応えあるのは1999年発行の
コンパイラの構成と最適化
だと思う、この本はドラゴンブックと一緒に是非買うべきって言っても良い
169117
2014/12/11(木) 21:35:13.25ID:TxaNdaYp >>161
>文芸的なcobol+日本語ななでしこ?
cobolやなでしこは使ったことないのでわかりませんが、
私は英語を用いた言語よりはわかりやすいと思います。
コメント文での説明が要らないかどうかは作るものによりますけど。
>あるなら手にとって読んでみればいいのに
いろんな図書館に点々としてるそうで、
中にはどこにあるのかわからない図書館にある本だったりも・・・;
ちなみに、上げた24冊のうち私の工学部の校舎にある図書館に絞ると3冊しかないそうです。
>>162 >>164
中田先生の本読んでみます。
ドラゴンブックの方も取り寄せが届いたら読みます。
>>167
面白いならその2冊も読んでみます。
>文芸的なcobol+日本語ななでしこ?
cobolやなでしこは使ったことないのでわかりませんが、
私は英語を用いた言語よりはわかりやすいと思います。
コメント文での説明が要らないかどうかは作るものによりますけど。
>あるなら手にとって読んでみればいいのに
いろんな図書館に点々としてるそうで、
中にはどこにあるのかわからない図書館にある本だったりも・・・;
ちなみに、上げた24冊のうち私の工学部の校舎にある図書館に絞ると3冊しかないそうです。
>>162 >>164
中田先生の本読んでみます。
ドラゴンブックの方も取り寄せが届いたら読みます。
>>167
面白いならその2冊も読んでみます。
170デフォルトの名無しさん
2014/12/11(木) 21:37:16.34ID:Q8kAUXaJ >>167
> やさしいコンパイラの作り方と
> コンパイラのうちとそとは
> 読み物として面白い。
両方読んだ気がするが、内容覚えてないわ
> でもたぶん(今じゃ)なんの役にも立たないw
色々な人を呼び込むと言うのも、重要な役目だと思う
誰か「漫画で読むコンパイラ」とか書かないかなぁ w
> やさしいコンパイラの作り方と
> コンパイラのうちとそとは
> 読み物として面白い。
両方読んだ気がするが、内容覚えてないわ
> でもたぶん(今じゃ)なんの役にも立たないw
色々な人を呼び込むと言うのも、重要な役目だと思う
誰か「漫画で読むコンパイラ」とか書かないかなぁ w
171デフォルトの名無しさん
2014/12/11(木) 21:40:57.95ID:KrH9mSC/ まともにやる気あるなら、その中のどれでも一つ真剣に取り組めばいいよ。
迷うのはそれからでも遅くない
迷うのはそれからでも遅くない
172デフォルトの名無しさん
2014/12/11(木) 21:42:20.07ID:tbxqmm74 >>170
麻宮騎亜がアップを始めたようです。
麻宮騎亜がアップを始めたようです。
173デフォルトの名無しさん
2014/12/11(木) 21:57:20.15ID:JvQXLAia CPUの創り方が萌えキャラで出る時代だから
コンパイラ版が出る日も近いな
コンパイラ版が出る日も近いな
174デフォルトの名無しさん
2014/12/12(金) 03:52:20.71ID:yYnp70gr 疲れた時は白と黒のとびらとか。読み物だけど
175デフォルトの名無しさん
2014/12/13(土) 11:59:00.15ID:KEKavmkB >>168
共著じゃなくてAntlrの作者が書いた本の監訳だよ
共著じゃなくてAntlrの作者が書いた本の監訳だよ
2014/12/13(土) 19:31:14.67ID:LmsGKyNP
正直ドラゴンブックって内容はともかく説明はとても優しいよね
洋書はIT系に限らず懇切丁寧な事が多いと思う
洋書はIT系に限らず懇切丁寧な事が多いと思う
2014/12/13(土) 22:13:39.97ID:aWFoLZL3
虎も仲間に入れてやってください
サンプルがアレだが
サンプルがアレだが
178デフォルトの名無しさん
2015/01/19(月) 11:19:23.48ID:cYd/ZsDZ kmoriさん亡くなったって。
179デフォルトの名無しさん
2015/01/19(月) 11:34:19.54ID:CzsUjspG yaccの一実装書いてた人か。南無
https://web.archive.org/web/20080206191946/http://d.hatena.ne.jp/kmori58/20060702/p3
https://web.archive.org/web/20080206191946/http://d.hatena.ne.jp/kmori58/20060702/p3
180デフォルトの名無しさん
2015/01/19(月) 15:30:26.84ID:cYd/ZsDZ kmyaccも有名だが、「LSI-Cの作者の一人」だった。
181デフォルトの名無しさん
2015/01/20(火) 21:04:04.33ID:wHr1vYS1 熊ヤックと読んでいた
182片山博文MZ ◆T6xkBnTXz7B0
2015/02/18(水) 16:40:51.07ID:9VF3MRJc C++11の正規表現でCのスキャナーをスマートに書きたい。
しかし、コメントの扱いがややこしく、また、行番号の情報を取得する必要がある。
一行ごとに読み込むべきか、従来どおりトークンに切り分けて読み込むべきか。
全部をいっぺんに読み込んで'\n'でsplitする方法は実行時のメモリーと時間がかかると思う。
どういう戦略にすべきか?
しかし、コメントの扱いがややこしく、また、行番号の情報を取得する必要がある。
一行ごとに読み込むべきか、従来どおりトークンに切り分けて読み込むべきか。
全部をいっぺんに読み込んで'\n'でsplitする方法は実行時のメモリーと時間がかかると思う。
どういう戦略にすべきか?
183片山博文MZ ◆T6xkBnTXz7B0
2015/02/18(水) 17:03:37.74ID:9VF3MRJc 改行に特別なトークンを割り当てて、すべてのトークンを読み
込んだ後でトークンに行番号をつけてから改行のトークンを取り除くという
方法についてはどう思いますか?
込んだ後でトークンに行番号をつけてから改行のトークンを取り除くという
方法についてはどう思いますか?
184デフォルトの名無しさん
2015/02/18(水) 21:19:15.31ID:po3oOzQK Cってマクロとかインクルードとか有るん?
185片山博文MZ ◆T6xkBnTXz7B0
2015/02/19(木) 01:08:43.02ID:XXveEoOV マクロやインクルードは、プリプロセッサーがやってくれるよ
186デフォルトの名無しさん
2015/02/19(木) 12:19:19.08ID:b9Ke1XGw プリプロセッサーの展開後の行番号って要るのかね?
187デフォルトの名無しさん
2015/02/19(木) 19:51:00.22ID:rp3PUwqb 無かったらエラー表示するとき不便だろ
188デフォルトの名無しさん
2015/02/19(木) 21:27:05.57ID:wg16DBik 展開後の行番号の方がいらなくね?
プリプロセッサ文てコンパイラ側でも処理するよね?
#line とか
プリプロセッサ文てコンパイラ側でも処理するよね?
#line とか
189デフォルトの名無しさん
2015/02/19(木) 21:31:56.28ID:uOq48O3O コメントはプリプロセサで置き換えたらいかんのか
190デフォルトの名無しさん
2015/02/21(土) 01:08:42.33ID:XnZFjwve SmalltalkのVM上にJavaVMを構築してんだけど、
VMの話もここで良いんだよね。
VMの話もここで良いんだよね。
191デフォルトの名無しさん
2015/02/21(土) 12:59:06.48ID:eVOI8zE3 OK
192デフォルトの名無しさん
2015/02/21(土) 23:58:08.89ID:bst4VCEg >>182
Cのスキャナって正規表現だけで表現できるんか?(構文解析しないで良いエディタのhilightingとかは大丈夫だけど)
Cのスキャナって正規表現だけで表現できるんか?(構文解析しないで良いエディタのhilightingとかは大丈夫だけど)
193デフォルトの名無しさん
2015/02/22(日) 01:27:09.68ID:0QFgdJ2i >>191
了解。
SmalltalkのVM上でDalvik VM用のclassも動かしたいんですが、
いちいちDalvik用のVMまで作るのがメンドイです。
Dalvik用のclass形式からJavaVM用のclass形式に変換するオススメのLibraryを教えて下さい。
Libraryの言語はSmalltalkに書き直しますので何でもいいです。
了解。
SmalltalkのVM上でDalvik VM用のclassも動かしたいんですが、
いちいちDalvik用のVMまで作るのがメンドイです。
Dalvik用のclass形式からJavaVM用のclass形式に変換するオススメのLibraryを教えて下さい。
Libraryの言語はSmalltalkに書き直しますので何でもいいです。
194デフォルトの名無しさん
2015/02/23(月) 17:30:23.57ID:FikKUZMK195デフォルトの名無しさん
2015/02/23(月) 17:38:19.44ID:FikKUZMK196デフォルトの名無しさん
2015/02/23(月) 17:41:10.47ID:FikKUZMK javaで書いたDalvikのVM
http://www.eflow.jp/topics/090317.html
http://www.eflow.jp/topics/090317.html
197デフォルトの名無しさん
2015/02/23(月) 22:14:05.07ID:Fe2dvIpV C++で完結するって所に惹かれてboost::spiritを試してみたが…、これは死ねる。
198デフォルトの名無しさん
2015/02/24(火) 01:43:04.58ID:f8A7qwV2 共通部分式の除去のやり方がわかんねえ
定数伝播、四則演算も含む組み込み関数の畳み込み、使わない変数の除去、
ループ展開等を同じパスでやってるんだけど
共通部分式の除去とそれをやるのに必要な不変式の判定はまた別でやった方がいいのかな
不変式かどうかはループ最適化でも使えそうなんだけど混乱してきた
定数伝播、四則演算も含む組み込み関数の畳み込み、使わない変数の除去、
ループ展開等を同じパスでやってるんだけど
共通部分式の除去とそれをやるのに必要な不変式の判定はまた別でやった方がいいのかな
不変式かどうかはループ最適化でも使えそうなんだけど混乱してきた
199片山博文MZ ◆T6xkBnTXz7B0
2015/02/24(火) 08:04:58.95ID:UGr8Bbp/ >>198
ある計算式eについて、eの部分式を互いに参照するエントリーとして再帰的にテーブルに登録する。
登録するときにソートと重複チェックを行えば、テーブルは一意化できる。
テーブルの各エントリーの参照構造は、木構造のノードを成す。
ある計算式eについて、eの部分式を互いに参照するエントリーとして再帰的にテーブルに登録する。
登録するときにソートと重複チェックを行えば、テーブルは一意化できる。
テーブルの各エントリーの参照構造は、木構造のノードを成す。
200デフォルトの名無しさん
2015/02/24(火) 11:33:08.23ID:wemgVVUb >>198
式の属性に関する再帰方程式の近似解をニュートン法のように求めること、
これがデータフロー計算解法の本質と理解できてないんじゃない?
ドラゴンブックのavailable, killedの説明の所読んでみれば?
同じパス内でループしながら収束するまで計算するのよ。
式の属性に関する再帰方程式の近似解をニュートン法のように求めること、
これがデータフロー計算解法の本質と理解できてないんじゃない?
ドラゴンブックのavailable, killedの説明の所読んでみれば?
同じパス内でループしながら収束するまで計算するのよ。
201デフォルトの名無しさん
2015/02/24(火) 11:35:18.85ID:wemgVVUb ドラゴンブックのどの節か書こうとしたけど本が見つからない...
とりあえず、ここのp.10から。
http://dragonbook.stanford.edu/lecture-notes/Stanford-CS143/20-Optimization.pdf
とりあえず、ここのp.10から。
http://dragonbook.stanford.edu/lecture-notes/Stanford-CS143/20-Optimization.pdf
202デフォルトの名無しさん
2015/02/24(火) 17:44:49.00ID:H95vOz7j203デフォルトの名無しさん
2015/02/24(火) 17:53:23.22ID:avE+zAm1 多分ちゃんと読んだ方がかえって早い。
共通部分式A,Bがあって、例えばBの方の除去をやると、
Bの到達性がAの到達性にも付与される。
このことは他の属性に影響を及ぼしうる。
よってもう一度計算をしないとより正確な属性を求められない。
以下ループ。
よって収束するまで繰り返すことになる。
共通部分式A,Bがあって、例えばBの方の除去をやると、
Bの到達性がAの到達性にも付与される。
このことは他の属性に影響を及ぼしうる。
よってもう一度計算をしないとより正確な属性を求められない。
以下ループ。
よって収束するまで繰り返すことになる。
204デフォルトの名無しさん
2015/02/24(火) 18:04:39.54ID:H95vOz7j 変化がなくなるまで最適化処理を繰り返すのはわかった
205デフォルトの名無しさん
2015/02/24(火) 19:26:42.04ID:wUDy2moe >>197
コンパイル時間がか?
コンパイル時間がか?
206片山博文MZ ◆T6xkBnTXz7B0
2015/02/24(火) 20:45:40.84ID:UGr8Bbp/ __declspecとか__attribute__などをパースできないと正確な構造体型のサイズ
を求めることができない。しかしattribute周りの文法がメチャクチャやなあ。
を求めることができない。しかしattribute周りの文法がメチャクチャやなあ。
207片山博文MZ ◆T6xkBnTXz7B0
2015/03/03(火) 01:05:04.60ID:t6l1EelO 次は"typed value"の扱いだな。定数にも型がある。型付きの値を
扱えなければ、正確な定数値を求めることはできない。
扱えなければ、正確な定数値を求めることはできない。
208デフォルトの名無しさん
2015/03/03(火) 04:49:45.03ID:ZU1MaIS8 最適化なんてイラナイよね、何処まで処理系に依存する気なんだよw
209デフォルトの名無しさん
2015/03/08(日) 14:52:45.39ID:u8r5MR2m 初心者だがHSPって凄いね
自分でHSPみたいなの作ろうとすると途端につまづくw
内部でメッセージハンドルに登録していく言語だと思うんだけど
こんなにwinを感じさせない文法でwinと親和性高く作れるとは
自分でHSPみたいなの作ろうとすると途端につまづくw
内部でメッセージハンドルに登録していく言語だと思うんだけど
こんなにwinを感じさせない文法でwinと親和性高く作れるとは
210デフォルトの名無しさん
2015/03/08(日) 17:15:18.44ID:8c6PRT7L ランタイムの機能の量で躓くならともかくあの文法でつまづくなら>>1で概要把握して本読めば
211デフォルトの名無しさん
2015/03/09(月) 14:52:03.75ID:MIZIuI1f 文法とOSに何の関係が?
212デフォルトの名無しさん
2015/03/09(月) 16:12:25.65ID:J8WIpDef いただきジャンガリアンに辛酸をなめさせられたのだろうよ
213デフォルトの名無しさん
2015/03/09(月) 17:25:40.74ID:VM1FVYaf うーん初心者だから言い方わかんないんだけど
コマンドプロンプトのスクリプトってコマンドに従って単に実行していくだけだよね
でもwinだと実行されるのは素直に考えるとメッセージが来たとき
cでウインアプリつくるときはメッセージ毎に処理を書くけど上から順に読むスクリプトは
それはできないわけだからどう整合性取るのかなってことで悩んでた
結局メッセージ毎にリストがあってコマンドを読んだらそのリストに関数ポインタ名で追加、
メッセージ毎に呼ばれる関数はその種別のリストを上から順に実行していく
こんな感じで作ったけどこれでいいのかな
コマンドプロンプトのスクリプトってコマンドに従って単に実行していくだけだよね
でもwinだと実行されるのは素直に考えるとメッセージが来たとき
cでウインアプリつくるときはメッセージ毎に処理を書くけど上から順に読むスクリプトは
それはできないわけだからどう整合性取るのかなってことで悩んでた
結局メッセージ毎にリストがあってコマンドを読んだらそのリストに関数ポインタ名で追加、
メッセージ毎に呼ばれる関数はその種別のリストを上から順に実行していく
こんな感じで作ったけどこれでいいのかな
214デフォルトの名無しさん
2015/03/12(木) 21:28:48.21ID:BlO2EFmA そりゃ文法じゃなくて実行モデルだな。
イベント駆動ってことでしょ。
イベント駆動ってことでしょ。
215デフォルトの名無しさん
2015/04/13(月) 21:09:38.60ID:qtTodoaL 「Cのコンパイラなら何日かかけて作っても良いが、C++は、一人で
作るのは嫌だ。文法をきちんとカバーするのに日数がかかりすぎるから」
と言われたよ。
作るのは嫌だ。文法をきちんとカバーするのに日数がかかりすぎるから」
と言われたよ。
216デフォルトの名無しさん
2015/04/22(水) 02:22:50.19ID:eOWj6Ffd javaに近い構文の言語をつくろうとしてるんだけど、
ようやくchar配列に変換したソースから関数の外側を構文解析できた。
山括弧<>、文字列リテラル、コメントに気をつけつつ、
なんとか関数の中を無視してクラス・変数・関数の名前や型名を取得して
関数の中身にとりかかるところ。
関数の中身は丸括弧()が難関になりそう。
AAAA bbbb = ((HHHH)cccc.dddd.eeee(ffff.gggg(), jjjj)).iiii();
bbbb.kkkk = -10/(8-3)-9/-3
ようやくchar配列に変換したソースから関数の外側を構文解析できた。
山括弧<>、文字列リテラル、コメントに気をつけつつ、
なんとか関数の中を無視してクラス・変数・関数の名前や型名を取得して
関数の中身にとりかかるところ。
関数の中身は丸括弧()が難関になりそう。
AAAA bbbb = ((HHHH)cccc.dddd.eeee(ffff.gggg(), jjjj)).iiii();
bbbb.kkkk = -10/(8-3)-9/-3
217デフォルトの名無しさん
2015/04/22(水) 20:33:48.48ID:rBARkljm >>216
まるで違う言語に見えてしまうのだが。
まるで違う言語に見えてしまうのだが。
218デフォルトの名無しさん
2015/04/22(水) 21:30:55.14ID:eOWj6Ffd >>217
最初はクラス名、メンバ変数、メンバ関数を全部調べてからじゃないと
関数の中身に取り掛かれないと思ってた。
でもクラス名・変数名・関数名に区別は不要で、記号をヒントに階層を分解して、
それから型名の存在の有無・整合性を調べるという風にフェーズを分けれそう。
でも()が演算の優先順位、型キャスト、メソッド...どれに使われているのか
区別できるかは不安。for文とかは最初に予約語が入るからやりやすそうだけど。
Person person = ((Factory)group.cache.getFactory(provider.getResource(), url)).create();
person.id = -10/(8-3)-9/-3;
最初はクラス名、メンバ変数、メンバ関数を全部調べてからじゃないと
関数の中身に取り掛かれないと思ってた。
でもクラス名・変数名・関数名に区別は不要で、記号をヒントに階層を分解して、
それから型名の存在の有無・整合性を調べるという風にフェーズを分けれそう。
でも()が演算の優先順位、型キャスト、メソッド...どれに使われているのか
区別できるかは不安。for文とかは最初に予約語が入るからやりやすそうだけど。
Person person = ((Factory)group.cache.getFactory(provider.getResource(), url)).create();
person.id = -10/(8-3)-9/-3;
219デフォルトの名無しさん
2015/04/22(水) 22:59:19.66ID:LKLiXgla いまいち分からないけど、識別子の次にあったら関数呼び出しで
それ以外は式とかでいけないの
それ以外は式とかでいけないの
220デフォルトの名無しさん
2015/04/22(水) 23:28:51.38ID:eOWj6Ffd いけるか分からない。とりあえずやってみるってところ
レスを投稿する
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
