Subversion Repositories tendra.SVN

Rev

Blame | Last modification | View Log | RSS feed

<!-- Crown Copyright (c) 1998 -->
<HTML>
<HEAD>
<TITLE>
C++ Producer Guide: Error catalogue syntax 
</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">

<H1>C++ Producer Guide</H1>
<H3>March 1998</H3>
<IMG SRC="../images/no_next.gif" ALT="next section">
<A HREF="dump1.html"><IMG SRC="../images/prev.gif" ALT="previous section"></A>
<A HREF="index.html"><IMG SRC="../images/top.gif" ALT="current document"></A>
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
</A>
<IMG SRC="../images/no_index.gif" ALT="document index"><P>
<HR>

<H1>Annex C. Error catalogue syntax</H1>
<P>
The following gives a summary of the syntax for the 
<A HREF="error.html">error catalogue</A> accepted by the 
<CODE>make_err</CODE> tool.  Identifiers are normal C-style identifiers,
strings consist of any sequence of characters enclosed inside 
<CODE>&quot;....&quot;</CODE>.  The escape sequences <CODE>\&quot;</CODE>
and 
<CODE>\\</CODE> are allowed in strings; other characters (including
newline characters) map to themselves.  C-style comments are allowed.
<PRE>
<HR>
        <I>error-database</I> :
                <I>header types<SUB>opt</SUB> properties<SUB>opt</SUB> keys<SUB>opt</SUB> usages<SUB>opt</SUB> entries<SUB>opt</SUB></I>

        <I>header</I> :
                <I>database-name<SUB>opt</SUB> rig-name<SUB>opt</SUB> prefixes<SUB>opt</SUB></I>

<HR>
        <I>database-name</I> :
                DATABASE_NAME : <I>identifier</I>

        <I>rig-name</I> :
                RIG : <I>identifier</I>

<HR>
        <I>prefixes</I> :
                PREFIX : <I>output-prefix<SUB>opt</SUB> compiler-prefix<SUB>opt</SUB> error-prefix<SUB>opt</SUB></I>

        <I>output-prefix</I> :
                compiler_output -&gt; <I>identifier</I>

        <I>compiler-prefix</I> :
                from_compiler -&gt; <I>identifier</I>

        <I>error-prefix</I> :
                from_database -&gt; <I>identifier</I>

<HR>
        <I>types</I> :
                TYPES : <I>name-list<SUB>opt</SUB></I>

        <I>properties</I> :
                PROPERTIES : <I>name-list<SUB>opt</SUB></I>

        <I>keys</I> :
                KEYS : <I>name-list<SUB>opt</SUB></I>

        <I>usages</I> :
                USAGE : <I>name-list<SUB>opt</SUB></I>

        <I>name</I> :
                <I>identifier</I>
                <I>identifier</I> = <I>identifier</I>
                <I>identifier</I> = <I>identifier</I> | <I>identifier</I>

        <I>name-list</I> :
                <I>name</I>
                <I>name</I> , <I>name-list</I>

<HR>
        <I>type-name</I> :
                <I>identifier</I>

        <I>property-name</I> :
                <I>identifier</I>

        <I>key-name</I> :
                <I>identifier</I>

        <I>usage-name</I> :
                <I>identifier</I>

<HR>
        <I>entries</I> :
                ENTRIES : <I>entries-list<SUB>opt</SUB></I>

        <I>entry-list</I> :
                <I>entry entry-list<SUB>opt</SUB></I>

        <I>entry</I> :
                <I>identifier</I> ( <I>param-list<SUB>opt</SUB></I> ) { <I>entry-body</I> }

        <I>entry-body</I> :
                <I>alt-name<SUB>opt</SUB> entry-usage<SUB>opt</SUB> entry-properties<SUB>opt</SUB> map-list<SUB>opt</SUB></I>

<HR>
        <I>parameter</I> :
                <I>type-name</I> : <I>identifier</I>

        <I>param-list</I> :
                <I>parameter</I>
                <I>parameter</I> , <I>param-list</I>

        <I>param-name</I> :
                <I>identifier</I>

<HR>
        <I>alt-name</I> :
                ALT_NAME : <I>identifier</I>

        <I>entry-usage</I> :
                USAGE : <I>usage-name</I>
                USAGE : <I>usage-name</I> | <I>usage-name</I>

        <I>entry-properties</I> :
                PROPERTIES : <I>property-list<SUB>opt</SUB></I>

        <I>property-list</I> :
                <I>property-name</I>
                <I>property-name</I> , <I>property-list</I>

<HR>
        <I>map</I> :
                KEY ( <I>key-name</I> ) <I>message-list<SUB>opt</SUB></I>
                KEY ( <I>key-name</I> ) <I>message-list<SUB>opt</SUB></I> | <I>message-list<SUB>opt</SUB></I>

        <I>map-list</I> :
                <I>map map-list<SUB>opt</SUB></I>

        <I>message-list</I> :
                <I>string message-list<SUB>opt</SUB></I>
                <I>param-name message-list<SUB>opt</SUB></I>
</PRE>
</P>

<HR>
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
Copyright &copy; 1998.</I></P>
</BODY>
</HTML>