「コンパイラ・スクリプトエンジン」相談室16 (648レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
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.
188: デフォルトの名無しさん [sage] 2015/02/19(木) 21:27:05.57 ID:wg16DBik(1) AAS
展開後の行番号の方がいらなくね?

プリプロセッサ文てコンパイラ側でも処理するよね?
#line とか
194: デフォルトの名無しさん [] 2015/02/23(月) 17:30:23.57 ID:FikKUZMK(1/3) AAS
>>192
192(1): デフォルトの名無しさん [sage] 2015/02/21(土) 23:58:08.89 ID:bst4VCEg(1) AAS
>>182
Cのスキャナって正規表現だけで表現できるんか?(構文解析しないで良いエディタのhilightingとかは大丈夫だけど)
scannerってlexerの一部。
lexer=scanner+tokenizer
255: デフォルトの名無しさん [sage] 2015/08/24(月) 08:19:25.57 ID:jJXNOMmM(1) AAS
clojureのdefmultiみたいな奴じゃないの?
275
(2): デフォルトの名無しさん [sage] 2015/09/20(日) 00:52:44.57 ID:m4tWKm8w(1) AAS
演算子に限定する意味は何だろう
cout << (g 1 2 f 3 4) << endl;
こんなの一見して何してるのか判らないしいっそ構文ごと第一級にすればいい
そもそも実行時に構文解析機まで走らせる重い処理系って必要なのかなあ
クロージャじゃあかんのかね
343: デフォルトの名無しさん [] 2016/01/13(水) 17:31:32.57 ID:DkyDX7cg(1) AAS
>>342
342(1): デフォルトの名無しさん [sage] 2016/01/12(火) 19:46:25.75 ID:7kdSKUGZ(1) AAS
>>338
66.66 点くらいで負かりませんか?
それだと、100万円の費用を85万円に値引くのが限界では?
411: デフォルトの名無しさん [sage] 2016/03/22(火) 06:20:07.57 ID:2k6rwd23(1) AAS
>>409
409(1): デフォルトの名無しさん [sage] 2016/03/22(火) 01:20:09.95 ID:rf8iBlA4(1) AAS
3大OSで動くようにjavaでランタイム書こうと思うんだがポインタないのが不便だね
C言語ソースに変換するほうが楽だと思うけどもう少し粘る
もうC#でよくね?
495: デフォルトの名無しさん [sage] 2016/04/20(水) 22:17:47.57 ID:iD79AHEd(1) AAS
どっちもどっち
下らんことでお山の大将になりたがるなよ
529: デフォルトの名無しさん [sage] 2016/04/28(木) 22:17:59.57 ID:mWNt94gr(2/2) AAS
>>523
523(1): デフォルトの名無しさん [sage] 2016/04/28(木) 12:59:47.77 ID:Jc879At1(1/4) AAS
手書きパーサなら
木構造にせずに操車場アルゴリズムかその亜種でLL(1)するのも手だぞ。

文法と文をそれぞれ入力したらテーブル作ってLR(1)するクラスを作るって手もあるけど
大真面目に書いてc++で500行〜1000行くらいにはなったと思う。
そうだな。ここだけツリーにしないで、再帰関数で直接出力すれば良さそうだ
585: デフォルトの名無しさん [] 2016/05/17(火) 02:22:11.57 ID:1Hk6wPoo(1) AAS
遊びでコンパイラを作るなら、linux用なら、作れば誰か使って
くれるかも...。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s