Measures Concepts
GitHub icon

ASN.1

ASN.1 - Interface design language

< >

ASN.1 is an interface design language created in 1984.

#340on PLDB 40Years Old 0Repos

Abstract Syntax Notation One (ASN.1) is an interface description language for defining data structures that can be serialized and deserialized in a standard, cross-platform way. It's broadly used in telecommunications and computer networking, and especially in cryptography. Protocol developers define data structures in ASN.1 modules, which are generally a section of a broader standards document written in the ASN.1 language. Read more on Wikipedia...


Example from the web:
FooProtocol DEFINITIONS ::= BEGIN FooQuestion ::= SEQUENCE { trackingNumber INTEGER, question IA5String } FooAnswer ::= SEQUENCE { questionNumber INTEGER, answer BOOLEAN } END
Example from Linguist:
MyShopPurchaseOrders DEFINITIONS AUTOMATIC TAGS ::= BEGIN PurchaseOrder ::= SEQUENCE { dateOfOrder DATE, customer CustomerInfo, items ListOfItems } CustomerInfo ::= SEQUENCE { companyName VisibleString (SIZE (3..50)), billingAddress Address, contactPhone NumericString (SIZE (7..12)) } Address::= SEQUENCE { street VisibleString (SIZE (5 .. 50)) OPTIONAL, city VisibleString (SIZE (2..30)), state VisibleString (SIZE(2) ^ FROM ("A".."Z")), zipCode NumericString (SIZE(5 | 9)) } ListOfItems ::= SEQUENCE (SIZE (1..100)) OF Item Item ::= SEQUENCE { itemCode INTEGER (1..99999), color VisibleString ("Black" | "Blue" | "Brown"), power INTEGER (110 | 220), deliveryTime INTEGER (8..12 | 14..19), quantity INTEGER (1..1000), unitPrice REAL (1.00 .. 9999.00), isTaxable BOOLEAN } END
Example from Wikipedia:
<FooQuestion> <trackingNumber>5</trackingNumber> <question>Anybody there?</question> </FooQuestion>

View source

- Build the next great programming language Search Add Language Features Creators Resources About Blog Acknowledgements Queries Stats Sponsor Day 605 feedback@pldb.io Logout