Changeset 318


Ignore:
Timestamp:
Oct 14, 2009, 3:49:28 AM (15 years ago)
Author:
Tatsukawa, Akimichi
Message:

successfully parsing all the adl files under http://www.openehr.org/svn/knowledge/archetypes/dev/adl/openehr/ehr directory

Location:
ruby
Files:
3 added
11 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/TRY-open_ehr_gem/lib/am/archetype/constraint_model/archetype_constraint.rb

    r167 r318  
    33  module AM
    44    module Archetype
    5       module Constraint_Model
     5      module ConstraintModel
    66        class ARCHETYPE_CONSTRAINT
    77         
  • ruby/branches/TRY-open_ehr_gem/lib/am/archetype/constraint_model/primitive.rb

    r167 r318  
    22  module AM
    33    module Archetype
    4       module Constraint_Model
     4      module ConstraintModel
    55
    66        module Primitive
     
    145145
    146146        end # of Primitive
    147       end # of Constraint_Model
     147      end # of ConstraintModel
    148148    end # of Archetype
    149149  end # of AM
  • ruby/branches/TRY-open_ehr_gem/lib/open_ehr.rb

    r306 r318  
    3636    module Archetype
    3737      autoload :ARCHETYPE, "am/archetype/archetype.rb"
    38       autoload :Constraint_Model, "am/archetype/constraint_model/archetype_constraint.rb"
     38#      autoload :ConstraintModel, "am/archetype/constraint_model/archetype_constraint.rb"
    3939      autoload :Ontology, "am/archetype/ontology.rb"
    4040
     
    4343      end
    4444
    45       module Constraint_Model
     45      module ConstraintModel
    4646        autoload :ARCHETYPE_CONSTRAINT, "am/archetype/constraint_model/archetype_constraint.rb"
     47        autoload :CARDINALITY, "am/archetype/constraint_model/archetype_constraint.rb"
     48        autoload :C_SINGLE_ATTRIBUTE, "am/archetype/constraint_model/archetype_constraint.rb"
    4749        autoload :ARCHETYPE_SLOT, "am/archetype/constraint_model/archetype_constraint.rb"
    4850        autoload :Primitive, "am/archetype/constraint_model/primitive.rb"
  • ruby/trunk/lib/adl_parser/lib/adl_scanner.rb

    r317 r318  
    276276                @@logger.debug("DADLScanner#scan: COMMENT = #{$&} at #{@filename}:#{@lineno}")
    277277                ;
     278              when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI
     279                yield :V_URI, $&
    278280              when /\A[a-z][a-zA-Z0-9_]*/
    279281                word = $&.dup
     
    316318                      yield :SYM_END_DBLOCK, :SYM_END_DBLOCK
    317319                    end
    318 #                     adl_type = @adl_type.pop
    319 #                     if adl_type == :dadl
    320 #                       yield :SYM_END_DBLOCK, :SYM_END_DBLOCK
    321 #                     else
    322 #                       @in_c_domain_type = false
    323 #                       yield :END_V_C_DOMAIN_TYPE_BLOCK, :END_V_C_DOMAIN_TYPE_BLOCK
    324 #                     end
    325320                  else
    326321                    adl_type = @adl_type.pop
     
    382377                @@logger.debug("DADLScanner#scan: Right_bracket_code at #{@filename}:#{@lineno}")
    383378                yield :Right_bracket_code, :Right_bracket_code
     379              when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING
     380                @@logger.debug("DADLScanner#scan: V_STRING, #{$1}")
     381                yield :V_STRING, $1
     382              when /\A"([^"]*)"/m #V_STRING
     383                @@logger.debug("DADLScanner#scan: V_STRING, #{$1}")
     384                yield :V_STRING, $1
    384385              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-]-
    385386                @@logger.debug("DADLScanner#scan: V_ISO8601_EXTENDED_DATE_TIME")
     
    393394              when /\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/   #V_GENERIC_TYPE_IDENTIFIER
    394395                yield :V_GENERIC_TYPE_IDENTIFIER, $&
    395               when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING
    396                 @@logger.debug("DADLScanner#scan: V_STRING, #{$1}")
    397                 yield :V_STRING, $1
    398               when /\A"([^"]*)"/m #V_STRING
    399                 @@logger.debug("DADLScanner#scan: V_STRING, #{$1}")
    400                 yield :V_STRING, $1
    401396              when /\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+ /   #V_REAL
    402397                yield :V_REAL, $&
     
    404399                @@logger.debug("DADLScanner#scan: V_INTEGER = #{$&}")
    405400                yield :V_INTEGER, $&
    406               when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI
    407                 yield :V_URI, $&
    408401              when /\A\S/ #UTF8CHAR
    409402                yield :UTF8CHAR, $&
     
    601594              when /\A[hH][hH]:[mM?X][mM?X]:[sS?X][sS?X]/
    602595                yield :V_ISO8601_TIME_CONSTRAINT_PATTERN, $&
    603                 #when /\AP([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?T([0-9]+[hH])?([0-9]+[mM])?([0-9]+[sS])?|P([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?/   #V_ISO8601_DURATION such as PnYnMnWnDTnnHnnMnnS
     596#              when /\AP([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?T([0-9]+[hH])?([0-9]+[mM])?([0-9]+[sS])?|P([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?/   #V_ISO8601_DURATION such as PnYnMnWnDTnnHnnMnnS
     597#                yield :V_ISO8601_DURATION, $&
    604598              when /\AP([0-9]+[yY])?([0-9]+[mM])?([0-9]+[wW])?([0-9]+[dD])?T([0-9]+[hH])?([0-9]+[mM])?([0-9]+[sS])?/   #V_ISO8601_DURATION such as PnYnMnWnDTnnHnnMnnS
    605599                yield :V_ISO8601_DURATION, $&
    606               when /\AP[yY]?[mM]?[wW]?[dD]?T[hH]?[mM]?[sS]?/   #V_ISO8601_DURATION_CONSTRAINT_PATTERNo
     600              when /\AP[yY]?[mM]?[wW]?[dD]?(T[hH]?[mM]?[sS]?)?/   #V_ISO8601_DURATION_CONSTRAINT_PATTERN
    607601                yield :V_ISO8601_DURATION_CONSTRAINT_PATTERN, $&
    608602              when /\A[a-z][a-zA-Z0-9_]*/
  • ruby/trunk/lib/adl_parser/lib/parser.rb

    r317 r318  
    2727    class Parser < Racc::Parser
    2828
    29 module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1282)
     29module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1283)
    3030
    3131def assert_at(file,line, message = "")
     
    155155   129,   462,   497,   577,   229,   476,    58,   137,    67,   213,
    156156   381,   335,   330,   564,   152,   154,    25,    26,   529,   125,
    157    127,   113,    72,   495,   189,  -373,    30,   516,   518,    36,
     157   127,   113,    72,   495,   189,  -374,    30,   516,   518,    36,
    158158   521,   523,   214,   520,   443,    36,    60,   230,   144,   152,
    159159   154,   431,    48,    50,   274,   110,   435,    80,    83,    86,
     
    178178    80,   385,   386,   237,   149,   150,   157,     1,   341,   248,
    179179   261,   172,    22,   254,   338,   379,   258,   260,   145,   157,
    180    117,   149,   150,   146,   157,   115,     4,   157,   119,  -372,
     180   117,   149,   150,   146,   157,   115,     4,   157,   119,  -373,
    181181    23,    80,    83,    86,   218,   247,    96,   269,   156,   391,
    182182   218,   238,   570,   149,   150,   159,   218,    80,   385,   386,
     
    221221   115,   117,   119,    80,    83,    86,   353,   354,    96,    80,
    222222   385,   386,   113,   115,   117,   119,   389,    80,   385,   386,
    223    272,   275,   276,  -102,   355,   356,   288,   175,   422,   423,
     223   272,   275,   276,  -103,   355,   356,   288,   175,   422,   423,
    224224    80,    83,    86,   193,   451,    96,   125,   127,   109,   113,
    225225   115,   117,   119,   189,   122,   110,   363,   364,    80,    83,
     
    237237   546,    56,   548,   113,   550,   115,   552,   117,   554,   119,
    238238   267,   557,   558,   559,   560,   561,   562,   119,   119,   119,
    239    119,   563,   249,   162,  -102,   568,   115,    53,    34,   172,
     239   119,   563,   249,   162,  -103,   568,   115,    53,    34,   172,
    240240   268,    31,   579,    28,   581,   582,   583,   584,   585,   586,
    241241   587,   113,   590,   591,   592,    24,   595,   596,   269,    21,
     
    404404
    405405racc_action_default = [
    406   -375,    -2,  -375,  -375,    -6,  -375,   -13,    -4,  -375,    -5,
    407     -7,  -375,    -1,  -375,  -375,   632,  -375,   -12,  -375,    -9,
    408    -18,  -375,   -15,   -14,  -375,    -8,  -375,   -21,  -375,   -17,
    409    -16,   -11,   -10,  -375,  -375,  -111,   -93,   -89,   -19,  -107,
    410   -375,   -20,  -375,   -97,   -98,   -99,  -375,  -375,  -145,   -87,
    411   -146,   -88,   -82,  -375,   -22,   -23,   -94,  -375,  -109,  -375,
    412   -375,  -375,  -103,  -375,  -108,  -100,   -90,  -375,  -375,  -375,
    413   -288,  -281,  -375,  -247,   -25,   -24,  -252,   -26,  -283,  -253,
    414   -151,   -27,  -375,  -375,  -375,  -375,  -375,  -272,  -304,  -273,
    415   -375,  -375,  -285,  -282,  -375,  -250,  -166,   -31,  -270,  -280,
    416   -271,  -375,  -111,   -92,  -112,   -96,  -375,   -95,  -110,  -186,
    417   -147,  -122,  -375,  -190,  -123,  -203,  -124,  -216,  -125,  -229,
    418   -126,  -127,  -246,  -128,  -129,  -181,  -120,  -182,  -121,  -101,
    419   -104,  -375,   -91,   -84,   -83,  -375,    -3,  -287,  -375,  -288,
    420   -284,  -248,  -372,  -375,  -375,  -152,  -167,  -375,  -375,  -375,
    421   -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -153,
    422   -168,   -30,  -375,  -255,  -254,  -375,  -258,  -375,  -375,  -375,
    423   -375,  -375,   -32,  -375,  -375,  -147,  -144,  -133,  -122,  -115,
    424   -134,  -123,  -135,  -124,  -136,  -125,  -137,  -126,  -375,  -242,
    425   -138,  -127,  -116,  -375,  -139,  -128,  -117,  -140,  -118,  -141,
    426   -130,  -119,  -142,  -131,  -143,  -132,  -121,  -113,  -106,  -105,
    427    -85,   -86,  -375,  -375,  -375,  -286,  -375,  -262,  -375,  -277,
    428   -278,  -263,  -274,  -264,  -275,  -260,  -259,  -276,  -261,  -306,
    429   -375,  -251,  -249,  -266,  -267,  -268,  -265,  -279,  -269,  -375,
    430   -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,
    431   -114,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,
    432   -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,
    433   -375,  -342,  -321,  -315,  -346,  -327,  -333,  -312,  -375,  -322,
    434   -318,   -54,  -328,  -324,   -55,  -334,  -330,   -56,  -374,  -341,
    435   -336,  -311,   -57,  -343,  -317,   -58,  -339,  -323,  -347,   -59,
    436   -352,  -349,  -329,  -310,   -60,  -356,  -353,  -335,  -316,  -309,
    437    -61,  -375,  -289,   -63,  -375,  -375,   -33,   -62,   -34,  -375,
    438   -375,  -148,  -150,  -184,  -169,  -171,  -375,  -375,  -188,  -183,
    439   -185,  -192,  -189,  -187,  -205,  -193,  -191,  -218,  -206,  -204,
    440   -231,  -219,  -217,  -180,  -375,  -375,  -375,  -375,  -375,  -375,
    441   -375,  -202,  -375,  -215,  -375,  -228,  -375,  -375,  -375,  -375,
    442   -375,  -375,  -375,  -241,  -375,  -375,  -375,  -375,  -375,  -375,
    443   -375,  -375,  -375,  -375,  -375,  -375,  -375,  -165,  -375,  -232,
    444   -230,  -245,  -243,  -149,  -244,  -375,  -375,  -155,  -170,  -156,
    445   -154,   -28,  -375,  -256,  -375,  -375,  -375,  -375,  -375,  -375,
    446   -375,  -375,  -375,  -375,  -375,  -257,   -68,  -375,  -375,   -29,
    447    -64,  -375,  -307,  -151,  -303,  -302,  -375,  -375,  -178,  -375,
    448   -200,  -375,  -213,  -375,  -226,  -375,  -239,  -375,  -163,  -375,
    449   -375,  -375,  -375,  -375,  -375,  -375,  -177,  -199,  -212,  -225,
    450   -238,  -162,  -375,  -375,  -179,  -201,  -214,  -227,  -240,  -164,
    451   -176,  -198,  -211,  -224,  -237,  -161,  -375,  -375,  -314,  -313,
    452   -319,  -320,  -326,  -325,  -332,  -331,  -338,  -337,  -345,  -344,
    453   -340,  -375,  -348,  -354,  -351,  -350,  -358,  -357,  -355,   -69,
    454   -375,  -375,  -375,  -375,  -305,  -375,  -172,  -375,  -375,  -375,
    455   -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,  -375,
    456   -194,  -375,  -207,  -375,  -220,  -375,  -233,  -375,  -375,  -157,
    457   -375,  -375,  -375,  -375,  -375,  -375,   -43,  -304,  -375,   -53,
    458    -44,  -375,  -309,  -375,   -31,   -72,   -70,   -36,   -37,  -371,
    459    -38,  -359,   -39,  -362,   -40,  -375,  -365,   -41,  -366,   -42,
    460   -368,  -375,   -35,  -375,  -308,  -174,  -173,  -375,  -195,  -375,
    461   -208,  -375,  -221,  -375,  -234,  -375,  -375,  -158,  -196,  -209,
    462   -222,  -235,  -159,  -375,  -291,  -375,   -49,  -375,   -67,  -304,
    463   -375,   -52,   -50,  -375,  -375,   -44,   -71,   -65,  -375,  -369,
    464   -375,   -66,  -175,  -197,  -210,  -223,  -236,  -160,  -294,  -375,
    465   -375,  -290,   -45,   -47,  -375,  -364,   -51,  -363,  -375,  -361,
    466   -360,  -367,  -370,   -73,  -375,  -293,  -292,   -46,  -375,   -75,
    467   -295,  -296,  -297,   -74,   -77,  -375,   -80,  -375,  -375,  -375,
    468   -375,  -375,   -78,  -375,   -48,   -76,  -298,  -299,  -300,  -301,
     406  -376,    -2,  -376,  -376,    -6,  -376,   -13,    -4,  -376,    -5,
     407    -7,  -376,    -1,  -376,  -376,   632,  -376,   -12,  -376,    -9,
     408   -18,  -376,   -15,   -14,  -376,    -8,  -376,   -21,   -87,   -17,
     409   -16,   -11,   -10,  -376,   -87,  -112,   -94,   -90,   -19,  -108,
     410  -376,   -20,  -376,   -98,   -99,  -100,  -376,  -376,  -146,   -88,
     411  -147,   -89,   -82,  -376,   -22,   -23,   -95,  -376,  -110,  -376,
     412  -376,  -376,  -104,  -376,  -109,  -101,   -91,  -376,  -376,  -376,
     413  -289,  -282,  -376,  -248,   -25,   -24,  -253,   -26,  -284,  -254,
     414  -152,   -27,  -376,  -376,  -376,  -376,  -376,  -273,  -305,  -274,
     415  -376,  -376,  -286,  -283,  -376,  -251,  -167,   -31,  -271,  -281,
     416  -272,  -376,  -112,   -93,  -113,   -97,  -376,   -96,  -111,  -187,
     417  -148,  -123,  -376,  -191,  -124,  -204,  -125,  -217,  -126,  -230,
     418  -127,  -128,  -247,  -129,  -130,  -182,  -121,  -183,  -122,  -102,
     419  -105,  -376,   -92,   -84,   -83,   -87,    -3,  -288,  -376,  -289,
     420  -285,  -249,  -373,  -376,  -376,  -153,  -168,  -376,  -376,  -376,
     421  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -154,
     422  -169,   -30,  -376,  -256,  -255,  -376,  -259,  -376,  -376,  -376,
     423  -376,  -376,   -32,  -376,  -376,  -148,  -145,  -134,  -123,  -116,
     424  -135,  -124,  -136,  -125,  -137,  -126,  -138,  -127,  -376,  -243,
     425  -139,  -128,  -117,  -376,  -140,  -129,  -118,  -141,  -119,  -142,
     426  -131,  -120,  -143,  -132,  -144,  -133,  -122,  -114,  -107,  -106,
     427   -85,   -86,  -376,  -376,  -376,  -287,  -376,  -263,  -376,  -278,
     428  -279,  -264,  -275,  -265,  -276,  -261,  -260,  -277,  -262,  -307,
     429  -376,  -252,  -250,  -267,  -268,  -269,  -266,  -280,  -270,  -376,
     430  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,
     431  -115,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,
     432  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,
     433  -376,  -343,  -322,  -316,  -347,  -328,  -334,  -313,  -376,  -323,
     434  -319,   -54,  -329,  -325,   -55,  -335,  -331,   -56,  -375,  -342,
     435  -337,  -312,   -57,  -344,  -318,   -58,  -340,  -324,  -348,   -59,
     436  -353,  -350,  -330,  -311,   -60,  -357,  -354,  -336,  -317,  -310,
     437   -61,  -376,  -290,   -63,  -376,  -376,   -33,   -62,   -34,  -376,
     438  -376,  -149,  -151,  -185,  -170,  -172,  -376,  -376,  -189,  -184,
     439  -186,  -193,  -190,  -188,  -206,  -194,  -192,  -219,  -207,  -205,
     440  -232,  -220,  -218,  -181,  -376,  -376,  -376,  -376,  -376,  -376,
     441  -376,  -203,  -376,  -216,  -376,  -229,  -376,  -376,  -376,  -376,
     442  -376,  -376,  -376,  -242,  -376,  -376,  -376,  -376,  -376,  -376,
     443  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -166,  -376,  -233,
     444  -231,  -246,  -244,  -150,  -245,  -376,  -376,  -156,  -171,  -157,
     445  -155,   -28,  -376,  -257,  -376,  -376,  -376,  -376,  -376,  -376,
     446  -376,  -376,  -376,  -376,  -376,  -258,   -68,  -376,  -376,   -29,
     447   -64,  -376,  -308,  -152,  -304,  -303,  -376,  -376,  -179,  -376,
     448  -201,  -376,  -214,  -376,  -227,  -376,  -240,  -376,  -164,  -376,
     449  -376,  -376,  -376,  -376,  -376,  -376,  -178,  -200,  -213,  -226,
     450  -239,  -163,  -376,  -376,  -180,  -202,  -215,  -228,  -241,  -165,
     451  -177,  -199,  -212,  -225,  -238,  -162,  -376,  -376,  -315,  -314,
     452  -320,  -321,  -327,  -326,  -333,  -332,  -339,  -338,  -346,  -345,
     453  -341,  -376,  -349,  -355,  -352,  -351,  -359,  -358,  -356,   -69,
     454  -376,  -376,  -376,  -376,  -306,  -376,  -173,  -376,  -376,  -376,
     455  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,  -376,
     456  -195,  -376,  -208,  -376,  -221,  -376,  -234,  -376,  -376,  -158,
     457  -376,  -376,  -376,  -376,  -376,  -376,   -43,  -305,   -87,   -53,
     458   -44,  -376,  -310,  -376,   -31,   -72,   -70,   -36,   -37,  -372,
     459   -38,  -360,   -39,  -363,   -40,  -376,  -366,   -41,  -367,   -42,
     460  -369,  -376,   -35,  -376,  -309,  -175,  -174,  -376,  -196,  -376,
     461  -209,  -376,  -222,  -376,  -235,  -376,  -376,  -159,  -197,  -210,
     462  -223,  -236,  -160,  -376,  -292,  -376,   -49,  -376,   -67,  -305,
     463  -376,   -52,   -50,  -376,  -376,   -44,   -71,   -65,  -376,  -370,
     464  -376,   -66,  -176,  -198,  -211,  -224,  -237,  -161,  -295,  -376,
     465  -376,  -291,   -45,   -47,  -376,  -365,   -51,  -364,  -376,  -362,
     466  -361,  -368,  -371,   -73,  -376,  -294,  -293,   -46,  -376,   -75,
     467  -296,  -297,  -298,   -74,   -77,  -376,   -80,  -376,  -376,  -376,
     468  -376,  -376,   -78,  -376,   -48,   -76,  -299,  -300,  -301,  -302,
    469469   -81,   -79 ]
    470470
     
    707707  2, 105, :_reduce_85,
    708708  2, 105, :_reduce_none,
    709   1, 110, :_reduce_87,
     709  0, 110, :_reduce_none,
    710710  1, 110, :_reduce_88,
    711   1, 152, :_reduce_89,
    712   2, 152, :_reduce_90,
    713   3, 152, :_reduce_91,
    714   3, 154, :_reduce_92,
    715   1, 155, :_reduce_93,
     711  1, 110, :_reduce_89,
     712  1, 152, :_reduce_90,
     713  2, 152, :_reduce_91,
     714  3, 152, :_reduce_92,
     715  3, 154, :_reduce_93,
     716  1, 155, :_reduce_94,
    716717  2, 155, :_reduce_none,
    717   1, 156, :_reduce_95,
    718718  1, 156, :_reduce_96,
    719   1, 153, :_reduce_97,
     719  1, 156, :_reduce_97,
    720720  1, 153, :_reduce_98,
    721   1, 159, :_reduce_99,
    722   2, 159, :_reduce_100,
    723   3, 160, :_reduce_101,
    724   1, 161, :_reduce_102,
    725   1, 162, :_reduce_103,
    726   2, 162, :_reduce_104,
    727   3, 163, :_reduce_105,
    728   3, 164, :_reduce_106,
    729   1, 158, :_reduce_107,
    730   2, 158, :_reduce_108,
    731   2, 166, :_reduce_109,
    732   3, 166, :_reduce_110,
     721  1, 153, :_reduce_99,
     722  1, 159, :_reduce_100,
     723  2, 159, :_reduce_101,
     724  3, 160, :_reduce_102,
     725  1, 161, :_reduce_103,
     726  1, 162, :_reduce_104,
     727  2, 162, :_reduce_105,
     728  3, 163, :_reduce_106,
     729  3, 164, :_reduce_107,
     730  1, 158, :_reduce_108,
     731  2, 158, :_reduce_109,
     732  2, 166, :_reduce_110,
     733  3, 166, :_reduce_111,
    733734  1, 167, :_reduce_none,
    734   1, 157, :_reduce_112,
    735   2, 157, :_reduce_113,
    736   3, 168, :_reduce_114,
    737   1, 169, :_reduce_115,
     735  1, 157, :_reduce_113,
     736  2, 157, :_reduce_114,
     737  3, 168, :_reduce_115,
    738738  1, 169, :_reduce_116,
    739739  1, 169, :_reduce_117,
    740740  1, 169, :_reduce_118,
    741741  1, 169, :_reduce_119,
    742   1, 165, :_reduce_120,
     742  1, 169, :_reduce_120,
    743743  1, 165, :_reduce_121,
    744744  1, 165, :_reduce_122,
     
    750750  1, 165, :_reduce_128,
    751751  1, 165, :_reduce_129,
    752   1, 170, :_reduce_130,
     752  1, 165, :_reduce_130,
    753753  1, 170, :_reduce_131,
    754754  1, 170, :_reduce_132,
     
    759759  1, 170, :_reduce_137,
    760760  1, 170, :_reduce_138,
     761  1, 170, :_reduce_139,
    761762  1, 171, :_reduce_none,
    762763  1, 171, :_reduce_none,
     
    765766  1, 171, :_reduce_none,
    766767  1, 171, :_reduce_none,
    767   1, 118, :_reduce_145,
    768768  1, 118, :_reduce_146,
    769   1, 174, :_reduce_147,
    770   3, 184, :_reduce_148,
     769  1, 118, :_reduce_147,
     770  1, 174, :_reduce_148,
    771771  3, 184, :_reduce_149,
    772772  3, 184, :_reduce_150,
    773   1, 175, :_reduce_151,
    774   2, 175, :_reduce_152,
     773  3, 184, :_reduce_151,
     774  1, 175, :_reduce_152,
    775775  2, 175, :_reduce_153,
     776  2, 175, :_reduce_154,
    776777  3, 185, :_reduce_none,
    777778  3, 185, :_reduce_none,
     
    786787  4, 193, :_reduce_none,
    787788  3, 193, :_reduce_none,
    788   1, 176, :_reduce_166,
    789   2, 176, :_reduce_167,
     789  1, 176, :_reduce_167,
    790790  2, 176, :_reduce_168,
     791  2, 176, :_reduce_169,
    791792  3, 186, :_reduce_none,
    792793  3, 186, :_reduce_none,
     
    801802  4, 194, :_reduce_none,
    802803  3, 194, :_reduce_none,
    803   1, 177, :_reduce_181,
    804804  1, 177, :_reduce_182,
     805  1, 177, :_reduce_183,
    805806  3, 187, :_reduce_none,
    806807  3, 187, :_reduce_none,
     
    810811  3, 188, :_reduce_none,
    811812  3, 188, :_reduce_none,
    812   1, 179, :_reduce_190,
     813  1, 179, :_reduce_191,
    813814  3, 189, :_reduce_none,
    814815  3, 189, :_reduce_none,
     
    849850  4, 197, :_reduce_none,
    850851  3, 197, :_reduce_none,
    851   1, 182, :_reduce_229,
     852  1, 182, :_reduce_230,
    852853  3, 192, :_reduce_none,
    853854  3, 192, :_reduce_none,
     
    862863  4, 198, :_reduce_none,
    863864  3, 198, :_reduce_none,
    864   1, 172, :_reduce_242,
     865  1, 172, :_reduce_243,
    865866  3, 173, :_reduce_none,
    866867  3, 173, :_reduce_none,
    867868  3, 173, :_reduce_none,
    868   1, 183, :_reduce_246,
     869  1, 183, :_reduce_247,
    869870  1, 113, :_reduce_none,
    870871  2, 113, :_reduce_none,
     
    907908  1, 202, :_reduce_none,
    908909  3, 202, :_reduce_none,
    909   2, 206, :_reduce_287,
    910   1, 206, :_reduce_288,
    911   0, 146, :_reduce_289,
    912   5, 146, :_reduce_290,
    913   1, 207, :_reduce_291,
    914   3, 207, :_reduce_292,
    915   5, 147, :_reduce_293,
     910  2, 206, :_reduce_288,
     911  1, 206, :_reduce_289,
     912  0, 146, :_reduce_290,
     913  5, 146, :_reduce_291,
     914  1, 207, :_reduce_292,
     915  3, 207, :_reduce_293,
     916  5, 147, :_reduce_294,
    916917  1, 208, :_reduce_none,
    917918  3, 208, :_reduce_none,
     
    922923  5, 208, :_reduce_none,
    923924  5, 208, :_reduce_none,
    924   1, 210, :_reduce_302,
    925925  1, 210, :_reduce_303,
     926  1, 210, :_reduce_304,
    926927  0, 117, :_reduce_none,
    927   5, 117, :_reduce_305,
     928  5, 117, :_reduce_306,
    928929  2, 117, :_reduce_none,
    929   1, 209, :_reduce_307,
    930   3, 209, :_reduce_308,
     930  1, 209, :_reduce_308,
     931  3, 209, :_reduce_309,
    931932  1, 211, :_reduce_none,
    932933  1, 211, :_reduce_none,
     
    972973  3, 141, :_reduce_none,
    973974  3, 141, :_reduce_none,
    974   1, 219, :_reduce_352,
    975975  1, 219, :_reduce_353,
    976   3, 219, :_reduce_354,
     976  1, 219, :_reduce_354,
    977977  3, 219, :_reduce_355,
    978   1, 142, :_reduce_356,
    979   3, 142, :_reduce_357,
     978  3, 219, :_reduce_356,
     979  1, 142, :_reduce_357,
    980980  3, 142, :_reduce_358,
     981  3, 142, :_reduce_359,
    981982  1, 126, :_reduce_none,
    982983  3, 126, :_reduce_none,
     
    984985  1, 220, :_reduce_none,
    985986  3, 220, :_reduce_none,
    986   3, 221, :_reduce_364,
    987   1, 125, :_reduce_365,
     987  3, 221, :_reduce_365,
    988988  1, 125, :_reduce_366,
    989   3, 222, :_reduce_367,
     989  1, 125, :_reduce_367,
     990  3, 222, :_reduce_368,
    990991  0, 223, :_reduce_none,
    991992  1, 223, :_reduce_none,
    992993  2, 223, :_reduce_none,
    993   1, 124, :_reduce_371,
    994   1, 150, :_reduce_372,
     994  1, 124, :_reduce_372,
    995995  1, 150, :_reduce_373,
    996   1, 217, :_reduce_374 ]
    997 
    998 racc_reduce_n = 375
     996  1, 150, :_reduce_374,
     997  1, 217, :_reduce_375 ]
     998
     999racc_reduce_n = 376
    9991000
    10001001racc_shift_n = 632
     
    13621363  def _reduce_3(val, _values, result)
    13631364        assert_at(__FILE__,__LINE__) do
    1364       val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
     1365      val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
    13651366    end
    13661367   
     
    15241525module_eval(<<'.,.,', 'parser.y', 155)
    15251526  def _reduce_26(val, _values, result)
    1526         assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     1527        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT)}
    15271528    @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}")
    15281529    result = val[0]
     
    15421543module_eval(<<'.,.,', 'parser.y', 168)
    15431544  def _reduce_28(val, _values, result)
    1544         result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     1545        result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
    15451546      c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
    15461547      c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
     
    15541555module_eval(<<'.,.,', 'parser.y', 176)
    15551556  def _reduce_29(val, _values, result)
    1556         result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     1557        result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
    15571558      c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
    15581559      c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
     
    15921593module_eval(<<'.,.,', 'parser.y', 202)
    15931594  def _reduce_34(val, _values, result)
    1594         result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
     1595        result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.new(:attributes => val[0])
    15951596 
    15961597    result
     
    16091610module_eval(<<'.,.,', 'parser.y', 225)
    16101611  def _reduce_36(val, _values, result)
    1611         result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
     1612        result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
    16121613      archetype_internal_ref.target_path = val[0][:absolute_path]
    16131614      archetype_internal_ref.rm_type_name = val[0][:type_identifier]
     
    16291630module_eval(<<'.,.,', 'parser.y', 237)
    16301631  def _reduce_38(val, _values, result)
    1631         result = OpenEhr::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|
     1632        result = OpenEhr::AM::Archetype::ConstraintModel::CONSTRAINT_REF.create do |constraint_ref|
    16321633      constraint_ref.reference = val[0]
    16331634    end
     
    16931694module_eval(<<'.,.,', 'parser.y', 301)
    16941695  def _reduce_48(val, _values, result)
    1695         result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|
     1696        result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_SLOT.create do |archetype_slot|
    16961697      archetype_slot.includes = val[3]
    16971698      archetype_slot.excludes = val[4]
     
    17261727module_eval(<<'.,.,', 'parser.y', 323)
    17271728  def _reduce_53(val, _values, result)
    1728         assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
    1729     result = OpenEhr::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object|
     1729        assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_PRIMITIVE)}
     1730    result = OpenEhr::AM::Archetype::ConstraintModel::C_PRIMITIVE_OBJECT.create do |c_primitive_object|
    17301731      c_primitive_object.item = val[0]
    17311732    end
     
    17381739  def _reduce_54(val, _values, result)
    17391740        @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
    1740     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer|
     1741    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_INTEGER.create do |c_integer|
    17411742      c_integer.list
    17421743      c_integer.range
     
    17511752  def _reduce_55(val, _values, result)
    17521753        @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
    1753     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_REAL.new
     1754    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_REAL.new
    17541755 
    17551756    result
     
    17601761  def _reduce_56(val, _values, result)
    17611762        @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
    1762     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE.new
     1763    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DATE.new
    17631764 
    17641765    result
     
    17691770  def _reduce_57(val, _values, result)
    17701771        @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
    1771     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_TIME.new
     1772    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_TIME.new
    17721773 
    17731774    result
     
    17781779  def _reduce_58(val, _values, result)
    17791780        @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
    1780     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new
     1781    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DATE_TIME.new
    17811782 
    17821783    result
     
    17871788  def _reduce_59(val, _values, result)
    17881789        @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
    1789     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new
     1790    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new
    17901791 
    17911792    result
     
    17961797  def _reduce_60(val, _values, result)
    17971798        @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
    1798     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_STRING.new
     1799    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_STRING.new
    17991800 
    18001801    result
     
    18041805module_eval(<<'.,.,', 'parser.y', 370)
    18051806  def _reduce_61(val, _values, result)
    1806         assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     1807        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN)}
    18071808    @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")
    18081809    result = val[0]
     
    18321833module_eval(<<'.,.,', 'parser.y', 392)
    18331834  def _reduce_65(val, _values, result)
    1834         assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     1835        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
    18351836    c_attribute = val[0]
    18361837    c_attribute.children = val[3]
     
    18431844module_eval(<<'.,.,', 'parser.y', 399)
    18441845  def _reduce_66(val, _values, result)
    1845         assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     1846        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
    18461847    result = val[0]
    18471848 
     
    18521853module_eval(<<'.,.,', 'parser.y', 404)
    18531854  def _reduce_67(val, _values, result)
    1854         assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     1855        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
    18551856    result = val[0]
    18561857 
     
    18621863  def _reduce_68(val, _values, result)
    18631864        @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
    1864     result = OpenEhr::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(
     1865    result = OpenEhr::AM::Archetype::ConstraintModel::C_SINGLE_ATTRIBUTE.new(
    18651866                                                                              :rm_attribute_name => val[0],
    18661867                                                                              :existence => val[1]
     
    18741875module_eval(<<'.,.,', 'parser.y', 420)
    18751876  def _reduce_69(val, _values, result)
    1876         assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY) }
     1877        assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY) }
    18771878    @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")
    1878     result = OpenEhr::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(
     1879    result = OpenEhr::AM::Archetype::ConstraintModel::C_MULTIPLE_ATTRIBUTE.new(
    18791880                                                                                :rm_attribute_name => val[0],
    18801881                                                                                :existence => val[1],
     
    19571958# reduce 86 omitted
    19581959
    1959 module_eval(<<'.,.,', 'parser.y', 484)
    1960   def _reduce_87(val, _values, result)
     1960# reduce 87 omitted
     1961
     1962module_eval(<<'.,.,', 'parser.y', 485)
     1963  def _reduce_88(val, _values, result)
    19611964        @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}")
    19621965    result = val[0]
     
    19661969.,.,
    19671970
    1968 module_eval(<<'.,.,', 'parser.y', 489)
    1969   def _reduce_88(val, _values, result)
     1971module_eval(<<'.,.,', 'parser.y', 490)
     1972  def _reduce_89(val, _values, result)
    19701973        @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section complex_object_block = \n#{val[0].to_yaml}")
    19711974    result = val[0]
     
    19751978.,.,
    19761979
    1977 module_eval(<<'.,.,', 'parser.y', 496)
    1978   def _reduce_89(val, _values, result)
     1980module_eval(<<'.,.,', 'parser.y', 497)
     1981  def _reduce_90(val, _values, result)
    19791982        result = Array[val[0]]
    19801983 
     
    19831986.,.,
    19841987
    1985 module_eval(<<'.,.,', 'parser.y', 500)
    1986   def _reduce_90(val, _values, result)
     1988module_eval(<<'.,.,', 'parser.y', 501)
     1989  def _reduce_91(val, _values, result)
    19871990        result = (val[0] << val[1])
    19881991 
     
    19911994.,.,
    19921995
    1993 module_eval(<<'.,.,', 'parser.y', 504)
    1994   def _reduce_91(val, _values, result)
     1996module_eval(<<'.,.,', 'parser.y', 505)
     1997  def _reduce_92(val, _values, result)
    19951998        result = (val[0] << val[2])
    19961999 
     
    19992002.,.,
    20002003
    2001 module_eval(<<'.,.,', 'parser.y', 509)
    2002   def _reduce_92(val, _values, result)
     2004module_eval(<<'.,.,', 'parser.y', 510)
     2005  def _reduce_93(val, _values, result)
    20032006        @@logger.debug("#{__FILE__}:#{__LINE__}:attr_val\n attr_id = #{val[0]}, object_block = #{val[1]}")
    20042007    result = {:attr_id => val[0], :object_block => val[2]}
     
    20082011.,.,
    20092012
    2010 module_eval(<<'.,.,', 'parser.y', 515)
    2011   def _reduce_93(val, _values, result)
     2013module_eval(<<'.,.,', 'parser.y', 516)
     2014  def _reduce_94(val, _values, result)
    20122015        @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}")
    20132016    result = val[0]
     
    20172020.,.,
    20182021
    2019 # reduce 94 omitted
    2020 
    2021 module_eval(<<'.,.,', 'parser.y', 522)
    2022   def _reduce_95(val, _values, result)
    2023         result = val[0]
    2024  
    2025     result
    2026   end
    2027 .,.,
    2028 
    2029 module_eval(<<'.,.,', 'parser.y', 526)
     2022# reduce 95 omitted
     2023
     2024module_eval(<<'.,.,', 'parser.y', 523)
    20302025  def _reduce_96(val, _values, result)
    20312026        result = val[0]
     
    20352030.,.,
    20362031
    2037 module_eval(<<'.,.,', 'parser.y', 531)
     2032module_eval(<<'.,.,', 'parser.y', 527)
    20382033  def _reduce_97(val, _values, result)
    20392034        result = val[0]
     
    20432038.,.,
    20442039
    2045 module_eval(<<'.,.,', 'parser.y', 535)
     2040module_eval(<<'.,.,', 'parser.y', 532)
    20462041  def _reduce_98(val, _values, result)
    20472042        result = val[0]
     
    20512046.,.,
    20522047
    2053 module_eval(<<'.,.,', 'parser.y', 540)
     2048module_eval(<<'.,.,', 'parser.y', 536)
    20542049  def _reduce_99(val, _values, result)
     2050        result = val[0]
     2051 
     2052    result
     2053  end
     2054.,.,
     2055
     2056module_eval(<<'.,.,', 'parser.y', 541)
     2057  def _reduce_100(val, _values, result)
    20552058        result = {:untyped_multiple_attr_object_block => val[0]}
    20562059 
     
    20592062.,.,
    20602063
    2061 module_eval(<<'.,.,', 'parser.y', 544)
    2062   def _reduce_100(val, _values, result)
     2064module_eval(<<'.,.,', 'parser.y', 545)
     2065  def _reduce_101(val, _values, result)
    20632066        result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
    20642067 
     
    20672070.,.,
    20682071
    2069 module_eval(<<'.,.,', 'parser.y', 549)
    2070   def _reduce_101(val, _values, result)
     2072module_eval(<<'.,.,', 'parser.y', 550)
     2073  def _reduce_102(val, _values, result)
    20712074        result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}
    20722075 
     
    20752078.,.,
    20762079
    2077 module_eval(<<'.,.,', 'parser.y', 554)
    2078   def _reduce_102(val, _values, result)
     2080module_eval(<<'.,.,', 'parser.y', 555)
     2081  def _reduce_103(val, _values, result)
    20792082        result = val[0]
    20802083 
     
    20832086.,.,
    20842087
    2085 module_eval(<<'.,.,', 'parser.y', 559)
    2086   def _reduce_103(val, _values, result)
     2088module_eval(<<'.,.,', 'parser.y', 560)
     2089  def _reduce_104(val, _values, result)
    20872090        result = Array[val[0]]
    20882091 
     
    20912094.,.,
    20922095
    2093 module_eval(<<'.,.,', 'parser.y', 563)
    2094   def _reduce_104(val, _values, result)
     2096module_eval(<<'.,.,', 'parser.y', 564)
     2097  def _reduce_105(val, _values, result)
    20952098        result = (val[0] << val[1])
    20962099 
     
    20992102.,.,
    21002103
    2101 module_eval(<<'.,.,', 'parser.y', 568)
    2102   def _reduce_105(val, _values, result)
     2104module_eval(<<'.,.,', 'parser.y', 569)
     2105  def _reduce_106(val, _values, result)
    21032106        @@logger.debug("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]} at #{@filename}:#{@lineno}")
    21042107    result = {:object_key => val[0], :object_block => val[2]}
     
    21082111.,.,
    21092112
    2110 module_eval(<<'.,.,', 'parser.y', 574)
    2111   def _reduce_106(val, _values, result)
     2113module_eval(<<'.,.,', 'parser.y', 575)
     2114  def _reduce_107(val, _values, result)
    21122115        @@logger.debug("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
    21132116    result = val[1]
     
    21172120.,.,
    21182121
    2119 module_eval(<<'.,.,', 'parser.y', 580)
    2120   def _reduce_107(val, _values, result)
     2122module_eval(<<'.,.,', 'parser.y', 581)
     2123  def _reduce_108(val, _values, result)
    21212124        result = {:untyped_single_attr_object_block => val[0]}
    21222125 
     
    21252128.,.,
    21262129
    2127 module_eval(<<'.,.,', 'parser.y', 584)
    2128   def _reduce_108(val, _values, result)
     2130module_eval(<<'.,.,', 'parser.y', 585)
     2131  def _reduce_109(val, _values, result)
    21292132        result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
    21302133 
     
    21332136.,.,
    21342137
    2135 module_eval(<<'.,.,', 'parser.y', 589)
    2136   def _reduce_109(val, _values, result)
     2138module_eval(<<'.,.,', 'parser.y', 590)
     2139  def _reduce_110(val, _values, result)
    21372140        @@logger.debug("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
    21382141    result = {:single_attr_object_complex_head => val[0]}
     
    21422145.,.,
    21432146
    2144 module_eval(<<'.,.,', 'parser.y', 594)
    2145   def _reduce_110(val, _values, result)
     2147module_eval(<<'.,.,', 'parser.y', 595)
     2148  def _reduce_111(val, _values, result)
    21462149        @@logger.debug("#{__FILE__}:#{__LINE__}: attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
    21472150    result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]}
     
    21512154.,.,
    21522155
    2153 # reduce 111 omitted
    2154 
    2155 module_eval(<<'.,.,', 'parser.y', 600)
    2156   def _reduce_112(val, _values, result)
     2156# reduce 112 omitted
     2157
     2158module_eval(<<'.,.,', 'parser.y', 601)
     2159  def _reduce_113(val, _values, result)
    21572160        @@logger.debug("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
    21582161    result = {:untyped_primitive_object_block => val[0]}
     
    21622165.,.,
    21632166
    2164 module_eval(<<'.,.,', 'parser.y', 605)
    2165   def _reduce_113(val, _values, result)
     2167module_eval(<<'.,.,', 'parser.y', 606)
     2168  def _reduce_114(val, _values, result)
    21662169        @@logger.debug("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
    21672170    result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]}
     
    21712174.,.,
    21722175
    2173 module_eval(<<'.,.,', 'parser.y', 610)
    2174   def _reduce_114(val, _values, result)
     2176module_eval(<<'.,.,', 'parser.y', 611)
     2177  def _reduce_115(val, _values, result)
    21752178        @@logger.debug("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
    21762179    result = val[1]
     
    21802183.,.,
    21812184
    2182 module_eval(<<'.,.,', 'parser.y', 615)
    2183   def _reduce_115(val, _values, result)
    2184         result = val[0]
    2185  
    2186     result
    2187   end
    2188 .,.,
    2189 
    2190 module_eval(<<'.,.,', 'parser.y', 619)
     2185module_eval(<<'.,.,', 'parser.y', 616)
    21912186  def _reduce_116(val, _values, result)
    21922187        result = val[0]
     
    21962191.,.,
    21972192
    2198 module_eval(<<'.,.,', 'parser.y', 623)
     2193module_eval(<<'.,.,', 'parser.y', 620)
    21992194  def _reduce_117(val, _values, result)
    22002195        result = val[0]
     
    22042199.,.,
    22052200
    2206 module_eval(<<'.,.,', 'parser.y', 627)
     2201module_eval(<<'.,.,', 'parser.y', 624)
    22072202  def _reduce_118(val, _values, result)
    22082203        result = val[0]
     
    22122207.,.,
    22132208
    2214 module_eval(<<'.,.,', 'parser.y', 631)
     2209module_eval(<<'.,.,', 'parser.y', 628)
    22152210  def _reduce_119(val, _values, result)
    22162211        result = val[0]
     
    22202215.,.,
    22212216
    2222 module_eval(<<'.,.,', 'parser.y', 635)
     2217module_eval(<<'.,.,', 'parser.y', 632)
    22232218  def _reduce_120(val, _values, result)
     2219        result = val[0]
     2220 
     2221    result
     2222  end
     2223.,.,
     2224
     2225module_eval(<<'.,.,', 'parser.y', 636)
     2226  def _reduce_121(val, _values, result)
    22242227        @@logger.debug("string_value: #{val[0]} at #{@filename}:#{@lineno}")
    22252228    result = val[0]
     
    22292232.,.,
    22302233
    2231 module_eval(<<'.,.,', 'parser.y', 640)
    2232   def _reduce_121(val, _values, result)
     2234module_eval(<<'.,.,', 'parser.y', 641)
     2235  def _reduce_122(val, _values, result)
    22332236        @@logger.debug("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
    22342237    result = val[0]
     
    22382241.,.,
    22392242
    2240 module_eval(<<'.,.,', 'parser.y', 645)
    2241   def _reduce_122(val, _values, result)
     2243module_eval(<<'.,.,', 'parser.y', 646)
     2244  def _reduce_123(val, _values, result)
    22422245        @@logger.debug("real_value: #{val[0]} at #{@filename}:#{@lineno}")
    22432246    result = val[0]
     
    22472250.,.,
    22482251
    2249 module_eval(<<'.,.,', 'parser.y', 650)
    2250   def _reduce_123(val, _values, result)
     2252module_eval(<<'.,.,', 'parser.y', 651)
     2253  def _reduce_124(val, _values, result)
    22512254        @@logger.debug("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
    22522255    result = val[0]
     
    22562259.,.,
    22572260
    2258 module_eval(<<'.,.,', 'parser.y', 655)
    2259   def _reduce_124(val, _values, result)
     2261module_eval(<<'.,.,', 'parser.y', 656)
     2262  def _reduce_125(val, _values, result)
    22602263        @@logger.debug("character_value: #{val[0]} at #{@filename}:#{@lineno}")
    22612264    result = val[0]
     
    22652268.,.,
    22662269
    2267 module_eval(<<'.,.,', 'parser.y', 660)
    2268   def _reduce_125(val, _values, result)
     2270module_eval(<<'.,.,', 'parser.y', 661)
     2271  def _reduce_126(val, _values, result)
    22692272        @@logger.debug("date_value: #{val[0]} at #{@filename}:#{@lineno}")
    22702273    result = val[0]
     
    22742277.,.,
    22752278
    2276 module_eval(<<'.,.,', 'parser.y', 665)
    2277   def _reduce_126(val, _values, result)
     2279module_eval(<<'.,.,', 'parser.y', 666)
     2280  def _reduce_127(val, _values, result)
    22782281        @@logger.debug("time_value: #{val[0]} at #{@filename}:#{@lineno}")
    22792282    result = val[0]
     
    22832286.,.,
    22842287
    2285 module_eval(<<'.,.,', 'parser.y', 670)
    2286   def _reduce_127(val, _values, result)
     2288module_eval(<<'.,.,', 'parser.y', 671)
     2289  def _reduce_128(val, _values, result)
    22872290        @@logger.debug("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
    22882291    result = val[0]
     
    22922295.,.,
    22932296
    2294 module_eval(<<'.,.,', 'parser.y', 675)
    2295   def _reduce_128(val, _values, result)
     2297module_eval(<<'.,.,', 'parser.y', 676)
     2298  def _reduce_129(val, _values, result)
    22962299        @@logger.debug("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
    22972300    result = val[0]
     
    23012304.,.,
    23022305
    2303 module_eval(<<'.,.,', 'parser.y', 680)
    2304   def _reduce_129(val, _values, result)
     2306module_eval(<<'.,.,', 'parser.y', 681)
     2307  def _reduce_130(val, _values, result)
    23052308        @@logger.debug("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
    23062309    result = val[0]
     
    23102313.,.,
    23112314
    2312 module_eval(<<'.,.,', 'parser.y', 686)
    2313   def _reduce_130(val, _values, result)
     2315module_eval(<<'.,.,', 'parser.y', 687)
     2316  def _reduce_131(val, _values, result)
    23142317        @@logger.debug("string_list_value: #{val[0]} at #{@filename}:#{@lineno}")
    23152318    result = val[0]
     
    23192322.,.,
    23202323
    2321 module_eval(<<'.,.,', 'parser.y', 691)
    2322   def _reduce_131(val, _values, result)
    2323         result = val[0]
    2324  
    2325     result
    2326   end
    2327 .,.,
    2328 
    2329 module_eval(<<'.,.,', 'parser.y', 695)
     2324module_eval(<<'.,.,', 'parser.y', 692)
    23302325  def _reduce_132(val, _values, result)
    23312326        result = val[0]
     
    23352330.,.,
    23362331
    2337 module_eval(<<'.,.,', 'parser.y', 699)
     2332module_eval(<<'.,.,', 'parser.y', 696)
    23382333  def _reduce_133(val, _values, result)
    23392334        result = val[0]
     
    23432338.,.,
    23442339
    2345 module_eval(<<'.,.,', 'parser.y', 703)
     2340module_eval(<<'.,.,', 'parser.y', 700)
    23462341  def _reduce_134(val, _values, result)
    23472342        result = val[0]
     
    23512346.,.,
    23522347
    2353 module_eval(<<'.,.,', 'parser.y', 707)
     2348module_eval(<<'.,.,', 'parser.y', 704)
    23542349  def _reduce_135(val, _values, result)
    23552350        result = val[0]
     
    23592354.,.,
    23602355
    2361 module_eval(<<'.,.,', 'parser.y', 711)
     2356module_eval(<<'.,.,', 'parser.y', 708)
    23622357  def _reduce_136(val, _values, result)
    23632358        result = val[0]
     
    23672362.,.,
    23682363
    2369 module_eval(<<'.,.,', 'parser.y', 715)
     2364module_eval(<<'.,.,', 'parser.y', 712)
    23702365  def _reduce_137(val, _values, result)
    23712366        result = val[0]
     
    23752370.,.,
    23762371
    2377 module_eval(<<'.,.,', 'parser.y', 719)
     2372module_eval(<<'.,.,', 'parser.y', 716)
    23782373  def _reduce_138(val, _values, result)
    23792374        result = val[0]
     
    23832378.,.,
    23842379
    2385 # reduce 139 omitted
     2380module_eval(<<'.,.,', 'parser.y', 720)
     2381  def _reduce_139(val, _values, result)
     2382        result = val[0]
     2383 
     2384    result
     2385  end
     2386.,.,
    23862387
    23872388# reduce 140 omitted
     
    23952396# reduce 144 omitted
    23962397
    2397 module_eval(<<'.,.,', 'parser.y', 731)
    2398   def _reduce_145(val, _values, result)
     2398# reduce 145 omitted
     2399
     2400module_eval(<<'.,.,', 'parser.y', 732)
     2401  def _reduce_146(val, _values, result)
    23992402        @@logger.debug("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
    24002403    result = val[0]
     
    24042407.,.,
    24052408
    2406 module_eval(<<'.,.,', 'parser.y', 736)
    2407   def _reduce_146(val, _values, result)
     2409module_eval(<<'.,.,', 'parser.y', 737)
     2410  def _reduce_147(val, _values, result)
    24082411        @@logger.debug("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
    24092412    result = val[0]
     
    24132416.,.,
    24142417
    2415 module_eval(<<'.,.,', 'parser.y', 742)
    2416   def _reduce_147(val, _values, result)
     2418module_eval(<<'.,.,', 'parser.y', 743)
     2419  def _reduce_148(val, _values, result)
    24172420        @@logger.debug("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
    24182421    result = val[0]
     
    24222425.,.,
    24232426
    2424 module_eval(<<'.,.,', 'parser.y', 748)
    2425   def _reduce_148(val, _values, result)
     2427module_eval(<<'.,.,', 'parser.y', 749)
     2428  def _reduce_149(val, _values, result)
    24262429        result = [val[0],val[2]]
    24272430 
     
    24302433.,.,
    24312434
    2432 module_eval(<<'.,.,', 'parser.y', 752)
    2433   def _reduce_149(val, _values, result)
     2435module_eval(<<'.,.,', 'parser.y', 753)
     2436  def _reduce_150(val, _values, result)
    24342437        result = val[0] << val[2]
    24352438 
     
    24382441.,.,
    24392442
    2440 module_eval(<<'.,.,', 'parser.y', 756)
    2441   def _reduce_150(val, _values, result)
     2443module_eval(<<'.,.,', 'parser.y', 757)
     2444  def _reduce_151(val, _values, result)
    24422445        result = val[0]
    24432446 
     
    24462449.,.,
    24472450
    2448 module_eval(<<'.,.,', 'parser.y', 761)
    2449   def _reduce_151(val, _values, result)
    2450         begin
    2451       integer = Integer(val[0])
    2452     rescue
    2453       raise
    2454     end
    2455     result = integer
    2456  
    2457     result
    2458   end
    2459 .,.,
    2460 
    2461 module_eval(<<'.,.,', 'parser.y', 770)
     2451module_eval(<<'.,.,', 'parser.y', 762)
    24622452  def _reduce_152(val, _values, result)
    24632453        begin
     
    24722462.,.,
    24732463
    2474 module_eval(<<'.,.,', 'parser.y', 779)
     2464module_eval(<<'.,.,', 'parser.y', 771)
    24752465  def _reduce_153(val, _values, result)
    24762466        begin
     
    24792469      raise
    24802470    end
     2471    result = integer
     2472 
     2473    result
     2474  end
     2475.,.,
     2476
     2477module_eval(<<'.,.,', 'parser.y', 780)
     2478  def _reduce_154(val, _values, result)
     2479        begin
     2480      integer = Integer(val[0])
     2481    rescue
     2482      raise
     2483    end
    24812484    result = - integer
    24822485 
     
    24852488.,.,
    24862489
    2487 # reduce 154 omitted
    2488 
    24892490# reduce 155 omitted
    24902491
     
    25092510# reduce 165 omitted
    25102511
    2511 module_eval(<<'.,.,', 'parser.y', 805)
    2512   def _reduce_166(val, _values, result)
     2512# reduce 166 omitted
     2513
     2514module_eval(<<'.,.,', 'parser.y', 806)
     2515  def _reduce_167(val, _values, result)
    25132516        begin
    25142517      real = Float(val[0])
     
    25222525.,.,
    25232526
    2524 module_eval(<<'.,.,', 'parser.y', 814)
    2525   def _reduce_167(val, _values, result)
     2527module_eval(<<'.,.,', 'parser.y', 815)
     2528  def _reduce_168(val, _values, result)
    25262529        begin
    25272530      real = Float(val[1])
     
    25352538.,.,
    25362539
    2537 module_eval(<<'.,.,', 'parser.y', 823)
    2538   def _reduce_168(val, _values, result)
     2540module_eval(<<'.,.,', 'parser.y', 824)
     2541  def _reduce_169(val, _values, result)
    25392542        begin
    25402543      real = Float(val[1])
     
    25482551.,.,
    25492552
    2550 # reduce 169 omitted
    2551 
    25522553# reduce 170 omitted
    25532554
     
    25722573# reduce 180 omitted
    25732574
    2574 module_eval(<<'.,.,', 'parser.y', 848)
    2575   def _reduce_181(val, _values, result)
     2575# reduce 181 omitted
     2576
     2577module_eval(<<'.,.,', 'parser.y', 849)
     2578  def _reduce_182(val, _values, result)
    25762579        result = true
    25772580 
     
    25802583.,.,
    25812584
    2582 module_eval(<<'.,.,', 'parser.y', 852)
    2583   def _reduce_182(val, _values, result)
     2585module_eval(<<'.,.,', 'parser.y', 853)
     2586  def _reduce_183(val, _values, result)
    25842587        result = false
    25852588 
     
    25882591.,.,
    25892592
    2590 # reduce 183 omitted
    2591 
    25922593# reduce 184 omitted
    25932594
     
    26022603# reduce 189 omitted
    26032604
    2604 module_eval(<<'.,.,', 'parser.y', 867)
    2605   def _reduce_190(val, _values, result)
     2605# reduce 190 omitted
     2606
     2607module_eval(<<'.,.,', 'parser.y', 868)
     2608  def _reduce_191(val, _values, result)
    26062609        result = val[0]
    26072610 
     
    26102613.,.,
    26112614
    2612 # reduce 191 omitted
    2613 
    26142615# reduce 192 omitted
    26152616
     
    26862687# reduce 228 omitted
    26872688
    2688 module_eval(<<'.,.,', 'parser.y', 918)
    2689   def _reduce_229(val, _values, result)
     2689# reduce 229 omitted
     2690
     2691module_eval(<<'.,.,', 'parser.y', 919)
     2692  def _reduce_230(val, _values, result)
    26902693        @@logger.debug("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
    26912694    result = val[0]
     
    26952698.,.,
    26962699
    2697 # reduce 230 omitted
    2698 
    26992700# reduce 231 omitted
    27002701
     
    27192720# reduce 241 omitted
    27202721
    2721 module_eval(<<'.,.,', 'parser.y', 938)
    2722   def _reduce_242(val, _values, result)
     2722# reduce 242 omitted
     2723
     2724module_eval(<<'.,.,', 'parser.y', 939)
     2725  def _reduce_243(val, _values, result)
    27232726        @@logger.debug("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
    27242727    result = val[0]
     
    27282731.,.,
    27292732
    2730 # reduce 243 omitted
    2731 
    27322733# reduce 244 omitted
    27332734
    27342735# reduce 245 omitted
    27352736
    2736 module_eval(<<'.,.,', 'parser.y', 948)
    2737   def _reduce_246(val, _values, result)
     2737# reduce 246 omitted
     2738
     2739module_eval(<<'.,.,', 'parser.y', 949)
     2740  def _reduce_247(val, _values, result)
    27382741        @@logger.debug("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
    27392742    result = val[0]
     
    27432746.,.,
    27442747
    2745 # reduce 247 omitted
    2746 
    27472748# reduce 248 omitted
    27482749
     
    28232824# reduce 286 omitted
    28242825
    2825 module_eval(<<'.,.,', 'parser.y', 1018)
    2826   def _reduce_287(val, _values, result)
    2827         @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
    2828  
    2829     result
    2830   end
    2831 .,.,
    2832 
    2833 module_eval(<<'.,.,', 'parser.y', 1022)
     2826# reduce 287 omitted
     2827
     2828module_eval(<<'.,.,', 'parser.y', 1019)
    28342829  def _reduce_288(val, _values, result)
    28352830        @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     
    28392834.,.,
    28402835
    2841 module_eval(<<'.,.,', 'parser.y', 1033)
     2836module_eval(<<'.,.,', 'parser.y', 1023)
    28422837  def _reduce_289(val, _values, result)
     2838        @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
     2839 
     2840    result
     2841  end
     2842.,.,
     2843
     2844module_eval(<<'.,.,', 'parser.y', 1034)
     2845  def _reduce_290(val, _values, result)
    28432846        result = Range.new(1,1)
    28442847 
     
    28472850.,.,
    28482851
    2849 module_eval(<<'.,.,', 'parser.y', 1037)
    2850   def _reduce_290(val, _values, result)
     2852module_eval(<<'.,.,', 'parser.y', 1038)
     2853  def _reduce_291(val, _values, result)
    28512854        result = val[3]
    28522855 
     
    28552858.,.,
    28562859
    2857 module_eval(<<'.,.,', 'parser.y', 1042)
    2858   def _reduce_291(val, _values, result)
     2860module_eval(<<'.,.,', 'parser.y', 1043)
     2861  def _reduce_292(val, _values, result)
    28592862        begin
    28602863      integer = Integer(val[0])
     
    28682871.,.,
    28692872
    2870 module_eval(<<'.,.,', 'parser.y', 1051)
    2871   def _reduce_292(val, _values, result)
     2873module_eval(<<'.,.,', 'parser.y', 1052)
     2874  def _reduce_293(val, _values, result)
    28722875        begin
    28732876      from_integer = Integer(val[0])
     
    28822885.,.,
    28832886
    2884 module_eval(<<'.,.,', 'parser.y', 1062)
    2885   def _reduce_293(val, _values, result)
    2886         result = OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY.new
    2887  
    2888     result
    2889   end
    2890 .,.,
    2891 
    2892 # reduce 294 omitted
     2887module_eval(<<'.,.,', 'parser.y', 1063)
     2888  def _reduce_294(val, _values, result)
     2889        result = OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY.new
     2890 
     2891    result
     2892  end
     2893.,.,
    28932894
    28942895# reduce 295 omitted
     
    29062907# reduce 301 omitted
    29072908
    2908 module_eval(<<'.,.,', 'parser.y', 1076)
    2909   def _reduce_302(val, _values, result)
    2910         result = val[0]
    2911  
    2912     result
    2913   end
    2914 .,.,
    2915 
    2916 module_eval(<<'.,.,', 'parser.y', 1080)
     2909# reduce 302 omitted
     2910
     2911module_eval(<<'.,.,', 'parser.y', 1077)
    29172912  def _reduce_303(val, _values, result)
    29182913        result = val[0]
     
    29222917.,.,
    29232918
    2924 # reduce 304 omitted
    2925 
    2926 module_eval(<<'.,.,', 'parser.y', 1087)
    2927   def _reduce_305(val, _values, result)
     2919module_eval(<<'.,.,', 'parser.y', 1081)
     2920  def _reduce_304(val, _values, result)
     2921        result = val[0]
     2922 
     2923    result
     2924  end
     2925.,.,
     2926
     2927# reduce 305 omitted
     2928
     2929module_eval(<<'.,.,', 'parser.y', 1088)
     2930  def _reduce_306(val, _values, result)
    29282931        case val[3]
    29292932    when OpenEhr::RM::Support::AssumedTypes::Interval
     
    29372940.,.,
    29382941
    2939 # reduce 306 omitted
    2940 
    2941 module_eval(<<'.,.,', 'parser.y', 1098)
    2942   def _reduce_307(val, _values, result)
     2942# reduce 307 omitted
     2943
     2944module_eval(<<'.,.,', 'parser.y', 1099)
     2945  def _reduce_308(val, _values, result)
    29432946        result = val[0]
    29442947 
     
    29472950.,.,
    29482951
    2949 module_eval(<<'.,.,', 'parser.y', 1102)
    2950   def _reduce_308(val, _values, result)
     2952module_eval(<<'.,.,', 'parser.y', 1103)
     2953  def _reduce_309(val, _values, result)
    29512954        result = OpenEhr::RM::Support::AssumedTypes::Interval.new(val[0], val[2])
    29522955 
     
    29552958.,.,
    29562959
    2957 # reduce 309 omitted
    2958 
    29592960# reduce 310 omitted
    29602961
     
    30413042# reduce 351 omitted
    30423043
    3043 module_eval(<<'.,.,', 'parser.y', 1168)
    3044   def _reduce_352(val, _values, result)
    3045         result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
    3046  
    3047     result
    3048   end
    3049 .,.,
    3050 
    3051 module_eval(<<'.,.,', 'parser.y', 1172)
     3044# reduce 352 omitted
     3045
     3046module_eval(<<'.,.,', 'parser.y', 1169)
    30523047  def _reduce_353(val, _values, result)
    3053         result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
    3054  
    3055     result
    3056   end
    3057 .,.,
    3058 
    3059 module_eval(<<'.,.,', 'parser.y', 1176)
     3048        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true)
     3049 
     3050    result
     3051  end
     3052.,.,
     3053
     3054module_eval(<<'.,.,', 'parser.y', 1173)
    30603055  def _reduce_354(val, _values, result)
    3061         result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
    3062  
    3063     result
    3064   end
    3065 .,.,
    3066 
    3067 module_eval(<<'.,.,', 'parser.y', 1180)
     3056        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false)
     3057 
     3058    result
     3059  end
     3060.,.,
     3061
     3062module_eval(<<'.,.,', 'parser.y', 1177)
    30683063  def _reduce_355(val, _values, result)
    3069         result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
    3070  
    3071     result
    3072   end
    3073 .,.,
    3074 
    3075 module_eval(<<'.,.,', 'parser.y', 1185)
     3064        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     3065 
     3066    result
     3067  end
     3068.,.,
     3069
     3070module_eval(<<'.,.,', 'parser.y', 1181)
    30763071  def _reduce_356(val, _values, result)
     3072        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     3073 
     3074    result
     3075  end
     3076.,.,
     3077
     3078module_eval(<<'.,.,', 'parser.y', 1186)
     3079  def _reduce_357(val, _values, result)
    30773080        result = val[0]
    30783081 
     
    30813084.,.,
    30823085
    3083 module_eval(<<'.,.,', 'parser.y', 1189)
    3084   def _reduce_357(val, _values, result)
    3085         raise 'Not implemented yet'
    3086  
    3087     result
    3088   end
    3089 .,.,
    3090 
    3091 module_eval(<<'.,.,', 'parser.y', 1193)
     3086module_eval(<<'.,.,', 'parser.y', 1190)
    30923087  def _reduce_358(val, _values, result)
    30933088        raise 'Not implemented yet'
     
    30973092.,.,
    30983093
    3099 # reduce 359 omitted
     3094module_eval(<<'.,.,', 'parser.y', 1194)
     3095  def _reduce_359(val, _values, result)
     3096        raise 'Not implemented yet'
     3097 
     3098    result
     3099  end
     3100.,.,
    31003101
    31013102# reduce 360 omitted
     
    31073108# reduce 363 omitted
    31083109
    3109 module_eval(<<'.,.,', 'parser.y', 1205)
    3110   def _reduce_364(val, _values, result)
     3110# reduce 364 omitted
     3111
     3112module_eval(<<'.,.,', 'parser.y', 1206)
     3113  def _reduce_365(val, _values, result)
    31113114        @in_interval = false
    31123115    @@logger.debug("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}")
     
    31163119.,.,
    31173120
    3118 module_eval(<<'.,.,', 'parser.y', 1212)
    3119   def _reduce_365(val, _values, result)
    3120           result = val[0]
    3121  
    3122     result
    3123   end
    3124 .,.,
    3125 
    3126 module_eval(<<'.,.,', 'parser.y', 1216)
     3121module_eval(<<'.,.,', 'parser.y', 1213)
    31273122  def _reduce_366(val, _values, result)
    31283123          result = val[0]
     
    31323127.,.,
    31333128
    3134 module_eval(<<'.,.,', 'parser.y', 1222)
     3129module_eval(<<'.,.,', 'parser.y', 1217)
    31353130  def _reduce_367(val, _values, result)
     3131          result = val[0]
     3132 
     3133    result
     3134  end
     3135.,.,
     3136
     3137module_eval(<<'.,.,', 'parser.y', 1223)
     3138  def _reduce_368(val, _values, result)
    31363139        @@logger.debug("#{__FILE__}:#{__LINE__}, START_TERM_CODE_CONSTRAINT = #{val[0]} at #{@filename}")
    31373140    @@logger.debug("#{__FILE__}:#{__LINE__}, term_code_body = #{val[1]}")
     
    31433146.,.,
    31443147
    3145 # reduce 368 omitted
    3146 
    31473148# reduce 369 omitted
    31483149
    31493150# reduce 370 omitted
    31503151
    3151 module_eval(<<'.,.,', 'parser.y', 1238)
    3152   def _reduce_371(val, _values, result)
    3153           result = val[0]
    3154  
    3155     result
    3156   end
    3157 .,.,
    3158 
    3159 module_eval(<<'.,.,', 'parser.y', 1243)
     3152# reduce 371 omitted
     3153
     3154module_eval(<<'.,.,', 'parser.y', 1239)
    31603155  def _reduce_372(val, _values, result)
    31613156          result = val[0]
     
    31653160.,.,
    31663161
    3167 module_eval(<<'.,.,', 'parser.y', 1247)
     3162module_eval(<<'.,.,', 'parser.y', 1244)
    31683163  def _reduce_373(val, _values, result)
     3164          result = val[0]
     3165 
     3166    result
     3167  end
     3168.,.,
     3169
     3170module_eval(<<'.,.,', 'parser.y', 1248)
     3171  def _reduce_374(val, _values, result)
    31693172        @@logger.debug("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
    31703173      result = val[0]
     
    31743177.,.,
    31753178
    3176 module_eval(<<'.,.,', 'parser.y', 1258)
    3177   def _reduce_374(val, _values, result)
    3178         result = val[0]
     3179module_eval(<<'.,.,', 'parser.y', 1259)
     3180  def _reduce_375(val, _values, result)
     3181        result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new #val[0]
    31793182 
    31803183    result
  • ruby/trunk/lib/adl_parser/lib/parser.y

    r317 r318  
    3636  {
    3737    assert_at(__FILE__,__LINE__) do
    38       val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
     38      val[4].instance_of?(OpenEhr::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION) and val[5].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT) and val[7].instance_of?(OpenEhr::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY)
    3939    end
    4040   
     
    154154cadl_section: c_complex_object
    155155  {
    156     assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     156    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT)}
    157157    @@logger.debug("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}")
    158158    result = val[0]
     
    167167c_complex_object: c_complx_object_head SYM_MATCHES START_REGEXP_BLOCK REGEXP_BODY END_REGEXP_BLOCK # added by akimichi
    168168  {
    169     result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     169    result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
    170170      c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
    171171      c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
     
    175175    | c_complex_object_head SYM_MATCHES SYM_START_CBLOCK c_complex_object_body SYM_END_CBLOCK
    176176  {
    177     result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
     177    result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
    178178      c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
    179179      c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
     
    201201  | c_attributes
    202202  {
    203     result = OpenEhr::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
     203    result = OpenEhr::AM::Archetype::ConstraintModel::C_COMPLEX_OBJECT.new(:attributes => val[0])
    204204  }
    205205
     
    224224  | archetype_internal_ref
    225225  {
    226     result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
     226    result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
    227227      archetype_internal_ref.target_path = val[0][:absolute_path]
    228228      archetype_internal_ref.rm_type_name = val[0][:type_identifier]
     
    236236  | constraint_ref
    237237  {
    238     result = OpenEhr::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|
     238    result = OpenEhr::AM::Archetype::ConstraintModel::CONSTRAINT_REF.create do |constraint_ref|
    239239      constraint_ref.reference = val[0]
    240240    end
     
    300300archetype_slot: c_archetype_slot_head SYM_MATCHES SYM_START_CBLOCK c_includes c_excludes SYM_END_CBLOCK
    301301  {
    302     result = OpenEhr::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|
     302    result = OpenEhr::AM::Archetype::ConstraintModel::ARCHETYPE_SLOT.create do |archetype_slot|
    303303      archetype_slot.includes = val[3]
    304304      archetype_slot.excludes = val[4]
     
    322322c_primitive_object: c_primitive
    323323  {
    324     assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
    325     result = OpenEhr::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object|
     324    assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_PRIMITIVE)}
     325    result = OpenEhr::AM::Archetype::ConstraintModel::C_PRIMITIVE_OBJECT.create do |c_primitive_object|
    326326      c_primitive_object.item = val[0]
    327327    end
     
    331331  {
    332332    @@logger.debug("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
    333     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer|
     333    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_INTEGER.create do |c_integer|
    334334      c_integer.list
    335335      c_integer.range
     
    340340  {
    341341    @@logger.debug("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
    342     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_REAL.new
     342    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_REAL.new
    343343  }
    344344  | c_date
    345345  {
    346346    @@logger.debug("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
    347     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE.new
     347    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DATE.new
    348348  }
    349349  | c_time
    350350  {
    351351    @@logger.debug("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
    352     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_TIME.new
     352    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_TIME.new
    353353  }
    354354  | c_date_time
    355355  {
    356356    @@logger.debug("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
    357     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new
     357    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DATE_TIME.new
    358358  }
    359359  | c_duration
    360360  {
    361361    @@logger.debug("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
    362     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new
     362    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new
    363363  }
    364364  | c_string
    365365  {
    366366    @@logger.debug("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
    367     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_STRING.new
     367    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_STRING.new
    368368  }
    369369  | c_boolean
    370370  {
    371     assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     371    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN)}
    372372    @@logger.debug("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")
    373373    result = val[0]
     
    391391c_attribute: c_attr_head SYM_MATCHES SYM_START_CBLOCK c_attr_values SYM_END_CBLOCK
    392392  {
    393     assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     393    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
    394394    c_attribute = val[0]
    395395    c_attribute.children = val[3]
     
    398398  | c_attr_head SYM_MATCHES START_REGEXP_BLOCK REGEXP_BODY END_REGEXP_BLOCK # added by akimichi
    399399  {
    400     assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     400    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
    401401    result = val[0]
    402402  }
    403403  | c_attr_head SYM_MATCHES SYM_START_CBLOCK error SYM_END_CBLOCK
    404404  {
    405     assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     405    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEhr::AM::Archetype::ConstraintModel::C_ATTRIBUTE)}
    406406    result = val[0]
    407407  }
     
    411411  {
    412412    @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
    413     result = OpenEhr::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(
     413    result = OpenEhr::AM::Archetype::ConstraintModel::C_SINGLE_ATTRIBUTE.new(
    414414                                                                              :rm_attribute_name => val[0],
    415415                                                                              :existence => val[1]
     
    419419  | V_ATTRIBUTE_IDENTIFIER c_existence c_cardinality
    420420  {
    421     assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY) }
     421    assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY) }
    422422    @@logger.debug("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}")
    423     result = OpenEhr::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(
     423    result = OpenEhr::AM::Archetype::ConstraintModel::C_MULTIPLE_ATTRIBUTE.new(
    424424                                                                                :rm_attribute_name => val[0],
    425425                                                                                :existence => val[1],
     
    481481
    482482### dADL section
    483 dadl_section: attr_vals
     483dadl_section: # no dadl section
     484    |  attr_vals
    484485  {
    485486    @@logger.debug("#{__FILE__}:#{__LINE__}:dadl_section attr_vals = \n#{val[0].to_yaml}")
     
    10611062c_cardinality: SYM_CARDINALITY SYM_MATCHES SYM_START_CBLOCK cardinality_spec SYM_END_CBLOCK
    10621063  {
    1063     result = OpenEhr::AM::Archetype::Constraint_Model::CARDINALITY.new
     1064    result = OpenEhr::AM::Archetype::ConstraintModel::CARDINALITY.new
    10641065  }
    10651066
     
    11671168c_boolean_spec: SYM_TRUE
    11681169  {
    1169     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
     1170    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true)
    11701171  }
    11711172  | SYM_FALSE
    11721173  {
    1173     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
     1174    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false)
    11741175  }
    11751176  | SYM_TRUE Comma_code SYM_FALSE
    11761177  {
    1177     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
     1178    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
    11781179  }
    11791180  | SYM_FALSE Comma_code SYM_TRUE
    11801181  {
    1181     result = OpenEhr::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
     1182    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
    11821183  }
    11831184
     
    12561257
    12571258duration_pattern: V_ISO8601_DURATION_CONSTRAINT_PATTERN
    1258   { 
    1259     result = val[0]
     1259  {
     1260    result = OpenEhr::AM::Archetype::ConstraintModel::Primitive::C_DURATION.new #val[0]
    12601261  }
    12611262
  • ruby/trunk/lib/adl_parser/test/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl

    r291 r318  
    1010        ["name"] = <"Thomas Beale">
    1111        ["organisation"] = <"Ocean Informatics">
    12         ["date"] = <"10/10/2005">
     12        ["date"] = <"2005-10-10">
    1313    >
    1414    details = <
  • ruby/trunk/lib/adl_parser/test/parser_test.rb

    r317 r318  
    1010  end
    1111
     12  must "openEHR-EHR-CLUSTER.exam-uterus.v1.adl be properly parsed" do
     13    file =  File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-CLUSTER.exam-uterus.v1.adl")
     14    assert_nothing_raised do
     15      ast = @parser.parse(file, 'openEHR-EHR-CLUSTER.exam-uterus.v11')
     16      assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
     17    end
     18  end
     19
    1220  must "openEHR-EHR-SECTION.summary.v1.adl be properly parsed" do
    1321    file =  File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-SECTION.summary.v1.adl")
     
    108116  end
    109117
    110   must "openEHR-EHR-COMPOSITION.encounter.v1draft.adl be properly parsed" do
    111     file =  File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl")
    112     assert_nothing_raised do
    113       ast = @parser.parse(file, 'openEHR-EHR-COMPOSITION.encounter.v1draft')
    114       assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
    115     end
    116   end
    117118
    118119  must "openEHR-EHR-INSTRUCTION.medication.v1.adl be properly parsed" do
     
    232233  end
    233234
     235  must "openEHR-EHR-COMPOSITION.encounter.v1draft.adl be properly parsed" do
     236    file =  File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl")
     237    assert_nothing_raised do
     238      ast = @parser.parse(file, 'openEHR-EHR-COMPOSITION.encounter.v1draft')
     239      assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
     240    end
     241  end
     242
     243  must "openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl be properly parsed" do
     244    file =  File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl")
     245    assert_nothing_raised do
     246      ast = @parser.parse(file, 'openEHR-EHR-ITEM_TREE.follow_up.v1draft')
     247      assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
     248    end
     249  end
     250
     251  must "openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl be properly parsed" do
     252    file =  File.read("#{TEST_ROOT_DIR}/adl/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl")
     253    assert_nothing_raised do
     254      ast = @parser.parse(file, 'openEHR-EHR-ITEM_TREE.medication-formulation.v1')
     255      assert_instance_of OpenEhr::RM::Support::Identification::ArchetypeID, ast.archetype_id
     256    end
     257  end
     258
    234259end
  • ruby/trunk/lib/adl_parser/test/remote_adl_test.rb

    r317 r318  
    22
    33class RemoteADLTest < Test::Unit::TestCase
    4   #http://www.openehr.org/wsvn/knowledge/archetypes/dev/adl/openehr/
    54  def setup
    65    @adls = []
    7     doc = Hpricot( open("http://www.openehr.org/svn/knowledge/archetypes/dev/adl/test/").read )
    86    dirs = ["cluster/", "composition/", "element/", "entry/", "section/", "structure/"]
    97    dirs.each do |dir|
  • ruby/trunk/lib/adl_parser/test/scanner_test.rb

    r315 r318  
    9898    end
    9999  end
     100
     101  must "assert CADLScanner scanner scan V_ISO8601_DURATION_CONSTRAINT_PATTERN" do
     102    @scanner.scan("PW") do |sym, val|
     103      assert_equal :V_ISO8601_DURATION_CONSTRAINT_PATTERN,sym
     104      assert_equal "PW",val
     105    end
     106  end
    100107end
    101108
     
    124131      assert_equal "string",val
    125132    end
     133
     134    @scanner.scan("\"2005-10-10\"") do |sym, val|
     135      assert_equal :V_STRING,sym
     136      assert_equal "2005-10-10",val
     137    end
     138
    126139    @scanner.scan("\"1605E211E9BFB4093A72CCE7A9792FF9\"") do |sym, val|
    127140      assert_equal :V_STRING,sym
     
    129142    end
    130143  end
     144
     145  must "assert DADLScanner scanner scan V_URI" do
     146    @scanner.scan("http://openEHR.org/Services") do |sym, val|
     147      assert_equal :V_URI,sym
     148      assert_equal "http://openEHR.org/Services",val
     149    end
     150  end
    131151end
Note: See TracChangeset for help on using the changeset viewer.