1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
<!-- 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>"...."</CODE>. The escape sequences <CODE>\"</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 -> <I>identifier</I>
<I>compiler-prefix</I> :
from_compiler -> <I>identifier</I>
<I>error-prefix</I> :
from_database -> <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 © 1998.</I></P>
</BODY>
</HTML>
|