「コンパイラ・スクリプトエンジン」相談室16 (646レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
136(1): 117 [sage] 2014/12/09(火) 21:43:09.57 ID:KYZ3f1RL(1/3) AAS
構文規則作ってみましたが、選択の衝突が消えません。
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.
137: 117 [sage] 2014/12/09(火) 21:44:56.07 ID:KYZ3f1RL(2/3) AAS
void tasuhiku():
{}
{
kakewaru() //608行目
((<TASU>|<HIKU>)kakewaru2())*
}
void kakewaru():
{}
{
minus()
((<KAKERU>|<WARU>)sikikakko())*
}
void kakewaru2():
{}
{
sikikakko()
((<KAKERU>|<WARU>)sikikakko())*
}
138: 117 [sage] 2014/12/09(火) 21:45:41.74 ID:KYZ3f1RL(3/3) AAS
void minus():
{}
{
[<HIKU>]sikikakko()
}
void sikikakko():
{}
{
("(" tasuhiku() ")"
|atai())
}
void atai():
{}
{
<SUUZI>
}
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.173s*