Method for adding extensions to the grammar for ASN.1 without modifying the basic compiler and code generator
AssigneeSiemens Communications, Inc.
InventorsMark Clark, Mark Skrzynski, Florian Trinkwalder
Life of this patent
Estimating the term…
Abstract
A processing system (100) implements a translator (102) and a compiler (106) for compiling a machine readable language. When a source file (104) is provided, the system performs a line-by-line compare to determine if the file contains extended grammar constructs (e.g., X.68x, where x is greater than or equal to 1) of the language, such as an ASN.1 standard language. If not, then the source file (104) is complied. If so, however, then the source file (104) is input to the translator (102) to translate into basic grammar constructs (e.g., X.680).
Claims14
A system, comprising:
- a translator on a computer executable medium adapted to translate between extended grammar constructs of a machine readable language and basic grammar constructs of said machine readable language, said machine readable language being ASN.1, wherein a translation comprises reading a source file containing extended grammar constructs, performing a lookup table conversion of said source file of extended grammar constructs into a basic source file containing only basic grammar constructs, said translator configured to implement one or more configurable levels of precompilation;
- and
- a compiler on a computer executable medium coupled to receive an output of said translator for compiling code written in said basic grammar constructs, wherein said compiler generates executable code implementing a function of the extended grammar constructs as complied basic grammar constructs;
- wherein said translation comprises a direct conversion from said source file to said basic source file;
- wherein said source file with extended grammar constructs is associated with basic executables;
- wherein an exemplary file with extensions is in accordance with the following
- Test-ASN
- DEFINITIONS AUTOMATIC TAGS ::=
- BEGIN
- TESTOPERATION ::= CLASS
- {
- &arguments Arguments OPTIONAL
- }
- WITH SYNTAX
- {
- [ARGUMENTS &arguments]
- }
- Arguments ::= CHOICE
- {
- argument1
- INTEGER,
- argument2
- INTEGER,
- argument3
- INTEGER,
- argument4
- INTEGER,
- argument5
- INTEGER,
- argument6
- INTEGER,
- }
- myTestOperation TESTOPERATION ::=
- {
- ARGUMENTS
- }
- TestOperationSet TESTOPERATION ::= {myTestOperation}
- myTest ::= SEQUENCE
- {
- arguments TESTOPERATION.&arguments({TestOperationSet})
- }
- END -- of Test-ASN;
- and wherein an exemplary file without extensions is in accordance with the following
- Test-ASN
- DEFINITIONS AUTOMATIC TAGS ::=
- BEGIN
- myTest ::= SEQUENCE
- {
- arguments Arguments
- }
- Arguments ::= CHOICE
- {
- argument1
- INTEGER,
- argument2
- INTEGER,
- argument3
- INTEGER,
- argument4
- INTEGER,
- argument5
- INTEGER,
- argument6
- INTEGER,
- }
- END - of Test-ASN.
A method, comprising:
- providing a first source file, said first source file including extended grammar constructs of a machine readable language;
- translating said first source file into a second source file, said second source file containing only basic grammar constructs of said machine readable language, said machine readable language being ASN.1, wherein a translation comprises reading a source file containing extended grammar constructs, performing a lookup table conversion of said source file of extended grammar constructs into a basic source file containing only basic grammar constructs, said translating including selecting from multiple configurable levels of precompilation;
- and
- compiling said second source file using a compiler adapted to compile basic grammar constructs wherein said compiler generates executable code implementing a function of the extended grammar constructs as complied basic grammar constructs;
- wherein said translation comprises a direct conversion from said source file to said basic source file;
- wherein said source file with extended grammar constructs is associated with executables;
- wherein an exemplary file with extensions is in accordance with the following
- BEGIN
- SIGNED { ToBeSigned } ::= SEQUENCE {
- toBeSigned
- ToBeSigned,
- algorithmOID
- OBJECT IDENTIFIER,
- signature
- BIT STRING
- }
- H235CertificateSignature ::=SEQUENCE
- {
- argument
- Argument,
- signature
- SIGNED { EncodedReturnSig },
- . . .
- }
- Argument ::= INTEGER
- EncodedReturnSig ::= NULL
- END - of Test-ASN;
- and wherein an exemplary file without extensions is in accordance with the following
- Test-ASN
- DEFINITIONS AUTOMATIC TAGS ::=
- BEGIN
- H235CertificateSignature ::=SEQUENCE
- {
- argument Argument,
- signature SEQUENCE {
- toBeSigned EncodedReturnSig,
- algorithmOID OBJECT IDENTIFIER,
- signature BIT STRING
- },
- . . .
- }
- Argument ::= INTEGER
- EncodedReturnSig ::= NULL
- END -- of Test-ASN.
A method comprising:
- providing a translator adapted to translate between extended grammar constructs of a machine readable language and basic grammar constructs of said machine readable language, said machine readable language being ASN.1, wherein a translation comprises reading a source file containing extended grammar constructs, performing a lookup table conversion of said source file of extended grammar constructs into a basic source file containing only basic grammar constructs, said translator configured to implement multiple configurable levels of precompilation;
- and
- providing a compiler coupled to receive an output of said translator for compiling code written in said basic grammar constructs wherein said compiler generates executable code implementing a function of the extended grammar constructs as complied basic grammar constructs;
- wherein said translation comprises a direct conversion from said source file to said basic source file;
- wherein said source file with extended grammar constructs is associated with basic executables;
- wherein an exemplary file with extensions is in accordance with the following
- BEGIN
- SIGNED { ToBeSigned } ::= SEQUENCE {
- toBeSigned
- ToBeSigned,
- algorithmOID
- OBJECT IDENTIFIER,
- signature
- BIT STRING
- }
- H235CertificateSignature ::=SEQUENCE
- {
- argument
- Argument,
- signature
- SIGNED { EncodedReturnSig },
- . . .
- }
- Argument ::= INTEGER
- EncodedReturnSig ::= NULL
- END - of Test-ASN;
- and wherein an exemplary file without extensions is in accordance with the following
- Test-ASN
- DEFINITIONS AUTOMATIC TAGS ::=
- BEGIN
- H235CertificateSignature ::=SEQUENCE
- {
- argument
- Argument
- signature
- SEQUENCE {
- toBeSigned EncodedReturnSig,
- algorithmOID OBJECT IDENTIFIER,
- signature BIT STRING
- },
- . . .
- }
- Argument ::= INTEGER
- EncodedReturnSig ::= NULL
- END -- of Test-ASN.
A computer-readable computer program product, comprising:
- computer-readable program code on a computer-readable medium adapted to receive and translate extended grammar constructs of a computer-readable program language into basic grammar constructs of said computer-readable program language for output to a compiler of programs code written in said basic grammar constructs, said computer-readable program language being ASN.1, wherein a translation comprises reading a source file containing extended grammar constructs, performing a lookup table conversion of said source file of extended grammar constructs into a basic source file containing only basic grammar constructs, said computer-readable program code configured to implement multiple configurable levels of precompilation;
- wherein said computer-readable program code is adapted to translate said extended grammar constructs into said basic grammar constructs by using one or more lookup tables;
- wherein said compiler generates executable code implementing a function of the extended grammar constructs as complied basic grammar constructs;
- wherein said translation comprises a direct conversion from said source file to said basic source file;
- wherein said source file with extended grammar constructs is associated with basic executables;
- wherein an exemplary file with extensions is in accordance with the following
- Test-ASN
- DEFINITIONS AUTOMATIC TAGS ::=
- BEGIN
- TESTOPERATION ::= CLASS
- {
- &arguments Arguments OPTIONAL
- }
- WITH SYNTAX
- {
- [ARGUMENTS &arguments]
- }
- Arguments ::= CHOICE
- {
- argument1
- INTEGER,
- argument2
- INTEGER,
- argument3
- INTEGER,
- argument4
- INTEGER,
- argument5
- INTEGER,
- argument6
- INTEGER.
- }
- myTestOperation TESTOPERATION ::=
- {
- ARGUMENTS
- }
- TestOperationSet TESTOPERATION ::= {myTestOperation}
- myTest ::= SEQUENCE
- {
- arguments TESTOPERATION.&arguments({TestOperationSet})
- }
- END - of Test-ASN:
- and wherein an exemplary file without extensions is in accordance with the following
- Test-ASN
- DEFINITIONS AUTOMATIC TAGS ::=
- BEGIN
- myTest ::= SEQUENCE
- {
- arguments Arguments
- }
- Arguments ::= CHOICE
- {
- argument1
- INTEGER,
- argument2
- INTEGER,
- argument3
- INTEGER,
- argument4
- INTEGER,
- argument5
- INTEGER,
- argument6
- INTEGER,
- }
- END - of Test-ASN.
Dependencies are inferred from the claim text.