「コンパイラ・スクリプトエンジン」相談室16 (649レス)
1-

65: デフォルトの名無しさん [sage] 2014/11/02(日) 10:22:44.88 ID:P2QTHoYV(1) AAS
何のエラーか数字で提示
あとはknowledge baseで
knowledge baseは迷宮
66: デフォルトの名無しさん [sage] 2014/11/02(日) 11:43:14.80 ID:6U4Atlhd(1) AAS
基本的には書いた人の頭のエラーだからな。
コンパイラ的には「チェンジ!チェンジ!この子変えて!!!」
だけでいい。
67: デフォルトの名無しさん [] 2014/11/02(日) 12:31:43.49 ID:4dYx0WR7(1) AAS
> 関西型プログラミング言語のひとつ Kyoto のコンパイラは,文法ミスのあるコードを与えると「ふうがわりなコードどすなぁ」とだけ返すので,何が間違っているかはこちらで推測する必要がある.
68: デフォルトの名無しさん [sage] 2014/11/02(日) 12:39:13.58 ID:FPvqJpqA(2/3) AAS
何回も間違ったらぶぶ漬けが出てきそうだな
69: デフォルトの名無しさん [sage] 2014/11/02(日) 12:58:18.94 ID:i2BOrYsG(1) AAS
>>64
64(1): デフォルトの名無しさん [sage] 2014/11/02(日) 07:10:13.81 ID:Pf8ySLA3(1) AAS
何のエラーか
なぜ起こったか
どうすれば良いか

のうちどこまでエラー表示するか
表示しないものはマニュアルに書くか
統一しておくと良い
> どうすれば良いか

これは余計なお世話だわ
70: デフォルトの名無しさん [sage] 2014/11/02(日) 13:03:44.74 ID:FPvqJpqA(3/3) AAS
この道路は工事中なので次の迂回路をご利用ください
71: デフォルトの名無しさん [sage] 2014/11/02(日) 16:35:04.02 ID:l3Xq9EsR(2/2) AAS
コンパイル速ければ、エラーは1個で十分だったりするよなぁっとか。
大量に出すなら、一番先頭のエラーを一番下に出すと嬉しいとか。
72: デフォルトの名無しさん [sage] 2014/11/03(月) 12:49:03.39 ID:ljM6XCm0(1) AAS
>> 70

迂回は出来ないんだなぁ
73: デフォルトの名無しさん [sage] 2014/11/03(月) 18:22:08.25 ID:6fFurIEN(1) AAS
最近のghcとかだと、関数名をタイポすると似た存在する関数名を示してくれる。外してる時もあるけど。
ああいう親切さをもっと充実させるのも方向性としてはありだと思う。
あらゆるコンパイルエラーがクラウドサーバに送られ続けて典型的なミスを蓄積し続ける、とかね。
74: デフォルトの名無しさん [sage] 2014/11/04(火) 11:17:19.99 ID:bZGUB4M2(1/3) AAS
大量のデータをまとめて整理した結果をどこかで見たけど
よくあるスペルミス・インポート忘れ・宣言忘れが飛び抜けていて
それ以外はごくわずかでどうでもいいという印象だった
75: デフォルトの名無しさん [sage] 2014/11/04(火) 11:19:32.39 ID:bZGUB4M2(2/3) AAS
中級者以上と入門者はつまずく所が全く違うから
後者のデータだけを集めれば「入門者に最適」な言語やツールが作れるかもしれない
76
(1): デフォルトの名無しさん [sage] 2014/11/04(火) 13:56:57.87 ID:OXvDS9Yh(1) AAS
C言語は、研究結果;はあった方が良いみたいな話を聞いた事があるような気がする。
けど、最後だけ無しとかだったのかもしれないし、良く覚えてないなぁ。
今作ってる言語は必要な所だけ;を書くって作ってるのだけど。
初心者には難しいのかもしれないです。
77: デフォルトの名無しさん [sage] 2014/11/04(火) 15:36:24.07 ID:bZGUB4M2(3/3) AAS
気の利いたエディタサポートまで考えるなら改行をまたぐ構文を禁止すべき
VBはそうなってる
78
(1): デフォルトの名無しさん [sage] 2014/11/04(火) 15:58:19.03 ID:vqrMdBMn(1) AAS
lispとかでマクロ展開したときに中でエラーが起こったら行と桁の表示は諦めるしかないのかな
前に作ったとき展開後も展開前の行を引き継ぐやり方をしてたけど
79: デフォルトの名無しさん [sage] 2014/11/04(火) 17:04:17.39 ID:99dxtSJ/(1) AAS
>>78
トークンに文字列だけじゃなく、もとあった位置の情報も付けたら?

>>76
どんな言語でも、ある程度本格的なプロダクトなら、たいてい、「やたら長くなるから改行を挟みたい式」と
「やたら短くて似たようなのが連続するから1行にまとめたい文」の両方が出てくるので、
どちらを強制するのも一長一短。

構文的には (a, b, c, d) と {a; b; c; d;} の、どちらも似たようなものだけど、機械的なコード生成では
後者のほうが以前は楽だった(最近は可変長配列みたいなオブジェクトに入れて、最後に
joinとか、ライブラリが充実してる言語を使うのが普通なので、あまり差は無い)。

人間の作業としては、複数行にまたがるものでは前者のほうはちょっとめんどい。
(最後の行を削ったあとで、前の行の最後も削る必要があるので)
{a,
b,
c}
みたいに閉じカッコを行末に付けてしまえばそうでもないかもだが。

あとそもそもC言語の構文では ; の規則がちょっと変則的。
80: デフォルトの名無しさん [sage] 2014/11/04(火) 23:11:55.77 ID:DC7Ttoit(1/2) AAS
Lispマクロのデバッグはちょっと難しいよな。
backquoteのように構文上の構造を引き継ぐような奴ばかりならいいんだけど。
81: デフォルトの名無しさん [sage] 2014/11/04(火) 23:12:32.22 ID:DC7Ttoit(2/2) AAS
デバッグ→デバッグ情報
82: デフォルトの名無しさん [sage] 2014/11/04(火) 23:31:17.91 ID:6PskSs9/(1) AAS
複雑なマクロでもたいていは展開系見れば何とかなるね。それでも動かないマクロがたまーにあって辛いけど。
83
(1): デフォルトの名無しさん [] 2014/11/04(火) 23:40:21.11 ID:cufVHbaO(1) AAS
自作のコンパイラなりなんなりはデバッグと最適化を考えたらなにも出来ない
むしろ潔く投げ捨てる勢いと割り切りで走らないとダメっしょ
俺様考えたルールで動いた万歳終わりな感じ
四則演算と条件文、あとGOTOなりCALLなりがあれば立派
それ以上の高度化は努力しだいってことで
それとも大人しくCommon Lispあたりを使って妥協するとか
Lispだと関数を生成して実行できるんだよね
例えば入力画面の項目数とか要件とかを与えて関数の形で生成して実行な感じの

俺様コンパイラ、Lispコード生成するからコンパイルや実行デバッグはそちらでオネガイみたくw
84: デフォルトの名無しさん [sage] 2014/11/05(水) 01:50:49.88 ID:j8mQRcC4(1) AAS
そこまで楽するなら構文をリードマクロで定義したほうが早そう
85
(2): デフォルトの名無しさん [sage] 2014/11/05(水) 07:49:49.12 ID:xr1YCX3/(1) AAS
xmlってスクリプト言語なの?データ構造なの?
xmlを使ったスクリプト言語らしきモノもあるみたいだし、よーわからん
86: デフォルトの名無しさん [sage] 2014/11/05(水) 08:22:34.79 ID:Fpn6fvq+(1) AAS
>>83
C とかのソース吐いて、最適化よろしくね(はーと)でいいだろ
87: デフォルトの名無しさん [sage] 2014/11/05(水) 09:54:15.68 ID:gfolKTI3(1) AAS
>>85
データ構造だろ
パーサ作るのが楽というか有りものが使えるからxxxxMLみたいに拡張して使われるんだろう
88
(1): デフォルトの名無しさん [sage] 2014/11/05(水) 11:54:58.98 ID:bBYPRYMe(1) AAS
>>85
プレーンテキストってスクリプト言語なの?データ構造なの?
89: デフォルトの名無しさん [sage] 2014/11/05(水) 17:03:13.23 ID:I87EWij/(1) AAS
>>88
只の文字列だよ
そこに意味を付けるのはまた別の事
1-
あと 560 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s