Module Structure |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
EMPTY MODULE SUPPORT |
MY-MODULE
DEFINITIONS ::= BEGIN |
0001.asn1 |
S |
S |
S |
S |
2 |
Support of definite
identifier in the module reference |
MY-MODULE
{ iso standard(0) dod(6) internet (1) private(4) |
0002.asn1 |
S |
S |
S |
S |
3 |
EXPLICIT TAGS support |
MY-MODULE
DEFINITIONS EXPLICIT TAGS ::= BEGIN |
0003.asn1 |
S |
S |
S |
S |
4 |
IMPLICIT TAGS support |
MY-MODULE
DEFINITIONS IMPLICIT TAGS ::= BEGIN |
0004.asn1 |
S |
S |
S |
S |
5 |
AUTOMATIC TAGS
support |
MY-MODULE
DEFINITIONS AUTOMATIC TAGS ::= BEGIN |
0005.asn1 |
S |
S |
S |
F |
6 |
Support of AUTOMATIC
TAGS combined with EXTENSIBILITY IMPLIED |
MY-MODULE
DEFINITIONS AUTOMATIC TAGS EXTENSIBILITY IMPLIED ::= BEGIN |
0006.asn1 |
S |
S |
S |
F |
7 |
Support of EXPLICIT
TAGS combined with EXTENSIBILITY IMPLIED |
MY-MODULE
DEFINITIONS EXPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN |
0007.asn1 |
S |
S |
S |
F |
8 |
Support of IMPLICIT
TAGS combined with EXTENSIBILITY IMPLIED |
MY-MODULE
DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN |
0008.asn1 |
S |
S |
S |
F |
9 |
Support of two
modules in the same ASN.1 file |
MY-MODULE1
DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN |
0009.asn1 |
S |
S |
S |
F |
10 |
EXPORTS ALL support |
EXPORTS
ALL; |
0010.asn1 |
S |
S[2] |
F |
|
11 |
Ability to export
specific types or variables |
MY-MODULE
DEFINITIONS ::= BEGIN |
0011.asn1 |
S |
S |
S |
S |
12 |
Ability to import
types or variables from another module |
MY-MODULE
DEFINITIONS ::= BEGIN |
0012.asn1 |
S |
S9 |
S10 |
S |
13 |
ASN.1 Comments
support |
|
0013.asn1 |
S |
S |
S |
S |
14 |
Support of type
assigments with the same name in different modules |
ModuleDuplicateTypes1
DEFINITIONS ::= BEGIN |
0014.asn1 |
S |
S |
F |
S |
15 |
Prevention of declaring
two modules with the same name |
ModuleDuplicate
DEFINITIONS ::= BEGIN |
0015_FAIL.asn1 |
F[3] |
S |
S |
S |
16 |
Comments support |
|
0016.asn1 |
F |
F |
S |
S |
Basic
Types |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
BOOLEAN support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1001.asn1 |
S |
S |
S |
S |
2 |
NULL type support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1002.asn1 |
S |
S |
S |
S |
3 |
INTEGER type and
variable support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1003.asn1 |
S |
S |
S |
S |
4 |
Named INTEGER
variables |
MY-MODULE
DEFINITIONS ::= BEGIN |
1004.asn1 |
S |
S |
S |
S |
5 |
INTEGERS with a
single value constraint |
MY-MODULE
DEFINITIONS ::= BEGIN |
1005.asn1 |
S |
S |
S |
S |
6 |
IINTEGER type with
range support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1006.asn1 |
S |
S |
S |
S |
7 |
ENUMERATED type
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1007.asn1 |
S |
S |
S |
F |
8 |
REAL type and
variable support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1008.asn1 |
S |
S |
F |
F |
9 |
Support of trio
mantissa, base and exponent for REALs |
MY-MODULE
DEFINITIONS ::= BEGIN |
1009.asn1 |
S |
S |
S |
S |
10 |
Support of REAL type
with range constraints |
MY-MODULE
DEFINITIONS ::= BEGIN |
1010.asn1 |
S |
S |
S |
F |
11 |
BIT STRING support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1011.asn1 |
S |
S |
S |
S |
12 |
BIT STRING support
with SIZE constraint |
MY-MODULE
DEFINITIONS ::= BEGIN |
1012.asn1 |
S |
S |
S |
S |
13 |
BIT STRING support with
SIZE range constraint |
MY-MODULE
DEFINITIONS ::= BEGIN |
1013.asn1 |
S |
S |
S |
S |
14 |
Syntax support for
the BIT STRING type to declare special positions of bits |
MY-MODULE
DEFINITIONS ::= BEGIN |
1014.asn1 |
S |
S |
S |
S |
15 |
EMBEDDED PDV type
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1015.asn1 |
S |
S |
S |
F |
16 |
EXTERNAL support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1016.asn1 |
S |
S |
S |
S |
17 |
OBJECT IDENTIFIER
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1017.asn1 |
S |
S |
S |
S |
18 |
OBJECT IDENTIFIER
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1018.asn1 |
S |
S |
S |
S |
19 |
Date and time support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1019.asn1 |
S |
S |
S |
F |
20 |
Tagging support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1020.asn1 |
S |
S |
S |
F |
21 |
Tagging support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1021.asn1 |
S |
S |
S |
S |
22 |
Tagging support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1022.asn1 |
S |
S |
S |
S |
23 |
Tagging support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1023.asn1 |
S |
S |
S |
S |
24 |
Tagging support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1024.asn1 |
S |
S |
S |
S |
25 |
ENUMEATED type with
extensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1025.asn1 |
S |
S |
S |
F |
26 |
Enumerated type with
extensions and exceptions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1026.asn1 |
S |
S |
F |
F |
27 |
Enumerated type with
extensions, exceptions and additional values support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1027.asn1 |
S |
S |
F |
F |
28 |
ANY support |
MY-MODULE
DEFINITIONS ::= BEGIN |
1028.asn1 |
S |
S |
S |
S |
29 |
ANY should not be
allowed because i1 is OPTIONAL |
MY-MODULE
DEFINITIONS ::= BEGIN |
1029_FAIL.asn1 |
S |
S |
S |
S |
30 |
Semantic Error: blue
collides with green |
MY-MODULE
DEFINITIONS ::= BEGIN |
1030_FAIL.asn1 |
S |
S |
S |
S |
31 |
Semantic Error:
Enumeration with non ascending order in extended values |
MY-MODULE
DEFINITIONS ::= BEGIN |
1031_FAIL.asn1 |
S |
S |
S |
S |
32 |
Semantix Error:
Enumerated with the same value |
MY-MODULE
DEFINITIONS ::= BEGIN |
1032_FAIL.asn1 |
S |
S |
F |
S |
33 |
Semantic
Error:identifiers must be distinct |
MY-MODULE
DEFINITIONS ::= BEGIN |
1033_FAIL.asn1 |
S |
S |
S |
S |
34 |
Semantic Error:
values must be distinct |
MY-MODULE
DEFINITIONS ::= BEGIN |
1034_FAIL.asn1 |
S |
S |
S |
S |
35 |
Semantix Error:
Infinite recursion |
MY-MODULE
DEFINITIONS ::= BEGIN |
1035_FAIL.asn1 |
S |
F[4] |
S |
S |
36 |
Semantic Error: beta
value is not defined anywhere |
MY-MODULE
DEFINITIONS ::= BEGIN |
1036_FAIL.asn1 |
S |
S |
S |
S |
Sequences |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
Empty SEQUENCE
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2001.asn1 |
S |
S |
S |
S |
2 |
SEQUENCE support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2002.asn1 |
S |
S |
S |
S |
3 |
OPTIONAL support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2003.asn1 |
S |
S |
S |
S |
4 |
DEFAULT value support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2004.asn1 |
S |
S |
S |
S |
5 |
Extension marking
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2005.asn1 |
S |
S |
S |
S |
6 |
Exceptions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2006.asn1 |
S |
S |
S |
F |
7 |
exceptions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2007.asn1 |
S |
S |
S |
F |
8 |
Exceptions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2008.asn1 |
S |
S |
F |
F |
9 |
Extensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2009.asn1 |
S |
S |
F |
F |
10 |
Extensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2010.asn1 |
S |
S |
S |
S |
11 |
Extensions support
with version groups |
MY-MODULE
DEFINITIONS ::= BEGIN |
2011.asn1 |
S |
S |
F |
F |
12 |
Extensions support
with version groups |
MY-MODULE
DEFINITIONS ::= BEGIN |
2012.asn1 |
S |
S |
F |
F |
13 |
Extensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2013.asn1 |
S |
S |
F |
F |
14 |
Extensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2014.asn1 |
S |
S |
F |
F |
15 |
Nested SEQUENCES |
MY-MODULE
DEFINITIONS ::= BEGIN |
2015.asn1 |
S |
S |
S |
S |
16 |
Value support for
SEQUENCE types |
MY-MODULE
DEFINITIONS ::= BEGIN |
2016.asn1 |
S |
S |
S |
S |
17 |
Value support for
SEQUENCEs with xml notation |
MY-MODULE
DEFINITIONS ::= BEGIN |
2017.asn1 |
S |
F |
F |
F |
18 |
COMPONENTS OF support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2018.asn1 |
S |
S |
S |
S |
19 |
COMPONENTS OF support |
MY-MODULE
DEFINITIONS ::= BEGIN |
2019.asn1 |
S |
S |
S |
F |
20 |
Semantix Error:
COMPONENTS OF should point to a non built in type |
MY-MODULE
DEFINITIONS ::= BEGIN |
2020_FAIL.asn1 |
S |
S |
S |
S |
21 |
DEFAULT value
supportfor nested sequences |
Module1 DEFINITIONS
::= |
2021.asn1 |
S |
S |
S |
S |
SETs |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
Empty SET support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3001.asn1 |
S |
S |
S |
S |
2 |
SET support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3002.asn1 |
S |
S |
S |
S |
3 |
OPTIONAL support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3003.asn1 |
S |
S |
S |
S |
4 |
DEFAULT value support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3004.asn1 |
S |
S |
S |
S |
5 |
Exensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3005.asn1 |
S |
S |
S |
S |
6 |
Exensions support
with exception |
MY-MODULE
DEFINITIONS ::= BEGIN |
3006.asn1 |
S |
S |
S |
F |
7 |
Exensions support
with exception |
MY-MODULE
DEFINITIONS ::= BEGIN |
3007.asn1 |
S |
S |
S |
F |
8 |
Exensions support
with exception |
MY-MODULE
DEFINITIONS ::= BEGIN |
3008.asn1 |
S |
S |
F |
F |
9 |
Exensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3009.asn1 |
S |
S |
F |
F |
10 |
Exensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3010.asn1 |
S |
S |
S |
S |
11 |
Exensions support
with version grouping |
MY-MODULE
DEFINITIONS ::= BEGIN |
3011.asn1 |
S |
S |
F |
F |
12 |
Exensions support
with version grouping |
MY-MODULE
DEFINITIONS ::= BEGIN |
3012.asn1 |
S |
S |
F |
F |
13 |
Exensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3013.asn1 |
S |
S |
F |
F |
14 |
Exensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3014.asn1 |
S |
S |
F |
F |
15 |
Nested SETS |
MY-MODULE
DEFINITIONS ::= BEGIN |
3015.asn1 |
S |
S |
S |
S |
16 |
Variables support for
SETs |
MY-MODULE
DEFINITIONS ::= BEGIN |
3016.asn1 |
S |
S |
S |
S |
17 |
Xml syntax support |
MY-MODULE
DEFINITIONS ::= BEGIN |
3017.asn1 |
S |
F |
F |
F |
Character
strings |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
BMPString support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4001.asn1 |
S |
S |
S |
S |
2 |
GeneralString string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4002.asn1 |
S |
S |
S |
S |
3 |
GraphicString string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4003.asn1 |
S |
S |
S |
S |
4 |
IA5String string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4004.asn1 |
S |
S |
S |
S |
5 |
ISO646String string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4005.asn1 |
S |
S |
F[5] |
S |
6 |
NumericString string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4006.asn1 |
S |
S |
S |
S |
7 |
PrintableString
string support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4007.asn1 |
S |
S |
S |
S |
8 |
TeletexString string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4008.asn1 |
S |
S |
S |
S |
9 |
T61String string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4009.asn1 |
S |
S |
S |
S |
10 |
UniversalString
string support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4010.asn1 |
S |
S |
S |
S |
11 |
UTF8String string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4011.asn1 |
S |
S |
S |
S |
12 |
VideotexString string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4012.asn1 |
S |
S |
S |
S |
13 |
VisibleString string
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4013.asn1 |
S |
S |
S |
S |
14 |
CHARACTER STRING
support |
MY-MODULE
DEFINITIONS ::= BEGIN |
4014.asn1 |
S |
S |
S |
F |
Sequence
Of |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
SEQUENCE OF support |
MY-MODULE
DEFINITIONS ::= BEGIN |
5001.asn1 |
S |
S |
S |
S |
2 |
Variables support for
SEQUENCE OF |
MY-MODULE
DEFINITIONS ::= BEGIN |
5002.asn1 |
S |
S |
S |
S |
3 |
SEQUENCE OF support
with size constraint |
MY-MODULE
DEFINITIONS ::= BEGIN |
5003.asn1 |
S |
S |
S |
S |
4 |
SEQUENCE OF support
with size range constraint |
MY-MODULE
DEFINITIONS ::= BEGIN |
5004.asn1 |
S |
S |
S |
S |
5 |
SEQUENCE OF support
with name elements |
MY-MODULE
DEFINITIONS ::= BEGIN |
5005.asn1 |
S |
S |
S |
F |
Choices |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
CHOICE support |
MY-MODULE
DEFINITIONS ::= BEGIN |
6001.asn1 |
S |
S |
S |
S |
2 |
CHOICE support with
just one alternative |
MY-MODULE
DEFINITIONS ::= BEGIN |
6002.asn1 |
S |
S |
S |
S |
3 |
Variables support for
CHOICEs |
MY-MODULE
DEFINITIONS ::= BEGIN |
6003.asn1 |
S |
S |
S |
F |
4 |
Extensions support |
MY-MODULE
DEFINITIONS ::= BEGIN |
6004.asn1 |
S |
S |
S |
S |
5 |
Extensions support
with exceptions |
MY-MODULE
DEFINITIONS ::= BEGIN |
6005.asn1 |
S |
S |
S |
F |
6 |
Extensions support
with exceptions and version grouping |
MY-MODULE
DEFINITIONS ::= BEGIN |
6006.asn1 |
S |
S |
F |
F |
7 |
Extensions support
with exceptions and version grouping |
MY-MODULE
DEFINITIONS ::= BEGIN |
6007.asn1 |
S |
S |
F |
F |
8 |
Selection a single
alternative from a CHOICE type |
MY-MODULE
DEFINITIONS ::= BEGIN |
6008.asn1 |
S |
S |
F |
S |
9 |
Semantic Error:Fail
due of tags |
MY-MODULE
DEFINITIONS ::= BEGIN |
6009_FAIL.asn1 |
S |
S |
S |
S |
Constraints |
|||||||
No |
Feature |
Example |
Test case |
|
CTB |
Asn1c |
Snacc |
1 |
MAX support |
MyMod DEFINITIONS
::= |
7001.asn1 |
S |
S |
S |
S |
2 |
MIN support |
MyMod DEFINITIONS
::= |
7002.asn1 |
S |
S |
S |
S |
3 |
Constraint with
extensions |
MyMod DEFINITIONS
::= |
7003.asn1 |
S |
S |
S |
F |
4 |
Constraint with
extensions and exception |
MyMod DEFINITIONS
::= |
7004.asn1 |
S |
S |
S |
F |
5 |
Range exception
support |
MyMod DEFINITIONS
::= |
7005.asn1 |
S |
S |
S |
S |
6 |
Subtype constraint support |
MyMod DEFINITIONS
::= |
7006.asn1 |
S |
S |
S |
F |
7 |
Syntax Error |
MyMod DEFINITIONS
::= |
7007_FAIL.asn1 |
S |
S |
F |
F |
8 |
INTERSECTION support |
MyMod DEFINITIONS
::= |
7008.asn1 |
S |
S |
S |
S |
9 |
Permitted alphabet
support |
MyMod DEFINITIONS
::= |
7009.asn1 |
S |
S |
S |
S |
10 |
Permitted alphabet
and size constraint |
MyMod DEFINITIONS
::= |
7010.asn1 |
S |
S |
S |
S |
11 |
Permitted alphabet
(range) |
MyMod DEFINITIONS
::= |
7011.asn1 |
S |
S |
S |
S |
12 |
Permitted alphabet
with range and size constraint |
MyMod DEFINITIONS
::= |
7012.asn1 |
S |
S |
S |
S |
13 |
Permitted alphabet
with extensions |
MyMod DEFINITIONS
::= |
7013.asn1 |
S |
S |
S |
F |
14 |
Permitted alphabet
with extensions |
MyMod DEFINITIONS
::= |
7014.asn1 |
S |
S |
S |
F |
15 |
Permitted alphabet
with extensions and size constraint |
MyMod DEFINITIONS
::= |
7015.asn1 |
S |
S |
S |
F |
16 |
Permitted alphabet
with extensions and size constraint |
MyMod DEFINITIONS
::= |
7016.asn1 |
S |
S |
S |
F |
17 |
Permitted alphabet on
UTF8String |
MyMod DEFINITIONS
::= |
7017.asn1 |
S |
S |
S |
S |
18 |
Permitted alphabet |
MyMod DEFINITIONS
::= |
7018.asn1 |
S |
F |
S[6] |
S |
19 |
Permitted alphabet
and subtype constraint |
MyMod DEFINITIONS
::= |
7019.asn1 |
S |
S |
S |
S |
20 |
Constraint on
enumerated types |
MyMod DEFINITIONS
::= |
7020.asn1 |
S |
S |
S |
F |
21 |
SIZE constraint in
SEQUENCES OF |
MyMod DEFINITIONS
::= |
7021.asn1 |
S |
S |
S |
F |
22 |
Semantic Error:
Permitted alphabet constraint in an INTEGER type |
MyMod DEFINITIONS
::= |
7022_FAIL.asn1 |
S |
S |
S |
F |
23 |
Semantic Error: SIZE
constraint in integer type |
MyMod DEFINITIONS
::= |
7023_FAIL.asn1 |
S |
S |
S |
F |
24 |
This is valid
combination although the intersection of these two sets is NULL |
MyMod DEFINITIONS
::= |
7024.asn1 |
S |
F[7] |
S |
S |
25 |
Semantic Error: #
does not belong to NumericString |
MyMod DEFINITIONS
::= |
7025_FAIL.asn1 |
S |
F |
S |
F |
26 |
WITH COMPONENTS
support |
MyMod DEFINITIONS ::= |
7026.asn1 |
S |
S |
S |
F |
27 |
WITH COMPONENTS
support |
MyMod DEFINITIONS
::= |
7027.asn1 |
S |
S |
S |
F |
28 |
WITH COMPONENTS
support |
MyMod DEFINITIONS
::= |
7028.asn1 |
S |
S |
S |
S |
29 |
WITH COMPONENT
support |
MyMod DEFINITIONS
::= |
7029.asn1 |
S |
S |
S |
S |
30 |
WITH COMPONENT
support |
MyMod DEFINITIONS
::= |
7030.asn1 |
S |
S |
F |
F |
[1] CTB tool produced an error
in this test case. However, it clear that the error was due to the inability of
the compiler to parse the specific ASN.1 file; the compiler produced this error
in order to warn the user that no symbols are exported/imported.
[2] Same as CTB
[3] OOS reported the error of the specific test
case as a warning and not as an error
[4] Compiler Crash !
[5] Core dump!
[6] Asn1c report this TC as error.
[7] CTB tool failed to give an indication that the
new defined type (Int) is not allowed to have any value.