doc-src/Ref/theory-syntax.tex
changeset 325 49baeba86546
parent 295 dcde5024895d
child 1080 13c35eb5169b
--- a/doc-src/Ref/theory-syntax.tex	Fri Apr 15 17:42:33 1994 +0200
+++ b/doc-src/Ref/theory-syntax.tex	Fri Apr 15 17:50:14 1994 +0200
@@ -4,13 +4,20 @@
 \newlinechar=-1  %mathsing.sty sets \newlinechar=`\|, which would cause mayhem
 
 \chapter{Syntax of Isabelle Theories}\label{app:TheorySyntax}
+Chapter~\ref{sec:ref-defining-theories} explains the meanings of these
+constructs.  The syntax obeys the following conventions:
 \begin{itemize}
 \item {\tt Typewriter font} denotes terminal symbols.
 \item $id$, $tid$, $nat$, $string$ and $text$ are the lexical classes of
   identifiers, type identifiers, natural numbers, \ML\ strings (with their
   quotation marks) and arbitrary \ML\ text.  The first three are fully defined
-  in the {\it Defining Logics} chapter of {\it Isabelle's Object Logics}.
+  in 
+\iflabelundefined{Defining-Logics}%
+    {{\it The Isabelle Reference Manual}, chapter `Defining Logics'}%
+    {Chap.\ts\ref{Defining-Logics}}.
 \end{itemize}
+Comments in theories take the form {\tt (*} {\it text\/} {\tt*)}, where
+{\it text\/} should not contain the character sequence {\tt*)}.
 
 \begin{rail}
 
@@ -37,10 +44,10 @@
      ;
 
 types :  ()
-      | 'types' ( ( type ( () | '(' infix ')' ) ) + )
+      | 'types' ( ( typeDecl ( () | '(' infix ')' ) ) + )
       ;
 
-type : ( () | tid | '(' ( tid + ',' ) ')') name ( () | '='  string );
+typeDecl : ( () | tid | '(' ( tid + ',' ) ')') name ( () | '='  string );
 
 infix : ( 'infixr' | 'infixl' ) nat;