[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/07 23:41 / Filesize : 200 KB / Number-of Response : 866
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

『コンパイラ・スクリプトエンジン』 相談室 2



1 名前:nanashi de fault [02/05/12 02:05]
前スレ1より
>yaccやlexの使い方やら言語仕様やらの話題。

前スレ

【コンパイラ・スクリプトエンジン】相談室
pc.2ch.net/test/read.cgi/tech/981672957/

前スレアーカイブ(かちゅ用)
www.1me.jp/hp/prg_c-s_lab

前スレに張られたリンク + x
>>2-6

226 名前:デフォルトの名無しさん mailto:sage [02/09/21 14:09]
>>225
いやそうでなく k >= 2 という意味でお願いします。

227 名前:デフォルトの名無しさん [02/09/22 19:47]
www.cminusminus.org/
これはよいです。

228 名前:デフォルトの名無しさん [02/09/25 09:46]
>>227
面白そうですね
簡単に説明してもらえませんか?


229 名前: mailto:sage [02/09/25 10:05]
>>228
自分で読む気はないのか?

230 名前:デフォルトの名無しさん mailto:sage [02/09/25 11:26]
Cより低級な、簡単なアセンブラとしてのC--ってことでは?

231 名前:デフォルトの名無しさん [02/09/25 21:44]
氷魚さんの作ったやつ?

232 名前:デフォルトの名無しさん mailto:sage [02/09/25 22:01]
>>231
だれそれ?電波固定?

233 名前:デフォルトの名無しさん [02/09/25 22:09]
コンパイラとかじゃなく、ファイルを読む道具としてyacc&lexを
使っているのですが、入力した数値で要素数が定義されてるよう
な場合どうしたらよいでしょうか?

要素数 - 要素...
4 4 4 2 2
5 0 1 0 2 3
2 0 3

という形式です。

int_array
: /* empty */
| integer
| int_array integer
;

では、全部一気に読んでしまうので・・・。(低レベルでスマン・・・。)

234 名前:デフォルトの名無しさん mailto:sage [02/09/26 03:13]
>>233
int_array
: /* empty */
| one integer
| two integer integer
| three integer integer integer
(略)
;
とするとか…



















イヤスギ



235 名前:デフォルトの名無しさん mailto:sage [02/09/26 03:43]
int_list: /* カラ */
| integer
| int_list integer
;
int_array: integer int_list
;

ダメか?


236 名前:棄教者 ◆KIKYO7cg mailto:sage [02/09/26 08:48]
-----------------yacc------------
%token NUM
%%
lines : /* empty */
| line lines
;
line : index elements '\n' ;
index : number ;
elements : /* empty */
| number elements
;
number : NUM ;
%%
------------------lex-------------
[0-9]+ { yylval = atoi( yytext ); return NUM; }
[ \t] { /* 空白は捨てる */ }

でどうよ。

237 名前:233 [02/09/27 01:01]
レス下さった方々ありがとうございます。

>>234
ちょっと無理です・・・。^^;

>>235
最初の要素は良いのですが残りはすべてint_list integerに一致して
しまうようです。

>>236
233の例では行けると思いますが、実はこの形式を出力するツールは
一つではなくて、それらの間で改行の位置というのは統一されていな
いのです。というわけで、できれば改行フリーでなんとかしたいと
思ってるのですが・・・。

うーん、そもそも読み込んだ値を利用したり、繰り返しの回数を制限
するのはyaccで定義できる構文の概念を逸脱しているんでしょうか・
・・。 今回はyaccの使用はやめてlexだけに留めるべきかもしれませ
んね。(その辺ご存知の方いましたら後学のため教えていただきたい
です。)

238 名前:デフォルトの名無しさん mailto:sage [02/09/27 01:04]
>>237
atoiでいいじゃん。
「何回繰り返す」とかはセマンティクスの部類に入るから、
yacc使うのはお門違い。

239 名前:デフォルトの名無しさん mailto:sage [02/09/27 01:09]
>>237
ドラゴンブックにはそういうの(個数の検査とか)は構文では解決でけん
と書いてあった気がします。

240 名前:デフォルトの名無しさん mailto:sage [02/09/27 01:19]
>>233
正攻法は単に数値のリストとして、リストに含まれる文字コードチェックに
利用を限ってしまうのがいいんじゃないかな?
考えてみるのは面白そうだけど、
仕事となると、むきになってやっても費用対効果がなさそうだし・・・


241 名前:デフォルトの名無しさん mailto:sage [02/09/27 22:01]
ギコBasic新しく作り直してみた

page.freett.com/gikob/gikob0002.zip

242 名前:241 mailto:sage [02/10/01 09:30]
まだギコBasicのスレが残ってるのに気づかなかった・・・スマソ

243 名前:デフォルトの名無しさん [02/10/17 18:25]
ANTLRの使い方を日本語で解説してあるウェブページありませんか?

244 名前:デフォルトの名無しさん [02/10/19 07:54]
ガイツュシ



245 名前:デフォルトの名無しさん [02/10/19 21:12]
STLスレから出張。
これ spirit.sourceforge.net/ どうなん?



246 名前:デフォルトの名無しさん [02/10/19 23:06]
>>245
すげー。びびった。久々に驚嘆したハックだ。

247 名前:デフォルトの名無しさん [02/11/05 22:08]
ふふ

248 名前:デフォルトの名無しさん [02/11/07 02:31]
以下のような構文を作ります。データを定義しているフォーマットです。xmlとかcvsみたいな物です。
ここから木の様に情報を取り出したいと思ったのですが、上手くパーサを作れません。
tokenizerは簡単に出来るのですが、どうすれば良いですか。rubyでやってます。

object hoge
 caption='hogehoge'
 val=0
 object fuga
  caption='fugafuga'
  object aaa
   caption='aaa'
  end
  object bbb
   caption='bbb'
  end
  object ccc
   caption='ccc'
  end
 end
end

249 名前:ねこま mailto:sage [02/11/07 02:39]
インデントレベルだけで解釈できれば簡単そう


250 名前:デフォルトの名無しさん [02/11/07 02:46]
トラバースと逆の手順。
各ノードは子供と親のリンクを持つ。

<でノードを生成、現在処理中のノードへの参照を
親への参照として新規ノードへ設定。
その後で親に子として新規ノードへの参照を設定。
処理中のノードの参照として新規ノードを指させる。

>でシングルタグか開始タグか終了タグかを判断し
親に戻るかどうかを決める。
戻る時には処理中のノードの参照として
親を指させる。

こっちにドキュメントを置いてます。
サンプルソースはC++。
ソース玉は整理してないんで乱雑にメモテキストとか
テストデータが散らかっててちょっと気が引ける。
https://sourceforge.jp/projects/frogger/
こういうドキュメントが欲しいとか
掲示板に投げておけばそのうち対処するかも。

251 名前:デフォルトの名無しさん mailto:sage [02/11/07 02:55]
>>248
rubyじゃできないな。

252 名前:デフォルトの名無しさん [02/11/07 03:22]
手抜き実装で考え方だけ。言語も適当。

loop
  token w = Tokenizer.next();

  if w == 'object' then
    currNode := currNode.pushNewNode( Tokenizer.next());
    continue;
  end if

  if w == 'end' then
    currNode := currNode.parent();
    if currNode is null then break;
    continue;
  end if

  Tokenizer.skip();
  currNode.pushNamedValue( w, Tokenizer.next());
end loop

Node というクラスはツリーのノードを表す。
各ノードは子ノードとして、object か namedValue を持つことができる。
pushNewNode は object 子ノードとして追加して、その新規子ノードを返す。
引数はノードの名前を表す。
pushNamedValue は namedValue 子ノードとして追加する。戻り値はなし。
第一引数は値の名前、第二引数は値の中身。

253 名前:デフォルトの名無しさん [02/11/07 04:33]
今ちょっと色々調べてたんですけど、色々とヒント有り難うございます。
一週間前にはかけらすらないような事趣味でやり始めて分かったんですが構造を持つ
ファイルフォーマットってコンパイラ作成のような視点が必要なんですね。
さすがにインデントでは無理だってすぐ分かりましたが、xmlに近いことは
気づきませんでした。そう言えばxmlと似てますね。

内部データ構造を持つファイルフォーマットのパーサーの解説の一般的なドキュメント
希望>250

254 名前:デフォルトの名無しさん mailto:sage [02/11/07 07:52]
schemeで書くとこんな感じなんだが

(define (hoge-read s)
 (let loop ((x s) (stack '()))
  (if (pair? x)
   (case (car x)
    ((object)
     (loop (cddr x) (cons (list (cadr x) (car x)) stack)))
    ((end)
     (if (null? stack)
      (error "Syntax-error - Corresponding 'object' is required :"
       s))
     (if (pair? (cdr stack))
      (loop (cdr x)
       (cons
        (cons (reverse (car stack)) (cadr stack))
        (cddr stack)))
      (loop (cdr x) (reverse (car stack)))))
    (else
     (loop (cdddr x)
      (cons
       (cons (list (car x) (caddr x)) (car stack))
       (cdr stack)))))
   (if (and (pair? stack) (pair? (car stack)))
    (error "Syntax-error - 'end' is required :" s)
    stack))))



255 名前:デフォルトの名無しさん mailto:sage [02/11/07 07:52]
;テスト
(define hoge-read-test-data '(
object hoge
 caption = "hogehoge"
 val = 0
 object fuga
  caption = "fugafuga"
  object aaa
   caption = "aaa"
  end
  object bbb
   caption = "bbb"
  end
  object ccc
   caption = "ccc"
  end
 end
end
))

(hoge-read read-tag-test-data)
=>
(object
 hoge
 (caption "hogehoge")
 (val 0)
 (object
  fuga
  (caption "fugafuga")
  (object aaa (caption "aaa"))
  (object bbb (caption "bbb"))
  (object ccc (caption "ccc"))))

256 名前:デフォルトの名無しさん mailto:sage [02/11/07 08:20]
(中身的に変んないけど)Cに変換すると
scmobj_t hoge_read(scmobj_t s) {
 scmobj_t x = s;
 scmobj_t stack = nil;
 tail_recursive_loop:
 if (pairp(x)) {
  if (car(x) == make_symbol("object")) {
   stack = cons(list2(cadr(x),car(x)),stack);
   x = cddr(x);
   goto tail_recursive_loop;
  } else if (car(x) == make_symbol("end")) {
   if (nullp(stack))
    return error("Syntax-error - Corresponding 'object' is required :",s);
   if (pairp(cdr(stack))) {
    x = cdr(x);
    stack = cons(cons(reverse(car(stack)),cadr(stack)),cddr(stack));
    goto tail_recursive_loop;
   } else {
    x = cdr(x);
    stack = reverse(car(stack));
    goto tail_recursive_loop;
   }
  } else {
   stack = cons(cons(list2(car(x),caddr(x)),car(stack)),cdr(stack));
   x = cdddr(x);
   goto tail_recursive_loop;
  }
 } else if (pairp(stack) && pairp(car(stack)))
  return error("Syntax-error - 'end' is required :",s);
 return stack;
}


257 名前:デフォルトの名無しさん mailto:sage [02/11/14 06:59]
>>245
Expression Templateをはじめ各種のテンプレート・メタ・プログラミングは
知ってたけどPaser Generatorにまで行きつくとは。 
 カ コ イ イ ! !
テンプレートらしく解析対象の列の要素型がパラメタ指定できるのもカコイイ!
(char, w_charに始まってユーザー作成のクラスまで)
字句解析器も含んでるしね。

当方Java(正確にはバイトコード)のPartial Evaluationを実装中なのだが、
Javaに演算子多重定義が導入されていれば、
合わせ技で同じようなことが狙えたのになァ。惜しい。
(メソッド呼び出し式で書けば良いわけだが、カッコ良さが大いに減る。)

258 名前:デフォルトの名無しさん [02/11/17 16:17]
>>257
でも、あんまり真剣な用途には使えないよね。

実行時にパーザ生成するんだったら、文字列で文法与えても良いな。

259 名前:祐一ゴン [02/11/17 19:39]
やぁ、ぼく押金さん(*´∀`*)ノ
中学の時からポカリの粉を麻薬と思って鼻から吸ってたけどヽ(`Д´)ノ ウワァァン!!全然トリップできないや!最近初めてその事実を知ったよ
今部屋をテラフォーミングしたら鼠の干からびた死体が出てきたよ、あまり旨くなかったよ


260 名前:デフォルトの名無しさん [02/11/18 04:16]
パスカルとベーシックってどっちが作りやすいですか?

261 名前::−) mailto:sage [02/11/18 07:12]
pascal→delfy
ベーシック→HSP

HSPはタダの開発環境です。デルフィは10万円くらい?

262 名前:デフォルトの名無しさん [02/11/18 11:55]
たとえば、関数呼び出し
a(b(c(d())));
ってのをなんらかの中間コードにしてあって、
これを1パスでコード生成できるの?
(最適化はどうでもいい)

a();
のコード生成はできるけど、
a(b());
のようにネストするとできなくなって困ってます。

263 名前:デフォルトの名無しさん mailto:sage [02/11/18 12:01]
>>262
ちょっとは考えろ
つーか、お前の言う中間コードって何のためにあるのさ

264 名前:デフォルトの名無しさん mailto:sage [02/11/18 13:15]
>>262
> ってのをなんらかの中間コードにしてあって、
> これを1パスでコード生成できるの?

「これ」というのが「中間コード」を指しているのなら、
どのような「中間コード」なのか示してもらわないと。

) を検出したタイミングでコード生成すりゃいいだけの
話なんだけど。



265 名前:デフォルトの名無しさん [02/11/18 17:40]
バイトコードバイトコード!

266 名前:デフォルトの名無しさん [02/11/19 00:50]
>>261
デルファイじゃないのか?Delphi
嘘教えるなよ

267 名前:デフォルトの名無しさん mailto:sage [02/11/19 01:10]
>>261はどうみても無知だろ

268 名前:デフォルトの名無しさん [02/11/19 03:22]
>>260はコンパイラ作るならbasicかpascalどっちを作ったほうがいいかって
いってるんだろ。どっちだろう、俺はベーシック知らないからなんとも
いえん。

269 名前:デフォルトの名無しさん mailto:sage [02/11/19 03:26]
コンパイラならPascalだろうが、
インタプリタならBasicの方が楽だろう。
昔のBasicインタプリタは4KBくらいだった。

270 名前:デフォルトの名無しさん [02/11/19 03:59]
ベーシックインタプリタのコードってないの?

271 名前:デフォルトの名無しさん mailto:sage [02/11/19 05:11]
>>271
ほれ
ttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm

272 名前:デフォルトの名無しさん mailto:sage [02/11/19 11:09]
>>260-270
…この21世紀になんでその2択に拘るんだw。

273 名前:257 mailto:sage [02/11/19 11:13]
>>258
使えないかねぇ…。この辺の技術には期待したいトコロなんだけどなぁ。
私も使ってみたわけではないので大丈夫と言い切れるもんではないんだが。

実行時というか、コンパイル時にテンプレートの展開動作を利用して
パーザが作られるようなんだが。

274 名前:デフォルトの名無しさん mailto:sage [02/11/21 13:10]
>>270
ギコBASICは参考にならないですか?



275 名前:デフォルトの名無しさん mailto:sage [02/11/21 14:05]
この辺は?
member.nifty.ne.jp/nakamula/recurs.htm

276 名前:デフォルトの名無しさん [02/12/03 17:38]
bisonが吐き出したコードってなんでVC++でコンパイル通らないんだ?
激しく鬱…

bison++/flex++に乗り換えるかのぉ。ドキュメント少なすぎだが・・・

277 名前:デフォルトの名無しさん mailto:sage [02/12/03 18:48]
>276
> bisonが吐き出したコードってなんでVC++でコンパイル通らないんだ?
gcc 使え、というお達しかと……。ところで byacc とか kmyacc はどう?

278 名前:276 [02/12/04 14:34]
正確にはC++ソースとしてコンパイルしようとすると、VC++には入ってない(おそらくPOSIX互換の?)インクルードファイルを要求されてコンパイルできません。
まぁ、別にオブジェクト指向な解析器が作りたいというわけではなく、ただアクション書くのにクラスとか使いたいだけなんだが…

何かいい方法あったらキボンヌ!というか、bison++/flex++の日本語ドキュメントなんか激しくほすぃかも

279 名前:デフォルトの名無しさん mailto:sage [02/12/04 14:47]
>278
include 外せばいいんじゃないの?

280 名前:デフォルトの名無しさん mailto:sage [02/12/04 19:38]
>279
それだと毎回 *.y からコード生成するたびに書き換えが必要になるから、
ダミーのヘッダファイルをでっち上げるに一票。

っつか、どうしても再入可能にしたいとかで bison の機能が必須でなければ、
bison 以外の yacc 互換処理系を試す方が幸せかも知れんが。

281 名前:278 [02/12/05 01:17]
>>280
bison以外ならC++ソースとしてビルドできるんですか?

今日はbison++/flex++試しマスタ。今度はVC++だとエラー出まくって全然ビルドできない罠。

byaccとkmyacc試してみるかなぁ。

282 名前:デフォルトの名無しさん [02/12/05 08:55]
yaccの使い方教えろや

283 名前:bloom [02/12/05 09:10]

www.agemasukudasai.com/bloom/

284 名前:デフォルトの名無しさん mailto:sage [02/12/05 09:23]
coco/r使えよ



285 名前:デフォルトの名無しさん [02/12/05 12:01]
coco/rって何か教えろや

286 名前:デフォルトの名無しさん [02/12/05 15:39]
うえーんコンパイラフレームワークキボン( ●д●)

287 名前:デフォルトの名無しさん mailto:sage [02/12/05 16:53]
>>286
lex + yacc + RTL(gcc)じゃ駄目か?

288 名前:デフォルトの名無しさん [02/12/05 16:56]
yaccかbisonについて優しく解説してるサイトはありませんか?
または本でも。

289 名前:デフォルトの名無しさん mailto:sage [02/12/05 18:16]
ちょっと聞いていいですか?
このスレ、結構人が訪れているみたいなんだけれど、
実際にコンパイラレベル(変な言い方だけど)のものを作ってる、もしくは作った人っています?
自分はスクリプトぐらいなら、何とかいけそうなんだけれど、
コンパイラまでくるとかなり大変じゃないですか?

290 名前:デフォルトの名無しさん mailto:sage [02/12/05 19:34]
仮想的なスタックマシンとかのコンパイラなら
作ってる人は沢山いると思うよ。

291 名前:デフォルトの名無しさん mailto:sage [02/12/05 19:40]
>288
オライリーの lex & yacc 本

>289
アセンブラを出力させるなら、そんなに面倒じゃない。実行できるバイナリを出力
しようと思うと、山のような詳細に追われて力尽きる。

292 名前:デフォルトの名無しさん mailto:sage [02/12/05 20:17]
インストラクションコードへの変換が面倒だなあ。
テーブル化するのが。

293 名前:デフォルトの名無しさん mailto:sage [02/12/06 07:28]
変な聞き方してしまいました。
コンパイラといっても仮想マシンコードに変換するスクリプトコンパイラだってあるし。
ネエィテブなアセンブルや直接、実行形式を吐くコンパイラのことを聞いたつもりでした。

294 名前:ろうひ男爵 [02/12/13 20:28]
>>289
自分は構造化BASICで186のDOSの.COMを出力する物を作ったよ。
今は暇を見つけて簡易的なC言語コンパイラを作ってるよ



295 名前:デフォルトの名無しさん [02/12/13 20:34]
だれか僕のためにCコンパイラのソースみせてください。
Cじゃなくてもパスカルでもベーシックでもいいっす。
( ̄人 ̄)オ・ネ・カ・゛イ♪ヽ(* ̄〓 ̄*)ノ^☆ブチュゥゥ♪

296 名前:デフォルトの名無しさん mailto:sage [02/12/13 20:41]
ギャーーーーー

297 名前:デフォルトの名無しさん mailto:ネタニマジレスカコワルイ [02/12/13 20:56]
>>295
gcc.gnu.org/

298 名前:デフォルトの名無しさん mailto:sage [02/12/13 21:15]
>>295
ほれ

#include <stdio.h>
main()
{
printf("逝ってよし");
}


299 名前:デフォルトの名無しさん [02/12/13 21:33]
ウワァァァァァァヽ(`Д´)ノァァァァァァン!

300 名前:ろうひ男爵 [02/12/14 17:55]
>>295
BASICで、

[ラベル:] if 比較式 goto ラベル
[ラベル:] print "メッセージ"
[ラベル:] 代入式

でよかったら、構文解析もほとんどいらないし簡単じゃない?
改行で行末にして、変数の頭にRをつけてR10とかすれば、
悩むところはないと思うよ。

パスカルだとラベルを読み込むときに細工すればLL(1)だよね、
そんなに難しくないはずだよ。
Cにしろパスカルにしろなにがしらの本を読んだ方が良いんじゃない?

言語はどのレベルの物を作ろうとしてるの?
それと、実行環境はスクリプトで中間言語に落としての実行環境?

301 名前:デフォルトの名無しさん mailto:sage [02/12/14 19:56]
>295
どうせ渡されたところで読めない、に 1 票。

言語処理系を作るのが初めてなら、とりあえず「UNIX プログラミング環境」でも
買ってきて hoc の実装追ってみれば?

302 名前:デフォルトの名無しさん mailto:sage [02/12/14 20:38]
つーかコンパイラのソースが見たいんならgccなりOpenWatcomなりがあるわけで。
それぐらい自分で探せヴォケつー。

303 名前:デフォルトの名無しさん mailto:sage [02/12/14 21:05]
bccが一番読みやすいなり

304 名前:デフォルトの名無しさん mailto:sage [02/12/14 21:24]
>302
いきなり gcc は厳しすぎ。

10年前だと「アルゴリズム+データ構造=プログラム」読めというところだが、
さすがに古いよな…。



305 名前:デフォルトの名無しさん mailto:sage [02/12/14 22:29]
www.amazon.co.jp/exec/obidos/ASIN/4844317210/qid=1039872470
はどうよ? インタープリタだけど。

306 名前:デフォルトの名無しさん [02/12/14 22:31]
たけーんだよバカ

307 名前:デフォルトの名無しさん mailto:sage [02/12/15 00:57]
専門書の類は、どれもそんなもんだ。諦めれ。

308 名前:デフォルトの名無しさん mailto:sage [02/12/15 07:18]
一応タダで読めるけどな。
i.loveruby.net/ja/rhg/index.html

309 名前:ろうひ男爵 [02/12/20 04:02]
Cマガでコンパイラのことをやってますね。
演算子順位法とLL(1)をざらっと、LALRの概説です。
計12ページぐらいだったので、ここにいる方には物足りませんが、
読みやすかったので、人に聞かれた場合にはイイかも。

310 名前:デフォルトの名無しさん mailto:sage [02/12/20 04:16]
tmp.2ch.net/test/read.cgi/lobby/1040147707/
これよんでみれ!

311 名前:デフォルトの名無しさん [02/12/20 04:44]
えっ、bisonで生成したコードってVC++じゃ、
コンパイルできないのですか?
じゃあ、かわりにVC++で通るyacc互換でお勧めってあります?
仕事でも使うかもしれないので商用OKだとありがたいのですが。

312 名前:デフォルトの名無しさん [02/12/20 04:56]
GC(ガベコレ)についてちゃんと勉強してみたいのですが、
何かいい書籍はありますか?今は少しづつですが、gccに含まれている
Boehmのソースで勉強してますがなかなか思うように進みません。

VMにそのようなものが書かれているものがあればそれでもOKです。
よろしくお願いします。

313 名前:デフォルトの名無しさん mailto:sage [02/12/20 06:48]
>>312
とりあえず、>>305に紹介されてる本読むとか。

314 名前:デフォルトの名無しさん mailto:sage [02/12/20 09:45]
>>309
概説でしかないし、yaccはちょこっとだけしか載ってない。
作るための特集じゃなくて、基礎知識をお勉強するための記事だった。
という印象。



315 名前:デフォルトの名無しさん mailto:sage [02/12/20 09:47]
>>311
VCでコンパイルできなかったっけ?
まぁいいや。

ttp://www.kohsuke.org/flex++bison++/
これなんかどうよ。使った事無いけど。

316 名前:ろうひ男爵 [02/12/20 13:09]
>>314
さすがにあのページ数だと、1つでも掘り下げるのは難しかったみたいですね。
その中では演算子順位法が分かりやすかったと思います。

317 名前:デフォルトの名無しさん mailto:sage [02/12/20 13:40]
>>311
通るよ。

でもbisonで生成したコードにはGNUのテンプレートが含まれるので、商用はま
ずかったと思う。


318 名前:デフォルトの名無しさん mailto:sage [02/12/20 22:12]
>>312
書籍じゃないけど。
www.dcs.qmul.ac.uk/SEL-HPC/Articles/GeneratedHtml/comp.gc.html


319 名前:デフォルトの名無しさん mailto:sage [02/12/21 01:10]
>>317
出力されたコード見れば分るけど 1.24 以降は特例として GPL 適用外になってる。

320 名前:デフォルトの名無しさん mailto:sage [02/12/21 08:09]
>>319
あ、変わったんだ。サンクス。

321 名前:デフォルトの名無しさん mailto:sage [02/12/21 18:09]
bisonを使った宿題が出ているのですが、
ここでそのことについて質問してもいいでしょうか?

322 名前:デフォルトの名無しさん mailto:sage [02/12/21 23:16]
>>321

>yaccやlexの使い方やら言語仕様やらの話題。
だから、宿題丸投げじゃなきゃいいと思うよ。


323 名前:デフォルトの名無しさん mailto:sage [02/12/22 01:11]
>>321
 何か本を入手した?(購入するのも、図書館で借りるのも可。)もしまだなら、
   書名:UNIX Literacy Series Vol.12 UNIX yaccとlexの使い方
   発行所:HBJ出版局
   著者:田中正広
   ISBN:4-8337-8728-8
を入手して読んでみるといいYO!現在これ読んで某課題と格闘中(^^;
 で、そういった本を読んでから質問するのなら十分OKかと。>>322に同意

324 名前:デフォルトの名無しさん [02/12/22 01:13]
スクリプト言語でアセンブラ処理系は作れるのか?



325 名前:デフォルトの名無しさん mailto:sage [02/12/22 01:28]
>124
作れるよ

326 名前:デフォルトの名無しさん [02/12/22 11:56]
最近、Flex&Bisonをいじり始めました。
まだ、基本概念を勉強中なのですが、Flex&Bisonを使った「C++」用の
チュートリアルや簡単なサンプル実装などないでしょうか?
「C」での実装はいろいろあるんですが、自分はC++で実装したいの困ってます。
C++での解説も申し訳ない程度にはあるんですが、やっぱりサンプルがあると助かります。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef