Changeset 49


Ignore:
Timestamp:
May 12, 2008, 10:53:25 PM (14 years ago)
Author:
Tatsukawa, Akimichi
Message:

created adl_parser gem for version 0.0.3

Location:
ruby/trunk
Files:
3 added
2 edited
6 moved

Legend:

Unmodified
Added
Removed
  • ruby/trunk/bin/adl_validator.rb

    r42 r49  
    11#!/usr/bin/env ruby
    2 #$:.unshift File.join(File.dirname(__FILE__))
    3 require "lib/shell.rb"
     2require 'rubygems'
     3require "adl_parser"
    44require 'readline'
    55require 'optparse'
    6 #require 'open-uri'
    76require 'net/http'
    87
  • ruby/trunk/lib/adl_parser/Rakefile

    r48 r49  
    1010$DEBUG = false
    1111
    12 RACC_SRC = FileList["*.y"]
    13 RACC_PARSER = FileList['parser.rb']
     12RACC_SRC = FileList["lib/parser.y"]
     13RACC_PARSER = FileList['lib/parser.rb']
    1414
    1515task :default => [:racc]
     
    4040
    4141Rake::TestTask.new('test:shell') do |t|
    42   t.libs = ["."]
     42  t.libs = ["lib"]
    4343  t.pattern = ['tests/shell_test.rb']
    4444  t.warning = true
     
    7070Rake::RDocTask.new('rdoc') do |t|
    7171  t.rdoc_dir = 'rdoc'
    72   t.rdoc_files.include('README', 'lib/*.rb', 'bin/*.rb')
     72  t.rdoc_files.include('README', 'lib/*.rb')
    7373  t.main = 'README'
    7474  t.title = "ADL parser API documentation"
     
    7878  s.name = 'adl_parser'
    7979  s.author = 'Akimichi Tatsukawa'
    80   s.version = '0.0.2'
     80  s.version = '0.0.3'
    8181  s.summary = 'ADL parser'
    8282  s.email = 'akimichi_tatsukawa@nifty.com'
    8383  s.test_files = FileList['tests/*_test.rb', '*.adl']
    84   candidates = Dir.glob("{bin,docs,lib,tests,ext}/**/*")
     84  candidates = Dir.glob("{docs,lib,tests}/**/*") + FileList['README', 'Rakefile']
    8585  s.files = candidates.delete_if do |item|
    8686    item.include?(".svn") || item.include?("rdoc")
    8787  end
    88   s.files = FileList['README', 'COPYING', 'Rakefile']
    89   s.require_path = "lib"
     88#  s.require_path = "lib"
    9089  s.has_rdoc = true
    9190  s.extra_rdoc_files = ["README"]
  • ruby/trunk/lib/adl_parser/lib/parser.rb

    r47 r49  
    22# DO NOT MODIFY!!!!
    33# This file is automatically generated by racc 1.4.5
    4 # from racc grammer file "parser.y".
     4# from racc grammer file "lib/parser.y".
    55#
    66
    77require 'racc/parser'
     8
    89
    910
     
    1112$:.unshift File.join(File.dirname(__FILE__))
    1213require 'logger'
    13 require 'util.rb'
    14 require 'scanner.rb'
     14#require 'lib/util.rb'
     15#require 'lib/scanner.rb'
    1516require 'rubygems'
    16 require '../models/am.rb'
    17 $DEBUG = true
     17require 'am.rb'
     18$DEBUG = false
    1819
    1920
     
    2627    class Parser < Racc::Parser
    2728
    28 module_eval <<'..end lib/parser.y modeval..idf8b8df4140', 'lib/parser.y', 1175
     29module_eval <<'..end lib/parser.y modeval..idc8fd0a7fcc', 'lib/parser.y', 1182
    2930
    3031def assert_at(file,line, message = "")
     
    3435end
    3536
    36 @@log = Logger.new('log/parser.log','daily')
     37if $DEBUG
     38  @@log = Logger.new('log/parser.log','daily')
     39  @@log.level = Logger::INFO
     40else
     41  @@log = Logger.new(STDOUT)
     42  @@log.level = Logger::WARN
     43end
     44
    3745@@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new
    3846@@cadl_scanner = OpenEHR::ADL::Scanner::CADL::RootScanner.new
     
    819827
    820828
    821 ..end lib/parser.y modeval..idf8b8df4140
     829..end lib/parser.y modeval..idc8fd0a7fcc
    822830
    823831##### racc 1.4.5 generates ###
     
    11271135 5, 209, :_reduce_none,
    11281136 5, 209, :_reduce_none,
    1129  1, 211, :_reduce_none,
    1130  1, 211, :_reduce_none,
     1137 1, 211, :_reduce_303,
     1138 1, 211, :_reduce_304,
    11311139 0, 117, :_reduce_none,
    11321140 5, 117, :_reduce_306,
     
    33623370 # reduce 302 omitted
    33633371
    3364  # reduce 303 omitted
    3365 
    3366  # reduce 304 omitted
     3372module_eval <<'.,.,', 'lib/parser.y', 1000
     3373  def _reduce_303( val, _values, result )
     3374    result = val[0]
     3375   result
     3376  end
     3377.,.,
     3378
     3379module_eval <<'.,.,', 'lib/parser.y', 1004
     3380  def _reduce_304( val, _values, result )
     3381    result = val[0]
     3382   result
     3383  end
     3384.,.,
    33673385
    33683386 # reduce 305 omitted
    33693387
    3370 module_eval <<'.,.,', 'lib/parser.y', 1005
     3388module_eval <<'.,.,', 'lib/parser.y', 1011
    33713389  def _reduce_306( val, _values, result )
    33723390    result = val[3]
     
    34673485 # reduce 352 omitted
    34683486
    3469 module_eval <<'.,.,', 'lib/parser.y', 1075
     3487module_eval <<'.,.,', 'lib/parser.y', 1081
    34703488  def _reduce_353( val, _values, result )
    34713489    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
     
    34743492.,.,
    34753493
    3476 module_eval <<'.,.,', 'lib/parser.y', 1079
     3494module_eval <<'.,.,', 'lib/parser.y', 1085
    34773495  def _reduce_354( val, _values, result )
    34783496    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
     
    34813499.,.,
    34823500
    3483 module_eval <<'.,.,', 'lib/parser.y', 1083
     3501module_eval <<'.,.,', 'lib/parser.y', 1089
    34843502  def _reduce_355( val, _values, result )
    34853503    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     
    34883506.,.,
    34893507
    3490 module_eval <<'.,.,', 'lib/parser.y', 1087
     3508module_eval <<'.,.,', 'lib/parser.y', 1093
    34913509  def _reduce_356( val, _values, result )
    34923510    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     
    34953513.,.,
    34963514
    3497 module_eval <<'.,.,', 'lib/parser.y', 1092
     3515module_eval <<'.,.,', 'lib/parser.y', 1098
    34983516  def _reduce_357( val, _values, result )
    34993517    result = val[0]
     
    35023520.,.,
    35033521
    3504 module_eval <<'.,.,', 'lib/parser.y', 1096
     3522module_eval <<'.,.,', 'lib/parser.y', 1102
    35053523  def _reduce_358( val, _values, result )
    35063524    raise 'Not implemented yet'
     
    35093527.,.,
    35103528
    3511 module_eval <<'.,.,', 'lib/parser.y', 1100
     3529module_eval <<'.,.,', 'lib/parser.y', 1106
    35123530  def _reduce_359( val, _values, result )
    35133531    raise 'Not implemented yet'
     
    35263544 # reduce 364 omitted
    35273545
    3528 module_eval <<'.,.,', 'lib/parser.y', 1113
     3546module_eval <<'.,.,', 'lib/parser.y', 1119
    35293547  def _reduce_365( val, _values, result )
    35303548    @in_interval = false
     
    35343552.,.,
    35353553
    3536 module_eval <<'.,.,', 'lib/parser.y', 1119
     3554module_eval <<'.,.,', 'lib/parser.y', 1125
    35373555  def _reduce_366( val, _values, result )
    35383556      result = val[0]
     
    35413559.,.,
    35423560
    3543 module_eval <<'.,.,', 'lib/parser.y', 1123
     3561module_eval <<'.,.,', 'lib/parser.y', 1129
    35443562  def _reduce_367( val, _values, result )
    35453563      result = val[0]
     
    35563574 # reduce 371 omitted
    35573575
    3558 module_eval <<'.,.,', 'lib/parser.y', 1138
     3576module_eval <<'.,.,', 'lib/parser.y', 1144
    35593577  def _reduce_372( val, _values, result )
    35603578      result = val[0]
     
    35633581.,.,
    35643582
    3565 module_eval <<'.,.,', 'lib/parser.y', 1143
     3583module_eval <<'.,.,', 'lib/parser.y', 1149
    35663584  def _reduce_373( val, _values, result )
    35673585      result = val[0]
     
    35703588.,.,
    35713589
    3572 module_eval <<'.,.,', 'lib/parser.y', 1148
     3590module_eval <<'.,.,', 'lib/parser.y', 1154
    35733591  def _reduce_374( val, _values, result )
    35743592    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
     
    35783596.,.,
    35793597
    3580 module_eval <<'.,.,', 'lib/parser.y', 1158
     3598module_eval <<'.,.,', 'lib/parser.y', 1164
    35813599  def _reduce_375( val, _values, result )
    35823600    result = val[0]
  • ruby/trunk/lib/adl_parser/lib/parser.y

    r47 r49  
    11681168---- header
    11691169
     1170
    11701171$:.unshift File.join(File.dirname(__FILE__))
    11711172require 'logger'
    1172 require 'lib/util.rb'
    1173 require 'lib/scanner.rb'
     1173#require 'lib/util.rb'
     1174#require 'lib/scanner.rb'
    11741175require 'rubygems'
    11751176require 'am.rb'
    1176 $DEBUG = true
     1177$DEBUG = false
    11771178
    11781179
     
    11861187end
    11871188
    1188 @@log = Logger.new('log/parser.log','daily')
     1189if $DEBUG
     1190  @@log = Logger.new('log/parser.log','daily')
     1191  @@log.level = Logger::INFO
     1192else
     1193  @@log = Logger.new(STDOUT)
     1194  @@log.level = Logger::WARN
     1195end
     1196
    11891197@@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new
    11901198@@cadl_scanner = OpenEHR::ADL::Scanner::CADL::RootScanner.new
  • ruby/trunk/lib/adl_parser/lib/scanner.rb

    r47 r49  
    1 require 'logger'
    21require 'rubygems'
    32gem 'yaparc'
     
    98    module Scanner
    109      module Common
    11         LOG = Logger.new('log/scanner.log','daily')
    12 
    1310        class V_QUALIFIED_TERM_CODE_REF
    1411          include Yaparc::Parsable
     
    1613            @parser = lambda do |input|
    1714              Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9()\._-]+::[a-zA-Z0-9\._-]+\]/)) do |match|
    18                 LOG.info("V_QUALIFIED_TERM_CODE_REF: #{match}")
     15                OpenEHR::LOG.debug("V_QUALIFIED_TERM_CODE_REF: #{match}")
    1916                [:V_QUALIFIED_TERM_CODE_REF, match]
    2017              end
     
    2825            @parser = lambda do |input|
    2926              Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/)) do |match|
    30                 LOG.info("V_TERM_CODE_REF: #{match}")
     27                OpenEHR::LOG.debug("V_TERM_CODE_REF: #{match}")
    3128                [:V_LOCAL_TERM_CODE_REF, match]
    3229              end
     
    4037            @parser = lambda do |input|
    4138              Yaparc::Apply.new(Yaparc::Regex.new(/\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/)) do |match|
    42                 LOG.info("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}")
     39                OpenEHR::LOG.debug("ERR_V_QUALIFIED_TERM_CODE_REF: #{match}")
    4340                [:ERR_V_QUALIFIED_TERM_CODE_REF, match]
    4441              end
     
    5249            @parser = lambda do |input|
    5350              Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*/)) do |match|
    54                 LOG.info("V_TYPE_IDENTIFIER: #{match}")
     51                OpenEHR::LOG.debug("V_TYPE_IDENTIFIER: #{match}")
    5552                [:V_TYPE_IDENTIFIER, match]
    5653              end
     
    6461            @parser = lambda do |input|
    6562              Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/)) do |match|
    66                 LOG.info("V_GENERIC_TYPE_IDENTIFIER: #{match}")
     63                OpenEHR::LOG.debug("V_GENERIC_TYPE_IDENTIFIER: #{match}")
    6764                [:V_GENERIC_TYPE_IDENTIFIER, match]
    6865              end
     
    7774            @parser = lambda do |input|
    7875              Yaparc::Apply.new(Yaparc::Regex.new(/\Aa[ct][0-9.]+/)) do |match|
    79                 LOG.info("V_LOCAL_CODE: #{match}")
     76                OpenEHR::LOG.debug("V_LOCAL_CODE: #{match}")
    8077                [:V_LOCAL_CODE, match]
    8178              end
     
    8986            @parser = lambda do |input|
    9087              Yaparc::Apply.new(Yaparc::Regex.new(/\A"([^"]*)"/m)) do |match|
    91                 LOG.info("V_STRING: #{match}")
     88                OpenEHR::LOG.debug("V_STRING: #{match}")
    9289                [:V_STRING, match]
    9390              end
     
    10198            @parser = lambda do |input|
    10299              Yaparc::Apply.new(Yaparc::Regex.new(/\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+/)) do |match|
    103                 LOG.info("V_REAL: #{match}")
     100                OpenEHR::LOG.debug("V_REAL: #{match}")
    104101                [:V_REAL, match]
    105102              end
     
    116113                                Yaparc::Alt.new(Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?T([0-9]+|[hH])?([0-9]+|[mM])?([0-9]+|[sS])?/),
    117114                                                Yaparc::Regex.new(/\AP([0-9]+|[yY])?([0-9]+|[mM])?([0-9]+|[wW])?([0-9]+|[dD])?/))) do |match|
    118                 LOG.info("V_ISO8601_DURATION: #{match}")
     115                OpenEHR::LOG.debug("V_ISO8601_DURATION: #{match}")
    119116                [:V_ISO8601_DURATION, match]
    120117              end
     
    164161              end
    165162              Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match|
    166                                 OpenEHR::ADL::Scanner::Common::LOG.info("Reserved: #{match}")
     163                                OpenEHR::LOG.debug("Reserved: #{match}")
    167164                                [OpenEHR::ADL::Scanner::DADL::RESERVED[match], OpenEHR::ADL::Scanner::DADL::RESERVED[match]]
    168165                              end,
    169166                              Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match|
    170                                 OpenEHR::ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")
     167                                OpenEHR::LOG.debug("V_ATTRIBUTE_IDENTIFIER: #{match}")
    171168                                [:V_ATTRIBUTE_IDENTIFIER, match]
    172169                              end)
     
    216213            @parser = lambda do |input|
    217214              Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X][T\t][hH?X][hH?X]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match|
    218                 OpenEHR::ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}")
     215                OpenEHR::LOG.debug("V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN: #{match}")
    219216                [:V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN, match]
    220217              end
     
    229226            @parser = lambda do |input|
    230227              Yaparc::Apply.new(Yaparc::Regex.new(/\A[yY][yY][yY][yY]-[mM?X][mM?X]-[dD?X][dD?X]/)) do |match|
    231                 OpenEHR::ADL::Scanner::Common::LOG.info("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}")
     228                OpenEHR::LOG.debug("V_ISO8601_DATE_CONSTRAINT_PATTERN: #{match}")
    232229                [:V_ISO8601_DATE_CONSTRAINT_PATTERN, match]
    233230              end
     
    242239            @parser = lambda do |input|
    243240              Yaparc::Apply.new(Yaparc::Regex.new(/\A[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]/)) do |match|
    244                 OpenEHR::ADL::Scanner::Common::LOG.info("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}")
     241                OpenEHR::LOG.debug("V_ISO8601_TIME_CONSTRAINT_PATTERN: #{match}")
    245242                [:V_ISO8601_TIME_CONSTRAINT_PATTERN, match]
    246243              end
     
    256253              Yaparc::Apply.new(Yaparc::Alt.new(Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/),
    257254                                                Yaparc::Regex.new(/\AP[yY]?[mM]?[wW]?[dD]?/))) do |match|
    258                 OpenEHR::ADL::Scanner::Common::LOG.info("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")
     255                OpenEHR::LOG.debug("V_ISO8601_DURATION_CONSTRAINT_PATTERN: #{match}")
    259256                [:V_ISO8601_DURATION_CONSTRAINT_PATTERN, match]
    260257              end
     
    269266            @parser = lambda do |input|
    270267              Yaparc::Apply.new(Yaparc::Regex.new(/\A[A-Z][a-zA-Z0-9_]*[ \n]*\</)) do |match|
    271                 OpenEHR::ADL::Scanner::Common::LOG.info("V_C_DOMAIN_TYPE: #{match}")
     268                OpenEHR::LOG.debug("V_C_DOMAIN_TYPE: #{match}")
    272269                [:START_V_C_DOMAIN_TYPE_BLOCK, match]
    273270              end
     
    313310              end
    314311              Yaparc::Alt.new(Yaparc::Apply.new(Yaparc::Alt.new(*reserved_parsers)) do |match|
    315                                 OpenEHR::ADL::Scanner::Common::LOG.info("Reserved: #{match}")
     312                                OpenEHR::LOG.debug("Reserved: #{match}")
    316313                                [OpenEHR::ADL::Scanner::CADL::RESERVED[match], OpenEHR::ADL::Scanner::CADL::RESERVED[match]]
    317314                              end,
    318315                              Yaparc::Apply.new(Yaparc::Regex.new(/\A[a-z][a-zA-Z0-9_]*/)) do |match|
    319                                 OpenEHR::ADL::Scanner::Common::LOG.info("V_ATTRIBUTE_IDENTIFIER: #{match}")
     316                                OpenEHR::LOG.debug("V_ATTRIBUTE_IDENTIFIER: #{match}")
    320317                                [:V_ATTRIBUTE_IDENTIFIER, match]
    321318                              end)
Note: See TracChangeset for help on using the changeset viewer.