Changeset 265 for ruby/trunk/lib/adl_parser/lib/parser.rb
- Timestamp:
- Sep 15, 2009, 1:50:46 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/lib/adl_parser/lib/parser.rb
r263 r265 11 11 $:.unshift File.join(File.dirname(__FILE__)) 12 12 require 'logger' 13 #require 'lib/adl_parser.rb'14 13 require 'rubygems' 15 14 require 'adl_parser.rb' … … 24 23 class Parser < Racc::Parser 25 24 26 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 120 6)25 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1205) 27 26 28 27 def assert_at(file,line, message = "") … … 101 100 ###----------/* Scanner */ ----------------------------------------------- 102 101 102 103 103 def scan 104 104 @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:") 105 adl_scanner = OpenEHR::ADL::Scanner::ADLScanner.new(@adl_type, @filename) 106 cadl_scanner = OpenEHR::ADL::Scanner::CADLScanner.new(@adl_type, @filename) 107 dadl_scanner = OpenEHR::ADL::Scanner::DADLScanner.new(@adl_type, @filename) 108 regex_scanner = OpenEHR::ADL::Scanner::RegexScanner.new(@adl_type, @filename) 109 term_constraint_scanner = OpenEHR::ADL::Scanner::TermConstraintScanner.new(@adl_type, @filename) 110 105 111 until @data.nil? do 106 112 case @adl_type.last 107 113 when :adl 108 @data = scan_adl(@data) do |sym, val|114 @data = adl_scanner.scan(@data) do |sym, val| 109 115 yield sym, val 110 116 end 111 117 when :dadl 112 @data = scan_dadl(@data) do |sym, val|118 @data = dadl_scanner.scan(@data) do |sym, val| 113 119 yield sym, val 114 120 end 115 121 when :cadl 116 @data = scan_cadl(@data) do |sym, val|122 @data = cadl_scanner.scan(@data) do |sym, val| 117 123 yield sym, val 118 124 end 119 125 when :regexp 120 @data = scan_regexp(@data) do |sym, val|126 @data = regex_scanner.scan(@data) do |sym, val| 121 127 yield sym, val 122 128 end 123 129 when :term_constraint 124 @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{ data.inspect}")125 @data = scan_term_constraint(@data) do |sym, val|130 @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{@data.inspect}") 131 @data = term_constraint_scanner.scan(@data) do |sym, val| 126 132 yield sym, val 127 133 end … … 134 140 yield false, '$' 135 141 end # of scan 142 143 ### def scan 144 ### @@logger.debug("#{__FILE__}:#{__LINE__}: Entering scan at #{@filename}:#{@lineno}:") 145 146 ### until @data.nil? do 147 ### case @adl_type.last 148 ### when :adl 149 ### @data = scan_adl(@data) do |sym, val| 150 ### yield sym, val 151 ### end 152 ### when :dadl 153 ### @data = scan_dadl(@data) do |sym, val| 154 ### yield sym, val 155 ### end 156 ### when :cadl 157 ### @data = scan_cadl(@data) do |sym, val| 158 ### yield sym, val 159 ### end 160 ### when :regexp 161 ### @data = scan_regexp(@data) do |sym, val| 162 ### yield sym, val 163 ### end 164 ### when :term_constraint 165 ### @@logger.debug("#{__FILE__}:#{__LINE__}: scan: Entering scan_term_constraint at #{@filename}:#{@lineno}: data = #{data.inspect}") 166 ### @data = scan_term_constraint(@data) do |sym, val| 167 ### yield sym, val 168 ### end 169 ### else 170 ### raise 171 ### end 172 ### @data = $' # variable $' receives the string after the match 173 ### end 174 ### yield :EOF, nil 175 ### yield false, '$' 176 ### end # of scan 136 177 137 178 def scan_adl(data)
Note:
See TracChangeset
for help on using the changeset viewer.