Index: ruby/trunk/lib/adl_parser/lib/parser.rb
===================================================================
--- ruby/trunk/lib/adl_parser/lib/parser.rb	(revision 49)
+++ ruby/trunk/lib/adl_parser/lib/parser.rb	(revision 116)
@@ -1,10 +1,9 @@
 #
 # DO NOT MODIFY!!!!
-# This file is automatically generated by racc 1.4.5
-# from racc grammer file "lib/parser.y".
+# This file is automatically generated by Racc 1.4.6
+# from Racc grammer file "".
 #
 
-require 'racc/parser'
-
+require 'racc/parser.rb'
 
 
@@ -14,4 +13,5 @@
 #require 'lib/util.rb'
 #require 'lib/scanner.rb'
+require 'lib/adl_parser.rb'
 require 'rubygems'
 require 'am.rb'
@@ -20,12 +20,9 @@
 
 
-
 module OpenEHR
-
   module ADL
-
     class Parser < Racc::Parser
 
-module_eval <<'..end lib/parser.y modeval..idc8fd0a7fcc', 'lib/parser.y', 1182
+module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1183)
 
 def assert_at(file,line, message = "")
@@ -823,393 +820,6 @@
 ### comment-end:"" 
 ### End:
-
-
-
-
-..end lib/parser.y modeval..idc8fd0a7fcc
-
-##### racc 1.4.5 generates ###
-
-racc_reduce_table = [
- 0, 0, :racc_error,
- 2, 96, :_reduce_1,
- 1, 96, :_reduce_none,
- 8, 97, :_reduce_3,
- 2, 98, :_reduce_4,
- 2, 98, :_reduce_5,
- 1, 106, :_reduce_6,
- 2, 106, :_reduce_7,
- 3, 107, :_reduce_8,
- 1, 108, :_reduce_9,
- 3, 108, :_reduce_10,
- 3, 109, :_reduce_11,
- 1, 109, :_reduce_12,
- 0, 99, :_reduce_none,
- 2, 99, :_reduce_none,
- 2, 99, :_reduce_none,
- 2, 100, :_reduce_16,
- 2, 100, :_reduce_none,
- 0, 101, :_reduce_18,
- 2, 101, :_reduce_19,
- 2, 101, :_reduce_none,
- 0, 102, :_reduce_none,
- 2, 102, :_reduce_22,
- 2, 102, :_reduce_none,
- 2, 103, :_reduce_24,
- 2, 103, :_reduce_none,
- 1, 111, :_reduce_26,
- 1, 111, :_reduce_27,
- 5, 112, :_reduce_28,
- 5, 112, :_reduce_29,
- 2, 114, :_reduce_30,
- 1, 116, :_reduce_31,
- 2, 116, :_reduce_32,
- 1, 115, :_reduce_none,
- 1, 115, :_reduce_34,
- 1, 121, :_reduce_35,
- 1, 121, :_reduce_36,
- 1, 121, :_reduce_37,
- 1, 121, :_reduce_38,
- 1, 121, :_reduce_39,
- 1, 121, :_reduce_40,
- 1, 121, :_reduce_41,
- 1, 121, :_reduce_42,
- 1, 121, :_reduce_none,
- 1, 121, :_reduce_none,
- 3, 122, :_reduce_45,
- 4, 123, :_reduce_46,
- 3, 123, :_reduce_none,
- 6, 124, :_reduce_48,
- 2, 130, :_reduce_49,
- 2, 133, :_reduce_50,
- 3, 133, :_reduce_none,
- 2, 133, :_reduce_none,
- 1, 128, :_reduce_53,
- 1, 134, :_reduce_54,
- 1, 134, :_reduce_55,
- 1, 134, :_reduce_56,
- 1, 134, :_reduce_57,
- 1, 134, :_reduce_58,
- 1, 134, :_reduce_59,
- 1, 134, :_reduce_60,
- 1, 134, :_reduce_61,
- 1, 119, :_reduce_none,
- 1, 120, :_reduce_63,
- 2, 120, :_reduce_64,
- 5, 143, :_reduce_65,
- 5, 143, :_reduce_66,
- 5, 143, :_reduce_67,
- 2, 144, :_reduce_68,
- 3, 144, :_reduce_69,
- 1, 145, :_reduce_70,
- 2, 145, :_reduce_71,
- 1, 145, :_reduce_72,
- 0, 131, :_reduce_none,
- 2, 131, :_reduce_74,
- 0, 132, :_reduce_none,
- 2, 132, :_reduce_76,
- 1, 148, :_reduce_none,
- 2, 148, :_reduce_none,
- 3, 149, :_reduce_none,
- 1, 149, :_reduce_none,
- 3, 149, :_reduce_none,
- 0, 104, :_reduce_none,
- 2, 104, :_reduce_none,
- 2, 104, :_reduce_none,
- 2, 105, :_reduce_85,
- 2, 105, :_reduce_none,
- 1, 110, :_reduce_none,
- 1, 152, :_reduce_none,
- 1, 152, :_reduce_none,
- 1, 153, :_reduce_90,
- 2, 153, :_reduce_91,
- 3, 153, :_reduce_92,
- 3, 155, :_reduce_93,
- 1, 156, :_reduce_94,
- 2, 156, :_reduce_none,
- 1, 157, :_reduce_96,
- 1, 157, :_reduce_97,
- 1, 154, :_reduce_98,
- 1, 154, :_reduce_99,
- 1, 160, :_reduce_100,
- 2, 160, :_reduce_101,
- 3, 161, :_reduce_102,
- 1, 162, :_reduce_103,
- 1, 163, :_reduce_104,
- 2, 163, :_reduce_105,
- 3, 164, :_reduce_106,
- 3, 165, :_reduce_107,
- 1, 159, :_reduce_108,
- 2, 159, :_reduce_109,
- 2, 167, :_reduce_110,
- 3, 167, :_reduce_111,
- 1, 168, :_reduce_none,
- 1, 158, :_reduce_113,
- 2, 158, :_reduce_114,
- 3, 169, :_reduce_115,
- 1, 170, :_reduce_116,
- 1, 170, :_reduce_117,
- 1, 170, :_reduce_118,
- 1, 170, :_reduce_119,
- 1, 170, :_reduce_120,
- 1, 166, :_reduce_121,
- 1, 166, :_reduce_122,
- 1, 166, :_reduce_123,
- 1, 166, :_reduce_124,
- 1, 166, :_reduce_125,
- 1, 166, :_reduce_126,
- 1, 166, :_reduce_127,
- 1, 166, :_reduce_128,
- 1, 166, :_reduce_129,
- 1, 166, :_reduce_130,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 171, :_reduce_none,
- 1, 172, :_reduce_none,
- 1, 172, :_reduce_none,
- 1, 172, :_reduce_none,
- 1, 172, :_reduce_none,
- 1, 172, :_reduce_none,
- 1, 172, :_reduce_none,
- 1, 118, :_reduce_146,
- 1, 118, :_reduce_147,
- 1, 175, :_reduce_148,
- 3, 185, :_reduce_none,
- 3, 185, :_reduce_none,
- 3, 185, :_reduce_none,
- 1, 176, :_reduce_152,
- 2, 176, :_reduce_153,
- 2, 176, :_reduce_154,
- 3, 186, :_reduce_none,
- 3, 186, :_reduce_none,
- 3, 186, :_reduce_none,
- 5, 194, :_reduce_none,
- 6, 194, :_reduce_none,
- 6, 194, :_reduce_none,
- 7, 194, :_reduce_none,
- 4, 194, :_reduce_none,
- 4, 194, :_reduce_none,
- 4, 194, :_reduce_none,
- 4, 194, :_reduce_none,
- 3, 194, :_reduce_none,
- 1, 177, :_reduce_167,
- 2, 177, :_reduce_168,
- 2, 177, :_reduce_169,
- 3, 187, :_reduce_none,
- 3, 187, :_reduce_none,
- 3, 187, :_reduce_none,
- 5, 195, :_reduce_none,
- 6, 195, :_reduce_none,
- 6, 195, :_reduce_none,
- 7, 195, :_reduce_none,
- 4, 195, :_reduce_none,
- 4, 195, :_reduce_none,
- 4, 195, :_reduce_none,
- 4, 195, :_reduce_none,
- 3, 195, :_reduce_none,
- 1, 178, :_reduce_182,
- 1, 178, :_reduce_183,
- 3, 188, :_reduce_none,
- 3, 188, :_reduce_none,
- 3, 188, :_reduce_none,
- 1, 179, :_reduce_none,
- 3, 189, :_reduce_none,
- 3, 189, :_reduce_none,
- 3, 189, :_reduce_none,
- 1, 180, :_reduce_none,
- 3, 190, :_reduce_none,
- 3, 190, :_reduce_none,
- 3, 190, :_reduce_none,
- 5, 196, :_reduce_none,
- 6, 196, :_reduce_none,
- 6, 196, :_reduce_none,
- 7, 196, :_reduce_none,
- 4, 196, :_reduce_none,
- 4, 196, :_reduce_none,
- 4, 196, :_reduce_none,
- 4, 196, :_reduce_none,
- 3, 196, :_reduce_none,
- 1, 181, :_reduce_none,
- 3, 191, :_reduce_none,
- 3, 191, :_reduce_none,
- 3, 191, :_reduce_none,
- 5, 197, :_reduce_none,
- 6, 197, :_reduce_none,
- 6, 197, :_reduce_none,
- 7, 197, :_reduce_none,
- 4, 197, :_reduce_none,
- 4, 197, :_reduce_none,
- 4, 197, :_reduce_none,
- 4, 197, :_reduce_none,
- 3, 197, :_reduce_none,
- 1, 182, :_reduce_none,
- 3, 192, :_reduce_none,
- 3, 192, :_reduce_none,
- 3, 192, :_reduce_none,
- 5, 198, :_reduce_none,
- 6, 198, :_reduce_none,
- 6, 198, :_reduce_none,
- 7, 198, :_reduce_none,
- 4, 198, :_reduce_none,
- 4, 198, :_reduce_none,
- 4, 198, :_reduce_none,
- 4, 198, :_reduce_none,
- 3, 198, :_reduce_none,
- 1, 183, :_reduce_230,
- 3, 193, :_reduce_none,
- 3, 193, :_reduce_none,
- 3, 193, :_reduce_none,
- 5, 199, :_reduce_none,
- 6, 199, :_reduce_none,
- 6, 199, :_reduce_none,
- 7, 199, :_reduce_none,
- 4, 199, :_reduce_none,
- 4, 199, :_reduce_none,
- 4, 199, :_reduce_none,
- 4, 199, :_reduce_none,
- 3, 199, :_reduce_none,
- 1, 173, :_reduce_243,
- 3, 174, :_reduce_none,
- 3, 174, :_reduce_none,
- 3, 174, :_reduce_none,
- 1, 184, :_reduce_247,
- 1, 113, :_reduce_none,
- 2, 113, :_reduce_none,
- 3, 200, :_reduce_none,
- 1, 200, :_reduce_none,
- 3, 200, :_reduce_none,
- 1, 151, :_reduce_none,
- 1, 151, :_reduce_none,
- 2, 202, :_reduce_none,
- 2, 202, :_reduce_none,
- 5, 202, :_reduce_none,
- 5, 202, :_reduce_none,
- 2, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 202, :_reduce_none,
- 3, 201, :_reduce_none,
- 1, 201, :_reduce_none,
- 1, 201, :_reduce_none,
- 1, 204, :_reduce_none,
- 1, 204, :_reduce_none,
- 3, 206, :_reduce_none,
- 3, 206, :_reduce_none,
- 3, 206, :_reduce_none,
- 3, 206, :_reduce_none,
- 3, 206, :_reduce_none,
- 3, 205, :_reduce_none,
- 1, 205, :_reduce_none,
- 1, 205, :_reduce_none,
- 1, 205, :_reduce_none,
- 1, 129, :_reduce_none,
- 2, 129, :_reduce_none,
- 1, 203, :_reduce_none,
- 3, 203, :_reduce_none,
- 2, 207, :_reduce_288,
- 1, 207, :_reduce_289,
- 0, 146, :_reduce_290,
- 5, 146, :_reduce_291,
- 1, 208, :_reduce_292,
- 3, 208, :_reduce_293,
- 5, 147, :_reduce_294,
- 1, 209, :_reduce_none,
- 3, 209, :_reduce_none,
- 3, 209, :_reduce_none,
- 3, 209, :_reduce_none,
- 5, 209, :_reduce_none,
- 5, 209, :_reduce_none,
- 5, 209, :_reduce_none,
- 5, 209, :_reduce_none,
- 1, 211, :_reduce_303,
- 1, 211, :_reduce_304,
- 0, 117, :_reduce_none,
- 5, 117, :_reduce_306,
- 2, 117, :_reduce_none,
- 1, 210, :_reduce_none,
- 3, 210, :_reduce_none,
- 1, 212, :_reduce_none,
- 1, 212, :_reduce_none,
- 1, 212, :_reduce_none,
- 1, 135, :_reduce_none,
- 3, 135, :_reduce_none,
- 3, 135, :_reduce_none,
- 1, 213, :_reduce_none,
- 1, 213, :_reduce_none,
- 1, 213, :_reduce_none,
- 1, 136, :_reduce_none,
- 3, 136, :_reduce_none,
- 3, 136, :_reduce_none,
- 1, 214, :_reduce_none,
- 1, 214, :_reduce_none,
- 1, 214, :_reduce_none,
- 1, 137, :_reduce_none,
- 3, 137, :_reduce_none,
- 3, 137, :_reduce_none,
- 1, 215, :_reduce_none,
- 1, 215, :_reduce_none,
- 1, 215, :_reduce_none,
- 1, 138, :_reduce_none,
- 3, 138, :_reduce_none,
- 3, 138, :_reduce_none,
- 1, 216, :_reduce_none,
- 1, 216, :_reduce_none,
- 1, 216, :_reduce_none,
- 1, 139, :_reduce_none,
- 3, 139, :_reduce_none,
- 3, 139, :_reduce_none,
- 1, 217, :_reduce_none,
- 3, 217, :_reduce_none,
- 1, 217, :_reduce_none,
- 1, 217, :_reduce_none,
- 1, 140, :_reduce_none,
- 3, 140, :_reduce_none,
- 3, 140, :_reduce_none,
- 1, 219, :_reduce_none,
- 1, 219, :_reduce_none,
- 3, 219, :_reduce_none,
- 1, 141, :_reduce_none,
- 3, 141, :_reduce_none,
- 3, 141, :_reduce_none,
- 1, 220, :_reduce_353,
- 1, 220, :_reduce_354,
- 3, 220, :_reduce_355,
- 3, 220, :_reduce_356,
- 1, 142, :_reduce_357,
- 3, 142, :_reduce_358,
- 3, 142, :_reduce_359,
- 1, 127, :_reduce_none,
- 3, 127, :_reduce_none,
- 3, 127, :_reduce_none,
- 1, 221, :_reduce_none,
- 3, 221, :_reduce_none,
- 3, 222, :_reduce_365,
- 1, 126, :_reduce_366,
- 1, 126, :_reduce_367,
- 3, 223, :_reduce_none,
- 0, 224, :_reduce_none,
- 1, 224, :_reduce_none,
- 2, 224, :_reduce_none,
- 1, 125, :_reduce_372,
- 1, 150, :_reduce_373,
- 1, 150, :_reduce_374,
- 1, 218, :_reduce_375 ]
-
-racc_reduce_n = 376
-
-racc_shift_n = 633
+...end parser.y/module_eval...
+##### State transition tables begin ###
 
 racc_action_table = [
@@ -1681,366 +1291,749 @@
    300,   303,   306,   310,   315,   279,   529,   532,   535,   nil ]
 
+racc_reduce_table = [
+  0, 0, :racc_error,
+  2, 96, :_reduce_1,
+  1, 96, :_reduce_none,
+  8, 97, :_reduce_3,
+  2, 98, :_reduce_4,
+  2, 98, :_reduce_5,
+  1, 106, :_reduce_6,
+  2, 106, :_reduce_7,
+  3, 107, :_reduce_8,
+  1, 108, :_reduce_9,
+  3, 108, :_reduce_10,
+  3, 109, :_reduce_11,
+  1, 109, :_reduce_12,
+  0, 99, :_reduce_none,
+  2, 99, :_reduce_none,
+  2, 99, :_reduce_none,
+  2, 100, :_reduce_16,
+  2, 100, :_reduce_none,
+  0, 101, :_reduce_18,
+  2, 101, :_reduce_19,
+  2, 101, :_reduce_none,
+  0, 102, :_reduce_none,
+  2, 102, :_reduce_22,
+  2, 102, :_reduce_none,
+  2, 103, :_reduce_24,
+  2, 103, :_reduce_none,
+  1, 111, :_reduce_26,
+  1, 111, :_reduce_27,
+  5, 112, :_reduce_28,
+  5, 112, :_reduce_29,
+  2, 114, :_reduce_30,
+  1, 116, :_reduce_31,
+  2, 116, :_reduce_32,
+  1, 115, :_reduce_none,
+  1, 115, :_reduce_34,
+  1, 121, :_reduce_35,
+  1, 121, :_reduce_36,
+  1, 121, :_reduce_37,
+  1, 121, :_reduce_38,
+  1, 121, :_reduce_39,
+  1, 121, :_reduce_40,
+  1, 121, :_reduce_41,
+  1, 121, :_reduce_42,
+  1, 121, :_reduce_none,
+  1, 121, :_reduce_none,
+  3, 122, :_reduce_45,
+  4, 123, :_reduce_46,
+  3, 123, :_reduce_none,
+  6, 124, :_reduce_48,
+  2, 130, :_reduce_49,
+  2, 133, :_reduce_50,
+  3, 133, :_reduce_none,
+  2, 133, :_reduce_none,
+  1, 128, :_reduce_53,
+  1, 134, :_reduce_54,
+  1, 134, :_reduce_55,
+  1, 134, :_reduce_56,
+  1, 134, :_reduce_57,
+  1, 134, :_reduce_58,
+  1, 134, :_reduce_59,
+  1, 134, :_reduce_60,
+  1, 134, :_reduce_61,
+  1, 119, :_reduce_none,
+  1, 120, :_reduce_63,
+  2, 120, :_reduce_64,
+  5, 143, :_reduce_65,
+  5, 143, :_reduce_66,
+  5, 143, :_reduce_67,
+  2, 144, :_reduce_68,
+  3, 144, :_reduce_69,
+  1, 145, :_reduce_70,
+  2, 145, :_reduce_71,
+  1, 145, :_reduce_72,
+  0, 131, :_reduce_none,
+  2, 131, :_reduce_74,
+  0, 132, :_reduce_none,
+  2, 132, :_reduce_76,
+  1, 148, :_reduce_none,
+  2, 148, :_reduce_none,
+  3, 149, :_reduce_none,
+  1, 149, :_reduce_none,
+  3, 149, :_reduce_none,
+  0, 104, :_reduce_none,
+  2, 104, :_reduce_none,
+  2, 104, :_reduce_none,
+  2, 105, :_reduce_85,
+  2, 105, :_reduce_none,
+  1, 110, :_reduce_none,
+  1, 152, :_reduce_none,
+  1, 152, :_reduce_none,
+  1, 153, :_reduce_90,
+  2, 153, :_reduce_91,
+  3, 153, :_reduce_92,
+  3, 155, :_reduce_93,
+  1, 156, :_reduce_94,
+  2, 156, :_reduce_none,
+  1, 157, :_reduce_96,
+  1, 157, :_reduce_97,
+  1, 154, :_reduce_98,
+  1, 154, :_reduce_99,
+  1, 160, :_reduce_100,
+  2, 160, :_reduce_101,
+  3, 161, :_reduce_102,
+  1, 162, :_reduce_103,
+  1, 163, :_reduce_104,
+  2, 163, :_reduce_105,
+  3, 164, :_reduce_106,
+  3, 165, :_reduce_107,
+  1, 159, :_reduce_108,
+  2, 159, :_reduce_109,
+  2, 167, :_reduce_110,
+  3, 167, :_reduce_111,
+  1, 168, :_reduce_none,
+  1, 158, :_reduce_113,
+  2, 158, :_reduce_114,
+  3, 169, :_reduce_115,
+  1, 170, :_reduce_116,
+  1, 170, :_reduce_117,
+  1, 170, :_reduce_118,
+  1, 170, :_reduce_119,
+  1, 170, :_reduce_120,
+  1, 166, :_reduce_121,
+  1, 166, :_reduce_122,
+  1, 166, :_reduce_123,
+  1, 166, :_reduce_124,
+  1, 166, :_reduce_125,
+  1, 166, :_reduce_126,
+  1, 166, :_reduce_127,
+  1, 166, :_reduce_128,
+  1, 166, :_reduce_129,
+  1, 166, :_reduce_130,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 171, :_reduce_none,
+  1, 172, :_reduce_none,
+  1, 172, :_reduce_none,
+  1, 172, :_reduce_none,
+  1, 172, :_reduce_none,
+  1, 172, :_reduce_none,
+  1, 172, :_reduce_none,
+  1, 118, :_reduce_146,
+  1, 118, :_reduce_147,
+  1, 175, :_reduce_148,
+  3, 185, :_reduce_none,
+  3, 185, :_reduce_none,
+  3, 185, :_reduce_none,
+  1, 176, :_reduce_152,
+  2, 176, :_reduce_153,
+  2, 176, :_reduce_154,
+  3, 186, :_reduce_none,
+  3, 186, :_reduce_none,
+  3, 186, :_reduce_none,
+  5, 194, :_reduce_none,
+  6, 194, :_reduce_none,
+  6, 194, :_reduce_none,
+  7, 194, :_reduce_none,
+  4, 194, :_reduce_none,
+  4, 194, :_reduce_none,
+  4, 194, :_reduce_none,
+  4, 194, :_reduce_none,
+  3, 194, :_reduce_none,
+  1, 177, :_reduce_167,
+  2, 177, :_reduce_168,
+  2, 177, :_reduce_169,
+  3, 187, :_reduce_none,
+  3, 187, :_reduce_none,
+  3, 187, :_reduce_none,
+  5, 195, :_reduce_none,
+  6, 195, :_reduce_none,
+  6, 195, :_reduce_none,
+  7, 195, :_reduce_none,
+  4, 195, :_reduce_none,
+  4, 195, :_reduce_none,
+  4, 195, :_reduce_none,
+  4, 195, :_reduce_none,
+  3, 195, :_reduce_none,
+  1, 178, :_reduce_182,
+  1, 178, :_reduce_183,
+  3, 188, :_reduce_none,
+  3, 188, :_reduce_none,
+  3, 188, :_reduce_none,
+  1, 179, :_reduce_none,
+  3, 189, :_reduce_none,
+  3, 189, :_reduce_none,
+  3, 189, :_reduce_none,
+  1, 180, :_reduce_none,
+  3, 190, :_reduce_none,
+  3, 190, :_reduce_none,
+  3, 190, :_reduce_none,
+  5, 196, :_reduce_none,
+  6, 196, :_reduce_none,
+  6, 196, :_reduce_none,
+  7, 196, :_reduce_none,
+  4, 196, :_reduce_none,
+  4, 196, :_reduce_none,
+  4, 196, :_reduce_none,
+  4, 196, :_reduce_none,
+  3, 196, :_reduce_none,
+  1, 181, :_reduce_none,
+  3, 191, :_reduce_none,
+  3, 191, :_reduce_none,
+  3, 191, :_reduce_none,
+  5, 197, :_reduce_none,
+  6, 197, :_reduce_none,
+  6, 197, :_reduce_none,
+  7, 197, :_reduce_none,
+  4, 197, :_reduce_none,
+  4, 197, :_reduce_none,
+  4, 197, :_reduce_none,
+  4, 197, :_reduce_none,
+  3, 197, :_reduce_none,
+  1, 182, :_reduce_none,
+  3, 192, :_reduce_none,
+  3, 192, :_reduce_none,
+  3, 192, :_reduce_none,
+  5, 198, :_reduce_none,
+  6, 198, :_reduce_none,
+  6, 198, :_reduce_none,
+  7, 198, :_reduce_none,
+  4, 198, :_reduce_none,
+  4, 198, :_reduce_none,
+  4, 198, :_reduce_none,
+  4, 198, :_reduce_none,
+  3, 198, :_reduce_none,
+  1, 183, :_reduce_230,
+  3, 193, :_reduce_none,
+  3, 193, :_reduce_none,
+  3, 193, :_reduce_none,
+  5, 199, :_reduce_none,
+  6, 199, :_reduce_none,
+  6, 199, :_reduce_none,
+  7, 199, :_reduce_none,
+  4, 199, :_reduce_none,
+  4, 199, :_reduce_none,
+  4, 199, :_reduce_none,
+  4, 199, :_reduce_none,
+  3, 199, :_reduce_none,
+  1, 173, :_reduce_243,
+  3, 174, :_reduce_none,
+  3, 174, :_reduce_none,
+  3, 174, :_reduce_none,
+  1, 184, :_reduce_247,
+  1, 113, :_reduce_none,
+  2, 113, :_reduce_none,
+  3, 200, :_reduce_none,
+  1, 200, :_reduce_none,
+  3, 200, :_reduce_none,
+  1, 151, :_reduce_none,
+  1, 151, :_reduce_none,
+  2, 202, :_reduce_none,
+  2, 202, :_reduce_none,
+  5, 202, :_reduce_none,
+  5, 202, :_reduce_none,
+  2, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 202, :_reduce_none,
+  3, 201, :_reduce_none,
+  1, 201, :_reduce_none,
+  1, 201, :_reduce_none,
+  1, 204, :_reduce_none,
+  1, 204, :_reduce_none,
+  3, 206, :_reduce_none,
+  3, 206, :_reduce_none,
+  3, 206, :_reduce_none,
+  3, 206, :_reduce_none,
+  3, 206, :_reduce_none,
+  3, 205, :_reduce_none,
+  1, 205, :_reduce_none,
+  1, 205, :_reduce_none,
+  1, 205, :_reduce_none,
+  1, 129, :_reduce_none,
+  2, 129, :_reduce_none,
+  1, 203, :_reduce_none,
+  3, 203, :_reduce_none,
+  2, 207, :_reduce_288,
+  1, 207, :_reduce_289,
+  0, 146, :_reduce_290,
+  5, 146, :_reduce_291,
+  1, 208, :_reduce_292,
+  3, 208, :_reduce_293,
+  5, 147, :_reduce_294,
+  1, 209, :_reduce_none,
+  3, 209, :_reduce_none,
+  3, 209, :_reduce_none,
+  3, 209, :_reduce_none,
+  5, 209, :_reduce_none,
+  5, 209, :_reduce_none,
+  5, 209, :_reduce_none,
+  5, 209, :_reduce_none,
+  1, 211, :_reduce_303,
+  1, 211, :_reduce_304,
+  0, 117, :_reduce_none,
+  5, 117, :_reduce_306,
+  2, 117, :_reduce_none,
+  1, 210, :_reduce_none,
+  3, 210, :_reduce_none,
+  1, 212, :_reduce_none,
+  1, 212, :_reduce_none,
+  1, 212, :_reduce_none,
+  1, 135, :_reduce_none,
+  3, 135, :_reduce_none,
+  3, 135, :_reduce_none,
+  1, 213, :_reduce_none,
+  1, 213, :_reduce_none,
+  1, 213, :_reduce_none,
+  1, 136, :_reduce_none,
+  3, 136, :_reduce_none,
+  3, 136, :_reduce_none,
+  1, 214, :_reduce_none,
+  1, 214, :_reduce_none,
+  1, 214, :_reduce_none,
+  1, 137, :_reduce_none,
+  3, 137, :_reduce_none,
+  3, 137, :_reduce_none,
+  1, 215, :_reduce_none,
+  1, 215, :_reduce_none,
+  1, 215, :_reduce_none,
+  1, 138, :_reduce_none,
+  3, 138, :_reduce_none,
+  3, 138, :_reduce_none,
+  1, 216, :_reduce_none,
+  1, 216, :_reduce_none,
+  1, 216, :_reduce_none,
+  1, 139, :_reduce_none,
+  3, 139, :_reduce_none,
+  3, 139, :_reduce_none,
+  1, 217, :_reduce_none,
+  3, 217, :_reduce_none,
+  1, 217, :_reduce_none,
+  1, 217, :_reduce_none,
+  1, 140, :_reduce_none,
+  3, 140, :_reduce_none,
+  3, 140, :_reduce_none,
+  1, 219, :_reduce_none,
+  1, 219, :_reduce_none,
+  3, 219, :_reduce_none,
+  1, 141, :_reduce_none,
+  3, 141, :_reduce_none,
+  3, 141, :_reduce_none,
+  1, 220, :_reduce_353,
+  1, 220, :_reduce_354,
+  3, 220, :_reduce_355,
+  3, 220, :_reduce_356,
+  1, 142, :_reduce_357,
+  3, 142, :_reduce_358,
+  3, 142, :_reduce_359,
+  1, 127, :_reduce_none,
+  3, 127, :_reduce_none,
+  3, 127, :_reduce_none,
+  1, 221, :_reduce_none,
+  3, 221, :_reduce_none,
+  3, 222, :_reduce_365,
+  1, 126, :_reduce_366,
+  1, 126, :_reduce_367,
+  3, 223, :_reduce_none,
+  0, 224, :_reduce_none,
+  1, 224, :_reduce_none,
+  2, 224, :_reduce_none,
+  1, 125, :_reduce_372,
+  1, 150, :_reduce_373,
+  1, 150, :_reduce_374,
+  1, 218, :_reduce_375 ]
+
+racc_reduce_n = 376
+
+racc_shift_n = 633
+
 racc_token_table = {
- false => 0,
- Object.new => 1,
- :UMINUS => 2,
- :UPLUS => 3,
- "*" => 4,
- "/" => 5,
- "+" => 6,
- "-" => 7,
- :SYM_EQ => 8,
- :SYM_NE => 9,
- :SYM_LT => 10,
- :SYM_START_DBLOCK => 11,
- :SYM_START_CBLOCK => 12,
- :SYM_GT => 13,
- :SYM_END_CBLOCK => 14,
- :SYM_END_DBLOCK => 15,
- :SYM_LE => 16,
- :SYM_GE => 17,
- :EOF => 18,
- :V_ARCHETYPE_ID => 19,
- :SYM_ARCHETYPE => 20,
- :Left_parenthesis_code => 21,
- :Right_parenthesis_code => 22,
- :Semicolon_code => 23,
- :SYM_ADL_VERSION => 24,
- :V_VERSION_STRING => 25,
- :SYM_IS_CONTROLLED => 26,
- :SYM_SPECIALIZE => 27,
- :SYM_CONCEPT => 28,
- :V_LOCAL_TERM_CODE_REF => 29,
- :SYM_LANGUAGE => 30,
- :SYM_DESCRIPTION => 31,
- :SYM_DEFINITION => 32,
- :c_complx_object_head => 33,
- :SYM_MATCHES => 34,
- :START_REGEXP_BLOCK => 35,
- :REGEXP_BODY => 36,
- :END_REGEXP_BLOCK => 37,
- :ERR_C_DOMAIN_TYPE => 38,
- :START_V_C_DOMAIN_TYPE_BLOCK => 39,
- :END_V_C_DOMAIN_TYPE_BLOCK => 40,
- :SYM_USE_NODE => 41,
- :SYM_ALLOW_ARCHETYPE => 42,
- :Star_code => 43,
- :V_ATTRIBUTE_IDENTIFIER => 44,
- :SYM_INCLUDE => 45,
- :SYM_EXCLUDE => 46,
- ":" => 47,
- :SYM_INVARIANT => 48,
- :V_ASSERTION_TEXT => 49,
- :SYM_ONTOLOGY => 50,
- :Left_bracket_code => 51,
- :Right_bracket_code => 52,
- :V_TYPE_IDENTIFIER => 53,
- :V_GENERIC_TYPE_IDENTIFIER => 54,
- :V_STRING => 55,
- :Comma_code => 56,
- :SYM_LIST_CONTINUE => 57,
- :V_INTEGER => 58,
- :Plus_code => 59,
- :Minus_code => 60,
- :SYM_INTERVAL_DELIM => 61,
- :SYM_ELLIPSIS => 62,
- :V_REAL => 63,
- :SYM_TRUE => 64,
- :SYM_FALSE => 65,
- :V_CHARACTER => 66,
- :V_ISO8601_EXTENDED_DATE => 67,
- :V_ISO8601_EXTENDED_TIME => 68,
- :V_ISO8601_EXTENDED_DATE_TIME => 69,
- :V_ISO8601_DURATION => 70,
- :V_QUALIFIED_TERM_CODE_REF => 71,
- :V_URI => 72,
- :SYM_EXISTS => 73,
- :SYM_NOT => 74,
- "=" => 75,
- :SYM_AND => 76,
- :SYM_OR => 77,
- :SYM_XOR => 78,
- :SYM_IMPLIES => 79,
- :Slash_code => 80,
- "^" => 81,
- :SYM_EXISTENCE => 82,
- :SYM_CARDINALITY => 83,
- :SYM_ORDERED => 84,
- :SYM_UNORDERED => 85,
- :SYM_UNIQUE => 86,
- :SYM_OCCURRENCES => 87,
- :V_ISO8601_DATE_CONSTRAINT_PATTERN => 88,
- :V_ISO8601_TIME_CONSTRAINT_PATTERN => 89,
- :V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN => 90,
- :START_TERM_CODE_CONSTRAINT => 91,
- :END_TERM_CODE_CONSTRAINT => 92,
- :TERM_CODE => 93,
- :V_ISO8601_DURATION_CONSTRAINT_PATTERN => 94 }
+  false => 0,
+  :error => 1,
+  :UMINUS => 2,
+  :UPLUS => 3,
+  "*" => 4,
+  "/" => 5,
+  "+" => 6,
+  "-" => 7,
+  :SYM_EQ => 8,
+  :SYM_NE => 9,
+  :SYM_LT => 10,
+  :SYM_START_DBLOCK => 11,
+  :SYM_START_CBLOCK => 12,
+  :SYM_GT => 13,
+  :SYM_END_CBLOCK => 14,
+  :SYM_END_DBLOCK => 15,
+  :SYM_LE => 16,
+  :SYM_GE => 17,
+  :EOF => 18,
+  :V_ARCHETYPE_ID => 19,
+  :SYM_ARCHETYPE => 20,
+  :Left_parenthesis_code => 21,
+  :Right_parenthesis_code => 22,
+  :Semicolon_code => 23,
+  :SYM_ADL_VERSION => 24,
+  :V_VERSION_STRING => 25,
+  :SYM_IS_CONTROLLED => 26,
+  :SYM_SPECIALIZE => 27,
+  :SYM_CONCEPT => 28,
+  :V_LOCAL_TERM_CODE_REF => 29,
+  :SYM_LANGUAGE => 30,
+  :SYM_DESCRIPTION => 31,
+  :SYM_DEFINITION => 32,
+  :c_complx_object_head => 33,
+  :SYM_MATCHES => 34,
+  :START_REGEXP_BLOCK => 35,
+  :REGEXP_BODY => 36,
+  :END_REGEXP_BLOCK => 37,
+  :ERR_C_DOMAIN_TYPE => 38,
+  :START_V_C_DOMAIN_TYPE_BLOCK => 39,
+  :END_V_C_DOMAIN_TYPE_BLOCK => 40,
+  :SYM_USE_NODE => 41,
+  :SYM_ALLOW_ARCHETYPE => 42,
+  :Star_code => 43,
+  :V_ATTRIBUTE_IDENTIFIER => 44,
+  :SYM_INCLUDE => 45,
+  :SYM_EXCLUDE => 46,
+  ":" => 47,
+  :SYM_INVARIANT => 48,
+  :V_ASSERTION_TEXT => 49,
+  :SYM_ONTOLOGY => 50,
+  :Left_bracket_code => 51,
+  :Right_bracket_code => 52,
+  :V_TYPE_IDENTIFIER => 53,
+  :V_GENERIC_TYPE_IDENTIFIER => 54,
+  :V_STRING => 55,
+  :Comma_code => 56,
+  :SYM_LIST_CONTINUE => 57,
+  :V_INTEGER => 58,
+  :Plus_code => 59,
+  :Minus_code => 60,
+  :SYM_INTERVAL_DELIM => 61,
+  :SYM_ELLIPSIS => 62,
+  :V_REAL => 63,
+  :SYM_TRUE => 64,
+  :SYM_FALSE => 65,
+  :V_CHARACTER => 66,
+  :V_ISO8601_EXTENDED_DATE => 67,
+  :V_ISO8601_EXTENDED_TIME => 68,
+  :V_ISO8601_EXTENDED_DATE_TIME => 69,
+  :V_ISO8601_DURATION => 70,
+  :V_QUALIFIED_TERM_CODE_REF => 71,
+  :V_URI => 72,
+  :SYM_EXISTS => 73,
+  :SYM_NOT => 74,
+  "=" => 75,
+  :SYM_AND => 76,
+  :SYM_OR => 77,
+  :SYM_XOR => 78,
+  :SYM_IMPLIES => 79,
+  :Slash_code => 80,
+  "^" => 81,
+  :SYM_EXISTENCE => 82,
+  :SYM_CARDINALITY => 83,
+  :SYM_ORDERED => 84,
+  :SYM_UNORDERED => 85,
+  :SYM_UNIQUE => 86,
+  :SYM_OCCURRENCES => 87,
+  :V_ISO8601_DATE_CONSTRAINT_PATTERN => 88,
+  :V_ISO8601_TIME_CONSTRAINT_PATTERN => 89,
+  :V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN => 90,
+  :START_TERM_CODE_CONSTRAINT => 91,
+  :END_TERM_CODE_CONSTRAINT => 92,
+  :TERM_CODE => 93,
+  :V_ISO8601_DURATION_CONSTRAINT_PATTERN => 94 }
+
+racc_nt_base = 95
 
 racc_use_result_var = true
 
-racc_nt_base = 95
-
 Racc_arg = [
- racc_action_table,
- racc_action_check,
- racc_action_default,
- racc_action_pointer,
- racc_goto_table,
- racc_goto_check,
- racc_goto_default,
- racc_goto_pointer,
- racc_nt_base,
- racc_reduce_table,
- racc_token_table,
- racc_shift_n,
- racc_reduce_n,
- racc_use_result_var ]
+  racc_action_table,
+  racc_action_check,
+  racc_action_default,
+  racc_action_pointer,
+  racc_goto_table,
+  racc_goto_check,
+  racc_goto_default,
+  racc_goto_pointer,
+  racc_nt_base,
+  racc_reduce_table,
+  racc_token_table,
+  racc_shift_n,
+  racc_reduce_n,
+  racc_use_result_var ]
 
 Racc_token_to_s_table = [
-'$end',
-'error',
-'UMINUS',
-'UPLUS',
-'"*"',
-'"/"',
-'"+"',
-'"-"',
-'SYM_EQ',
-'SYM_NE',
-'SYM_LT',
-'SYM_START_DBLOCK',
-'SYM_START_CBLOCK',
-'SYM_GT',
-'SYM_END_CBLOCK',
-'SYM_END_DBLOCK',
-'SYM_LE',
-'SYM_GE',
-'EOF',
-'V_ARCHETYPE_ID',
-'SYM_ARCHETYPE',
-'Left_parenthesis_code',
-'Right_parenthesis_code',
-'Semicolon_code',
-'SYM_ADL_VERSION',
-'V_VERSION_STRING',
-'SYM_IS_CONTROLLED',
-'SYM_SPECIALIZE',
-'SYM_CONCEPT',
-'V_LOCAL_TERM_CODE_REF',
-'SYM_LANGUAGE',
-'SYM_DESCRIPTION',
-'SYM_DEFINITION',
-'c_complx_object_head',
-'SYM_MATCHES',
-'START_REGEXP_BLOCK',
-'REGEXP_BODY',
-'END_REGEXP_BLOCK',
-'ERR_C_DOMAIN_TYPE',
-'START_V_C_DOMAIN_TYPE_BLOCK',
-'END_V_C_DOMAIN_TYPE_BLOCK',
-'SYM_USE_NODE',
-'SYM_ALLOW_ARCHETYPE',
-'Star_code',
-'V_ATTRIBUTE_IDENTIFIER',
-'SYM_INCLUDE',
-'SYM_EXCLUDE',
-'":"',
-'SYM_INVARIANT',
-'V_ASSERTION_TEXT',
-'SYM_ONTOLOGY',
-'Left_bracket_code',
-'Right_bracket_code',
-'V_TYPE_IDENTIFIER',
-'V_GENERIC_TYPE_IDENTIFIER',
-'V_STRING',
-'Comma_code',
-'SYM_LIST_CONTINUE',
-'V_INTEGER',
-'Plus_code',
-'Minus_code',
-'SYM_INTERVAL_DELIM',
-'SYM_ELLIPSIS',
-'V_REAL',
-'SYM_TRUE',
-'SYM_FALSE',
-'V_CHARACTER',
-'V_ISO8601_EXTENDED_DATE',
-'V_ISO8601_EXTENDED_TIME',
-'V_ISO8601_EXTENDED_DATE_TIME',
-'V_ISO8601_DURATION',
-'V_QUALIFIED_TERM_CODE_REF',
-'V_URI',
-'SYM_EXISTS',
-'SYM_NOT',
-'"="',
-'SYM_AND',
-'SYM_OR',
-'SYM_XOR',
-'SYM_IMPLIES',
-'Slash_code',
-'"^"',
-'SYM_EXISTENCE',
-'SYM_CARDINALITY',
-'SYM_ORDERED',
-'SYM_UNORDERED',
-'SYM_UNIQUE',
-'SYM_OCCURRENCES',
-'V_ISO8601_DATE_CONSTRAINT_PATTERN',
-'V_ISO8601_TIME_CONSTRAINT_PATTERN',
-'V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN',
-'START_TERM_CODE_CONSTRAINT',
-'END_TERM_CODE_CONSTRAINT',
-'TERM_CODE',
-'V_ISO8601_DURATION_CONSTRAINT_PATTERN',
-'$start',
-'input',
-'archetype',
-'arch_identification',
-'arch_specialisation',
-'arch_concept',
-'arch_language',
-'arch_description',
-'arch_definition',
-'arch_invariant',
-'arch_ontology',
-'arch_head',
-'arch_meta_data',
-'arch_meta_data_items',
-'arch_meta_data_item',
-'dadl_section',
-'cadl_section',
-'c_complex_object',
-'assertions',
-'c_complex_object_head',
-'c_complex_object_body',
-'c_complex_object_id',
-'c_occurrences',
-'type_identifier',
-'c_any',
-'c_attributes',
-'c_object',
-'v_c_domain_type',
-'archetype_internal_ref',
-'archetype_slot',
-'constraint_ref',
-'c_code_phrase',
-'c_ordinal',
-'c_primitive_object',
-'absolute_path',
-'c_archetype_slot_head',
-'c_includes',
-'c_excludes',
-'c_archetype_slot_id',
-'c_primitive',
-'c_integer',
-'c_real',
-'c_date',
-'c_time',
-'c_date_time',
-'c_duration',
-'c_string',
-'c_boolean',
-'c_attribute',
-'c_attr_head',
-'c_attr_values',
-'c_existence',
-'c_cardinality',
-'invariants',
-'invariant',
-'any_identifier',
-'boolean_expression',
-'dadl_input',
-'attr_vals',
-'complex_object_block',
-'attr_val',
-'attr_id',
-'object_block',
-'primitive_object_block',
-'single_attr_object_block',
-'multiple_attr_object_block',
-'untyped_multiple_attr_object_block',
-'multiple_attr_object_block_head',
-'keyed_objects',
-'keyed_object',
-'object_key',
-'simple_value',
-'untyped_single_attr_object_block',
-'single_attr_object_complex_head',
-'untyped_primitive_object_block',
-'primitive_object_value',
-'simple_list_value',
-'simple_interval_value',
-'term_code',
-'term_code_list_value',
-'string_value',
-'integer_value',
-'real_value',
-'boolean_value',
-'character_value',
-'date_value',
-'time_value',
-'date_time_value',
-'duration_value',
-'uri_value',
-'string_list_value',
-'integer_list_value',
-'real_list_value',
-'boolean_list_value',
-'character_list_value',
-'date_list_value',
-'time_list_value',
-'date_time_list_value',
-'duration_list_value',
-'integer_interval_value',
-'real_interval_value',
-'date_interval_value',
-'time_interval_value',
-'date_time_interval_value',
-'duration_interval_value',
-'assertion',
-'boolean_leaf',
-'boolean_node',
-'relative_path',
-'arithmetic_expression',
-'arithmetic_leaf',
-'arithmetic_node',
-'path_segment',
-'existence_spec',
-'cardinality_spec',
-'occurrence_spec',
-'cardinality_limit_value',
-'c_integer_spec',
-'c_real_spec',
-'c_date_constraint',
-'c_time_constraint',
-'c_date_time_constraint',
-'c_duration_constraint',
-'duration_pattern',
-'c_string_spec',
-'c_boolean_spec',
-'c_ordinal_spec',
-'ordinal',
-'term_code_constraint_section',
-'term_code_body']
+  "$end",
+  "error",
+  "UMINUS",
+  "UPLUS",
+  "\"*\"",
+  "\"/\"",
+  "\"+\"",
+  "\"-\"",
+  "SYM_EQ",
+  "SYM_NE",
+  "SYM_LT",
+  "SYM_START_DBLOCK",
+  "SYM_START_CBLOCK",
+  "SYM_GT",
+  "SYM_END_CBLOCK",
+  "SYM_END_DBLOCK",
+  "SYM_LE",
+  "SYM_GE",
+  "EOF",
+  "V_ARCHETYPE_ID",
+  "SYM_ARCHETYPE",
+  "Left_parenthesis_code",
+  "Right_parenthesis_code",
+  "Semicolon_code",
+  "SYM_ADL_VERSION",
+  "V_VERSION_STRING",
+  "SYM_IS_CONTROLLED",
+  "SYM_SPECIALIZE",
+  "SYM_CONCEPT",
+  "V_LOCAL_TERM_CODE_REF",
+  "SYM_LANGUAGE",
+  "SYM_DESCRIPTION",
+  "SYM_DEFINITION",
+  "c_complx_object_head",
+  "SYM_MATCHES",
+  "START_REGEXP_BLOCK",
+  "REGEXP_BODY",
+  "END_REGEXP_BLOCK",
+  "ERR_C_DOMAIN_TYPE",
+  "START_V_C_DOMAIN_TYPE_BLOCK",
+  "END_V_C_DOMAIN_TYPE_BLOCK",
+  "SYM_USE_NODE",
+  "SYM_ALLOW_ARCHETYPE",
+  "Star_code",
+  "V_ATTRIBUTE_IDENTIFIER",
+  "SYM_INCLUDE",
+  "SYM_EXCLUDE",
+  "\":\"",
+  "SYM_INVARIANT",
+  "V_ASSERTION_TEXT",
+  "SYM_ONTOLOGY",
+  "Left_bracket_code",
+  "Right_bracket_code",
+  "V_TYPE_IDENTIFIER",
+  "V_GENERIC_TYPE_IDENTIFIER",
+  "V_STRING",
+  "Comma_code",
+  "SYM_LIST_CONTINUE",
+  "V_INTEGER",
+  "Plus_code",
+  "Minus_code",
+  "SYM_INTERVAL_DELIM",
+  "SYM_ELLIPSIS",
+  "V_REAL",
+  "SYM_TRUE",
+  "SYM_FALSE",
+  "V_CHARACTER",
+  "V_ISO8601_EXTENDED_DATE",
+  "V_ISO8601_EXTENDED_TIME",
+  "V_ISO8601_EXTENDED_DATE_TIME",
+  "V_ISO8601_DURATION",
+  "V_QUALIFIED_TERM_CODE_REF",
+  "V_URI",
+  "SYM_EXISTS",
+  "SYM_NOT",
+  "\"=\"",
+  "SYM_AND",
+  "SYM_OR",
+  "SYM_XOR",
+  "SYM_IMPLIES",
+  "Slash_code",
+  "\"^\"",
+  "SYM_EXISTENCE",
+  "SYM_CARDINALITY",
+  "SYM_ORDERED",
+  "SYM_UNORDERED",
+  "SYM_UNIQUE",
+  "SYM_OCCURRENCES",
+  "V_ISO8601_DATE_CONSTRAINT_PATTERN",
+  "V_ISO8601_TIME_CONSTRAINT_PATTERN",
+  "V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN",
+  "START_TERM_CODE_CONSTRAINT",
+  "END_TERM_CODE_CONSTRAINT",
+  "TERM_CODE",
+  "V_ISO8601_DURATION_CONSTRAINT_PATTERN",
+  "$start",
+  "input",
+  "archetype",
+  "arch_identification",
+  "arch_specialisation",
+  "arch_concept",
+  "arch_language",
+  "arch_description",
+  "arch_definition",
+  "arch_invariant",
+  "arch_ontology",
+  "arch_head",
+  "arch_meta_data",
+  "arch_meta_data_items",
+  "arch_meta_data_item",
+  "dadl_section",
+  "cadl_section",
+  "c_complex_object",
+  "assertions",
+  "c_complex_object_head",
+  "c_complex_object_body",
+  "c_complex_object_id",
+  "c_occurrences",
+  "type_identifier",
+  "c_any",
+  "c_attributes",
+  "c_object",
+  "v_c_domain_type",
+  "archetype_internal_ref",
+  "archetype_slot",
+  "constraint_ref",
+  "c_code_phrase",
+  "c_ordinal",
+  "c_primitive_object",
+  "absolute_path",
+  "c_archetype_slot_head",
+  "c_includes",
+  "c_excludes",
+  "c_archetype_slot_id",
+  "c_primitive",
+  "c_integer",
+  "c_real",
+  "c_date",
+  "c_time",
+  "c_date_time",
+  "c_duration",
+  "c_string",
+  "c_boolean",
+  "c_attribute",
+  "c_attr_head",
+  "c_attr_values",
+  "c_existence",
+  "c_cardinality",
+  "invariants",
+  "invariant",
+  "any_identifier",
+  "boolean_expression",
+  "dadl_input",
+  "attr_vals",
+  "complex_object_block",
+  "attr_val",
+  "attr_id",
+  "object_block",
+  "primitive_object_block",
+  "single_attr_object_block",
+  "multiple_attr_object_block",
+  "untyped_multiple_attr_object_block",
+  "multiple_attr_object_block_head",
+  "keyed_objects",
+  "keyed_object",
+  "object_key",
+  "simple_value",
+  "untyped_single_attr_object_block",
+  "single_attr_object_complex_head",
+  "untyped_primitive_object_block",
+  "primitive_object_value",
+  "simple_list_value",
+  "simple_interval_value",
+  "term_code",
+  "term_code_list_value",
+  "string_value",
+  "integer_value",
+  "real_value",
+  "boolean_value",
+  "character_value",
+  "date_value",
+  "time_value",
+  "date_time_value",
+  "duration_value",
+  "uri_value",
+  "string_list_value",
+  "integer_list_value",
+  "real_list_value",
+  "boolean_list_value",
+  "character_list_value",
+  "date_list_value",
+  "time_list_value",
+  "date_time_list_value",
+  "duration_list_value",
+  "integer_interval_value",
+  "real_interval_value",
+  "date_interval_value",
+  "time_interval_value",
+  "date_time_interval_value",
+  "duration_interval_value",
+  "assertion",
+  "boolean_leaf",
+  "boolean_node",
+  "relative_path",
+  "arithmetic_expression",
+  "arithmetic_leaf",
+  "arithmetic_node",
+  "path_segment",
+  "existence_spec",
+  "cardinality_spec",
+  "occurrence_spec",
+  "cardinality_limit_value",
+  "c_integer_spec",
+  "c_real_spec",
+  "c_date_constraint",
+  "c_time_constraint",
+  "c_date_time_constraint",
+  "c_duration_constraint",
+  "duration_pattern",
+  "c_string_spec",
+  "c_boolean_spec",
+  "c_ordinal_spec",
+  "ordinal",
+  "term_code_constraint_section",
+  "term_code_body" ]
 
 Racc_debug_parser = false
 
-##### racc system variables end #####
-
- # reduce 0 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 32
-  def _reduce_1( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
- # reduce 2 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 57
-  def _reduce_3( val, _values, result )
-    assert_at(__FILE__,__LINE__) do
+##### State transition tables end #####
+
+# reduce 0 omitted
+
+module_eval(<<'.,.,', 'parser.y', 30)
+  def _reduce_1(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+# reduce 2 omitted
+
+module_eval(<<'.,.,', 'parser.y', 36)
+  def _reduce_3(val, _values, result)
+        assert_at(__FILE__,__LINE__) do
       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) 
     end
@@ -2062,276 +2055,309 @@
     @@log.info("#{__FILE__}:#{__LINE__}: archetype = #{archetype} at #{@filename}:#{@lineno}")
     result = archetype
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 63
-  def _reduce_4( val, _values, result )
-    result = {:arch_head => val[0], :archetype_id => val[1] }
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 67
-  def _reduce_5( val, _values, result )
-    raise
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 72
-  def _reduce_6( val, _values, result )
-    result = {:arch_meta_data => nil }
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 76
-  def _reduce_7( val, _values, result )
-    result = val[1]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 81
-  def _reduce_8( val, _values, result )
-    result = {:arch_meta_data => val[1] }
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 86
-  def _reduce_9( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 90
-  def _reduce_10( val, _values, result )
-    result = val[0].merge(val[2])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 96
-  def _reduce_11( val, _values, result )
-    result = {:adl_version => val[2], :is_controlled => false }
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 100
-  def _reduce_12( val, _values, result )
-    result = {:is_controlled => true }
-   result
-  end
-.,.,
-
- # reduce 13 omitted
-
- # reduce 14 omitted
-
- # reduce 15 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 111
-  def _reduce_16( val, _values, result )
-    result = {:arch_concept => val[1] }
-   result
-  end
-.,.,
-
- # reduce 17 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 121
-  def _reduce_18( val, _values, result )
-    result = {:arch_language => nil}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 125
-  def _reduce_19( val, _values, result )
-    result = {:arch_language => val[1]}
-   result
-  end
-.,.,
-
- # reduce 20 omitted
-
- # reduce 21 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 136
-  def _reduce_22( val, _values, result )
-    result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])
-   result
-  end
-.,.,
-
- # reduce 23 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 144
-  def _reduce_24( val, _values, result )
-    result = val[1]
-   result
-  end
-.,.,
-
- # reduce 25 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 154
-  def _reduce_26( val, _values, result )
-    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 61)
+  def _reduce_4(val, _values, result)
+        result = {:arch_head => val[0], :archetype_id => val[1] }
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 65)
+  def _reduce_5(val, _values, result)
+        raise
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 70)
+  def _reduce_6(val, _values, result)
+        result = {:arch_meta_data => nil }
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 74)
+  def _reduce_7(val, _values, result)
+        result = val[1]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 79)
+  def _reduce_8(val, _values, result)
+        result = {:arch_meta_data => val[1] }
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 84)
+  def _reduce_9(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 88)
+  def _reduce_10(val, _values, result)
+        result = val[0].merge(val[2])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 94)
+  def _reduce_11(val, _values, result)
+        result = {:adl_version => val[2], :is_controlled => false }
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 98)
+  def _reduce_12(val, _values, result)
+        result = {:is_controlled => true }
+  
+    result
+  end
+.,.,
+
+# reduce 13 omitted
+
+# reduce 14 omitted
+
+# reduce 15 omitted
+
+module_eval(<<'.,.,', 'parser.y', 109)
+  def _reduce_16(val, _values, result)
+        result = {:arch_concept => val[1] }
+  
+    result
+  end
+.,.,
+
+# reduce 17 omitted
+
+module_eval(<<'.,.,', 'parser.y', 119)
+  def _reduce_18(val, _values, result)
+        result = {:arch_language => nil}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 123)
+  def _reduce_19(val, _values, result)
+        result = {:arch_language => val[1]}
+  
+    result
+  end
+.,.,
+
+# reduce 20 omitted
+
+# reduce 21 omitted
+
+module_eval(<<'.,.,', 'parser.y', 134)
+  def _reduce_22(val, _values, result)
+        result = OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION.new(:details => val[1])
+  
+    result
+  end
+.,.,
+
+# reduce 23 omitted
+
+module_eval(<<'.,.,', 'parser.y', 142)
+  def _reduce_24(val, _values, result)
+        result = val[1]
+  
+    result
+  end
+.,.,
+
+# reduce 25 omitted
+
+module_eval(<<'.,.,', 'parser.y', 150)
+  def _reduce_26(val, _values, result)
+        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT)}
     @@log.info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 158
-  def _reduce_27( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 169
-  def _reduce_28( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 156)
+  def _reduce_27(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 163)
+  def _reduce_28(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
       c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
       c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
       c_complex_object.occurrences = val[0][:c_occurrences]
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 177
-  def _reduce_29( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 171)
+  def _reduce_29(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.create(:attributes => val[3]) do |c_complex_object|
       c_complex_object.node_id = val[0][:c_complex_object_id][:local_term_code_ref]
       c_complex_object.rm_type_name = val[0][:c_complex_object_id][:type_identifier]
       c_complex_object.occurrences = val[0][:c_occurrences]
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 184
-  def _reduce_30( val, _values, result )
-    result = {:c_complex_object_id => val[0], :c_occurrences => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 189
-  def _reduce_31( val, _values, result )
-    result = {:type_identifier => val[0]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 193
-  def _reduce_32( val, _values, result )
-    result = {:type_identifier => val[0], :local_term_code_ref => val[1]}
-   result
-  end
-.,.,
-
- # reduce 33 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 199
-  def _reduce_34( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 207
-  def _reduce_35( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 182)
+  def _reduce_30(val, _values, result)
+        result = {:c_complex_object_id => val[0], :c_occurrences => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 187)
+  def _reduce_31(val, _values, result)
+        result = {:type_identifier => val[0]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 191)
+  def _reduce_32(val, _values, result)
+        result = {:type_identifier => val[0], :local_term_code_ref => val[1]}
+  
+    result
+  end
+.,.,
+
+# reduce 33 omitted
+
+module_eval(<<'.,.,', 'parser.y', 197)
+  def _reduce_34(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::C_COMPLEX_OBJECT.new(:attributes => val[0])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 205)
+  def _reduce_35(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 209)
+  def _reduce_36(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 212
-  def _reduce_36( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_complex_object = #{val[0].inspect} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 220
-  def _reduce_37( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 214)
+  def _reduce_37(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_INTERNAL_REF.create do |archetype_internal_ref|
       archetype_internal_ref.target_path = val[0][:absolute_path]
       archetype_internal_ref.rm_type_name = val[0][:type_identifier]
       archetype_internal_ref.occurrences = val[0][:c_occurrences]
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 224
-  def _reduce_38( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 230
-  def _reduce_39( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 222)
+  def _reduce_38(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 226)
+  def _reduce_39(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::CONSTRAINT_REF.create do |constraint_ref|
       constraint_ref.reference = val[0]
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 234
-  def _reduce_40( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 238
-  def _reduce_41( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 242
-  def _reduce_42( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
- # reduce 43 omitted
-
- # reduce 44 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 257
-  def _reduce_45( val, _values, result )
-    result = val[1]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 263
-  def _reduce_46( val, _values, result )
-    result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] }
-   result
-  end
-.,.,
-
- # reduce 47 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 275
-  def _reduce_48( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 232)
+  def _reduce_40(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 236)
+  def _reduce_41(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 240)
+  def _reduce_42(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+# reduce 43 omitted
+
+# reduce 44 omitted
+
+module_eval(<<'.,.,', 'parser.y', 255)
+  def _reduce_45(val, _values, result)
+        result = val[1]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 261)
+  def _reduce_46(val, _values, result)
+        result = {:type_identifier => val[1], :c_occurrences => val[2], :absolute_path => val[3] }
+  
+    result
+  end
+.,.,
+
+# reduce 47 omitted
+
+module_eval(<<'.,.,', 'parser.y', 268)
+  def _reduce_48(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::ARCHETYPE_SLOT.create do |archetype_slot|
       archetype_slot.includes = val[3]
       archetype_slot.excludes = val[4]
@@ -2339,39 +2365,43 @@
       archetype_slot.occurrences = val[0][:c_occurrences]
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 279
-  def _reduce_49( val, _values, result )
-    result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 284
-  def _reduce_50( val, _values, result )
-    result = val[1]
-   result
-  end
-.,.,
-
- # reduce 51 omitted
-
- # reduce 52 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 295
-  def _reduce_53( val, _values, result )
-    assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 277)
+  def _reduce_49(val, _values, result)
+        result = {:c_archetype_slot_id => val[0],:c_occurrences => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 282)
+  def _reduce_50(val, _values, result)
+        result = val[1]
+  
+    result
+  end
+.,.,
+
+# reduce 51 omitted
+
+# reduce 52 omitted
+
+module_eval(<<'.,.,', 'parser.y', 290)
+  def _reduce_53(val, _values, result)
+        assert_at(__FILE__,__LINE__){val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_PRIMITIVE)}
     result = OpenEHR::AM::Archetype::Constraint_Model::C_PRIMITIVE_OBJECT.create do |c_primitive_object|
       c_primitive_object.item = val[0]
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 305
-  def _reduce_54( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 298)
+  def _reduce_54(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_integer = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_INTEGER.create do |c_integer|
       c_integer.list
@@ -2379,121 +2409,136 @@
       c_integer.assumed_value
     end
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 310
-  def _reduce_55( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 307)
+  def _reduce_55(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_real = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_REAL.new
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 315
-  def _reduce_56( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 312)
+  def _reduce_56(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_date = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE.new
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 320
-  def _reduce_57( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 317)
+  def _reduce_57(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_time = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_TIME.new
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 325
-  def _reduce_58( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 322)
+  def _reduce_58(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_date_time = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DATE_TIME.new
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 330
-  def _reduce_59( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 327)
+  def _reduce_59(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_duration = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_DURATION.new
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 335
-  def _reduce_60( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 332)
+  def _reduce_60(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: c_string = #{val[0]} at #{@filename}:#{@lineno}")
     result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_STRING.new
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 341
-  def _reduce_61( val, _values, result )
-    assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 337)
+  def _reduce_61(val, _values, result)
+        assert_at(__FILE__,__LINE__){val[0].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN)}
     @@log.info("#{__FILE__}:#{__LINE__}: c_boolean = #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
- # reduce 62 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 351
-  def _reduce_63( val, _values, result )
-    result = [val[0]]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 355
-  def _reduce_64( val, _values, result )
-    result = (val[0] << val[1])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 364
-  def _reduce_65( val, _values, result )
-    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
+  
+    result
+  end
+.,.,
+
+# reduce 62 omitted
+
+module_eval(<<'.,.,', 'parser.y', 349)
+  def _reduce_63(val, _values, result)
+        result = [val[0]]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 353)
+  def _reduce_64(val, _values, result)
+        result = (val[0] << val[1])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 359)
+  def _reduce_65(val, _values, result)
+        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     c_attribute = val[0]
     c_attribute.children = val[3]
     result = c_attribute
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 369
-  def _reduce_66( val, _values, result )
-    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 366)
+  def _reduce_66(val, _values, result)
+        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 374
-  def _reduce_67( val, _values, result )
-    assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 371)
+  def _reduce_67(val, _values, result)
+        assert_at(__FILE__,__LINE__){ val[0].kind_of?(OpenEHR::AM::Archetype::Constraint_Model::C_ATTRIBUTE)}
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 385
-  def _reduce_68( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 378)
+  def _reduce_68(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]}, c_existence = #{val[1]} at #{@filename}")
     result = OpenEHR::AM::Archetype::Constraint_Model::C_SINGLE_ATTRIBUTE.new(
                                                                               :rm_attribute_name => val[0],
                                                                               :existence => val[1]
                                                                               )
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 395
-  def _reduce_69( val, _values, result )
-    assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) }
+
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 387)
+  def _reduce_69(val, _values, result)
+        assert_at(__FILE__,__LINE__){ val[2].instance_of?(OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY) }
     @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER: #{val[0]}, c_existence = #{val[1]}, c_cardinality = #{val[2]} at #{@filename}") 
     result = OpenEHR::AM::Archetype::Constraint_Model::C_MULTIPLE_ATTRIBUTE.new(
@@ -2502,439 +2547,488 @@
                                                                                 :cardinality => val[2]
                                                                                 )
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 400
-  def _reduce_70( val, _values, result )
-    result = Array[val[0]]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 404
-  def _reduce_71( val, _values, result )
-    result = (val[0] << val[1])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 408
-  def _reduce_72( val, _values, result )
-    result = Array[val[0]]
-   result
-  end
-.,.,
-
- # reduce 73 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 416
-  def _reduce_74( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 398)
+  def _reduce_70(val, _values, result)
+        result = Array[val[0]]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 402)
+  def _reduce_71(val, _values, result)
+        result = (val[0] << val[1])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 406)
+  def _reduce_72(val, _values, result)
+        result = Array[val[0]]
+  
+    result
+  end
+.,.,
+
+# reduce 73 omitted
+
+module_eval(<<'.,.,', 'parser.y', 414)
+  def _reduce_74(val, _values, result)
+        result = val[1]
+
+    result
+  end
+.,.,
+
+# reduce 75 omitted
+
+module_eval(<<'.,.,', 'parser.y', 422)
+  def _reduce_76(val, _values, result)
+        result = val[1]
+
+    result
+  end
+.,.,
+
+# reduce 77 omitted
+
+# reduce 78 omitted
+
+# reduce 79 omitted
+
+# reduce 80 omitted
+
+# reduce 81 omitted
+
+# reduce 82 omitted
+
+# reduce 83 omitted
+
+# reduce 84 omitted
+
+module_eval(<<'.,.,', 'parser.y', 442)
+  def _reduce_85(val, _values, result)
+        dadl_section = val[1]
+    result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
+  
+    result
+  end
+.,.,
+
+# reduce 86 omitted
+
+# reduce 87 omitted
+
+# reduce 88 omitted
+
+# reduce 89 omitted
+
+module_eval(<<'.,.,', 'parser.y', 457)
+  def _reduce_90(val, _values, result)
+        result = Array[val[0]]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 461)
+  def _reduce_91(val, _values, result)
+        result = (val[0] << val[1])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 465)
+  def _reduce_92(val, _values, result)
+        result = (val[0] << val[2])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 470)
+  def _reduce_93(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
+    result = {:attr_id => val[0], :object_block => val[2]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 476)
+  def _reduce_94(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")
+    result = val[0]
+  
+    result
+  end
+.,.,
+
+# reduce 95 omitted
+
+module_eval(<<'.,.,', 'parser.y', 483)
+  def _reduce_96(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 487)
+  def _reduce_97(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 492)
+  def _reduce_98(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 496)
+  def _reduce_99(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 501)
+  def _reduce_100(val, _values, result)
+        result = {:untyped_multiple_attr_object_block => val[0]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 505)
+  def _reduce_101(val, _values, result)
+        result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 510)
+  def _reduce_102(val, _values, result)
+        result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 515)
+  def _reduce_103(val, _values, result)
+        @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")
+    result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 521)
+  def _reduce_104(val, _values, result)
+        result = Array[val[0]]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 525)
+  def _reduce_105(val, _values, result)
+        result = (val[0] << val[1])
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 530)
+  def _reduce_106(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
+    result = {:object_key => val[0], :object_block => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 536)
+  def _reduce_107(val, _values, result)
+        @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
     result = val[1]
-   result
-  end
-.,.,
-
- # reduce 75 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 424
-  def _reduce_76( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 542)
+  def _reduce_108(val, _values, result)
+        result = {:untyped_single_attr_object_block => val[0]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 546)
+  def _reduce_109(val, _values, result)
+        result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 551)
+  def _reduce_110(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
+    result = {:single_attr_object_complex_head => val[0]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 556)
+  def _reduce_111(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]}, attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
+    result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]}
+  
+    result
+  end
+.,.,
+
+# reduce 112 omitted
+
+module_eval(<<'.,.,', 'parser.y', 562)
+  def _reduce_113(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
+    result = {:untyped_primitive_object_block => val[0]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 567)
+  def _reduce_114(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
+    result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]}
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 572)
+  def _reduce_115(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
     result = val[1]
-   result
-  end
-.,.,
-
- # reduce 77 omitted
-
- # reduce 78 omitted
-
- # reduce 79 omitted
-
- # reduce 80 omitted
-
- # reduce 81 omitted
-
- # reduce 82 omitted
-
- # reduce 83 omitted
-
- # reduce 84 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 445
-  def _reduce_85( val, _values, result )
-    dadl_section = val[1]
-    result = OpenEHR::AM::Archetype::Ontology::ARCHETYPE_ONTOLOGY.new
-   result
-  end
-.,.,
-
- # reduce 86 omitted
-
- # reduce 87 omitted
-
- # reduce 88 omitted
-
- # reduce 89 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 459
-  def _reduce_90( val, _values, result )
-    result = Array[val[0]]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 463
-  def _reduce_91( val, _values, result )
-    result = (val[0] << val[1])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 467
-  def _reduce_92( val, _values, result )
-    result = (val[0] << val[2])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 473
-  def _reduce_93( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: attr_id = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
-    result = {:attr_id => val[0], :object_block => val[2]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 479
-  def _reduce_94( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 577)
+  def _reduce_116(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 581)
+  def _reduce_117(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 585)
+  def _reduce_118(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 589)
+  def _reduce_119(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 593)
+  def _reduce_120(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 597)
+  def _reduce_121(val, _values, result)
+        @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
- # reduce 95 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 485
-  def _reduce_96( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 602)
+  def _reduce_122(val, _values, result)
+        @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 489
-  def _reduce_97( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 607)
+  def _reduce_123(val, _values, result)
+        @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 494
-  def _reduce_98( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 612)
+  def _reduce_124(val, _values, result)
+        @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 498
-  def _reduce_99( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 617)
+  def _reduce_125(val, _values, result)
+        @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 503
-  def _reduce_100( val, _values, result )
-    result = {:untyped_multiple_attr_object_block => val[0]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 507
-  def _reduce_101( val, _values, result )
-    result = {:type_identifier => val[0], :untyped_multiple_attr_object_block => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 512
-  def _reduce_102( val, _values, result )
-    result = {:multiple_attr_object_block_head => val[0], :keyed_objects => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 518
-  def _reduce_103( val, _values, result )
-    @@log.info("SYM_START_DBLOCK: #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 622)
+  def _reduce_126(val, _values, result)
+        @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 523
-  def _reduce_104( val, _values, result )
-    result = Array[val[0]]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 527
-  def _reduce_105( val, _values, result )
-    result = (val[0] << val[1])
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 533
-  def _reduce_106( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: keyed_object = #{val[0]}, object_block = #{val[2]} at #{@filename}:#{@lineno}")
-    result = {:object_key => val[0], :object_block => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 539
-  def _reduce_107( val, _values, result )
-    @@log.info("object_key: [#{val[1]}] at #{@filename}:#{@lineno}")
-    result = val[1]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 544
-  def _reduce_108( val, _values, result )
-    result = {:untyped_single_attr_object_block => val[0]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 548
-  def _reduce_109( val, _values, result )
-    result = {:type_identifier => val[0], :untyped_single_attr_object_block => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 554
-  def _reduce_110( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]} at #{@filename}:#{@lineno}")
-    result = {:single_attr_object_complex_head => val[0]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 559
-  def _reduce_111( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: single_attr_object_complex_head = #{val[0]}, attr_vals = #{val[1]} at #{@filename}:#{@lineno}")
-    result = {:single_attr_object_complex_head => val[0], :attr_vals => val[1]}
-   result
-  end
-.,.,
-
- # reduce 112 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 565
-  def _reduce_113( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: untyped_primitive_object_block = #{val[0]} at #{@filename}:#{@lineno}")
-    result = {:untyped_primitive_object_block => val[0]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 570
-  def _reduce_114( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: type_identifier = #{val[0]}, untyped_primitive_object_block = #{val[1]} at #{@filename}:#{@lineno}")
-    result = {:type_identifier => val[0], :untyped_primitive_object_block => val[1]}
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 575
-  def _reduce_115( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: primitive_object_block = <#{val[1]}> at #{@filename}:#{@lineno}")
-    result = val[1]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 579
-  def _reduce_116( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 627)
+  def _reduce_127(val, _values, result)
+        @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 583
-  def _reduce_117( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 632)
+  def _reduce_128(val, _values, result)
+        @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 587
-  def _reduce_118( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 637)
+  def _reduce_129(val, _values, result)
+        @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 591
-  def _reduce_119( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 642)
+  def _reduce_130(val, _values, result)
+        @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 595
-  def _reduce_120( val, _values, result )
+  
+    result
+  end
+.,.,
+
+# reduce 131 omitted
+
+# reduce 132 omitted
+
+# reduce 133 omitted
+
+# reduce 134 omitted
+
+# reduce 135 omitted
+
+# reduce 136 omitted
+
+# reduce 137 omitted
+
+# reduce 138 omitted
+
+# reduce 139 omitted
+
+# reduce 140 omitted
+
+# reduce 141 omitted
+
+# reduce 142 omitted
+
+# reduce 143 omitted
+
+# reduce 144 omitted
+
+# reduce 145 omitted
+
+module_eval(<<'.,.,', 'parser.y', 665)
+  def _reduce_146(val, _values, result)
+        @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 600
-  def _reduce_121( val, _values, result )
-    @@log.info("string_value: #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 670)
+  def _reduce_147(val, _values, result)
+        @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 605
-  def _reduce_122( val, _values, result )
-    @@log.info("integer_value: #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 676)
+  def _reduce_148(val, _values, result)
+        @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 610
-  def _reduce_123( val, _values, result )
-    @@log.info("real_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 615
-  def _reduce_124( val, _values, result )
-    @@log.info("boolean_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 620
-  def _reduce_125( val, _values, result )
-    @@log.info("character_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 625
-  def _reduce_126( val, _values, result )
-    @@log.info("date_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 630
-  def _reduce_127( val, _values, result )
-    @@log.info("time_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 635
-  def _reduce_128( val, _values, result )
-    @@log.info("date_time_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 640
-  def _reduce_129( val, _values, result )
-    @@log.info("duration_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 645
-  def _reduce_130( val, _values, result )
-    @@log.info("uri_value: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
- # reduce 131 omitted
-
- # reduce 132 omitted
-
- # reduce 133 omitted
-
- # reduce 134 omitted
-
- # reduce 135 omitted
-
- # reduce 136 omitted
-
- # reduce 137 omitted
-
- # reduce 138 omitted
-
- # reduce 139 omitted
-
- # reduce 140 omitted
-
- # reduce 141 omitted
-
- # reduce 142 omitted
-
- # reduce 143 omitted
-
- # reduce 144 omitted
-
- # reduce 145 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 668
-  def _reduce_146( val, _values, result )
-    @@log.info("V_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 673
-  def _reduce_147( val, _values, result )
-    @@log.info("V_GENERIC_TYPE_IDENTIFIER: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 679
-  def _reduce_148( val, _values, result )
-    @@log.info("V_STRING: #{val[0]} at #{@filename}:#{@lineno}")
-    result = val[0]
-   result
-  end
-.,.,
-
- # reduce 149 omitted
-
- # reduce 150 omitted
-
- # reduce 151 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 693
-  def _reduce_152( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+# reduce 149 omitted
+
+# reduce 150 omitted
+
+# reduce 151 omitted
+
+module_eval(<<'.,.,', 'parser.y', 686)
+  def _reduce_152(val, _values, result)
+        begin
       integer = Integer(val[0])
     rescue
@@ -2942,11 +3036,12 @@
     end
     result = integer
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 702
-  def _reduce_153( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 695)
+  def _reduce_153(val, _values, result)
+        begin
       integer = Integer(val[0])
     rescue
@@ -2954,11 +3049,12 @@
     end
     result = integer
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 711
-  def _reduce_154( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 704)
+  def _reduce_154(val, _values, result)
+        begin
       integer = Integer(val[0])
     rescue
@@ -2966,35 +3062,36 @@
     end
     result = - integer
-   result
-  end
-.,.,
-
- # reduce 155 omitted
-
- # reduce 156 omitted
-
- # reduce 157 omitted
-
- # reduce 158 omitted
-
- # reduce 159 omitted
-
- # reduce 160 omitted
-
- # reduce 161 omitted
-
- # reduce 162 omitted
-
- # reduce 163 omitted
-
- # reduce 164 omitted
-
- # reduce 165 omitted
-
- # reduce 166 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 737
-  def _reduce_167( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+# reduce 155 omitted
+
+# reduce 156 omitted
+
+# reduce 157 omitted
+
+# reduce 158 omitted
+
+# reduce 159 omitted
+
+# reduce 160 omitted
+
+# reduce 161 omitted
+
+# reduce 162 omitted
+
+# reduce 163 omitted
+
+# reduce 164 omitted
+
+# reduce 165 omitted
+
+# reduce 166 omitted
+
+module_eval(<<'.,.,', 'parser.y', 730)
+  def _reduce_167(val, _values, result)
+        begin
       real = Float(val[0])
     rescue
@@ -3002,11 +3099,12 @@
     end
     result = real
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 746
-  def _reduce_168( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 739)
+  def _reduce_168(val, _values, result)
+        begin
       real = Float(val[1])
     rescue
@@ -3014,11 +3112,12 @@
     end
     result = real
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 755
-  def _reduce_169( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 748)
+  def _reduce_169(val, _values, result)
+        begin
       real = Float(val[1])
     rescue
@@ -3026,303 +3125,313 @@
     end
     result = - real
-   result
-  end
-.,.,
-
- # reduce 170 omitted
-
- # reduce 171 omitted
-
- # reduce 172 omitted
-
- # reduce 173 omitted
-
- # reduce 174 omitted
-
- # reduce 175 omitted
-
- # reduce 176 omitted
-
- # reduce 177 omitted
-
- # reduce 178 omitted
-
- # reduce 179 omitted
-
- # reduce 180 omitted
-
- # reduce 181 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 775
-  def _reduce_182( val, _values, result )
-    result = true
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 779
-  def _reduce_183( val, _values, result )
-    result = false
-   result
-  end
-.,.,
-
- # reduce 184 omitted
-
- # reduce 185 omitted
-
- # reduce 186 omitted
-
- # reduce 187 omitted
-
- # reduce 188 omitted
-
- # reduce 189 omitted
-
- # reduce 190 omitted
-
- # reduce 191 omitted
-
- # reduce 192 omitted
-
- # reduce 193 omitted
-
- # reduce 194 omitted
-
- # reduce 195 omitted
-
- # reduce 196 omitted
-
- # reduce 197 omitted
-
- # reduce 198 omitted
-
- # reduce 199 omitted
-
- # reduce 200 omitted
-
- # reduce 201 omitted
-
- # reduce 202 omitted
-
- # reduce 203 omitted
-
- # reduce 204 omitted
-
- # reduce 205 omitted
-
- # reduce 206 omitted
-
- # reduce 207 omitted
-
- # reduce 208 omitted
-
- # reduce 209 omitted
-
- # reduce 210 omitted
-
- # reduce 211 omitted
-
- # reduce 212 omitted
-
- # reduce 213 omitted
-
- # reduce 214 omitted
-
- # reduce 215 omitted
-
- # reduce 216 omitted
-
- # reduce 217 omitted
-
- # reduce 218 omitted
-
- # reduce 219 omitted
-
- # reduce 220 omitted
-
- # reduce 221 omitted
-
- # reduce 222 omitted
-
- # reduce 223 omitted
-
- # reduce 224 omitted
-
- # reduce 225 omitted
-
- # reduce 226 omitted
-
- # reduce 227 omitted
-
- # reduce 228 omitted
-
- # reduce 229 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 843
-  def _reduce_230( val, _values, result )
-    @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+# reduce 170 omitted
+
+# reduce 171 omitted
+
+# reduce 172 omitted
+
+# reduce 173 omitted
+
+# reduce 174 omitted
+
+# reduce 175 omitted
+
+# reduce 176 omitted
+
+# reduce 177 omitted
+
+# reduce 178 omitted
+
+# reduce 179 omitted
+
+# reduce 180 omitted
+
+# reduce 181 omitted
+
+module_eval(<<'.,.,', 'parser.y', 773)
+  def _reduce_182(val, _values, result)
+        result = true
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 777)
+  def _reduce_183(val, _values, result)
+        result = false
+  
+    result
+  end
+.,.,
+
+# reduce 184 omitted
+
+# reduce 185 omitted
+
+# reduce 186 omitted
+
+# reduce 187 omitted
+
+# reduce 188 omitted
+
+# reduce 189 omitted
+
+# reduce 190 omitted
+
+# reduce 191 omitted
+
+# reduce 192 omitted
+
+# reduce 193 omitted
+
+# reduce 194 omitted
+
+# reduce 195 omitted
+
+# reduce 196 omitted
+
+# reduce 197 omitted
+
+# reduce 198 omitted
+
+# reduce 199 omitted
+
+# reduce 200 omitted
+
+# reduce 201 omitted
+
+# reduce 202 omitted
+
+# reduce 203 omitted
+
+# reduce 204 omitted
+
+# reduce 205 omitted
+
+# reduce 206 omitted
+
+# reduce 207 omitted
+
+# reduce 208 omitted
+
+# reduce 209 omitted
+
+# reduce 210 omitted
+
+# reduce 211 omitted
+
+# reduce 212 omitted
+
+# reduce 213 omitted
+
+# reduce 214 omitted
+
+# reduce 215 omitted
+
+# reduce 216 omitted
+
+# reduce 217 omitted
+
+# reduce 218 omitted
+
+# reduce 219 omitted
+
+# reduce 220 omitted
+
+# reduce 221 omitted
+
+# reduce 222 omitted
+
+# reduce 223 omitted
+
+# reduce 224 omitted
+
+# reduce 225 omitted
+
+# reduce 226 omitted
+
+# reduce 227 omitted
+
+# reduce 228 omitted
+
+# reduce 229 omitted
+
+module_eval(<<'.,.,', 'parser.y', 840)
+  def _reduce_230(val, _values, result)
+        @@log.info("V_ISO8601_DURATION: #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
- # reduce 231 omitted
-
- # reduce 232 omitted
-
- # reduce 233 omitted
-
- # reduce 234 omitted
-
- # reduce 235 omitted
-
- # reduce 236 omitted
-
- # reduce 237 omitted
-
- # reduce 238 omitted
-
- # reduce 239 omitted
-
- # reduce 240 omitted
-
- # reduce 241 omitted
-
- # reduce 242 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 863
-  def _reduce_243( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+# reduce 231 omitted
+
+# reduce 232 omitted
+
+# reduce 233 omitted
+
+# reduce 234 omitted
+
+# reduce 235 omitted
+
+# reduce 236 omitted
+
+# reduce 237 omitted
+
+# reduce 238 omitted
+
+# reduce 239 omitted
+
+# reduce 240 omitted
+
+# reduce 241 omitted
+
+# reduce 242 omitted
+
+module_eval(<<'.,.,', 'parser.y', 860)
+  def _reduce_243(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: V_QUALIFIED_TERM_CODE_REF = #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
- # reduce 244 omitted
-
- # reduce 245 omitted
-
- # reduce 246 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 873
-  def _reduce_247( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
+  
+    result
+  end
+.,.,
+
+# reduce 244 omitted
+
+# reduce 245 omitted
+
+# reduce 246 omitted
+
+module_eval(<<'.,.,', 'parser.y', 870)
+  def _reduce_247(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}: V_URI = #{val[0]} at #{@filename}:#{@lineno}")
     result = val[0]
-   result
-  end
-.,.,
-
- # reduce 248 omitted
-
- # reduce 249 omitted
-
- # reduce 250 omitted
-
- # reduce 251 omitted
-
- # reduce 252 omitted
-
- # reduce 253 omitted
-
- # reduce 254 omitted
-
- # reduce 255 omitted
-
- # reduce 256 omitted
-
- # reduce 257 omitted
-
- # reduce 258 omitted
-
- # reduce 259 omitted
-
- # reduce 260 omitted
-
- # reduce 261 omitted
-
- # reduce 262 omitted
-
- # reduce 263 omitted
-
- # reduce 264 omitted
-
- # reduce 265 omitted
-
- # reduce 266 omitted
-
- # reduce 267 omitted
-
- # reduce 268 omitted
-
- # reduce 269 omitted
-
- # reduce 270 omitted
-
- # reduce 271 omitted
-
- # reduce 272 omitted
-
- # reduce 273 omitted
-
- # reduce 274 omitted
-
- # reduce 275 omitted
-
- # reduce 276 omitted
-
- # reduce 277 omitted
-
- # reduce 278 omitted
-
- # reduce 279 omitted
-
- # reduce 280 omitted
-
- # reduce 281 omitted
-
- # reduce 282 omitted
-
- # reduce 283 omitted
-
- # reduce 284 omitted
-
- # reduce 285 omitted
-
- # reduce 286 omitted
-
- # reduce 287 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 942
-  def _reduce_288( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 946
-  def _reduce_289( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}")
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 957
-  def _reduce_290( val, _values, result )
-    result = Range.new(1,1)
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 961
-  def _reduce_291( val, _values, result )
-    result = val[3]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 971
-  def _reduce_292( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+# reduce 248 omitted
+
+# reduce 249 omitted
+
+# reduce 250 omitted
+
+# reduce 251 omitted
+
+# reduce 252 omitted
+
+# reduce 253 omitted
+
+# reduce 254 omitted
+
+# reduce 255 omitted
+
+# reduce 256 omitted
+
+# reduce 257 omitted
+
+# reduce 258 omitted
+
+# reduce 259 omitted
+
+# reduce 260 omitted
+
+# reduce 261 omitted
+
+# reduce 262 omitted
+
+# reduce 263 omitted
+
+# reduce 264 omitted
+
+# reduce 265 omitted
+
+# reduce 266 omitted
+
+# reduce 267 omitted
+
+# reduce 268 omitted
+
+# reduce 269 omitted
+
+# reduce 270 omitted
+
+# reduce 271 omitted
+
+# reduce 272 omitted
+
+# reduce 273 omitted
+
+# reduce 274 omitted
+
+# reduce 275 omitted
+
+# reduce 276 omitted
+
+# reduce 277 omitted
+
+# reduce 278 omitted
+
+# reduce 279 omitted
+
+# reduce 280 omitted
+
+# reduce 281 omitted
+
+# reduce 282 omitted
+
+# reduce 283 omitted
+
+# reduce 284 omitted
+
+# reduce 285 omitted
+
+# reduce 286 omitted
+
+# reduce 287 omitted
+
+module_eval(<<'.,.,', 'parser.y', 940)
+  def _reduce_288(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 944)
+  def _reduce_289(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{val[0]} at #{@filename}") 
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 955)
+  def _reduce_290(val, _values, result)
+        result = Range.new(1,1)
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 959)
+  def _reduce_291(val, _values, result)
+        result = val[3]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 964)
+  def _reduce_292(val, _values, result)
+        begin
       integer = Integer(val[0])
     rescue
@@ -3330,11 +3439,12 @@
     end
     result = integer
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 981
-  def _reduce_293( val, _values, result )
-    begin
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 973)
+  def _reduce_293(val, _values, result)
+        begin
       from_integer = Integer(val[0])
       to_integer = Integer(val[2])
@@ -3343,271 +3453,288 @@
     end
     result = Range.new(from_integer,to_integer)
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 986
-  def _reduce_294( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new
-   result
-  end
-.,.,
-
- # reduce 295 omitted
-
- # reduce 296 omitted
-
- # reduce 297 omitted
-
- # reduce 298 omitted
-
- # reduce 299 omitted
-
- # reduce 300 omitted
-
- # reduce 301 omitted
-
- # reduce 302 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 1000
-  def _reduce_303( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1004
-  def _reduce_304( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
- # reduce 305 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 1011
-  def _reduce_306( val, _values, result )
-    result = val[3]
-   result
-  end
-.,.,
-
- # reduce 307 omitted
-
- # reduce 308 omitted
-
- # reduce 309 omitted
-
- # reduce 310 omitted
-
- # reduce 311 omitted
-
- # reduce 312 omitted
-
- # reduce 313 omitted
-
- # reduce 314 omitted
-
- # reduce 315 omitted
-
- # reduce 316 omitted
-
- # reduce 317 omitted
-
- # reduce 318 omitted
-
- # reduce 319 omitted
-
- # reduce 320 omitted
-
- # reduce 321 omitted
-
- # reduce 322 omitted
-
- # reduce 323 omitted
-
- # reduce 324 omitted
-
- # reduce 325 omitted
-
- # reduce 326 omitted
-
- # reduce 327 omitted
-
- # reduce 328 omitted
-
- # reduce 329 omitted
-
- # reduce 330 omitted
-
- # reduce 331 omitted
-
- # reduce 332 omitted
-
- # reduce 333 omitted
-
- # reduce 334 omitted
-
- # reduce 335 omitted
-
- # reduce 336 omitted
-
- # reduce 337 omitted
-
- # reduce 338 omitted
-
- # reduce 339 omitted
-
- # reduce 340 omitted
-
- # reduce 341 omitted
-
- # reduce 342 omitted
-
- # reduce 343 omitted
-
- # reduce 344 omitted
-
- # reduce 345 omitted
-
- # reduce 346 omitted
-
- # reduce 347 omitted
-
- # reduce 348 omitted
-
- # reduce 349 omitted
-
- # reduce 350 omitted
-
- # reduce 351 omitted
-
- # reduce 352 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 1081
-  def _reduce_353( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1085
-  def _reduce_354( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1089
-  def _reduce_355( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1093
-  def _reduce_356( val, _values, result )
-    result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1098
-  def _reduce_357( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1102
-  def _reduce_358( val, _values, result )
-    raise 'Not implemented yet'
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1106
-  def _reduce_359( val, _values, result )
-    raise 'Not implemented yet'
-   result
-  end
-.,.,
-
- # reduce 360 omitted
-
- # reduce 361 omitted
-
- # reduce 362 omitted
-
- # reduce 363 omitted
-
- # reduce 364 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 1119
-  def _reduce_365( val, _values, result )
-    @in_interval = false
-    @@log.info("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}")
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1125
-  def _reduce_366( val, _values, result )
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 984)
+  def _reduce_294(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::CARDINALITY.new
+  
+    result
+  end
+.,.,
+
+# reduce 295 omitted
+
+# reduce 296 omitted
+
+# reduce 297 omitted
+
+# reduce 298 omitted
+
+# reduce 299 omitted
+
+# reduce 300 omitted
+
+# reduce 301 omitted
+
+# reduce 302 omitted
+
+module_eval(<<'.,.,', 'parser.y', 998)
+  def _reduce_303(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1002)
+  def _reduce_304(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+# reduce 305 omitted
+
+module_eval(<<'.,.,', 'parser.y', 1009)
+  def _reduce_306(val, _values, result)
+        result = val[3]
+  
+    result
+  end
+.,.,
+
+# reduce 307 omitted
+
+# reduce 308 omitted
+
+# reduce 309 omitted
+
+# reduce 310 omitted
+
+# reduce 311 omitted
+
+# reduce 312 omitted
+
+# reduce 313 omitted
+
+# reduce 314 omitted
+
+# reduce 315 omitted
+
+# reduce 316 omitted
+
+# reduce 317 omitted
+
+# reduce 318 omitted
+
+# reduce 319 omitted
+
+# reduce 320 omitted
+
+# reduce 321 omitted
+
+# reduce 322 omitted
+
+# reduce 323 omitted
+
+# reduce 324 omitted
+
+# reduce 325 omitted
+
+# reduce 326 omitted
+
+# reduce 327 omitted
+
+# reduce 328 omitted
+
+# reduce 329 omitted
+
+# reduce 330 omitted
+
+# reduce 331 omitted
+
+# reduce 332 omitted
+
+# reduce 333 omitted
+
+# reduce 334 omitted
+
+# reduce 335 omitted
+
+# reduce 336 omitted
+
+# reduce 337 omitted
+
+# reduce 338 omitted
+
+# reduce 339 omitted
+
+# reduce 340 omitted
+
+# reduce 341 omitted
+
+# reduce 342 omitted
+
+# reduce 343 omitted
+
+# reduce 344 omitted
+
+# reduce 345 omitted
+
+# reduce 346 omitted
+
+# reduce 347 omitted
+
+# reduce 348 omitted
+
+# reduce 349 omitted
+
+# reduce 350 omitted
+
+# reduce 351 omitted
+
+# reduce 352 omitted
+
+module_eval(<<'.,.,', 'parser.y', 1079)
+  def _reduce_353(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true)
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1083)
+  def _reduce_354(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false)
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1087)
+  def _reduce_355(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => true,:false_valid => false)
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1091)
+  def _reduce_356(val, _values, result)
+        result = OpenEHR::AM::Archetype::Constraint_Model::Primitive::C_BOOLEAN.new(:true_valid => false,:false_valid => true)
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1096)
+  def _reduce_357(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1100)
+  def _reduce_358(val, _values, result)
+        raise 'Not implemented yet'
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1104)
+  def _reduce_359(val, _values, result)
+        raise 'Not implemented yet'
+  
+    result
+  end
+.,.,
+
+# reduce 360 omitted
+
+# reduce 361 omitted
+
+# reduce 362 omitted
+
+# reduce 363 omitted
+
+# reduce 364 omitted
+
+module_eval(<<'.,.,', 'parser.y', 1116)
+  def _reduce_365(val, _values, result)
+        @in_interval = false
+    @@log.info("#{__FILE__}:#{__LINE__}, #{val[0]}|#{val[2]} at #{@filename}") 
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1123)
+  def _reduce_366(val, _values, result)
+          result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1127)
+  def _reduce_367(val, _values, result)
+          result = val[0]
+  
+    result
+  end
+.,.,
+
+# reduce 368 omitted
+
+# reduce 369 omitted
+
+# reduce 370 omitted
+
+# reduce 371 omitted
+
+module_eval(<<'.,.,', 'parser.y', 1142)
+  def _reduce_372(val, _values, result)
+          result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1147)
+  def _reduce_373(val, _values, result)
+          result = val[0]
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1151)
+  def _reduce_374(val, _values, result)
+        @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
       result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1129
-  def _reduce_367( val, _values, result )
-      result = val[0]
-   result
-  end
-.,.,
-
- # reduce 368 omitted
-
- # reduce 369 omitted
-
- # reduce 370 omitted
-
- # reduce 371 omitted
-
-module_eval <<'.,.,', 'lib/parser.y', 1144
-  def _reduce_372( val, _values, result )
-      result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1149
-  def _reduce_373( val, _values, result )
-      result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1154
-  def _reduce_374( val, _values, result )
-    @@log.info("#{__FILE__}:#{__LINE__}, V_ATTRIBUTE_IDENTIFIER = #{word} at #{@filename}")
-      result = val[0]
-   result
-  end
-.,.,
-
-module_eval <<'.,.,', 'lib/parser.y', 1164
-  def _reduce_375( val, _values, result )
-    result = val[0]
-   result
-  end
-.,.,
-
- def _reduce_none( val, _values, result )
-  result
- end
+  
+    result
+  end
+.,.,
+
+module_eval(<<'.,.,', 'parser.y', 1162)
+  def _reduce_375(val, _values, result)
+        result = val[0]
+  
+    result
+  end
+.,.,
+
+def _reduce_none(val, _values, result)
+  val[0]
+end
 
     end   # class Parser
-
-  end   # module ADL
-
-end   # module OpenEHR
+    end   # module ADL
+  end   # module OpenEHR
