aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2004-06-03 03:38:44 +0000
committerLev Walkin <vlm@lionet.info>2004-06-03 03:38:44 +0000
commitf15320bf6b50a0c02636405561ac8323ae901abd (patch)
tree33461d45122896c6dde35f82f5c7d19b62004a6b /README
parent746cb60bbccf47019563665f4aec4b6c462c4163 (diff)
Initial revision
Diffstat (limited to 'README')
-rw-r--r--README69
1 files changed, 69 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 00000000..586bb3d3
--- /dev/null
+++ b/README
@@ -0,0 +1,69 @@
+WHAT TO READ?
+=============
+
+For quick installation tips read INSTALL.
+
+For more complete documentation on this compiler and on using the
+results of compilation please look into ./doc directory.
+
+An excellent book on ASN.1 is written by Olivier Dubuisson:
+"ASN.1 Communication between heterogeneous systems", ISBN:0-12-6333361-0.
+
+
+QUICK START
+===========
+
+After building [and installing] the compiler (see INSTALL), you may use
+the asn1c command to compile the ASN.1 specification:
+
+ asn1c <spec.asn1>
+
+If several specifications contain interdependencies, all of them must be
+specified:
+
+ asn1c <spec1.asn1> <spec2.asn1> ...
+
+The ./examples directory contains several ASN.1 modules and a script to
+extract ASN.1 modules from RFC documents. To compile X.509 PKI module:
+
+ ./asn1c/asn1c -P ./examples/*PKIX*93*.asn1
+
+In this example, -P option is used to instruct the compiler to print the
+compiled text on the standard output instead of creating multiple .c
+and .h files for every ASN.1 type found inside the specified files.
+This is useful for debugging and tests automation.
+
+The compiler -E and -EF options are used for testing the parser and
+the semantic fixer, respectively. These options will instruct the compiler
+to dump out the parsed (and fixed) ASN.1 specification as it was
+"understood" by the compiler. It might be useful for checking
+whether a particular syntactic construction is properly supported
+by the compiler.
+
+ asn1c -EF <spec-to-test.asn1>
+
+
+MODEL OF OPERATION
+==================
+
+The asn1c compiler works by processing the ASN.1 module specification
+in several stages:
+1. In the first stage, the ASN.1 file is parsed.
+ (Parsing produces an ASN.1 syntax tree for the subsequent levels.)
+2. In the second stage, the syntax tree is "fixed".
+ (Fixing is done by checking the tree for semantic errors
+ and by transforming the tree into the canonical representation.)
+3. In the third stage, the syntax tree is compiled into the target language.
+
+There are several command-line options reserved for printing the results
+after each stage of operation:
+
+ <parser> => print (-E)
+ <parser> => <fixer> => print (-E -F)
+ <parser> => <fixer> => <compiler> => print (-P)
+ <parser> => <fixer> => <compiler> => save-compiled [default]
+
+
+--
+Lev Walkin
+vlm@lionet.info