プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。
Wikiのまとめページ
http://www6.atwiki.jp/compilerandscriptengine/
「コンパイラ・スクリプトエンジン」相談室16
2014/07/20(日) 11:16:19.37ID:p6eMVAxc
2014/11/02(日) 11:43:14.80ID:6U4Atlhd
基本的には書いた人の頭のエラーだからな。
コンパイラ的には「チェンジ!チェンジ!この子変えて!!!」
だけでいい。
コンパイラ的には「チェンジ!チェンジ!この子変えて!!!」
だけでいい。
67デフォルトの名無しさん
2014/11/02(日) 12:31:43.49ID:4dYx0WR7 > 関西型プログラミング言語のひとつ Kyoto のコンパイラは,文法ミスのあるコードを与えると「ふうがわりなコードどすなぁ」とだけ返すので,何が間違っているかはこちらで推測する必要がある.
2014/11/02(日) 12:39:13.58ID:FPvqJpqA
何回も間違ったらぶぶ漬けが出てきそうだな
2014/11/02(日) 12:58:18.94ID:i2BOrYsG
2014/11/02(日) 13:03:44.74ID:FPvqJpqA
この道路は工事中なので次の迂回路をご利用ください
2014/11/02(日) 16:35:04.02ID:l3Xq9EsR
コンパイル速ければ、エラーは1個で十分だったりするよなぁっとか。
大量に出すなら、一番先頭のエラーを一番下に出すと嬉しいとか。
大量に出すなら、一番先頭のエラーを一番下に出すと嬉しいとか。
2014/11/03(月) 12:49:03.39ID:ljM6XCm0
>> 70
迂回は出来ないんだなぁ
迂回は出来ないんだなぁ
2014/11/03(月) 18:22:08.25ID:6fFurIEN
最近のghcとかだと、関数名をタイポすると似た存在する関数名を示してくれる。外してる時もあるけど。
ああいう親切さをもっと充実させるのも方向性としてはありだと思う。
あらゆるコンパイルエラーがクラウドサーバに送られ続けて典型的なミスを蓄積し続ける、とかね。
ああいう親切さをもっと充実させるのも方向性としてはありだと思う。
あらゆるコンパイルエラーがクラウドサーバに送られ続けて典型的なミスを蓄積し続ける、とかね。
2014/11/04(火) 11:17:19.99ID:bZGUB4M2
大量のデータをまとめて整理した結果をどこかで見たけど
よくあるスペルミス・インポート忘れ・宣言忘れが飛び抜けていて
それ以外はごくわずかでどうでもいいという印象だった
よくあるスペルミス・インポート忘れ・宣言忘れが飛び抜けていて
それ以外はごくわずかでどうでもいいという印象だった
2014/11/04(火) 11:19:32.39ID:bZGUB4M2
中級者以上と入門者はつまずく所が全く違うから
後者のデータだけを集めれば「入門者に最適」な言語やツールが作れるかもしれない
後者のデータだけを集めれば「入門者に最適」な言語やツールが作れるかもしれない
2014/11/04(火) 13:56:57.87ID:OXvDS9Yh
C言語は、研究結果;はあった方が良いみたいな話を聞いた事があるような気がする。
けど、最後だけ無しとかだったのかもしれないし、良く覚えてないなぁ。
今作ってる言語は必要な所だけ;を書くって作ってるのだけど。
初心者には難しいのかもしれないです。
けど、最後だけ無しとかだったのかもしれないし、良く覚えてないなぁ。
今作ってる言語は必要な所だけ;を書くって作ってるのだけど。
初心者には難しいのかもしれないです。
2014/11/04(火) 15:36:24.07ID:bZGUB4M2
気の利いたエディタサポートまで考えるなら改行をまたぐ構文を禁止すべき
VBはそうなってる
VBはそうなってる
2014/11/04(火) 15:58:19.03ID:vqrMdBMn
lispとかでマクロ展開したときに中でエラーが起こったら行と桁の表示は諦めるしかないのかな
前に作ったとき展開後も展開前の行を引き継ぐやり方をしてたけど
前に作ったとき展開後も展開前の行を引き継ぐやり方をしてたけど
2014/11/04(火) 17:04:17.39ID:99dxtSJ/
>>78
トークンに文字列だけじゃなく、もとあった位置の情報も付けたら?
>>76
どんな言語でも、ある程度本格的なプロダクトなら、たいてい、「やたら長くなるから改行を挟みたい式」と
「やたら短くて似たようなのが連続するから1行にまとめたい文」の両方が出てくるので、
どちらを強制するのも一長一短。
構文的には (a, b, c, d) と {a; b; c; d;} の、どちらも似たようなものだけど、機械的なコード生成では
後者のほうが以前は楽だった(最近は可変長配列みたいなオブジェクトに入れて、最後に
joinとか、ライブラリが充実してる言語を使うのが普通なので、あまり差は無い)。
人間の作業としては、複数行にまたがるものでは前者のほうはちょっとめんどい。
(最後の行を削ったあとで、前の行の最後も削る必要があるので)
{a,
b,
c}
みたいに閉じカッコを行末に付けてしまえばそうでもないかもだが。
あとそもそもC言語の構文では ; の規則がちょっと変則的。
トークンに文字列だけじゃなく、もとあった位置の情報も付けたら?
>>76
どんな言語でも、ある程度本格的なプロダクトなら、たいてい、「やたら長くなるから改行を挟みたい式」と
「やたら短くて似たようなのが連続するから1行にまとめたい文」の両方が出てくるので、
どちらを強制するのも一長一短。
構文的には (a, b, c, d) と {a; b; c; d;} の、どちらも似たようなものだけど、機械的なコード生成では
後者のほうが以前は楽だった(最近は可変長配列みたいなオブジェクトに入れて、最後に
joinとか、ライブラリが充実してる言語を使うのが普通なので、あまり差は無い)。
人間の作業としては、複数行にまたがるものでは前者のほうはちょっとめんどい。
(最後の行を削ったあとで、前の行の最後も削る必要があるので)
{a,
b,
c}
みたいに閉じカッコを行末に付けてしまえばそうでもないかもだが。
あとそもそもC言語の構文では ; の規則がちょっと変則的。
2014/11/04(火) 23:11:55.77ID:DC7Ttoit
Lispマクロのデバッグはちょっと難しいよな。
backquoteのように構文上の構造を引き継ぐような奴ばかりならいいんだけど。
backquoteのように構文上の構造を引き継ぐような奴ばかりならいいんだけど。
2014/11/04(火) 23:12:32.22ID:DC7Ttoit
デバッグ→デバッグ情報
2014/11/04(火) 23:31:17.91ID:6PskSs9/
複雑なマクロでもたいていは展開系見れば何とかなるね。それでも動かないマクロがたまーにあって辛いけど。
83デフォルトの名無しさん
2014/11/04(火) 23:40:21.11ID:cufVHbaO 自作のコンパイラなりなんなりはデバッグと最適化を考えたらなにも出来ない
むしろ潔く投げ捨てる勢いと割り切りで走らないとダメっしょ
俺様考えたルールで動いた万歳終わりな感じ
四則演算と条件文、あとGOTOなりCALLなりがあれば立派
それ以上の高度化は努力しだいってことで
それとも大人しくCommon Lispあたりを使って妥協するとか
Lispだと関数を生成して実行できるんだよね
例えば入力画面の項目数とか要件とかを与えて関数の形で生成して実行な感じの
俺様コンパイラ、Lispコード生成するからコンパイルや実行デバッグはそちらでオネガイみたくw
むしろ潔く投げ捨てる勢いと割り切りで走らないとダメっしょ
俺様考えたルールで動いた万歳終わりな感じ
四則演算と条件文、あとGOTOなりCALLなりがあれば立派
それ以上の高度化は努力しだいってことで
それとも大人しくCommon Lispあたりを使って妥協するとか
Lispだと関数を生成して実行できるんだよね
例えば入力画面の項目数とか要件とかを与えて関数の形で生成して実行な感じの
俺様コンパイラ、Lispコード生成するからコンパイルや実行デバッグはそちらでオネガイみたくw
2014/11/05(水) 01:50:49.88ID:j8mQRcC4
そこまで楽するなら構文をリードマクロで定義したほうが早そう
2014/11/05(水) 07:49:49.12ID:xr1YCX3/
xmlってスクリプト言語なの?データ構造なの?
xmlを使ったスクリプト言語らしきモノもあるみたいだし、よーわからん
xmlを使ったスクリプト言語らしきモノもあるみたいだし、よーわからん
2014/11/05(水) 08:22:34.79ID:Fpn6fvq+
>>83
C とかのソース吐いて、最適化よろしくね(はーと)でいいだろ
C とかのソース吐いて、最適化よろしくね(はーと)でいいだろ
2014/11/05(水) 09:54:15.68ID:gfolKTI3
2014/11/05(水) 11:54:58.98ID:bBYPRYMe
>>85
プレーンテキストってスクリプト言語なの?データ構造なの?
プレーンテキストってスクリプト言語なの?データ構造なの?
2014/11/05(水) 17:03:13.23ID:I87EWij/
2014/11/05(水) 17:58:10.42ID:uuXXn0N9
シェルスクリプトとかみたいな意味でスクリプトではない。
XSLTとか、あとワドラー氏が冗談で提案していたと思うがXMLで表現するプログラミング言語と
いうものもありうるけど、XML自体は単なるデータ構造でしかない。
XSLTとか、あとワドラー氏が冗談で提案していたと思うがXMLで表現するプログラミング言語と
いうものもありうるけど、XML自体は単なるデータ構造でしかない。
2014/11/05(水) 21:09:37.17ID:WN8UKbpt
XMLにロジックを書く者は呪われる。やめておいた方がいい。あれはデータ形式としても冗長すぎるし、良いところはない。
S式を使うといい。
S式を使うといい。
2014/11/05(水) 21:32:19.82ID:uuXXn0N9
XSLTは割とよくできてるよw
2014/11/06(木) 01:58:37.08ID:Rw7wEfhr
閉じ括弧重ね書き文化は誰も止めなかったのかねえ))))))))))))))))))))
2014/11/06(木) 02:08:22.53ID:rrEEAzVB
Cみたいな中括弧、改行、インデントを繰り返すのもイマイチ
2014/11/07(金) 19:44:15.64ID:XxPyN8W7
整ってると思うがなあ
switch, caseだけはアレだが
switch, caseだけはアレだが
2014/11/07(金) 20:31:09.14ID:sXupdHKX
switchとcaseは同じインデントにしてbreakだけ字下げだよね?ね?
2014/11/07(金) 20:52:59.78ID:4yd7iQ66
>>96 に一票
2014/11/07(金) 22:25:11.01ID:fMVGCDH+
(,)は特別な意味持たせたいとかあるので難しいですね。
(a,)はタプルにしようか、タプルじゃないのかとか。(,a)はタプルとか。
(a,)はタプルにしようか、タプルじゃないのかとか。(,a)はタプルとか。
2014/11/09(日) 11:22:54.52ID:/PoG0aeo
Pythonの「1要素のタプル」はトリッキーだが面白いとは思った。
kなんとかの人が言ってるように、カッコなしでもそうなるのは罠だがw
kなんとかの人が言ってるように、カッコなしでもそうなるのは罠だがw
100デフォルトの名無しさん
2014/11/09(日) 12:10:23.68ID:6nixZySy lispだと(a)とaの違いかな
101デフォルトの名無しさん
2014/11/09(日) 16:44:48.42ID:7O7eobU9 >> 100
そんな感じ。名前のない構造体
そんな感じ。名前のない構造体
102デフォルトの名無しさん
2014/11/09(日) 20:23:26.03ID:15ZMIIuR いや名前ある、タプル
103デフォルトの名無しさん
2014/11/10(月) 01:34:25.20ID:zIX5GD/A ここって正規表現エンジンの話もいいのかな
nfaとdfaのハイブリッドエンジンを実装したいんだけど
dfaの中にnfaがあったらどう処理するかとかどこまでdfaにしていいかとかさっぱり分からない
調べてもon-the-flyという単語ぐらいしか出てこなくて実装方法とかは見つからない
知ってる人いたら教えてほしい
nfaとdfaのハイブリッドエンジンを実装したいんだけど
dfaの中にnfaがあったらどう処理するかとかどこまでdfaにしていいかとかさっぱり分からない
調べてもon-the-flyという単語ぐらいしか出てこなくて実装方法とかは見つからない
知ってる人いたら教えてほしい
104デフォルトの名無しさん
2014/11/10(月) 07:33:01.86ID:XDoaKxdi schemeの自作コンパイラ作成の過程で、cps変換につまづいています。
よくネット上で「簡単な処理で実現できる」という感じで書いてあるのを良く見るのですが、
実際にやろうとするとなかなかできません。
具体的に何をやったらいいのでしょうか?
ちなみにlambdaでのcps変換はぎりぎり理解できてると思います。
よくネット上で「簡単な処理で実現できる」という感じで書いてあるのを良く見るのですが、
実際にやろうとするとなかなかできません。
具体的に何をやったらいいのでしょうか?
ちなみにlambdaでのcps変換はぎりぎり理解できてると思います。
105デフォルトの名無しさん
2014/11/10(月) 09:06:04.50ID:hP+YfTbo Scheme使ってるならEoPLの最後のほうの章読んだらええで。
106デフォルトの名無しさん
2014/11/10(月) 12:08:25.51ID:s3EMdqhf107デフォルトの名無しさん
2014/11/10(月) 17:06:44.93ID:G4zfChd8108デフォルトの名無しさん
2014/11/11(火) 02:10:53.26ID:85SNGvMw109デフォルトの名無しさん
2014/11/12(水) 01:44:27.15ID:DTrQhtqP >>108
この延長線上にある話だと理解できてないか、
SFA(semi-deterministic finite automata)を勘違いしてon-the-flyだと思っている。
前者ならGNU Rxを読めばいい。
この延長線上にある話だと理解できてないか、
SFA(semi-deterministic finite automata)を勘違いしてon-the-flyだと思っている。
前者ならGNU Rxを読めばいい。
110デフォルトの名無しさん
2014/11/12(水) 01:57:21.21ID:/4vNcbkH >>109
多分後者かもしれない
自分の考えてるのは(X)*aときたら
1 ==(X)==> 1
1 ==a==> 2
というdfaを作って次のノードへの遷移条件が文字じゃなくてnfaなら
それを優先して見てマッチしたらその先に行く方法を考えてた
それならnfaとdfaをうまく組みあわせられると思って
あとsfaは今初めて知った
sfaとかon-the-flyは調べてもちゃんとした説明が出てこなくて困る
多分後者かもしれない
自分の考えてるのは(X)*aときたら
1 ==(X)==> 1
1 ==a==> 2
というdfaを作って次のノードへの遷移条件が文字じゃなくてnfaなら
それを優先して見てマッチしたらその先に行く方法を考えてた
それならnfaとdfaをうまく組みあわせられると思って
あとsfaは今初めて知った
sfaとかon-the-flyは調べてもちゃんとした説明が出てこなくて困る
111デフォルトの名無しさん
2014/11/12(水) 01:59:11.10ID:/4vNcbkH あとnfaだけかdfaだけなら偶然持ってたドラゴンブックやネットの情報が十分にあって実装出来た
ハイブリッドにする方法が分からなくて途方に暮れてる
ハイブリッドにする方法が分からなくて途方に暮れてる
112デフォルトの名無しさん
2014/11/12(水) 11:39:32.29ID:b8dDlQST SFAでググったらランク上位の日本語の記述がこれだった
http://www.slideshare.net/mobile/sinya8282/ss-12170832
役に立つかは知らないけどマッチングの並列実行だってさ
http://www.slideshare.net/mobile/sinya8282/ss-12170832
役に立つかは知らないけどマッチングの並列実行だってさ
113デフォルトの名無しさん
2014/11/15(土) 04:11:51.30ID:2wuAQ8Y6 DFAで出来ないこと、やると遅いことをNFAでやる。
DFAにならない正規表現の拡張や状態が爆発するn回繰り返しなど。
DFAにならない正規表現の拡張や状態が爆発するn回繰り返しなど。
114片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/11/29(土) 15:46:21.26ID:AWiICJMh115デフォルトの名無しさん
2014/11/29(土) 19:24:39.29ID:bjHueY84 ということはjavaとphpとC#に対応したということか
116デフォルトの名無しさん
2014/11/29(土) 19:25:23.30ID:bjHueY84 って元からしてんじゃん…
117デフォルトの名無しさん
2014/12/04(木) 17:14:51.41ID:hjxCxC4V スレ立てるまでもない質問はここで 139匹目から来ました。
JavaCCで負の数と引き算を識別したいんですけど、どう定義したらいいでしょうか?
以下現状の一部抜粋(メソッド名についてはスルーしてください)
void enzan3() :
{}
{
enzan4()((<TASU>|<HIKU>)right=enzan4())*
}
void enzan4() :
{}
{
enzan5()((<KAKERU>|<WARU>)enzan5())*
}
void enzan5() :
{}
{
<MOZI>|[<HIKU>]<SUUZI>|"(" e=enzan3() ")"
}
JavaCCで負の数と引き算を識別したいんですけど、どう定義したらいいでしょうか?
以下現状の一部抜粋(メソッド名についてはスルーしてください)
void enzan3() :
{}
{
enzan4()((<TASU>|<HIKU>)right=enzan4())*
}
void enzan4() :
{}
{
enzan5()((<KAKERU>|<WARU>)enzan5())*
}
void enzan5() :
{}
{
<MOZI>|[<HIKU>]<SUUZI>|"(" e=enzan3() ")"
}
118デフォルトの名無しさん
2014/12/04(木) 18:52:41.09ID:jHjIGczB >>117
そのスレの997以降のはやってないの?
number=0..9
plus::=<expr> + <expr>
minus::=<expr> - <expr>
expr::=<number>|<plus>|<minus>
な感じになるだろうし
単項のマイナスはexprにかからない形式で-が出てきた時だし間違いようがなさそうに思うんだけど
そのスレの997以降のはやってないの?
number=0..9
plus::=<expr> + <expr>
minus::=<expr> - <expr>
expr::=<number>|<plus>|<minus>
な感じになるだろうし
単項のマイナスはexprにかからない形式で-が出てきた時だし間違いようがなさそうに思うんだけど
119デフォルトの名無しさん
2014/12/04(木) 20:49:24.04ID:hjxCxC4V あ。
そこの
>単項演算子と二項演算子の区別
についてはまだ調べてないです。
調べてみます。
二項演算子+,-の間に二項演算子*,/を含む式があって、
その中にカッコか数字か変数呼び出しなどがあるように定義するのではないのですか?
例えば
-1
1-2
-2*4
2/(-2+5)
などの書き方が使えるようになるといいなとか考えています。
>>118
::=って書き方は確かBNF記法でしたっけ?
その書き方についてぜんぜん知らないのでそれも調べてみます。
そこの
>単項演算子と二項演算子の区別
についてはまだ調べてないです。
調べてみます。
二項演算子+,-の間に二項演算子*,/を含む式があって、
その中にカッコか数字か変数呼び出しなどがあるように定義するのではないのですか?
例えば
-1
1-2
-2*4
2/(-2+5)
などの書き方が使えるようになるといいなとか考えています。
>>118
::=って書き方は確かBNF記法でしたっけ?
その書き方についてぜんぜん知らないのでそれも調べてみます。
120デフォルトの名無しさん
2014/12/06(土) 17:09:31.69ID:evyQIgPT みんなBNFとかやってるのか
char配列にして解析してるから常に最後が';'だと楽なんだよね
'{'で+1、'}'で-1、+-0の状態で';'がきたらその構文が完結する
int a;, class {}; switch{}; void hey(){}; if(true){}; for(){};
char配列にして解析してるから常に最後が';'だと楽なんだよね
'{'で+1、'}'で-1、+-0の状態で';'がきたらその構文が完結する
int a;, class {}; switch{}; void hey(){}; if(true){}; for(){};
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:HAPX7Bnjレスを投稿する
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 青銅聖闘士のパンチは音速←わかる 白銀聖闘士はその数倍←まぁわかる 黄金聖闘士は光速←は?
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- 紅しょうが大量に入れるやつwwwwwwwww
- そろそろみんなが忘れてそうなこと
