Lev Walkin | f15320b | 2004-06-03 03:38:44 +0000 | [diff] [blame] | 1 | |
| 2 | 0. ASN.1 grammar parser is written mostly with respect to constructing a tree, |
| 3 | so a tree destruction is not fully supported and certain memory leaks are |
| 4 | known. Not a huge problem for run-once programs like a compiler. |
| 5 | NOTE: This statement does not apply to the target code _produced_ |
| 6 | by the compiler. |
| 7 | |
| 8 | 1. REAL type is not supported yet. |
| 9 | |
| 10 | 2. For purposes of compilation, INTEGER type is modelled using a large |
| 11 | static type (asn_integer_t), but defined as any positive or negative value |
| 12 | by ASN.1. Not a problem as most specifications use very small values anyway. |
| 13 | NOTE: This statement does not apply to the target code _produced_ |
| 14 | by the compiler. |
| 15 | |
| 16 | 3. ASN Macros are prohibited by the current ASN.1 standard, |
| 17 | and are not supported. |
| 18 | |
| 19 | 4. Multiple tags applied at the same level are not supported: |
| 20 | BadTags ::= [0] EXPLICIT [2] IMPLICIT OtherType |
| 21 | The same thing could be achieved by using the indirection: |
| 22 | GoodTags ::= [0] EXPLICIT OtherTypePtr |
| 23 | OtherTypePtr ::= [2] IMPLICIT OtherType |
| 24 | |
| 25 | 5. Mixed definite/indefinite length in a _single_ BER tags sequence is not |
| 26 | supported. Should not be a problem in the real world. Please note that it |
| 27 | is still possible, for example, to encode a wrapper structure using definite |
| 28 | length, and encode its substructure member using indefinite length. The BER |
| 29 | decoder is perfectly capable of decoding such sequences. |
| 30 | |
| 31 | |