Index: ruby/trunk/adl_parser/lib/parser.y
===================================================================
--- ruby/trunk/adl_parser/lib/parser.y	(revision 17)
+++ ruby/trunk/adl_parser/lib/parser.y	(revision 18)
@@ -229,4 +229,7 @@
 
 attr_id: V_ATTRIBUTE_IDENTIFIER
+  {
+    @@log.info("dADL::V_ATTRIBUTE_IDENTIFIER: #{val[0]} at #{@filename}")
+  }
   | V_ATTRIBUTE_IDENTIFIER error
 
@@ -295,4 +298,7 @@
 
 string_value: V_STRING
+  {
+    @@log.info("V_STRING: #{val[0]} at #{@filename}")
+  }
 
 string_list_value: V_STRING Comma_code V_STRING
@@ -301,6 +307,8 @@
 
 integer_value: V_INTEGER
-  | '+' V_INTEGER
-  | '-' V_INTEGER
+  | Plus_code V_INTEGER
+  | Minus_code V_INTEGER
+###   | '+' V_INTEGER
+###   | '-' V_INTEGER
 
 integer_list_value: integer_value Comma_code integer_value
@@ -319,6 +327,8 @@
 
 real_value: V_REAL
-  | '+' V_REAL
-  | '-' V_REAL
+  | Plus_code V_REAL
+  | Minus_code V_REAL
+#  | '+' V_REAL
+#  | '-' V_REAL
 
 real_list_value: real_value Comma_code real_value
@@ -643,5 +653,5 @@
 ---- inner
 
-@@log = Logger.new('log/parser.log')
+@@log = Logger.new('log/parser.log','daily')
 @@dadl_scanner = OpenEHR::ADL::Scanner::DADL::RootScanner.new
 
@@ -760,4 +770,5 @@
         word = $&
         if @@adl_reserved[word]
+          @@log.info("@@adl_reserved: #{@@adl_reserved[word]} at #{@filename}")
           yield @@adl_reserved[word], @@adl_reserved[word]
         elsif #/\A[A-Z][a-zA-Z0-9_]*/
@@ -840,5 +851,5 @@
         else
           @in_interval = true
-          @start_block_received = false
+#          @start_block_received = false
         end
         yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM
@@ -1007,4 +1018,5 @@
         else
           @in_interval = false
+#          @in_interval = true
         end
         yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM
@@ -1137,6 +1149,4 @@
           @adl_type.push(:dadl)
           yield :SYM_START_DBLOCK, :SYM_START_DBLOCK
-#         else
-#           @in_interval = false
         end
       when /\A\>/   # >
@@ -1200,4 +1210,5 @@
         else
           @in_interval = false
+#          @in_interval = true
         end
         yield :SYM_INTERVAL_DELIM, :SYM_INTERVAL_DELIM
@@ -1206,23 +1217,23 @@
 ###       when /\A\[[a-zA-Z0-9][a-zA-Z0-9._\-]*\]/   #V_LOCAL_TERM_CODE_REF
 ###         yield :V_LOCAL_TERM_CODE_REF, $&
-      when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/   #ERR_V_QUALIFIED_TERM_CODE_REF
-        yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&
+###       when /\A\[[a-zA-Z0-9._\- ]+::[a-zA-Z0-9._\- ]+\]/   #ERR_V_QUALIFIED_TERM_CODE_REF
+###         yield :ERR_V_QUALIFIED_TERM_CODE_REF, $&
       when /\A\[/   # [
         yield :Left_bracket_code, :Left_bracket_code
       when /\A\]/   # ]
         yield :Right_bracket_code, :Right_bracket_code
-      when /\A[A-Z][a-zA-Z0-9_-]*/
-        yield :V_TYPE_IDENTIFIER, $&
-      when /\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/   #V_GENERIC_TYPE_IDENTIFIER
-        yield :V_GENERIC_TYPE_IDENTIFIER, $&
-      when /\A[a-z][a-zA-Z0-9_]*/
-        word = $&.downcase
-        if @@dadl_reserved[word]
-          yield @@dadl_reserved[word], @@dadl_reserved[word]
-        else
-          yield :V_ATTRIBUTE_IDENTIFIER, $&
-        end
-      when /\Aa[ct][0-9.]+/   #V_LOCAL_CODE
-        yield :V_LOCAL_CODE, $&
+###       when /\A[A-Z][a-zA-Z0-9_-]*/
+###         yield :V_TYPE_IDENTIFIER, $&
+###       when /\A[A-Z][a-zA-Z0-9_]*<[a-zA-Z0-9,_<>]+>/   #V_GENERIC_TYPE_IDENTIFIER
+###         yield :V_GENERIC_TYPE_IDENTIFIER, $&
+###       when /\A[a-z][a-zA-Z0-9_]*/
+###         word = $&.downcase
+###         if @@dadl_reserved[word]
+###           yield @@dadl_reserved[word], @@dadl_reserved[word]
+###         else
+###           yield :V_ATTRIBUTE_IDENTIFIER, $&
+###         end
+###       when /\Aa[ct][0-9.]+/   #V_LOCAL_CODE
+###         yield :V_LOCAL_CODE, $&
       when /\A[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](,[0-9]+)?(Z|[+-][0-9]{4})?|[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9](Z|[+-][0-9]{4})?|[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9](Z|[+-][0-9]{4})?/   #V_ISO8601_EXTENDED_DATE_TIME YYYY-MM-DDThh:mm:ss[,sss][Z|+/- -n-n-n-n-]-
         yield :V_ISO8601_EXTENDED_DATE_TIME, $&
@@ -1235,9 +1246,9 @@
       when /\A[0-9]+|[0-9]+[eE][+-]?[0-9]+/   #V_INTEGER
         yield :V_INTEGER, $&
-      when /\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+ /   #V_REAL
-        yield :V_REAL, $&
+###       when /\A[0-9]+\.[0-9]+|[0-9]+\.[0-9]+[eE][+-]?[0-9]+ /   #V_REAL
+###         yield :V_REAL, $&
         #    when /\A"((?:[^"\\]+|\\.)*)"/ #V_STRING
-      when /\A"([^"]*)"/m #V_STRING
-        yield :V_STRING, $1
+###       when /\A"([^"]*)"/m #V_STRING
+###         yield :V_STRING, $1
       when /\A[a-z]+:\/\/[^<>|\\{}^~"\[\] ]*/ #V_URI
         yield :V_URI, $&
