Testy ps: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przemek (dyskusja | edycje)
Nie podano opisu zmian
Przemek (dyskusja | edycje)
Nie podano opisu zmian
 
(Nie pokazano 25 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 3: Linia 3:
</applet>
</applet>


\batchmode
<!--%This Latex file is machine-generated by the BNF-converter
-->
\documentclass[a4paper,11pt]{article}
\author{BNF-converter}
\title{The Language kotek}
\setlength{\parindent}{0mm}
\setlength{\parskip}{1mm}
\begin{document}
\maketitle
\newcommand<math>\epsilon</math>{\mbox{<math>\epsilon</math>}}
\newcommand{\terminal}[1]{\mbox{{\texttt {#1}}}}
\newcommand{\nonterminal}[1]{\mbox{<math>\langle \mbox{{\sl #1 }} \! \rangle</math>}}
\newcommand::={\mbox{::=}}
\newcommand|{\mbox{<math>|</math>}}
\newcommand{\reserved}[1]{\mbox{{\texttt {#1}}}}
\newcommand{\literal}[1]{\mbox{{\texttt {#1}}}}
\newcommand{\symb}[1]{\mbox{{\texttt {#1}}}}
This document was automatically generated by the {\em BNF-Converter}. It was generated together with the lexer, the parser, and the abstract syntax module, which guarantees that the document matches with the implementation of the language (provided no hand-hacking has taken place).
\section*{The lexical structure of kotek}
\subsection*{Identifiers}
Identifiers \nonterminal{Ident} are unquoted strings beginning with a letter,
followed by any combination of letters, digits, and the characters {\tt \_ '},
reserved words excluded.


\subsection*{Literals}
<math>F(k) = 2^{ 2^{.^{.^{.^2}} \Big\} k} } = 2^{F(k-1)}</math>
String literals \nonterminal{String}\ have the form
\terminal{"}<math>x</math>\terminal{"}, where <math>x</math> is any sequence of any characters
except \terminal{"}\ unless preceded by \verb6\6.
 
Integer literals \nonterminal{Int}\ are nonempty sequences of digits.
 
 
 
\subsection*{Reserved words and symbols}
The set of reserved words is the set of terminals appearing in the grammar. Those reserved words that consist of non-letter characters are called symbols, and they are treated in a different way from those that are similar to identifiers. The lexer follows rules familiar from languages like Haskell, C, and Java, including longest match and spacing conventions.
The reserved words used in kotek are the following: \\
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
The symbols used in kotek are the following: \\
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
\subsection*{Comments}
Single-line comments begin with {<math>//}</math>. \\Multiple-line comments are  enclosed with {<math>(*}</math> and {<math>*)}</math>.
\section*{The syntactic structure of kotek}
Non-terminals are enclosed between <math>\langle</math> and <math>\rangle</math>.
The symbols  ::=  (production),  |  (union)
and <math>\epsilon</math> (empty rule) belong to the BNF notation.
All other symbols are terminals.\\
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::= </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::= </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
''OperatorPorownania'' </td>
<td> ::=  </td>
<td><t>{$<$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$<$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$=$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
''OperatorPorownania'' </td>
<td> ::=  </td>
<td><t>{$<$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$<$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$=$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!{$=$}</t>  </td>
</tr>
<tr>
<td>
''WyrazenieLogiczne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePorownania}} {\nonterminal{OperatorLogiczny}} ''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
''OperatorPorownania'' </td>
<td> ::=  </td>
<td><t>{$<$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$<$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$=$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!{$=$}</t>  </td>
</tr>
<tr>
<td>
''WyrazenieLogiczne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePorownania}} {\nonterminal{OperatorLogiczny}} ''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
''OperatorLogiczny'' </td>
<td> ::=  </td>
<td><t>{$|$}{$|$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\</td>
<td>\</td>
<td>}}  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
''OperatorPorownania'' </td>
<td> ::=  </td>
<td><t>{$<$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$<$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$=$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!{$=$}</t>  </td>
</tr>
<tr>
<td>
''WyrazenieLogiczne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePorownania}} {\nonterminal{OperatorLogiczny}} ''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
''OperatorLogiczny'' </td>
<td> ::=  </td>
<td><t>{$|$}{$|$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\</td>
<td>\</td>
<td>}}  </td>
</tr>
<tr>
<td>
''Wyrazenie'' </td>
<td> ::=  </td>
<td>''WyrazenieLogiczne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>new}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{new}} {\nonterminal{Typ}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
''OperatorPorownania'' </td>
<td> ::=  </td>
<td><t>{$<$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$<$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$=$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!{$=$}</t>  </td>
</tr>
<tr>
<td>
''WyrazenieLogiczne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePorownania}} {\nonterminal{OperatorLogiczny}} ''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
''OperatorLogiczny'' </td>
<td> ::=  </td>
<td><t>{$|$}{$|$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\</td>
<td>\</td>
<td>}}  </td>
</tr>
<tr>
<td>
''Wyrazenie'' </td>
<td> ::=  </td>
<td>''WyrazenieLogiczne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>new}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{new}} {\nonterminal{Typ}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
''ZlozonaInstrukcja'' </td>
<td> ::=  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} {\nonterminal{ListInstrukcja}} {\terminal{else}} ''ListInstrukcja'' <t>endif</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} ''ListInstrukcja'' <t>endif</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{while}} {\nonterminal{Wyrazenie}} {\terminal{do}} ''ListInstrukcja'' <t>done</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
<table>
<tr>
<td><t>array</t> </td>
<td><t>class</t> </td>
<td><t>delete</t> </td>
</tr>
<tr>
<td>
<t>do</t> </td>
<td><t>done</t> </td>
<td><t>else</t> </td>
</tr>
<tr>
<td>
<t>endif</t> </td>
<td><t>extends</t> </td>
<td><t>function</t> </td>
</tr>
<tr>
<td>
<t>if</t> </td>
<td><t>int</t> </td>
<td><t>new</t> </td>
</tr>
<tr>
<td>
<t>null</t> </td>
<td><t>of</t> </td>
<td><t>program</t> </td>
</tr>
<tr>
<td>
<t>read</t> </td>
<td><t>return</t> </td>
<td><t>string</t> </td>
</tr>
<tr>
<td>
<t>super</t> </td>
<td><t>then</t> </td>
<td><t>this</t> </td>
</tr>
<tr>
<td>
<t>type</t> </td>
<td><t>var</t> </td>
<td><t>void</t> </td>
</tr>
<tr>
<td>
<t>while</t> </td>
<td><t>write</t> </td>
<td> </td>
</tr>
<tr>
<td>
<math>;</math> </td>
<td><math>\{</math> </td>
<td><math>\}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}</math> </td>
<td><math>,</math> </td>
<td><math>:</math> </td>
</tr>
<tr>
<td>
<math>(</math> </td>
<td><math>)</math> </td>
<td><math>:{$=$}</math> </td>
</tr>
<tr>
<td>
<math>[</math> </td>
<td><math>]</math> </td>
<td><math>.</math> </td>
</tr>
<tr>
<td>
<math>{$-$}</math> </td>
<td><math>{$+$}</math> </td>
<td><math>!</math> </td>
</tr>
<tr>
<td>
<math>*</math> </td>
<td><math>/</math> </td>
<td><math>{$<$}</math> </td>
</tr>
<tr>
<td>
<math>{$>$}</math> </td>
<td><math>{$<$}{$=$}</math> </td>
<td><math>{$>$}{$=$}</math> </td>
</tr>
<tr>
<td>
<math>{$=$}{$=$}</math> </td>
<td><math>!{$=$}</math> </td>
<td><math>{$|$}{$|$}</math> </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <t>;}} {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Deklaracja}} ''ListDeklaracja''  </td>
</tr>
<tr>
<td>
''Deklaracja'' </td>
<td> ::=  </td>
<td>''DeklaracjaTypu''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaFunkcji''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaKlasy''  </td>
</tr>
<tr>
<td>
''DeklaracjaTypu'' </td>
<td> ::=  </td>
<td>{\terminal{type}} ''Ident}} <t>{$=$}'' {\nonterminal{OpisTypu</t>  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <t>of}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''DeklaracjaZmiennej}} <t>,'' {\nonterminal{ListDeklaracjaZmiennej</t>  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>string</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>int</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>void</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} ''Ident}} <t>:'' {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <t>:}} ''Typ'' {\nonterminal{Cialo</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaArgumentow'' </td>
<td> ::=  </td>
<td>''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
''ListInstrukcja'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{Instrukcja}} ''ListInstrukcja''  </td>
</tr>
<tr>
<td>
''Instrukcja'' </td>
<td> ::=  </td>
<td>''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <t>;</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <t>;</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePodstawowe'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''String''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Integer''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{(}} ''Wyrazenie'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>this</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>super</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>null</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <t>)</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe}} <t>.'' {\nonterminal{Ident</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
''Parametry'' </td>
<td> ::=  </td>
<td><math>\epsilon</math> </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ListWyrazenie''  </td>
</tr>
<tr>
<td>
''ListWyrazenie'' </td>
<td> ::=  </td>
<td>''Wyrazenie''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Wyrazenie}} <t>,'' {\nonterminal{ListWyrazenie</t>  </td>
</tr>
<tr>
<td>
''WyrazenieUnarne'' </td>
<td> ::=  </td>
<td>{\nonterminal{OperatorUnarny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePostfiksowe''  </td>
</tr>
<tr>
<td>
''OperatorUnarny'' </td>
<td> ::=  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!</t>  </td>
</tr>
<tr>
<td>
''WyrazenieMultiplikatywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieMultiplikatywne}} {\nonterminal{OperatorMultiplikatywny}} ''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieUnarne''  </td>
</tr>
<tr>
<td>
''WyrazenieAddytywne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorAddytywny}} ''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieMultiplikatywne''  </td>
</tr>
<tr>
<td>
''OperatorMultiplikatywny'' </td>
<td> ::=  </td>
<td><t>*</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>/</t>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><t>{$+$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$-$}</t>  </td>
</tr>
<tr>
<td>
''WyrazeniePorownania'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazenieAddytywne}} {\nonterminal{OperatorPorownania}} ''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazenieAddytywne''  </td>
</tr>
<tr>
<td>
''OperatorPorownania'' </td>
<td> ::=  </td>
<td><t>{$<$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$<$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$>$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>{$=$}{$=$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>!{$=$}</t>  </td>
</tr>
<tr>
<td>
''WyrazenieLogiczne'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePorownania}} {\nonterminal{OperatorLogiczny}} ''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePorownania''  </td>
</tr>
<tr>
<td>
''OperatorLogiczny'' </td>
<td> ::=  </td>
<td><t>{$|$}{$|$}</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\</td>
<td>\</td>
<td>}}  </td>
</tr>
<tr>
<td>
''Wyrazenie'' </td>
<td> ::=  </td>
<td>''WyrazenieLogiczne''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><t>new}} {\nonterminal{Typ</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{new}} {\nonterminal{Typ}} {\terminal{[}} ''Wyrazenie'' <t>]</t>  </td>
</tr>
<tr>
<td>
''ZlozonaInstrukcja'' </td>
<td> ::=  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} {\nonterminal{ListInstrukcja}} {\terminal{else}} ''ListInstrukcja'' <t>endif</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} ''ListInstrukcja'' <t>endif</t>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{while}} {\nonterminal{Wyrazenie}} {\terminal{do}} ''ListInstrukcja'' <t>done</t>  </td>
</tr>
<tr>
<td>
''DeklaracjaKlasy'' </td>
<td> ::=  </td>
<td>{\terminal{class}} {\nonterminal{Ident}} {\terminal{extends}} {\nonterminal{Ident}} {\terminal{\{}} ''ListDeklaracja'' <t>\}</t>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
 
 
 
\end{document}

Aktualna wersja na dzień 09:03, 18 sie 2006

<applet code="PSAplecik" archive="images/d/dd/PSApplet.jar" width="600" height="480"> <param name="TITLE" value="Wykres funkcji I(p) i P(p)"> </applet>


F(k)=22...2}k=2F(k1)