Sha256: c7fd6b8151deb478e151ef60303f309d4f99f6c195631f974ca46d0ca211a204

Contents?: true

Size: 1.72 KB

Versions: 3

Compression:

Stored size: 1.72 KB

Contents

# Copyright © 2007 Chris Guidry <chrisguidry@gmail.com>
#
# This file is part of OFX for Ruby.
# 
# OFX for Ruby is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# OFX for Ruby is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

module OFX
module OFX102
class Parser
option

macro
  TAG_IN        \<
  TAG_OUT       \>
  ETAG_IN       \<\/

rule

# [:state]  	pattern  						[actions]
                {ETAG_IN}               		{ @state = :TAG; [:etag_in, text] }
                {TAG_IN}                		{ @state = :TAG; [:tag_in, text] }

  :TAG          {TAG_OUT}               		{ @state = nil;  [:tag_out, text] }
 
  :TAG          [\w\-\.]+              			{               [:element, text] }

				
                \s+(?=\S)
                .*?(?=({TAG_IN}|{ETAG_IN})+?)  	{               [:text, text] }
                .*\S(?=\s*$)            		{               [:text, text] }
                \s+(?=$)

inner

end

end # module OFX102
end # module OFX

=begin
if __FILE__ == $0
  exit  if ARGV.size != 1
  filename = ARGV.shift
  rex = OFX::OFX102::Parser.new
  begin
    rex.load_file  filename
    while  token = rex.next_token
      p token
    end
  rescue
    $stderr.printf  "%s:%d:%s\n", rex.filename, rex.lineno, $!.message
  end
end
=end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ofx_for_ruby-0.1.5 lib/ofx/1.0.2/ofx_102.rex
ofx_for_ruby-0.1.4 lib/ofx/1.0.2/ofx_102.rex
ofx_for_ruby-0.1.3 lib/ofx/1.0.2/ofx_102.rex