Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/tecsgen/tecslib/core/C_parser.tab.rb

    • Property svn:mime-type changed from text/x-ruby to text/x-ruby;charset=UTF-8
    r270 r321  
    102102    comment = false
    103103
    104     # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策
     104    # euc のコメントを utf8 として扱うと、コメントの終わりを誤る問題の対策
    105105    TECS_LANG::set_kcode_binary
    106106
    107     # 800U, 0xffLL など (整数リテラルにå
    108 ±é€šã®ä¿®é£¾å­)
     107    # 800U, 0xffLL など (整数リテラルに共通の修飾子)
    109108    integer_qualifier = "([Uu][Ll][Ll]|[Uu][Ll]|[Uu]|[Ll][Ll]|[Ll])?"
    110109
     
    121120          if comment
    122121            case line
    123             # コメント終了
     122            # コメント終了
    124123            when /\A\*\//
    125124              comment = false
     
    129128          else
    130129            case line
    131             # 空白、プリプロセスディレクティブ
     130            # 空白、プリプロセスディレクティブ
    132131            when /\A\s+/
    133132              ;
    134             # 識別子
     133            # 識別子
    135134            when /\A[a-zA-Z_]\w*/
    136135              word = $&
    137136              @q << [RESERVED[word] || :IDENTIFIER, Token.new(word.intern, file, lineno, col)]
    138             # 16 進数定数
     137            # 16 進数定数
    139138            when /\A0x[0-9A-Fa-f]+#{integer_qualifier}/
    140139              @q << [:HEX_CONSTANT, Token.new($&, file, lineno, col)]
    141             # 8 進数定数
     140            # 8 進数定数
    142141            when /\A0[0-7]+#{integer_qualifier}/
    143142              @q << [:OCTAL_CONSTANT, Token.new($&, file, lineno, col)]
    144             # 浮動小数定数
     143            # 浮動小数定数
    145144            when /\A[0-9]+\.([0-9]*)?([Ee][+-]?[0-9]+)?/
    146145              @q << [:FLOATING_CONSTANT, Token.new($&, file, lineno, col)]
    147             # 整数定数
     146            # 整数定数
    148147            when /\A\d+#{integer_qualifier}/
    149148            # when /\A\d+/
    150149              @q << [:INTEGER_CONSTANT, Token.new($&.to_i, file, lineno, col)]
    151             # 文字
     150            # 文字
    152151            when /\A'(?:[^'\\]|\\.)'/
    153152              @q << [:CHARACTER_LITERAL, Token.new($&, file, lineno, col)]
    154             # 文字列
    155 #              "#include  #include #include \"../systask/logtask.cfg\"       æœ€å¾Œã® " 忘れ)で無限ループ
     153            # 文字列
     154#              "#include  #include #include \"../systask/logtask.cfg\"       最後の " 忘れ)で無限ループ
    156155#            when /\A"(?:[^"\\]+|\\.)*"/
    157             when /\A"(?:[^"\\]|\\.)*"/   # これはうまく行くようだ
     156            when /\A"(?:[^"\\]|\\.)*"/   # これはうまく行くようだ
    158157              @q << [:STRING_LITERAL, Token.new($&, file, lineno, col)]
    159             # 行コメント
     158            # 行コメント
    160159            when /\A\/\/.*$/
    161               # 読み飛ばすだけ
    162             # コメント開始
     160              # 読み飛ばすだけ
     161            # コメント開始
    163162            when /\A\/\*/
    164163              comment = true
     
    189188    }
    190189
    191     # 終了の印
     190    # 終了の印
    192191    @q << nil
    193192
     
    216215      end
    217216
    218       # TYPE_NAME トークンへ置き換え
     217      # TYPE_NAME トークンへ置き換え
    219218      if @b_no_type_name == false
    220219        if token[0] == :IDENTIFIER && Namespace.is_typename?( token[1].val ) then
     
    223222      end
    224223
    225       if $debug then     # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
     224      if $debug then     # 070107 token 無効時ここを通さないようした (through 対応 -d の時に例外発生)
    226225        locale = @@current_locale[@@generator_nest]
    227226        if token then
     
    252251  @@n_warning = 0
    253252
    254   # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
     253  # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でエラー発生は不適切)
    255254  def self.error( msg )
    256255    @@n_error += 1
     
    264263  end
    265264
    266   # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
     265  # このメソッドは構文解析、意味解析からのみ呼出し可(コード生成でウォーニング発生は不適切)
    267266  def self.warning( msg )
    268267    @@n_warning += 1
     
    16761675module_eval(<<'.,.,', 'C_parser.y.rb', 237)
    16771676  def _reduce_70(val, _values, result)
    1678                         result = CIntType.new( -3 )    # storage class は無視
     1677                        result = CIntType.new( -3 )    # storage class は無視
    16791678               
    16801679    result
     
    16951694module_eval(<<'.,.,', 'C_parser.y.rb', 247)
    16961695  def _reduce_73(val, _values, result)
    1697                         result = val[1]                # storage class は無視
     1696                        result = val[1]                # storage class は無視
    16981697               
    16991698    result
Note: See TracChangeset for help on using the changeset viewer.