Initial revision

diff --git a/README b/README
new file mode 100644
index 0000000..586bb3d
--- /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