Changeset 18 for ruby/trunk/adl_parser/lib/parser.y
- Timestamp:
- Apr 28, 2008, 7:34:20 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/adl_parser/lib/parser.y
r17 r18 229 229 230 230 attr_id: V_ATTRIBUTE_IDENTIFIER 231 { 232 @@log.info("dADL::V_ATTRIBUTE_IDENTIFIER: #{val[0]} at #{@filename}") 233 } 231 234 | V_ATTRIBUTE_IDENTIFIER error 232 235 … … 295 298 296 299 string_value: V_STRING 300 { 301 @@log.info("V_STRING: #{val[0]} at #{@filename}") 302 } 297 303 298 304 string_list_value: V_STRING Comma_code V_STRING … … 301 307 302 308 integer_value: V_INTEGER 303 | '+' V_INTEGER 304 | '-' V_INTEGER 309 | Plus_code V_INTEGER 310 | Minus_code V_INTEGER 311 ### | '+' V_INTEGER 312 ### | '-' V_INTEGER 305 313 306 314 integer_list_value: integer_value Comma_code integer_value … … 319 327 320 328 real_value: V_REAL 321 | '+' V_REAL 322 | '-' V_REAL 329 | Plus_code V_REAL 330 | Minus_code V_REAL 331 # | '+' V_REAL 332 # | '-' V_REAL 323 333 324 334 real_list_value: real_value Comma_code real_value … … 643 653 ---- inner 644 654 645 @@log = Logger.new('log/parser.log' )655 @@log = Logger.new('log/parser.log','daily') 646 656 @@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new 647 657 … … 760 770 word = $& 761 771 if @@adl_reserved[word] 772 @@log.info("@@adl_reserved: #{@@adl_reserved[word]} at #{@filename}") 762 773 yield @@adl_reserved[word], @@adl_reserved[word] 763 774 elsif #/\A[A-Z][a-zA-Z0-9_]*/ … … 840 851 else 841 852 @in_interval = true 842 @start_block_received = false853 # @start_block_received = false 843 854 end 844 855 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM … … 1007 1018 else 1008 1019 @in_interval = false 1020 # @in_interval = true 1009 1021 end 1010 1022 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM … … 1137 1149 @adl_type.push(:dadl) 1138 1150 yield :SYM_START_DBLOCK, :SYM_START_DBLOCK 1139 # else1140 # @in_interval = false1141 1151 end 1142 1152 when /\A\>/ # > … … 1200 1210 else 1201 1211 @in_interval = false 1212 # @in_interval = true 1202 1213 end 1203 1214 yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM … … 1206 1217 ### when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/ #V_LOCAL_TERM_CODE_REF 1207 1218 ### yield :V_LOCAL_TERM_CODE_REF, $& 1208 when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/ #ERR_V_QUALIFIED_TERM_CODE_REF1209 yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&1219 ### when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/ #ERR_V_QUALIFIED_TERM_CODE_REF 1220 ### yield :ERR_V_QUALIFIED_TERM_CODE_REF, $& 1210 1221 when /\A\[/ # [ 1211 1222 yield :Left_bracket_code, :Left_bracket_code 1212 1223 when /\A\]/ # ] 1213 1224 yield :Right_bracket_code, :Right_bracket_code 1214 when /\A[A-Z][a-zA-Z0-9_-]*/1215 yield :V_TYPE_IDENTIFIER, $&1216 when /\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/ #V_GENERIC_TYPE_IDENTIFIER1217 yield :V_GENERIC_TYPE_IDENTIFIER, $&1218 when /\A[a-z][a-zA-Z0-9_]*/1219 word = $&.downcase1220 if @@dadl_reserved[word]1221 yield @@dadl_reserved[word], @@dadl_reserved[word]1222 else1223 yield :V_ATTRIBUTE_IDENTIFIER, $&1224 end1225 when /\Aa[ct][0-9.]+/ #V_LOCAL_CODE1226 yield :V_LOCAL_CODE, $&1225 ### when /\A[A-Z][a-zA-Z0-9_-]*/ 1226 ### yield :V_TYPE_IDENTIFIER, $& 1227 ### when /\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/ #V_GENERIC_TYPE_IDENTIFIER 1228 ### yield :V_GENERIC_TYPE_IDENTIFIER, $& 1229 ### when /\A[a-z][a-zA-Z0-9_]*/ 1230 ### word = $&.downcase 1231 ### if @@dadl_reserved[word] 1232 ### yield @@dadl_reserved[word], @@dadl_reserved[word] 1233 ### else 1234 ### yield :V_ATTRIBUTE_IDENTIFIER, $& 1235 ### end 1236 ### when /\Aa[ct][0-9.]+/ #V_LOCAL_CODE 1237 ### yield :V_LOCAL_CODE, $& 1227 1238 when /\A[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](,[0-9]+)?(Z|[+-][0-9]{4})?|[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9](Z|[+-][0-9]{4})?|[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9](Z|[+-][0-9]{4})?/ #V_ISO8601_EXTENDED_DATE_TIME YYYY-MM-DDThh:mm:ss[,sss][Z|+/- -n-n-n-n-]- 1228 1239 yield :V_ISO8601_EXTENDED_DATE_TIME, $& … … 1235 1246 when /\A[0-9]+|[0-9]+[eE][+-]?[0-9]+/ #V_INTEGER 1236 1247 yield :V_INTEGER, $& 1237 when /\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+ / #V_REAL1238 yield :V_REAL, $&1248 ### when /\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+ / #V_REAL 1249 ### yield :V_REAL, $& 1239 1250 # when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING 1240 when /\A"([^"]*)"/m #V_STRING1241 yield :V_STRING, $11251 ### when /\A"([^"]*)"/m #V_STRING 1252 ### yield :V_STRING, $1 1242 1253 when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI 1243 1254 yield :V_URI, $&
Note:
See TracChangeset
for help on using the changeset viewer.