From a6a84d7160af11ce5346e4cb29eb0b60215f2028 Mon Sep 17 00:00:00 2001 From: vlm Date: Thu, 16 Mar 2006 10:03:35 +0000 Subject: parsing WITH SYNTAX clauses git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1074 59561ff5-6e30-0410-9f3c-9617f08c8826 --- tests/34-class-OK.asn1 | 4 ++- tests/34-class-OK.asn1.-EF | 6 +++- tests/34-class-OK.asn1.-EFprint-class-matrix | 43 ++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 tests/34-class-OK.asn1.-EFprint-class-matrix (limited to 'tests') diff --git a/tests/34-class-OK.asn1 b/tests/34-class-OK.asn1 index 48437fba..2ea89011 100644 --- a/tests/34-class-OK.asn1 +++ b/tests/34-class-OK.asn1 @@ -14,7 +14,7 @@ BEGIN -- First CLASS EXTENSION ::= CLASS { - &id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE, + &id [PRIVATE 0] INTEGER UNIQUE, &ExtnType } WITH SYNTAX { SYNTAX &ExtnType @@ -35,6 +35,8 @@ BEGIN 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 8cc56eee..8af80a86 100644 --- a/tests/34-class-OK.asn1.-EF +++ b/tests/34-class-OK.asn1.-EF @@ -4,7 +4,7 @@ DEFINITIONS IMPLICIT TAGS ::= BEGIN EXTENSION ::= CLASS { - &id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE, + &id [PRIVATE 0] INTEGER UNIQUE, &ExtnType } WITH SYNTAX { SYNTAX &ExtnType @@ -24,6 +24,10 @@ EXTENSION-ATTRIBUTE ::= CLASS { 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 00000000..f97de09d --- /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 -- cgit v1.2.3