parsing WITH SYNTAX clauses


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1074 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/tests/34-class-OK.asn1 b/tests/34-class-OK.asn1
index 48437fb..2ea8901 100644
--- a/tests/34-class-OK.asn1
+++ b/tests/34-class-OK.asn1
@@ -14,7 +14,7 @@
 	-- First CLASS
 
 	EXTENSION ::= CLASS {
-		&id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
+		&id [PRIVATE 0] INTEGER UNIQUE,
 		&ExtnType
 	} WITH SYNTAX {
 		SYNTAX		&ExtnType
@@ -35,6 +35,8 @@
 
 	terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
 
+	TerminalType ::= INTEGER { terminal(0) }
+
 	-- Advanced CLASS extraction
 
 	ExtensionAttribute ::= SEQUENCE {
diff --git a/tests/34-class-OK.asn1.-EF b/tests/34-class-OK.asn1.-EF
index 8cc56ee..8af80a8 100644
--- a/tests/34-class-OK.asn1.-EF
+++ b/tests/34-class-OK.asn1.-EF
@@ -4,7 +4,7 @@
 BEGIN
 
 EXTENSION ::= CLASS {
-    &id	 [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
+    &id	 [PRIVATE 0] INTEGER UNIQUE,
     &ExtnType	
 } WITH SYNTAX {
 		SYNTAX		&ExtnType
@@ -24,6 +24,10 @@
 
 terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
 
+TerminalType ::= INTEGER {
+    terminal(0)
+}
+
 ExtensionAttribute ::= SEQUENCE {
     extension-attribute-type	 [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
     extension-attribute-value	 [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
diff --git a/tests/34-class-OK.asn1.-EFprint-class-matrix b/tests/34-class-OK.asn1.-EFprint-class-matrix
new file mode 100644
index 0000000..f97de09
--- /dev/null
+++ b/tests/34-class-OK.asn1.-EFprint-class-matrix
@@ -0,0 +1,43 @@
+ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1)
+	spelio(9363) software(1) asn1c(5) test(1) 34 }
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+EXTENSION ::= CLASS {
+    &id	 [PRIVATE 0] INTEGER UNIQUE,
+    &ExtnType	
+} WITH SYNTAX {
+		SYNTAX		&ExtnType
+		IDENTIFIED BY	&id
+	}
+
+-- Class matrix is empty
+
+Ext1 ::= SEQUENCE {
+    extnId	 EXTENSION.&id
+}
+
+EXTENSION-ATTRIBUTE ::= CLASS {
+    &id	 INTEGER (0..256) UNIQUE,
+    &Type	 ANY
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+-- Class matrix has 1 entry:
+--    [         &id][       &Type]
+-- [1]           23  TerminalType 
+
+
+terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+
+TerminalType ::= INTEGER {
+    terminal(0)
+}
+
+ExtensionAttribute ::= SEQUENCE {
+    extension-attribute-type	 [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
+    extension-attribute-value	 [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
+}
+
+ub-extension-attributes INTEGER ::= 256
+
+END