Revision of help page for overloading 98/13298/2
Stanislav KROTER [Sun, 1 Dec 2013 16:52:15 +0000 (22:52 +0600)]
Added russian translation of this help page.

Change-Id: I8aa4c234330bd0d67ad3270bf95140a2e3f80161

scilab/modules/functions/help/en_US/overloading.xml
scilab/modules/functions/help/ja_JP/overloading.xml
scilab/modules/functions/help/pt_BR/overloading.xml
scilab/modules/functions/help/ru_RU/overloading.xml [new file with mode: 0644]

index 817555b..d364a76 100644 (file)
@@ -20,8 +20,8 @@
     </refnamediv>
     <refsection>
         <title>Description</title>
-        <para>In scilab, variable display, functions and operators may be defined
-            for new objects using functions (scilab coded or primitives).
+        <para>In Scilab, variable display, functions and operators may be defined
+            for new objects using functions (Scilab coded or primitives).
         </para>
         <variablelist>
             <varlistentry>
@@ -31,7 +31,7 @@
                         The display of new objects defined by <literal>tlist</literal>
                         structure may be overloaded (the default display is similar to
                         <literal>list</literal>'s one). The overloading function must have
-                        no output argument a single input argument. It's name is formed as
+                        no output argument and a single input argument. It's name is formed as
                         follow <literal>%&lt;tlist_type&gt;_p</literal> where
                         <literal>%&lt;tlist_type&gt;</literal> stands for the first entry of
                         the <literal>tlist</literal> type component truncated to the first 9
             </varlistentry>
         </variablelist>
         <para>for binary operators:
-            <literal>%&lt;first_operand_type&gt;_&lt;op_code&gt;_&lt;second_operand_type&gt;</literal>
+            <literal>%&lt;first_operand_type&gt;_&lt;op_code&gt;_&lt;second_operand_type&gt;</literal>;
         </para>
         <para>for unary operators:
-            <literal>%&lt;operand_type&gt;_&lt;op_code&gt;</literal>
+            <literal>%&lt;operand_type&gt;_&lt;op_code&gt;</literal>;
         </para>
         <para>extraction and insertion operators which are n-nary operators are
             described below.
         </para>
-        <para>Be careful, only the types registered by the
-            <literal>typename</literal> function can be used in an overloading
-            macros
-        </para>
+        <warning>Be careful, only the types registered by the
+            <function>typename</function> function can be used in an overloading
+            macros.
+        </warning>
         <para>
             <literal>&lt;operand_type&gt;</literal>,
             <literal>&lt;first_operand_type&gt;</literal>,
                     <literal>i</literal>
                 </td>
                 <td>
-                    <literal>int8, int16,int32, uint8, uint16, uint32</literal>
+                    <literal>int8, int16, int32, uint8, uint16, uint32</literal>
                 </td>
                 <td/>
             </tr>
             the following calling sequence: <literal>[x1, .., xm] =
                 %&lt;type_of_a&gt;_e_(i1, ..., in, a)
             </literal>
+            .
         </para>
         <para>The overloading function associated to the insertion syntax
             <literal>a(i1, ..., in) = b</literal> has the following calling sequence:
         </para>
         <para>
             The <literal>6</literal> char code may be used for some complex
-            insertion algorithm like <literal>x.b(2) = 33</literal> where
+            insertion algorithm like <code>x.b(2) = 33</code> where
             <literal>b</literal> field is not defined in the structure
             <literal>x</literal>. The insertion is automatically decomposed into
-            <literal>temp = x.b;</literal> <literal>temp(2) = 33;</literal>
-            <literal>x.b = temp</literal>. The <literal>6</literal> char code is used
+            <code>temp = x.b</code>; <code>temp(2) = 33</code>;
+            <code>x.b = temp</code>. The <literal>6</literal> char code is used
             for the first step of this algorithm. The <literal>6</literal> overloading
             function is very similar to the <literal>e</literal>'s one.
         </para>
             <varlistentry>
                 <term>Functions :</term>
                 <listitem>
-                    <para>Some basic primitive function</para>
-                    <para>may also be overloaded for new data type. When such a function
+                    <para>
+                        Some basic primitive function may also be overloaded for new data type. When such function
                         is undefined for a particular data types the function
                         <literal>%&lt;type_of_an_argument&gt;_&lt;function_name&gt;</literal>
                         is called. User may add in this called function the definition
     </refsection>
     <refsection>
         <programlisting role="example">//DISPLAY
+            var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // the type of var is 'tab'
+            
+            typeof(var)
+            
             function [] = %tab_p(l)
             disp([[' '; l(3)] [l(2); string(l(4))]])
             endfunction
             
-            tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2))
+            var // after overloading
         </programlisting>
     </refsection>
     <refsection>
         <programlisting role="example">//OPERATOR
+            's' + 1 // it is impossible to add a number to a string
+            
             function x = %c_a_s(a, b)
             x = a + string(b);
             endfunction
             
-            's' + 1
+            's' + 1 // after overloading
         </programlisting>
     </refsection>
     <refsection>
         <programlisting role="example">//FUNCTION
+            sin('2 * x') // the sin function does not work with a string
+            
             function x = %c_sin(a)
             x = 'sin(' + a + ')'
             endfunction
             
-            sin('2 * x')
+            sin('2 * x') // after overloading
         </programlisting>
     </refsection>
     <refsection role="see also">
                 <link linkend="type">type</link>
             </member>
             <member>
-                <link linkend="typename">type</link>
+                <link linkend="typename">typename</link>
             </member>
         </simplelist>
     </refsection>
index 30d3c91..2dcd850 100644 (file)
             <literal>%&lt;operand_type&gt;_&lt;op_code&gt;</literal>
         </para>
         <para>n項演算子の展開および挿入は以下のように記述されます.</para>
-        <para>
-            <literal>typename</literal>関数に登録された型のみが
+        <warning>
+            <function>typename</function>関数に登録された型のみが
             オーバーロードマクロの中で使用できることに注意してください.
-        </para>
+        </warning>
         <para>
             <literal>&lt;operand_type&gt;</literal>,
             <literal>&lt;first_operand_type&gt;</literal>,
                     <literal>i</literal>
                 </td>
                 <td>
-                    <literal>int8, int16,int32, uint8, uint16, uint32</literal>
+                    <literal>int8, int16, int32, uint8, uint16, uint32</literal>
                 </td>
                 <td/>
             </tr>
         </para>
         <para>
             文字コード<literal>6</literal> を
-            <literal>x.b(2)=33</literal>のような複雑な挿入アルゴリズム で使用することができます.
+            <code>x.b(2) = 33</code>のような複雑な挿入アルゴリズム で使用することができます.
             ただし,<literal>b</literal>フィールドは構造体<literal>x</literal>で 定義されません.
-            挿入は自動的に<literal>temp=x.b;</literal> <literal>temp(2)=33;</literal>
-            <literal>x.b=temp</literal>に分解されます. 文字コード<literal>6</literal>
+            挿入は自動的に<literal>temp=x.b;</literal> <code>temp(2) = 33</code>;
+            <code>x.b = temp</code>に分解されます. 文字コード<literal>6</literal>
             がこのアルゴリズムの最初の手順で 使用されます.オーバーロード関数<literal>6</literal> は,
             <literal>e</literal>のものに非常によく似ています.
         </para>
             <varlistentry>
                 <term>関数 :</term>
                 <listitem>
-                    <para>いくつかの基本プリミティブ関数</para>
-                    <para>新規データ型に関してオーバーロードができます. 特定のデータ型に関してこのような関数が未定義の場合,
+                    <para>
+                        いくつかの基本プリミティブ関数新規データ型に関してオーバーロードができます. 特定のデータ型に関してこのような関数が未定義の場合,
                         関数<literal>%&lt;type_of_an_argument&gt;_&lt;function_name&gt;</literal>
                         がコールされます. ユーザはこのコールされた関数に入力データ型に関する 定義を追加することができます.
                     </para>
     </refsection>
     <refsection>
         <programlisting role="example">//表示
+            var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // the type of var is 'tab'
+            
+            typeof(var)
+            
             function [] = %tab_p(l)
             disp([[' '; l(3)] [l(2); string(l(4))]])
             endfunction
             
-            tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2))
+            var // after overloading
         </programlisting>
     </refsection>
     <refsection>
         <programlisting role="example">//演算子
+            's' + 1 // it is impossible to add a number to a string
+            
             function x = %c_a_s(a, b)
             x = a + string(b);
             endfunction
             
-            's' + 1
+            's' + 1 // after overloading
         </programlisting>
     </refsection>
     <refsection>
         <programlisting role="example">//関数
+            sin('2 * x') // the sin function does not work with a string
+            
             function x = %c_sin(a)
             x = 'sin(' + a + ')'
             endfunction
             
-            sin('2 * x')
+            sin('2 * x') // after overloading
         </programlisting>
     </refsection>
     <refsection role="see also">
                 <link linkend="type">type</link>
             </member>
             <member>
-                <link linkend="typename">type</link>
+                <link linkend="typename">typename</link>
             </member>
         </simplelist>
     </refsection>
index 5c598a0..22f333a 100644 (file)
@@ -10,7 +10,7 @@
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="en">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="pt">
     <refnamediv>
         <refname>overloading</refname>
         <refpurpose>capacidades de overloading ("sobrecarga") de exibições,
@@ -52,7 +52,7 @@
         </variablelist>
         <para>para operadores binários:
             <literal>%&lt;tipo_do_primeiro_operando&gt;_&lt;código_do_
-                operador&gt;_&lt;tipo_do_segundo_operando&gt; 
+                operador&gt;_&lt;tipo_do_segundo_operando&gt;
             </literal>
         </para>
         <para>para operadores unários:
         <para>Operadores de extração e inserção que são n-nários são descritos
             abaixo.
         </para>
+        <warning>
+            Be careful, only the types registered by the
+            <function>typename</function> function can be used in an
+            overloading macros.
+        </warning>
         <para>
             <literal>&lt;tipo_do_operando&gt;</literal>,
             <literal>&lt;tipo_do_primeiro_operando&gt;</literal>,
         <para>A função de sobrecarga associada à sintaxe de inserção
             <literal>a(i1,...,in)=b</literal> tem a segunite seqüência de
             chamamento:<literal>
-                a=%&lt;tipo_de_b&gt;_i_&lt;tipo_de_a&gt;(i1,...,in,b,a) 
+                a=%&lt;tipo_de_b&gt;_i_&lt;tipo_de_a&gt;(i1,...,in,b,a)
             </literal>
             .
         </para>
         <para>
             O código "char" <literal>6</literal> pode ser usado para alguns
-            algoritmos de inserção complexos como <literal>x.b(2)=33</literal> onde o
+            algoritmos de inserção complexos como <code>x.b(2) = 33</code> onde o
             campo <literal>b</literal> não está definido na estrutura
             <literal>x</literal>. A inserção é automaticamente decomposta em
-            <literal>temp=x.b;</literal> <literal>temp(2)=33;</literal>
-            <literal>x.b=temp</literal>. O código "char" <literal>6</literal> é usado
+            <literal>temp=x.b;</literal> <code>temp(2) = 33</code>;
+            <code>x.b = temp</code>. O código "char" <literal>6</literal> é usado
             para o primeiro passo desse algoritmo. A função de sobrecarga de
             <literal>6</literal> é muito semelhante à função de
             <literal>e</literal>'s.
                     <para>algumas funções primitivas básicas também podem ser
                         sobrecarregadas para novos tipo de dados. Quando tal função não é
                         definida para tipos de dados particulares, a função <literal>
-                            %&lt;tipo_de_um_argumento&gt;_&lt;nome_da_função&gt; 
+                            %&lt;tipo_de_um_argumento&gt;_&lt;nome_da_função&gt;
                         </literal>
                         é
                         chamada. O usuário pode adicionar a esta função chamada a definição
     </refsection>
     <refsection>
         <programlisting role="example">//EXIBIÇÃO
+            var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // the type of var is 'tab'
+            
+            typeof(var)
+            
             function [] = %tab_p(l)
             disp([[' '; l(3)] [l(2); string(l(4))]])
             endfunction
             
-            tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2))
+            var // after overloading
         </programlisting>
     </refsection>
     <refsection>
         <programlisting role="example">//OPERADOR
+            's' + 1 // it is impossible to add a number to a string
+            
             function x = %c_a_s(a, b)
             x = a + string(b);
             endfunction
             
-            's' + 1
+            's' + 1 // after overloading
         </programlisting>
     </refsection>
     <refsection>
         <programlisting role="example">//FUNÇÃO
+            sin('2 * x') // the sin function does not work with a string
+            
             function x = %c_sin(a)
             x = 'sin(' + a + ')'
             endfunction
             
-            sin('2 * x')
+            sin('2 * x') // after overloading
         </programlisting>
     </refsection>
     <refsection>
             <member>
                 <link linkend="symbols">symbols</link>
             </member>
+            <member>
+                <link linkend="typeof">typeof</link>
+            </member>
+            <member>
+                <link linkend="type">type</link>
+            </member>
+            <member>
+                <link linkend="typename">typename</link>
+            </member>
         </simplelist>
     </refsection>
 </refentry>
diff --git a/scilab/modules/functions/help/ru_RU/overloading.xml b/scilab/modules/functions/help/ru_RU/overloading.xml
new file mode 100644 (file)
index 0000000..2c0cef9
--- /dev/null
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * Copyright (C) DIGITEO - 2012 - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="overloading" xml:lang="ru">
+    <refnamediv>
+        <refname>перегрузка</refname>
+        <refpurpose>
+            возможности перегрузки отображения, функций и операторов
+        </refpurpose>
+    </refnamediv>
+    <refsection>
+        <title>Описание</title>
+        <para>
+            В Scilab'е вывод на экран переменной, функции и операторы могут быть определены для новых объектов с помощью функций (в Scilab-коде или примитивов).
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term>Вывод на экран</term>
+                <listitem>
+                    <para>
+                        Вывод на экран новых объектов, определённых с
+                        помощью структуры типизированного списка
+                        <literal>tlist</literal>, может быть перегружен
+                        (по умолчанию вывод на экран схож с с выводом на
+                        экран списка <literal>list</literal>). Функция
+                        перегрузки не должна иметь выходных аргументов,
+                        но должна иметь один входной аргумент. Её имя
+                        формируется следующим образом:
+                        <literal>%&lt;тип_tlist&gt;_p</literal>,
+                        где <literal>%&lt;тип_tlist&gt;</literal>
+                        указывает на первый вход компонента типа
+                        <literal>tlist</literal>, усечённого до первых
+                        9-ти символов.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>Операторы</term>
+                <listitem>
+                    <para>
+                        Каждый оператор, который не определён для типов
+                        указанных операндов, может быть определён.
+                        Функция перегрузки должна иметь один выходной
+                        аргумент и один или два входных в соответствии с
+                        количеством операндов. Имя функции формируется
+                        следующим образом:
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+        <para>для бинарных операторов:
+            <literal>%&lt;тип_первого_операнда&gt;_&lt;код_оператора&gt;_&lt;тип_второго_операнда&gt;</literal>;
+        </para>
+        <para>для унарных операторов:
+            <literal>%&lt;operand_type&gt;_&lt;код_оператора&gt;</literal>;
+        </para>
+        <para>
+            операторы выделения и вставки, которые являются n-арными
+            операторами, описаны ниже.
+        </para>
+        <warning>
+            Будьте осторожны. В макросе перегрузки можно использовать
+            только те типы, которые зарегистрированы функцией
+            <function>typename</function>.
+        </warning>
+        <para>
+            <literal>&lt;operand_type&gt;</literal>,
+            <literal>&lt;тип_первого_операнда&gt;</literal>,
+            <literal>&lt;тип_второго_операнда&gt;</literal> являются
+            последовательностями символов, связанных с каждым типом
+            данных как это описано в следующей таблице:
+        </para>
+        <informaltable border="1">
+            <tr>
+                <td>тип данных</td>
+                <td>символьный код</td>
+                <td>typeof</td>
+                <td>комментарии</td>
+            </tr>
+            <tr>
+                <td>матрица чисел удвоенной точности</td>
+                <td>
+                    <literal>s</literal>
+                </td>
+                <td>
+                    <literal>constant</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>матрица полиномов</td>
+                <td>
+                    <literal>p</literal>
+                </td>
+                <td>
+                    <literal>polynomial</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>матрица логических значений</td>
+                <td>
+                    <literal>b</literal>
+                </td>
+                <td>
+                    <literal>boolean</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>разрежённая матрица</td>
+                <td>
+                    <literal>sp</literal>
+                </td>
+                <td>
+                    <literal>sparse</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>разрежённая матрица логических значений</td>
+                <td>
+                    <literal>spb</literal>
+                </td>
+                <td>
+                    <literal>boolean sparse</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>разрежённая матрица Matlab'а</td>
+                <td>
+                    <literal>msp</literal>
+                </td>
+                <td>
+                    <literal>Matlab sparse</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>матрица целочисленных значений</td>
+                <td>
+                    <literal>i</literal>
+                </td>
+                <td>
+                    <literal>int8, int16, int32, uint8, uint16, uint32</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>матрица строк</td>
+                <td>
+                    <literal>c</literal>
+                </td>
+                <td>
+                    <literal>string</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>дескриптор</td>
+                <td>
+                    <literal>h</literal>
+                </td>
+                <td>
+                    <literal>handle</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>компилированная функция</td>
+                <td>
+                    <literal>fptr</literal>
+                </td>
+                <td>
+                    <literal>fptr</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>сценарий, функция</td>
+                <td>
+                    <literal>mc</literal>
+                </td>
+                <td>
+                    <literal>function</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>библиотека</td>
+                <td>
+                    <literal>f</literal>
+                </td>
+                <td>
+                    <literal>library</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>список</td>
+                <td>
+                    <literal>l</literal>
+                </td>
+                <td>
+                    <literal>list</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>типизированный список</td>
+                <td>
+                    <literal>tlist type</literal>
+                </td>
+                <td>
+                    <literal>tlist type</literal>
+                </td>
+                <td>первая строка первого элемента типизированного списка</td>
+            </tr>
+            <tr>
+                <td>матричноориентированный список</td>
+                <td>
+                    <literal>mlist type</literal>
+                </td>
+                <td>
+                    <literal>mlist type</literal>
+                </td>
+                <td>первая строка первого элемента матричноориентированного списка</td>
+            </tr>
+            <tr>
+                <td>гиперматрица</td>
+                <td>
+                    <literal>hm</literal>
+                </td>
+                <td>
+                    <literal>hypermat</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>указатель</td>
+                <td>
+                    <literal>ptr</literal>
+                </td>
+                <td>
+                    <literal>pointer</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>cell-массив</td>
+                <td>
+                    <literal>ce</literal>
+                </td>
+                <td>
+                    <literal>ce</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>структура</td>
+                <td>
+                    <literal>st</literal>
+                </td>
+                <td>
+                    <literal>st</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>рациональное значение</td>
+                <td>
+                    <literal>r</literal>
+                </td>
+                <td>
+                    <literal>rational</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>линейное пространство состояний</td>
+                <td>
+                    <literal>lss</literal>
+                </td>
+                <td>
+                    <literal>state-space</literal>
+                </td>
+                <td/>
+            </tr>
+            <tr>
+                <td>неявный полином</td>
+                <td>
+                    <literal>ip</literal>
+                </td>
+                <td>
+                    <literal>size implicit</literal>
+                </td>
+                <td>1:1:$</td>
+            </tr>
+        </informaltable>
+        <para>
+            <literal>&lt;код_оператора&gt;</literal> - это одиночный
+            символ, связанный с каждым оператором, как описано в
+            следующей таблице:
+        </para>
+        <informaltable border="1">
+            <tr>
+                <td>
+                    <literal>оператор</literal>
+                </td>
+                <td>символьный код</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>'</literal>
+                </td>
+                <td>t</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>+</literal>
+                </td>
+                <td>a</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>-</literal>
+                </td>
+                <td>s</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>*</literal>
+                </td>
+                <td>m</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>/</literal>
+                </td>
+                <td>r</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>\</literal>
+                </td>
+                <td>l</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>^</literal>
+                </td>
+                <td>p</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>.*</literal>
+                </td>
+                <td>x</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>./</literal>
+                </td>
+                <td>d</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>.\</literal>
+                </td>
+                <td>q</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>.*.</literal>
+                </td>
+                <td>k</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>./.</literal>
+                </td>
+                <td>y</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>.\.</literal>
+                </td>
+                <td>z</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>:</literal>
+                </td>
+                <td>b</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>*.</literal>
+                </td>
+                <td>u</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>/.</literal>
+                </td>
+                <td>v</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>\.</literal>
+                </td>
+                <td>w</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>[a,b]</literal>
+                </td>
+                <td>c</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>[a;b]</literal>
+                </td>
+                <td>f</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>() выделение</literal>
+                </td>
+                <td>e</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>() вставка</literal>
+                </td>
+                <td>i</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>==</literal>
+                </td>
+                <td>o</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>&lt;&gt;</literal>
+                </td>
+                <td>n</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>|</literal>
+                </td>
+                <td>g</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>&amp;</literal>
+                </td>
+                <td>h</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>.^</literal>
+                </td>
+                <td>j</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>.'</literal>
+                </td>
+                <td>0</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>&lt;</literal>
+                </td>
+                <td>1</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>&gt;</literal>
+                </td>
+                <td>2</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>&lt;=</literal>
+                </td>
+                <td>3</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>&gt;=</literal>
+                </td>
+                <td>4</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>~</literal>
+                </td>
+                <td>5</td>
+            </tr>
+            <tr>
+                <td>
+                    <literal>iext</literal>
+                </td>
+                <td>6</td>
+            </tr>
+        </informaltable>
+        <para>
+            Функция перегрузки для синтаксиса выделения
+            <literal>b= a(i1, ..., in)</literal>
+            имеет следующую последовательность вызова:
+            <literal>b = %&lt;тип_a&gt;;_e_(i1, ..., in, a)</literal>
+        </para>
+        <para>
+            и синтаксис <literal>[x1, .., xm] = a(i1, ..., in)</literal>
+            имеет следующую последовательность вызова:
+            <literal>[x1, .., xm] = %&lt;тип_a&gt;;_e_(i1, ..., in, a)</literal>.
+        </para>
+        <para>
+            Функция перегрузки, связанная с синтаксисом вставки
+            <literal>a(i1, ..., in) = b</literal> имеет следующую
+            последовательность вызова:
+            <literal>a = %&lt;тип_b&gt;;_i_&lt;тип_a&gt;;(i1, ..., in, b, a)</literal>.
+        </para>
+        <para>
+            Символьный код <literal>6</literal> может использоваться в
+            некоторых сложных алгоритмах вставки, таких как <code>x.b(2) = 33</code>,
+            где поле <literal>b</literal> не определено в структуре
+            <literal>x</literal>. Вставка автоматически разлагается на
+            <code>temp = x.b</code>; <code>temp(2) = 33</code>;
+            <code>x.b = temp</code>. Символьный код <literal>6</literal>
+            используется для первого шага этого алгоритма. Функция
+            перегрузки <literal>6</literal> очень похожа на функцию
+            перегрузки <literal>e</literal>.
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term>Функции:</term>
+                <listitem>
+                    <para>
+                        Некоторые основные функции-примитивы могут быть
+                        также перегружены для новых типов данных. Когда
+                        такая функция не определена для особого типа
+                        данных, то вызывается функция
+                        <literal>%&lt;тип_аргумента&gt;_&lt;имя_функции&gt;</literal>.
+                        Пользователь может добавить в этой вызываемой
+                        функции определение, связанное с типами входных данных.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Примеры</title>
+    </refsection>
+    <refsection>
+        <programlisting role="example">
+            //ВЫВОД НА ЭКРАН
+            var = tlist('tab', ['a', 'b'], ['x'; 'y'], rand(2, 2)) // у переменной var тип 'tab'
+            
+            typeof(var)
+            
+            function [] = %tab_p(l)
+            disp([[' '; l(3)] [l(2); string(l(4))]])
+            endfunction
+            
+            var // после перегрузки
+        </programlisting>
+    </refsection>
+    <refsection>
+        <programlisting role="example">
+            //ОПЕРАТОР
+            's' + 1 // нельзя прибавить число к строке
+            
+            function x = %c_a_s(a, b)
+            x = a + string(b);
+            endfunction
+            
+            's' + 1 // после перегрузки
+        </programlisting>
+    </refsection>
+    <refsection>
+        <programlisting role="example">
+            //ФУНКЦИЯ
+            sin('2 * x') // sin не работает со строкой
+            
+            function x = %c_sin(a)
+            x = 'sin(' + a + ')'
+            endfunction
+            
+            sin('2 * x') // после перегрузки
+        </programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>Смотрите также</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="tlist">tlist</link>
+            </member>
+            <member>
+                <link linkend="disp">disp</link>
+            </member>
+            <member>
+                <link linkend="symbols">symbols</link>
+            </member>
+            <member>
+                <link linkend="typeof">typeof</link>
+            </member>
+            <member>
+                <link linkend="type">type</link>
+            </member>
+            <member>
+                <link linkend="typename">typename</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>