けいじゅ@日本ラショナルソフトウェアです.

In [ruby-list :11611 ] the message: "[ruby-list:11611] Re: parser
generator ", on Jan/18 18:16(JST) 石塚圭樹 writes:

>>   http://www1.u-netsurf.ne.jp/~brew/mine/soft/racc.tar.gz
>>
>>におきました。
>
>再チャレンジしてみますです.

大部できたのですが... 教えて下さいませ.

添付しているファイルをコンパイルすると

dim% racc rtags.ry
/home/keiju/var/lib/ruby/racc/libracc.rb:129:in `warning':  (RRconfrict)
Reduce/Reduce confrict in state 132

with lookahead tokens: TkEND

ってエラーが出てしまいます.

空文のルール:

statements: .
  .

を追加するまでは, エラーは発生していなかったので, それがらみだと思うの
ですが...

どこをどうしたら良いのか良く分かりません. どうしたら良いのか教えて下さ
いませ(__;;;

-- ここから.
class RTAGS_Parser

rule
  program:
    compstmt .
    .
    ;
  compstmt: statements opt_terms .
    .
    ;
  statements: .
    .
    | statement .
    .
    | statements terms statement  .
    .
    ;
  statement: 
    TkCLASS TkCONSTANT statements TkEND .
    	puts "class/1"
    .
    | TkCLASS TkLSHFT TkSELF statements TkEND .
	puts "class/2"
    .
    | TkCLASS TkLSHFT TkCONSTANT statements TkEND .
	puts "class/3"
    .
    | TkCLASS TkLSHFT statements TkEND .
	puts "class/4"
    .
    | TkMODULE TkCONSTANT statements TkEND .
	puts "module"
    .
    | TkDEF TkIDENTIFIER statements TkEND .
	puts "def"
    .
    | TkALIAS TkIDENTIFIER TkIDENTIFIER .
	puts "alias"
    .
    | beg statements TkEND .
	puts "block out"
    .
    | dflt .
    .
    ;

  beg: 
    TkCASE .
    .
    | TkDO .
    .
    | TkFOR .
    .
    | TkIF .
    .
    | TkUNLESS .
    .
    | TkUNTIL .
    .
    | TkWHILE .
    .
    | TkBEGIN .
    .
    ;
#  function: TkIDENTIFIER .
#    .
#    ;
  dflt:
    TkUNDEF .
    .
    | TkRESCUE .
    .
    | TkENSURE .
    .
    | TkTHEN .
    .
    | TkELSIF .
    .
    | TkELSE .
    .
    | TkBREAK .
    .
    | TkNEXT .
    .
    | TkREDO .
    .
    | TkRETRY .
    .
    | TkIN .
    .
    | TkRETURN .
    .
    | TkYIELD .
    .
    | TkSUPER .
    .
    | TkSELF .
    .
    | TkNIL .
    .
    | TkTRUE .
    .
    | TkFALSE .
    .
    | TkAND .
    .
    | TkOR .
    .
    | TkNOT .
    .
    | TkIF_MOD .
    .
    | TkUNLESS_MOD .
    .
    | TkWHILE_MOD .
    .
    | TkUNTIL_MOD .
    .
    | TkDEFINED .
    .
    | TklBEGIN .
    .
    | TklEND .
    .
    | Tk__LINE__ .
    .
    | Tk__FILE__ .
    .

    | TkIDENTIFIER .
    .
    | TkFID .
    .
    | TkGVAR .
    .
    | TkIVAR .
    .
    | TkCONSTANT .
    .

    | TkINTEGER .
    .
    | TkFLOAT .
    .
    | TkSTRING .
    .
    | TkXSTRING .
    .
    | TkREGEXP .
    .

    | TkDSTRING .
    .
    | TkDXSTRING .
    .
    | TkDREGEXP .
    .
    | TkNTH_REF .
    .
    | TkBACK_REF .
    .

    | TkUPLUS .
    .
    | TkUMINUS .
    .
    | TkPOW .
    .
    | TkCMP .
    .
    | TkEQ .
    .
    | TkNEQ .
    .
    | TkGEQ .
    .
    | TkLEQ .
    .
    | TkANDOP .
    .
    | TkOROP .
    .
    | TkMATCH .
    .
    | TkNMATCH .
    .
    | TkDOT2 .
    .
    | TkDOT3 .
    .
    | TkAREF .
    .
    | TkASET .
    .
    | TkLSHFT .
    .
    | TkRSHFT .
    .
    | TkCOLON2 .
    .
    | TkCOLON3 .
    .
    | TkASSOC .
    .
    | TkQUESTION .
    .
    | TkCOLON .
    .
    
    | TkfLPAREN .
    .
    | TkfLBRACK .
    .
    | TkfLBRACE .
    .
    | TkSTAR .
    .
    | TkAMPER .
    .
    | TkSYMBEG .
    .

    | TkGT .
    .
    | TkLT .
    .
    | TkPLUS .
    .
    | TkMINUS .
    .
    | TkMULT .
    .
    | TkDIV .
    .
    | TkMOD .
    .
    | TkBITOR .
    .
    | TkBITXOR .
    .
    | TkBITAND .
    .
    | TkBITNOT .
    .
    | TkNOTOP .
    .

    | TkBACKQUOTE .
    .


    | TkASSGIN .
    .
    | TkDOT .
    .
    | TkLPAREN .
    .
    | TkLBRACK .
    .
    | TkLBRACE .
    .
    | TkRPAREN .
    .
    | TkRBRACK .
    .
    | TkRBRACE .
    .
    | TkCOMMA .
    .

    | TkCOMMENT .
    .
    | TkRD_COMMENT .
    .
    | TkSPACE .
    .
    | TkEND_OF_SCRIPT .
    .

    | TkBACKSLASH .
    .
    | TkAT .
    .
    | TkDOLLAR .
    .
    ;

  opt_terms: .
    .
    | terms .
    .
    ;
  terms:
    TkNL .
    .
    | TkSEMICOLON .
    .
    ;
  end
end

prepare = code
  require "rtags.pre.rb"
.

driver = code
  require "rtags.inner.rb"
  require "rtags.driver.rb"
.




__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju / rational.com <<---