Документ: от печати до выписок из
 базы данных. От аппликативного
       программирования к
        функциональному.
           «Архитектура вычислительных систем»
                  Акоев Марк Анатольевич
                         7 семестр
                      14 часов, зачет
      http://akoev.blogspot.com/search/label/Computing
Документ
PostScript
%!PS-Adobe-1.0
% По умолчанию, постскрипт использует единицу измерения 1 пункт=1/72 дюйм
% а нам нравятся миллиметры.
72 25.4 div           % 1 мм = 72/25.4 пунктов
dup                   % дублировать значение на вершине стека
scale                 % растянуть в это количество раз по обеим координат
100 100 translate     % установить начало координат в (100мм, 100мм)

/Times-Roman findfont % взять шрифт Times-Roman
10 scalefont          % растянуть до размера 10 (у нас единица измерения
setfont               % установить выбранный шрифт

0 30 330 {             % цикл для углов от 0 до 330 с шагом 30
  gsave                  % запомнить текущее преобразование координат
    rotate               % повернуть систему координат (угол в градусах бе
    15 0 moveto          % перейти в точку (15мм, 0мм)
    (Wikipedia) show     % написать слово текущим шрифтом
  grestore               % вернуть преобразование координат
} for                  % конец цикла for

showpage               % вывести страницу
Wikipedia
          ia




                       a
                    edi
       ed   ip

                 kip
        ia                    ed ia


         ik
     ed                  ip



               Wi
               W
W
  k
  iip
                    W ik
Wikipedia           Wikipedia
Wi                  Wi
    kip               ki p
             W
             Wi
                           edi
             Wikipedia
       edi
                              a
               ik

                kip
           a
        ed       ip


                    edi
           ia




                        a
Display PostScript
Quartz 2D
Cairo (graphics)
  http://cairographics.org/
SVG - Scalable Vector Graphics
</embed>


  Групировки

  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN"
     "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
  <svg width="5cm" height="5cm">
    <desc>Two groups, each of two rectangles
    </desc>
    <g id="group1" style="fill:red">
      <rect x="1cm" y="1cm" width="1cm" height="1cm" />
      <rect x="3cm" y="1cm" width="1cm" height="1cm" />
    </g>
    <g id="group2" style="fill:blue">
      <rect x="1cm" y="3cm" width="1cm" height="1cm" />
      <rect x="3cm" y="3cm" width="1cm" height="1cm" />
    </g>
  </svg>
Flash
Forth
ЙОДЫ МАГИСТРА РЕЧИ ТАЙНА
        ОТКРЫТА:
НА ФОРТЕ ПРОГРАММЕР ЕСТЬ
   СТАРЫЙ ОН ПРОСТО.
Проблемы:

1. Остатки в вершине стека
2. Как манипулировать значениями на
   произвольной глубине стека?
EPS
Язык для описания языков
   предметной области
Аппликативное программирование
APL
'Hello, world'



The following expression sorts a word list stored in matrix X according to word l

X[⍋X+.≠' ';]



The following function "life", written in Dyalog APL, takes a boolean matrix an
generation according to Conway's Game of Life:




In the following example, also Dyalog, the first line assigns some HTML code to
uses an APL expression to remove all the HTML tags, returning the text only as
Форматирование текста
4. http://www.planetdjvu.com/
          5. На сайте Боба Ковера собирается множество ссылок на различные ресурсы вокруг SGML и XML в частности: [

?>=<
89:;
             http://www.oasis-open.org/cover/ ]
  1

                                                              Заголовок
                                                                 Автор
                                                              Организация
                                                                 Адрес

                                                            Дата публикации

           Аннотация
           Часть 1. Название части
           Название раздела
           Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст
       текст текст текст текст текст текст текст текст текст текст текст текст текст текст [1] текст текст текст ключевое понятие
       текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст
       текст текст текст текст текст см также ссылка текст текст текст текст текст текст текст текст ключевое понятие текст
       текст текст текст текст текст.
           Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст
       текст текст текст текст текст текст текст текст см также ссылка текст текст текст текст текст текст текст текст ключевое
       понятие текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст
       ключевое понятие текст текст текст текст текст текст текст текст текст текст текст текст [2] текст текст текст текст текст
       текст текст текст текст текст.
           Список
           - Первый элемент списка
           - Второй элемент списка
           - Третий элемент списка
          Литература
          1. Источник первый


?>=<
89:;
          2. Источник второй
  2

       <?xml version="1.0" encoding="windows-1251"?>
       <ARTICLE>
       <!-- это комментарий -->
>=<
9:;
 3    ?>=<
      89:;
        6



      ?>=<
      89:;
        7
ветствующего шрифта
                                                                     CHAPTER {
      px    пиксели (размер зависит от устройства                        font-size: 1.25em;
            отображения)                                                 font-weight: bold;
                                                                       }

                                                                     BIBLREF, KW, LINK { display: inline; }

                                                                     KW {
                                                                         font-style: oblique ;
                                                                         background-color: lawngreen ;
                                                                     }

                                                                     LINK {
                                                                         font-style: italic;
                                                                         color: blue;
                                                                     }
                                                       margin-top
                    border-width                       border-top-width
                                                       padding-top                            border-right-width
      margin-left                       padding-left   содержимое            padding-right                         margin-right
                    border-left-width                  padding-bottom
                                                       border-bottom-width
                                                       margin-bottom
 Resource Description Framework (RDF)

SS         XSL
         /
       RDF
     -----
       XML
        |

браузер
A
TEX / L TEX
begin{slide}
begin{center}
section{Huge $TeX$ / $LaTeX$}
end{center}
end{slide}
HTML
SGML
Описание разметки + Кодировка
      символов -> Markup

Описание разметки, вариант по умол-
чанию <тег>
Машиночитаемость
Человекочитаемость
XML
<?xml version="1.0" encoding="windows-1251" ?>
<XML>
<тег>тег</тег>
<xml></xml>
<lc></LC>
</XML>
XSLT
Результат                           <xsl:template match="surname">
         <b>                                      <i>
         Joe                                           <xsl:value-of select="."/>
         Smith                                    </i>
         </b>                                </xsl:template>
                                             </xsl:stylesheet>


?> = <
89 : ;
 83      Исходный XML                 ?>=<
                                      89:;
                                       84
         <source>
                                             <xsl:stylesheet version = ’1.0’
         <employee>                               xmlns:xsl=’http://www.w3.org/1999/XSL/Transform’>
              <firstName>Joe</firstName>
              <surname>Smith</surname>       <xsl:template match="employee">
         </employee>                              <b>
                                                       <xsl:apply-templates select="firstName"/>
         </source>                                </b>
                                                  <b>
                                                       <xsl:apply-templates select="surname"/>
         Результат                                </b>
         <b>Joe</b>                          </xsl:template>
         <b>
           <i>Smith</i>                      <xsl:template match="surname">
         </b>                                     <i>
                                                       <xsl:value-of select="."/>
                                                  </i>
                                             </xsl:template>


                                             </xsl:stylesheet>
п
                                               Тема 13
2                        Версия: 0.9.6
    XPath

     1      <AAA>          ?>=<
                           89:;
                             7
     2        <BBB/>
     3        <CCC/>                /AAA

                           ?>=<
                           89:;
     4        <BBB/>
     5        <BBB/>         8
     6        <DDD>
     7          <BBB/>              /AAA/CCC

                           ?>=<
                           89:;
     8        </DDD>
     9        <CCC/>         9
     10     </AAA>
                                    /AAA/DDD/BBB


     1      <AAA>          ?>=<
                           89:;
                            11
     2        <BBB/>
     3        <CCC/>
Функциональные языки
Редукция графов
Карринг
Вопросы

Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному.

  • 1.
    Документ: от печатидо выписок из базы данных. От аппликативного программирования к функциональному. «Архитектура вычислительных систем» Акоев Марк Анатольевич 7 семестр 14 часов, зачет http://akoev.blogspot.com/search/label/Computing
  • 2.
  • 3.
  • 5.
    %!PS-Adobe-1.0 % По умолчанию,постскрипт использует единицу измерения 1 пункт=1/72 дюйм % а нам нравятся миллиметры. 72 25.4 div % 1 мм = 72/25.4 пунктов dup % дублировать значение на вершине стека scale % растянуть в это количество раз по обеим координат 100 100 translate % установить начало координат в (100мм, 100мм) /Times-Roman findfont % взять шрифт Times-Roman 10 scalefont % растянуть до размера 10 (у нас единица измерения setfont % установить выбранный шрифт 0 30 330 { % цикл для углов от 0 до 330 с шагом 30 gsave % запомнить текущее преобразование координат rotate % повернуть систему координат (угол в градусах бе 15 0 moveto % перейти в точку (15мм, 0мм) (Wikipedia) show % написать слово текущим шрифтом grestore % вернуть преобразование координат } for % конец цикла for showpage % вывести страницу
  • 6.
    Wikipedia ia a edi ed ip kip ia ed ia ik ed ip Wi W W k iip W ik Wikipedia Wikipedia Wi Wi kip ki p W Wi edi Wikipedia edi a ik kip a ed ip edi ia a
  • 7.
  • 8.
  • 9.
    Cairo (graphics) http://cairographics.org/
  • 10.
    SVG - ScalableVector Graphics
  • 11.
    </embed> Групировки <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"> <svg width="5cm" height="5cm"> <desc>Two groups, each of two rectangles </desc> <g id="group1" style="fill:red"> <rect x="1cm" y="1cm" width="1cm" height="1cm" /> <rect x="3cm" y="1cm" width="1cm" height="1cm" /> </g> <g id="group2" style="fill:blue"> <rect x="1cm" y="3cm" width="1cm" height="1cm" /> <rect x="3cm" y="3cm" width="1cm" height="1cm" /> </g> </svg>
  • 13.
  • 14.
  • 18.
    ЙОДЫ МАГИСТРА РЕЧИТАЙНА ОТКРЫТА: НА ФОРТЕ ПРОГРАММЕР ЕСТЬ СТАРЫЙ ОН ПРОСТО.
  • 19.
    Проблемы: 1. Остатки ввершине стека 2. Как манипулировать значениями на произвольной глубине стека?
  • 20.
  • 21.
    Язык для описанияязыков предметной области
  • 22.
  • 23.
  • 24.
    'Hello, world' The followingexpression sorts a word list stored in matrix X according to word l X[⍋X+.≠' ';] The following function "life", written in Dyalog APL, takes a boolean matrix an generation according to Conway's Game of Life: In the following example, also Dyalog, the first line assigns some HTML code to uses an APL expression to remove all the HTML tags, returning the text only as
  • 25.
  • 26.
    4. http://www.planetdjvu.com/ 5. На сайте Боба Ковера собирается множество ссылок на различные ресурсы вокруг SGML и XML в частности: [ ?>=< 89:; http://www.oasis-open.org/cover/ ] 1 Заголовок Автор Организация Адрес Дата публикации Аннотация Часть 1. Название части Название раздела Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст [1] текст текст текст ключевое понятие текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст см также ссылка текст текст текст текст текст текст текст текст ключевое понятие текст текст текст текст текст текст. Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст см также ссылка текст текст текст текст текст текст текст текст ключевое понятие текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст ключевое понятие текст текст текст текст текст текст текст текст текст текст текст текст [2] текст текст текст текст текст текст текст текст текст текст. Список - Первый элемент списка - Второй элемент списка - Третий элемент списка Литература 1. Источник первый ?>=< 89:; 2. Источник второй 2 <?xml version="1.0" encoding="windows-1251"?> <ARTICLE> <!-- это комментарий -->
  • 27.
    >=< 9:; 3 ?>=< 89:; 6 ?>=< 89:; 7
  • 28.
    ветствующего шрифта CHAPTER { px пиксели (размер зависит от устройства font-size: 1.25em; отображения) font-weight: bold; } BIBLREF, KW, LINK { display: inline; } KW { font-style: oblique ; background-color: lawngreen ; } LINK { font-style: italic; color: blue; } margin-top border-width border-top-width padding-top border-right-width margin-left padding-left содержимое padding-right margin-right border-left-width padding-bottom border-bottom-width margin-bottom Resource Description Framework (RDF) SS XSL / RDF ----- XML | браузер
  • 29.
  • 30.
    begin{slide} begin{center} section{Huge $TeX$ /$LaTeX$} end{center} end{slide}
  • 31.
  • 32.
  • 33.
    Описание разметки +Кодировка символов -> Markup Описание разметки, вариант по умол- чанию <тег> Машиночитаемость Человекочитаемость
  • 34.
  • 35.
    <?xml version="1.0" encoding="windows-1251"?> <XML> <тег>тег</тег> <xml></xml> <lc></LC> </XML>
  • 36.
  • 37.
    Результат <xsl:template match="surname"> <b> <i> Joe <xsl:value-of select="."/> Smith </i> </b> </xsl:template> </xsl:stylesheet> ?> = < 89 : ; 83 Исходный XML ?>=< 89:; 84 <source> <xsl:stylesheet version = ’1.0’ <employee> xmlns:xsl=’http://www.w3.org/1999/XSL/Transform’> <firstName>Joe</firstName> <surname>Smith</surname> <xsl:template match="employee"> </employee> <b> <xsl:apply-templates select="firstName"/> </source> </b> <b> <xsl:apply-templates select="surname"/> Результат </b> <b>Joe</b> </xsl:template> <b> <i>Smith</i> <xsl:template match="surname"> </b> <i> <xsl:value-of select="."/> </i> </xsl:template> </xsl:stylesheet>
  • 38.
    п Тема 13 2 Версия: 0.9.6 XPath 1 <AAA> ?>=< 89:; 7 2 <BBB/> 3 <CCC/> /AAA ?>=< 89:; 4 <BBB/> 5 <BBB/> 8 6 <DDD> 7 <BBB/> /AAA/CCC ?>=< 89:; 8 </DDD> 9 <CCC/> 9 10 </AAA> /AAA/DDD/BBB 1 <AAA> ?>=< 89:; 11 2 <BBB/> 3 <CCC/>
  • 39.
  • 40.
  • 41.
  • 42.