> %CopyrightBegin%
>
> SPDX-License-Identifier: Apache-2.0
>
> Copyright Ericsson AB 2009-2025. All Rights Reserved.
>
> Licensed under the Apache License, Version 2.0 (the "License");
> you may not use this file except in compliance with the License.
> You may obtain a copy of the License at
>
>     http://www.apache.org/licenses/LICENSE-2.0
>
> Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.
>
> %CopyrightEnd%

The following restrictions apply to this implementation of the ASN.1 compiler:

The ASN.1 2002 standard is not fully supported because there has been no need for that.
It seems as if most ASN.1 specifications are still using the 1998 standard or older.

Supported encoding rules are:
BER, DER
PER ALIGNED
PER UNALIGNED

Supported types are:

INTEGER
BOOLEAN
ENUMERATION
SEQUENCE
SEQUENCE OF
SET
SET OF
CHOICE
OBJECT IDENTIFIER
RestrictedCharacterStringTypes
UnrestrictedCharacterStringTypes


NOT SUPPORTED types are:
ANY IS (IS NOT IN THE STANDARD ANY MORE)
ANY DEFINED BY (IS NOT IN THE STANDARD ANY MORE)
EXTERNAL
EMBEDDED-PDV
REAL

The support for value definitions in the ASN.1 notation is very limited.

The support for constraints is limited to:
SizeConstraint	SIZE(X)
SingleValue	(1)
ValueRange	(X..Y)
PermittedAlpabet FROM

The only supported value-notation for SEQUENCE and SET in Erlang is 
the record variant.
The list notation with named components used by the old ASN.1 compiler 
was supported in the first versions of this compiler both are no longer
supported.

The decode functions always return a symbolic value if they can.


Files with ASN.1 source must have a suffix .asn1 the suffix .py used by the
old ASN.1 compiler is supported in this version but will not be supported in the future.

Generated files:
X.asn1db	% the intermediate format of a compiled ASN.1 module ,only used by the ASN.1 compiler.
X.hrl		% generated Erlang include file for module X
X.erl		% generated Erlang module with encode decode functions for
		% ASN.1 module X
