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
Linia 2: Linia 2:
<param name="TITLE" value="Wykres funkcji I(p) i P(p)">
<param name="TITLE" value="Wykres funkcji I(p) i P(p)">
</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}
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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </td>
<td> </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
The symbols used in kotek are the following: \\
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''WyrazeniePodstawowe''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>{$<$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$>$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$<$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$>$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$=$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!{$=$</u>}  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>{$<$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$>$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$<$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$>$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$=$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!{$=$</u>}  </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><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>{$<$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$>$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$<$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$>$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$=$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!{$=$</u>}  </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>{\terminal{{$|$}{$|$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\</td>
<td>\</td>
<td>}}  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>{$<$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$>$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$<$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$>$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$=$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!{$=$</u>}  </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>{\terminal{{$|$}{$|$}}}  </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><u>new</u> ''Typ''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{new}} {\nonterminal{Typ}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>{$<$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$>$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$<$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$>$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$=$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!{$=$</u>}  </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>{\terminal{{$|$}{$|$}}}  </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><u>new</u> ''Typ''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{new}} {\nonterminal{Typ}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
''ZlozonaInstrukcja'' </td>
<td> ::=  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} {\nonterminal{ListInstrukcja}} {\terminal{else}} ''ListInstrukcja'' <u>endif</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} ''ListInstrukcja'' <u>endif</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{while}} {\nonterminal{Wyrazenie}} {\terminal{do}} ''ListInstrukcja'' <u>done</u>  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table>
<tr>
<td><u>array</u> </td>
<td><u>class</u> </td>
<td><u>delete</u> </td>
</tr>
<tr>
<td>
<u>do</u> </td>
<td><u>done</u> </td>
<td><u>else</u> </td>
</tr>
<tr>
<td>
<u>endif</u> </td>
<td><u>extends</u> </td>
<td><u>function</u> </td>
</tr>
<tr>
<td>
<u>if</u> </td>
<td><u>int</u> </td>
<td><u>new</u> </td>
</tr>
<tr>
<td>
<u>null</u> </td>
<td><u>of</u> </td>
<td><u>program</u> </td>
</tr>
<tr>
<td>
<u>read</u> </td>
<td><u>return</u> </td>
<td><u>string</u> </td>
</tr>
<tr>
<td>
<u>super</u> </td>
<td><u>then</u> </td>
<td><u>this</u> </td>
</tr>
<tr>
<td>
<u>type</u> </td>
<td><u>var</u> </td>
<td><u>void</u> </td>
</tr>
<tr>
<td>
<u>while</u> </td>
<td><u>write</u> </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>{\symb{{$<$}{$=$}}} </td>
<td>{\symb{{$>$}{$=$}}} </td>
</tr>
<tr>
<td>
{\symb{{$=$}{$=$}}} </td>
<td><math>!{$=$</math>} </td>
<td>{\symb{{$|$}{$|$}}} </td>
</tr>
<tr>
<td>
{\symb{\</td>
<td>\</td>
<td>}} </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
''Program'' </td>
<td> ::=  </td>
<td>{\terminal{program}} <u>;</u> ''Cialo''  </td>
</tr>
<tr>
<td>
''Cialo'' </td>
<td> ::=  </td>
<td>{\nonterminal{ListDeklaracja}} ''Blok''  </td>
</tr>
<tr>
<td>
''Blok'' </td>
<td> ::=  </td>
<td>{\terminal{\{}} ''ListInstrukcja'' <u>\</u>}  </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}} {\nonterminal{Ident}} <u>{$=$</u>} ''OpisTypu''  </td>
</tr>
<tr>
<td>
''OpisTypu'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{\{}} ''ListDeklaracjaZmiennej'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{array}} <u>of</u> ''Typ''  </td>
</tr>
<tr>
<td>
''ListDeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>''DeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{DeklaracjaZmiennej}} <u>,</u> ''ListDeklaracjaZmiennej''  </td>
</tr>
<tr>
<td>
''Typ'' </td>
<td> ::=  </td>
<td>''Ident''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>string</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>int</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>void</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaZmiennej'' </td>
<td> ::=  </td>
<td>{\terminal{var}} {\nonterminal{Ident}} <u>:</u> ''Typ''  </td>
</tr>
<tr>
<td>
''DeklaracjaFunkcji'' </td>
<td> ::=  </td>
<td>{\terminal{function}} {\nonterminal{Ident}} {\terminal{(}} {\nonterminal{DeklaracjaArgumentow}} {\terminal{)}} <u>:</u> {\nonterminal{Typ}} ''Cialo''  </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'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''ZlozonaInstrukcja'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{:{$=$}}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>''Blok''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{delete}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{read}} ''Ident'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{write}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} ''Wyrazenie'' <u>;</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{return}} <u>;</u>  </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'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>this</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>super</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>null</u>  </td>
</tr>
<tr>
<td>
''WyrazeniePostfiksowe'' </td>
<td> ::=  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} {\terminal{(}} ''Parametry'' <u>)</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\nonterminal{WyrazeniePostfiksowe}} <u>.</u> ''Ident''  </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>{\nonterminal{Wyrazenie}} <u>,</u> ''ListWyrazenie''  </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><u>{$-$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!</u>  </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><u>*</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>/</u>  </td>
</tr>
<tr>
<td>
''OperatorAddytywny'' </td>
<td> ::=  </td>
<td><u>{$+$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$-$</u>}  </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><u>{$<$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>{$>$</u>}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$<$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$>$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{{$=$}{$=$}}}  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td><u>!{$=$</u>}  </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>{\terminal{{$|$}{$|$}}}  </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><u>new</u> ''Typ''  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{new}} {\nonterminal{Typ}} {\terminal{[}} ''Wyrazenie'' <u>]</u>  </td>
</tr>
<tr>
<td>
''ZlozonaInstrukcja'' </td>
<td> ::=  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} {\nonterminal{ListInstrukcja}} {\terminal{else}} ''ListInstrukcja'' <u>endif</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{if}} {\nonterminal{Wyrazenie}} {\terminal{then}} ''ListInstrukcja'' <u>endif</u>  </td>
</tr>
<tr>
<td>
</td>
<td> |  </td>
<td>{\terminal{while}} {\nonterminal{Wyrazenie}} {\terminal{do}} ''ListInstrukcja'' <u>done</u>  </td>
</tr>
<tr>
<td>
''DeklaracjaKlasy'' </td>
<td> ::=  </td>
<td>{\terminal{class}} {\nonterminal{Ident}} {\terminal{extends}} {\nonterminal{Ident}} {\terminal{\{}} ''ListDeklaracja'' <u>\</u>}  </td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
\end{document}

Wersja z 21:59, 16 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>