Sha256: 164b8071bd6f27fb3edc08000bd2a6d0eac146ba8125a218769e6b245ede31fc

Contents?: true

Size: 681 Bytes

Versions: 3

Compression:

Stored size: 681 Bytes

Contents

module Haxor
  module Compiler
    module Component
      class Data < Base
        def register
          bind_cmd 'dw', :cmd_dw
          bind_cmd 'resw', :cmd_resw
        end

        def cmd_dw(*args)
          add Token::Label.new(args[0])

          (1...args.size).each do |i|
            begin
              add Token::Int64.new(Integer(args[i]))
            rescue
              args[i][1...-1].each_char do |c|
                add Token::Int64.new(c.ord)
              end
            end
          end
        end

        def cmd_resw(*args)
          (1..args[0].to_i).each do
            add Token::Int64.new(0)
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
haxor-0.3.0 lib/haxor/compiler/component/data.rb
haxor-0.2.0 lib/haxor/compiler/component/data.rb
haxor-0.1.0 lib/haxor/compiler/component/data.rb