|
|
(Nie pokazano 24 pośrednich wersji utworzonych przez tego samego użytkownika) |
Linia 3: |
Linia 3: |
| </applet> | | </applet> |
|
| |
|
| \batchmode
| |
| <!--%This Latex file is machine-generated by the BNF-converter
| |
| -->
| |
| \documentclass[a4paper,11pt]{article}
| |
| \author{BNF-converter}
| |
| \title{The Language kotek}
| |
| \setlength{\parindent}{0mm}
| |
| \setlength{\parskip}{1mm}
| |
| \begin{document}
| |
| \maketitle
| |
| \newcommand<math>\epsilon</math>{\mbox{<math>\epsilon</math>}}
| |
| \newcommand{\terminal}[1]{\mbox{{\texttt {#1}}}}
| |
| \newcommand{\nonterminal}[1]{\mbox{<math>\langle \mbox{{\sl #1 }} \! \rangle</math>}}
| |
| \newcommand::={\mbox{::=}}
| |
| \newcommand|{\mbox{<math>|</math>}}
| |
| \newcommand{\reserved}[1]{\mbox{{\texttt {#1}}}}
| |
| \newcommand{\literal}[1]{\mbox{{\texttt {#1}}}}
| |
| \newcommand{\symb}[1]{\mbox{{\texttt {#1}}}}
| |
| This document was automatically generated by the {\em BNF-Converter}. It was generated together with the lexer, the parser, and the abstract syntax module, which guarantees that the document matches with the implementation of the language (provided no hand-hacking has taken place).
| |
| \section*{The lexical structure of kotek}
| |
| \subsection*{Identifiers}
| |
| Identifiers \nonterminal{Ident} are unquoted strings beginning with a letter,
| |
| followed by any combination of letters, digits, and the characters {\tt \_ '},
| |
| reserved words excluded.
| |
|
| |
|
| \subsection*{Literals}
| | <math>F(k) = 2^{ 2^{.^{.^{.^2}} \Big\} k} } = 2^{F(k-1)}</math> |
| String literals \nonterminal{String}\ have the form
| |
| \terminal{"}<math>x</math>\terminal{"}, where <math>x</math> is any sequence of any characters
| |
| except \terminal{"}\ unless preceded by \verb6\6.
| |
| | |
| Integer literals \nonterminal{Int}\ are nonempty sequences of digits.
| |
| | |
| | |
| | |
| \subsection*{Reserved words and symbols}
| |
| The set of reserved words is the set of terminals appearing in the grammar. Those reserved words that consist of non-letter characters are called symbols, and they are treated in a different way from those that are similar to identifiers. The lexer follows rules familiar from languages like Haskell, C, and Java, including longest match and spacing conventions.
| |
| The reserved words used in kotek are the following: \\
| |
| <table>
| |
| <tr>
| |
| <td><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}
| |