A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document of the patent disclosure, as it appears in the Patent and Trademark Office patent file or records available to the public, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates to data coding and, in particular, to an improved method for compiling grammar extensions to data codes.
2. Description of the Related Art
The Abstract Syntax Notation One (ASN.1) is a notation for specifying data structures at a relatively high level of abstraction. In particular, ASN.1 defines a data structure protocol for describing messages to be exchanged between distributed computer systems. ASN.1 is used to generate programming language code that forms the core of a wide variety of massaging systems applications. For example, H.323 based systems use ASN.1 coded messages for signaling between H.323 endpoints, servers, gateways, and gatekeepers.
The ASN.1 language has evolved over time to include the ITU-T standards X.680 (Specification of Basic Notation), X.681 (Information Object Specifications), X.682 (Constraint Specification), and X.683 (Parameterization of ASN.1 Specifications), all of which are hereby incorporated by reference in their entireties as if fully set forth herein.
The basic ASN.1 compiler supports only X.680 grammar constructs. Typically, each extension has been supported through the development of an entirely new compiler. However, writing a compiler is relatively expensive and time consuming. Moreover, in certain instances, it is not possible because the code generated is proprietary. When new extensions of the grammar are defined, but the available compiler does not support them, the user cannot take advantage of the new features.
Typically, this has required the user to purchase a new compiler which, again, is relatively expensive. Alternatively, the user can manually convert the new grammar constructs into those that are supported by the old compiler.
These and other problems in the prior art are overcome in large part by a system and method according to the present invention. A computer system is provided including a software program that reads source files that contain extended grammar constructs of ASN.1 and generates a new file that is a translation of the input file without the extended constructs. The new file contains only the basic ASN.1 constructs. The new file may then be complied using a standard ASN.1 compiler.
A computer system according to an implementation of the invention implements a translator and a compiler for compiling a machine readable language. When a source file is provided, the system performs a line-by-line compare to determine if the file contains extended grammar constructs of the language. If not, then the source file is complied. If so, however, then the source file is input to the translator to translate into basic grammar constructs.
A better understanding of the invention is obtained when the following detailed description is considered in conjunction with the following drawings in which:
An exemplary processing system according to an implementation of the invention is shown in
Operation of an embodiment of the present invention is illustrated schematically with reference to
It is noted that the precompiler or translator 102 may be implemented having differing or even multiple configurable levels of precompilation. For example, the compiler 106 may support X.680 and X.681 constructs; in that case, the precompiler 102 need only implement X.682 and higher precompilation.
An exemplary translator or precompiler 102 is illustrated with reference to
In particular,
The following examples illustrate files that are translated from extended grammar constructs to the basic grammar constructs only:
The invention described in the above detailed description is not intended to be limited to the specific form set forth herein, but is intended to cover such alternatives, modifications and equivalents as can reasonably be included within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5230049 | Chang et al. | Jul 1993 | A |
5291583 | Bapat | Mar 1994 | A |
5432942 | Trainer | Jul 1995 | A |
5504885 | Alashqur | Apr 1996 | A |
5640550 | Coker | Jun 1997 | A |
5870749 | Adusumilli | Feb 1999 | A |
5973696 | Agranat et al. | Oct 1999 | A |
6063133 | Li et al. | May 2000 | A |
6378126 | Tang | Apr 2002 | B2 |