javaCC知ってる?

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
使い方わかんね
2デフォルトの名無しさん:2001/07/02(月) 20:21
CCレモン?
3デフォルトの名無しさん:2001/07/02(月) 20:30
いや、なんかコンパイラコンパイラらしいよ
なんか使えるらしい
いいらしいんだよ
4デフォルトの名無しさん:2001/07/02(月) 20:33
CCづくしか。
5ビバ!:2001/07/02(月) 20:45
C#とどう違うのさ?
6デフォルトの名無しさん:2001/07/02(月) 20:48
>>5
ぜんぜんちがうだろ
7デフォルトの名無しさん:2001/07/02(月) 20:58
8デフォルトの名無しさん:2001/07/02(月) 21:02
これで、ソースコード自由にジャンプするツール作るんだよ
ソース→XML→html
統計情報も吐けるようにな
便利そうだろ?
9デフォルトの名無しさん:2001/07/02(月) 21:07
javaCCが吐き出したソースが、おれのものに成るっていう
ライセンスは、気に入った

いいじゃん

GNU使うと、GPLに感染するからな
10デフォルトの名無しさん:2001/07/02(月) 21:15
簡単ジャン。

$ javacc HelloWorld.java
$ ./HelloWorld
HelloWorld
$
11デフォルトの名無しさん:2001/07/02(月) 21:18
<<10
ユニックス使いか・・・・

まぢめにおしえろって
12デフォルトの名無しさん:2001/07/02(月) 21:25
>>10
って言うか、よく考えたら、javacと勘違いしてるのか?
13デフォルトの名無しさん:2001/07/02(月) 21:27
>>9
残念でした。
GCCはコンパイラしたものに対してはGCC適用されない。
14デフォルトの名無しさん:2001/07/02(月) 21:28
そう、コンパイラしたものには。
1510:2001/07/02(月) 21:31
ちゅーか、>>7のリンクちらっとみたら、yacc/lexみたいなもんなのね(藁

俺は>>10みたいなのを想像してたんだが。

$ javacc HelloWorld.java
$ gcc HelloWorld.cc
$ ./HelloWorld

みたいな。
1610:2001/07/02(月) 21:32
>>12
うん(藁
これってGCC3.0に付いてくるというJavaコンパイラじゃないのね。
17デフォルトの名無しさん:2001/07/02(月) 21:35
おまえら、まぢおもしれーな
ともだちになんね?
18デフォルトの名無しさん:2001/07/02(月) 21:40
yaccって何て読むの?
19デフォルトの名無しさん:2001/07/02(月) 21:42
>>13
いや9はyaccのことと思われ。
GNUのyacc(たしかBison)はなんか余計な一言があったような。
209:2001/07/02(月) 21:45
>>19
そそ
よくわかってるな
21デフォルトの名無しさん:2001/07/02(月) 21:54
JavaCCは使ったこと有るよ
面白いよ。

ちょっと込み入った設定ファイルとか読み込ませるのに
重宝するよ

でもlex yaccは使ったことない
だから比較はできないけど。

ところでJavaのパーサージェネレータってJavaCCがデファクトスタンダードなの?
これって日本語対応が少しアレだからよさげなのがほかに有れば
乗り換えようかな。
22デフォルトの名無しさん:2001/07/02(月) 22:17
設定ファイルはXMLでパーサはJAXPだのJAXBだのが、
デファクト最有力じゃない?自作パーサじゃなくて。
23デフォルトの名無しさん:2001/07/02(月) 22:26
2421:2001/07/02(月) 22:34
>>22 いや、自分が作ってるのは
昔のDOSアプリの互換ソフトなんす

>>23 ども
25デフォルトの名無しさん:2001/07/02(月) 22:45
CUPは、javaCCが出るまでデファクトだったんだよな
もうメンテナンスされてないよ
26デフォルトの名無しさん:2001/07/03(火) 00:03
>>21
http://www.ingrid.org/java/javacc/murata.html
ここ見れ。JavaCCが生成するCharStream実装にパッチ当てて、
後はjjを
USER_CHAR_STREAM = true;
UNICODE_INPUT = true;
JAVA_UNICODE_ESCAPE = true;
にしてやれば日本語も完璧だ。
27デフォルトの名無しさん:2001/07/03(火) 18:17
>>26
ありがとな
でも、21は、そのくらい知ってるんだよ、たぶん
28名無しさん:2001/07/03(火) 18:37
>中身の詳細まで見ていないのでよくわかりませんが、
>おそらく入ってきた文字によって遷移する先を決定する表が
>char の下位8ビットだけで作られていて、
>比較も下位8ビットだけで行なうのでしょう。
こう見える現象が起きているということは
ウニコードエスケープウンタラが実装されてないのか。
JavaLex/JavaYaccと同じ実装だと上の引用通りになる。
29デフォルトの名無しさん:2001/07/03(火) 18:40
うおーなんかやる気出てきたぞーーーーーー
30デフォルトの名無しさん:2001/07/03(火) 18:41
>>18
やくく。
31デフォルトの名無しさん:2001/07/03(火) 18:43
>30
ハァ?
>18
ヤキューだ。
32デフォルトの名無しさん:2001/07/03(火) 18:54
>>30
>>31
おめーら、嘘教えんなって
33デフォルトの名無しさん:2001/07/03(火) 20:31
>>26 ありがとう
でも実はそのサイトはもう知ってた

一応そのとおりにすると日本語入りファイルもパースできるようになるんだけど
エラーが起きたときのExceptionに含まれるn行m桁の情報がおかしい。(両方0になる)

自分のソフトではCharStreamをもう少しいじって
なんとかそれらしく動く様にはなってるけど
あまりよく分かってないものだから潜在バグがありそうでいまいち

どっかに日本語対応のCharStreamの決定版落ちてないかな
34ビバ!:2001/07/03(火) 22:32
なるほど。
全然分からん。
35デフォルトの名無しさん:2001/07/03(火) 22:38
ところでさ
LOOKAHEADどう使ってる?
36デフォルトの名無しさん:2001/07/04(水) 13:50
>>35 エラーが出たところに適当に
37デフォルトの名無しさん:2001/07/04(水) 15:20
正解(藁
3835:2001/07/04(水) 18:13
>>36
なるほど、了解

ところで、javaCCで、なに作ってる?
39デフォルトの名無しさん:2001/07/07(土) 02:19
>>35
 LOOKAHEAD( foo() ) foo()
のような記述が至る所にあるんですが、
こんなんで良いんでしょうか?

LL(1)って何?top-down parserって何よ?状態なもんで
文法が破綻してるかも
40デフォルトの名無しさん:2001/07/07(土) 02:28
>>8
JavaMLってのもありまっせ。JavaCC使ってないけど。
 ttp://www.cs.washington.edu/homes/gjb/JavaML/
知ってたらご免なさい。
418
>>40
ありがちょ
ありがちょ
かこいいよ