Ignore:
Timestamp:
Sep 13, 2009, 12:58:21 AM (15 years ago)
Author:
Tatsukawa, Akimichi
Message:

generated openehr_models_0.0.3 gem and working on bridge between adl and rm

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/adl_parser/lib/parser.y

    r116 r257  
    4040   
    4141    archetype_id = val[0][:archetype_id]
     42    parent_archtype_id = val[1][:parent_archtype_id] if val[1]
    4243    adl_version = val[0][:arch_head][:arch_meta_data][:adl_version]
    4344    concept = val[2]
     
    4546    archetype = OpenEHR::AM::Archetype::ARCHETYPE.create(
    4647                                                         :archetype_id => archetype_id,
     48                                                         :parent_archtype_id => parent_archtype_id,
    4749                                                         :adl_version => adl_version,
    4850                                                         :concept => concept,
     
    104106arch_specialisation: #-- empty is ok
    105107  | SYM_SPECIALIZE V_ARCHETYPE_ID
     108  {
     109    result = {:parent_archtype_id => val[1]}
     110  }
    106111  | SYM_SPECIALIZE error
    107112
     
    548553  }
    549554
    550 untyped_single_attr_object_block: single_attr_object_complex_head SYM_END_DBLOCK # <>
     555untyped_single_attr_object_block: single_attr_object_complex_head SYM_END_DBLOCK # >
    551556  {
    552557    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
     
    11711176$:.unshift File.join(File.dirname(__FILE__))
    11721177require 'logger'
    1173 #require 'lib/util.rb'
    1174 #require 'lib/scanner.rb'
    1175 require 'lib/adl_parser.rb'
     1178#require 'lib/adl_parser.rb'
    11761179require 'rubygems'
     1180require 'adl_parser.rb'
    11771181require 'am.rb'
    1178 $DEBUG = false
     1182require 'rm.rb'
    11791183
    11801184
     
    13081312      when /\A[A-Z][a-zA-Z0-9_]*/
    13091313        yield :V_TYPE_IDENTIFIER, $&
    1310       when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/   #V_ARCHETYPE_ID
    1311         yield :V_ARCHETYPE_ID, $&
     1314#      when /\A[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z][a-zA-Z0-9_-]+\.[a-zA-Z0-9]+/   #V_ARCHETYPE_ID
     1315      when /\A(\w+)-(\w+)-(\w+)\.(\w+)(-\w+)?\.(v[0-9]+)/   #V_ARCHETYPE_ID
     1316        object_id, rm_originator, rm_name, rm_entity, concept_name, specialisation, version_id = $&, $1, $2, $3, $4, $5, $6
     1317        archetype_id = OpenEHR::RM::Support::Identification::Archetype_ID.new(object_id, concept_name, rm_name, rm_entity, rm_originator, specialisation, version_id)
     1318#        yield :V_ARCHETYPE_ID, $&
     1319        yield :V_ARCHETYPE_ID, archetype_id
    13121320      when /\A[a-z][a-zA-Z0-9_]*/
    13131321#        word = $&.downcase
     
    13911399        yield :Question_mark_code, :Question_mark_code
    13921400      when /\A[0-9]+\.[0-9]+(\.[0-9]+)*/   # ?
    1393         yield :V_VERSION_STRING, :V_VERSION_STRING
     1401        yield :V_VERSION_STRING, $&
    13941402      when /\A\|/   # |
    13951403        if @in_interval
     
    14091417        yield :Right_bracket_code, :Right_bracket_code
    14101418
     1419      when /\A"([^"]*)"/m #V_STRING
     1420        yield :V_STRING, $1
    14111421      when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/   #ERR_V_QUALIFIED_TERM_CODE_REF
    14121422        yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&
     
    14261436        yield :V_REAL, $&
    14271437        #    when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING
    1428       when /\A"([^"]*)"/m #V_STRING
    1429         yield :V_STRING, $1
    14301438      when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI
    14311439        yield :V_URI, $&
Note: See TracChangeset for help on using the changeset viewer.