├── figures
├── .keep
├── pharo.png
└── rmod.png
├── _support
├── figures
│ └── .keep
├── epub
│ ├── stylesheet.css
│ ├── mimetype
│ └── META-INF
│ │ └── container.xml
├── latex
│ ├── texlive.deps
│ ├── sbabook
│ │ ├── sba-logo.pdf
│ │ ├── sbabook.bod.tex
│ │ ├── sbabook.spiral.tex
│ │ ├── CreativeCommons-BY-SA.pdf
│ │ ├── .gitignore
│ │ ├── cover-pharoexpl.tex
│ │ ├── cover-pharotech.tex
│ │ ├── .latexmkrc
│ │ ├── .gitrepo
│ │ ├── texlive-2018.deps
│ │ ├── TODO.markdown
│ │ ├── texlive.deps
│ │ ├── texlive-2023.deps
│ │ ├── gitinfo2.sh
│ │ ├── lstsmalltalk.sty
│ │ ├── README.markdown
│ │ ├── .drone.yml
│ │ └── ci
│ │ │ ├── list-deps
│ │ │ └── install-texlive
│ ├── spiral.preamble.tex
│ ├── lsthttp.sty
│ ├── ensure-deps.sh
│ ├── lstsmalltalk.sty
│ ├── common.tex
│ └── overcolored.sty
├── html
│ ├── css
│ │ ├── ribbon.png
│ │ ├── highlight-commands.css
│ │ ├── horsey.css
│ │ ├── auto-complete.css
│ │ ├── featherlight.min.css
│ │ └── hybrid.css
│ ├── fonts
│ │ ├── FontAwesome.otf
│ │ ├── Inconsolata.eot
│ │ ├── Inconsolata.ttf
│ │ ├── Lato-Bold.ttf
│ │ ├── Lato-Bold.woff2
│ │ ├── Inconsolata.woff
│ │ ├── Lato-Regular.ttf
│ │ ├── Roboto-Italic.ttf
│ │ ├── Roboto-Medium.ttf
│ │ ├── Work_Sans_200.eot
│ │ ├── Work_Sans_200.ttf
│ │ ├── Work_Sans_300.eot
│ │ ├── Work_Sans_300.ttf
│ │ ├── Work_Sans_500.eot
│ │ ├── Work_Sans_500.ttf
│ │ ├── Lato-Regular.woff2
│ │ ├── Roboto-Regular.ttf
│ │ ├── Work_Sans_200.woff
│ │ ├── Work_Sans_200.woff2
│ │ ├── Work_Sans_300.woff
│ │ ├── Work_Sans_300.woff2
│ │ ├── Work_Sans_500.woff
│ │ ├── Work_Sans_500.woff2
│ │ ├── RobotoMono-Medium.ttf
│ │ ├── RobotoMono-Regular.ttf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ ├── fontawesome-webfont.woff2
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ ├── glyphicons-halflings-regular.woff2
│ │ ├── Novecentosanswide-Normal-webfont.eot
│ │ ├── Novecentosanswide-Normal-webfont.ttf
│ │ ├── Novecentosanswide-Normal-webfont.woff
│ │ ├── Novecentosanswide-Normal-webfont.woff2
│ │ ├── Novecentosanswide-UltraLight-webfont.eot
│ │ ├── Novecentosanswide-UltraLight-webfont.ttf
│ │ ├── Novecentosanswide-UltraLight-webfont.woff
│ │ └── Novecentosanswide-UltraLight-webfont.woff2
│ ├── highlightjs
│ │ ├── styles
│ │ │ ├── pojoaque.jpg
│ │ │ ├── brown-papersq.png
│ │ │ ├── school-book.png
│ │ │ ├── darkula.css
│ │ │ ├── ascetic.css
│ │ │ ├── mono-blue.css
│ │ │ ├── dark.css
│ │ │ ├── androidstudio.css
│ │ │ ├── codepen-embed.css
│ │ │ ├── brown-paper.css
│ │ │ ├── vs.css
│ │ │ ├── far.css
│ │ │ ├── arta.css
│ │ │ ├── ir-black.css
│ │ │ ├── color-brewer.css
│ │ │ ├── magula.css
│ │ │ ├── github-gist.css
│ │ │ ├── monokai.css
│ │ │ ├── darcula.css
│ │ │ ├── tomorrow.css
│ │ │ ├── zenburn.css
│ │ │ ├── school-book.css
│ │ │ ├── ocean.css
│ │ │ ├── paraiso-dark.css
│ │ │ ├── paraiso-light.css
│ │ │ ├── dracula.css
│ │ │ ├── qtcreator_dark.css
│ │ │ ├── qtcreator_light.css
│ │ │ ├── rainbow.css
│ │ │ ├── kimbie.dark.css
│ │ │ ├── kimbie.light.css
│ │ │ ├── atelier-dune-dark.css
│ │ │ ├── atelier-dune-light.css
│ │ │ ├── monokai-sublime.css
│ │ │ ├── atelier-heath-dark.css
│ │ │ ├── atelier-heath-light.css
│ │ │ ├── atelier-forest-dark.css
│ │ │ ├── tomorrow-night-bright.css
│ │ │ ├── atelier-forest-light.css
│ │ │ ├── tomorrow-night-eighties.css
│ │ │ ├── atelier-seaside-dark.css
│ │ │ ├── atelier-seaside-light.css
│ │ │ ├── hopscotch.css
│ │ │ ├── atelier-lakeside-dark.css
│ │ │ ├── atelier-lakeside-light.css
│ │ │ ├── arduino-light.css
│ │ │ ├── googlecode.css
│ │ │ ├── xt256.css
│ │ │ ├── atelier-sulphurpool-dark.css
│ │ │ ├── atelier-sulphurpool-light.css
│ │ │ ├── obsidian.css
│ │ │ ├── foundation.css
│ │ │ ├── tomorrow-night.css
│ │ │ ├── xcode.css
│ │ │ ├── pojoaque.css
│ │ │ ├── tomorrow-night-blue.css
│ │ │ ├── solarized-dark.css
│ │ │ ├── solarized-light.css
│ │ │ ├── docco.css
│ │ │ ├── idea.css
│ │ │ ├── atelier-cave-dark.css
│ │ │ ├── atelier-cave-light.css
│ │ │ ├── atelier-estuary-dark.css
│ │ │ ├── atelier-plateau-dark.css
│ │ │ ├── atelier-savanna-dark.css
│ │ │ ├── github.css
│ │ │ ├── atelier-estuary-light.css
│ │ │ ├── atelier-plateau-light.css
│ │ │ ├── atelier-savanna-light.css
│ │ │ ├── atom-one-dark.css
│ │ │ ├── atom-one-light.css
│ │ │ ├── default.css
│ │ │ ├── sunburst.css
│ │ │ ├── railscasts.css
│ │ │ ├── routeros.css
│ │ │ ├── agate.css
│ │ │ ├── hybrid.css
│ │ │ ├── gruvbox-dark.css
│ │ │ ├── gruvbox-light.css
│ │ │ ├── vs2015.css
│ │ │ ├── grayscale.css
│ │ │ └── purebasic.css
│ │ ├── LICENSE
│ │ └── README.ru.md
│ └── js
│ │ ├── annotated-paragraphs.js
│ │ ├── highlight-commands.js
│ │ ├── search.js
│ │ └── html5shiv-printshiv.min.js
├── scripts
│ └── moveFilesToIbook.sh
└── templates
│ ├── latex
│ ├── no-sectioning.mustache
│ ├── chapter.mustache
│ └── main.mustache
│ ├── epub
│ ├── xhtml.mustache
│ ├── nav.ncx.mustache
│ └── contents.opf.mustache
│ └── html
│ ├── title_page.mustache
│ ├── nav.mustache
│ └── main.mustache
├── .gitignore
├── Chapters
└── Smacc
│ ├── figures
│ ├── SmaCCGUI.png
│ ├── SmaCCTutorial.png
│ ├── 3plus4Explorer.png
│ └── SmaccSpecialDebugger.png
│ ├── SmaccIntro.md
│ ├── SmaccTools.md
│ ├── SmaccTransformationsNotes.txt
│ └── SmaccVocabulary.md
├── pillar.conf
├── README.md
├── .github
└── workflows
│ └── main.yml
└── index.md
/figures/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_support/figures/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_support/epub/stylesheet.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_support/epub/mimetype:
--------------------------------------------------------------------------------
1 | application/epub+zip
--------------------------------------------------------------------------------
/_support/latex/texlive.deps:
--------------------------------------------------------------------------------
1 | amsmath
2 | import
3 | ulem
--------------------------------------------------------------------------------
/figures/pharo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/figures/pharo.png
--------------------------------------------------------------------------------
/figures/rmod.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/figures/rmod.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.xcworkspace
2 | /Pharo.*
3 | /pharo
4 | /pharo-ui
5 | /pillar
6 | /mustache
7 | /pharo-vm/
8 | /build/
9 | _result
--------------------------------------------------------------------------------
/_support/html/css/ribbon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/css/ribbon.png
--------------------------------------------------------------------------------
/Chapters/Smacc/figures/SmaCCGUI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/Chapters/Smacc/figures/SmaCCGUI.png
--------------------------------------------------------------------------------
/_support/html/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/_support/html/fonts/Inconsolata.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Inconsolata.eot
--------------------------------------------------------------------------------
/_support/html/fonts/Inconsolata.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Inconsolata.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Lato-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Lato-Bold.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Lato-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Lato-Bold.woff2
--------------------------------------------------------------------------------
/_support/latex/sbabook/sba-logo.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/latex/sbabook/sba-logo.pdf
--------------------------------------------------------------------------------
/_support/latex/sbabook/sbabook.bod.tex:
--------------------------------------------------------------------------------
1 | % Paper format for https://librairie.bod.fr
2 | \providecommand{\setuppage}{\bodpage}\input{sbabook}
3 |
--------------------------------------------------------------------------------
/_support/html/fonts/Inconsolata.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Inconsolata.woff
--------------------------------------------------------------------------------
/_support/html/fonts/Lato-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Lato-Regular.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Roboto-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Roboto-Italic.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_200.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_200.eot
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_200.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_200.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_300.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_300.eot
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_300.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_300.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_500.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_500.eot
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_500.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_500.ttf
--------------------------------------------------------------------------------
/_support/scripts/moveFilesToIbook.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | cd $2
3 | for file in $1.*; do target=${file#$1.}; mv $file Ibook/$target; done
4 | cd ..
5 |
--------------------------------------------------------------------------------
/Chapters/Smacc/figures/SmaCCTutorial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/Chapters/Smacc/figures/SmaCCTutorial.png
--------------------------------------------------------------------------------
/_support/html/fonts/Lato-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Lato-Regular.woff2
--------------------------------------------------------------------------------
/_support/html/fonts/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_200.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_200.woff
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_200.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_200.woff2
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_300.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_300.woff
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_300.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_300.woff2
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_500.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_500.woff
--------------------------------------------------------------------------------
/_support/html/fonts/Work_Sans_500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Work_Sans_500.woff2
--------------------------------------------------------------------------------
/Chapters/Smacc/figures/3plus4Explorer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/Chapters/Smacc/figures/3plus4Explorer.png
--------------------------------------------------------------------------------
/_support/html/fonts/RobotoMono-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/RobotoMono-Medium.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/RobotoMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/RobotoMono-Regular.ttf
--------------------------------------------------------------------------------
/_support/latex/spiral.preamble.tex:
--------------------------------------------------------------------------------
1 | \providecommand{\setuppage}{\spiralboundpage}
2 | \PassOptionsToPackage{maketitle}{_support/latex/sbabook/pharo-titlepage}
--------------------------------------------------------------------------------
/_support/html/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/_support/html/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/_support/html/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/_support/html/highlightjs/styles/pojoaque.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/highlightjs/styles/pojoaque.jpg
--------------------------------------------------------------------------------
/Chapters/Smacc/figures/SmaccSpecialDebugger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/Chapters/Smacc/figures/SmaccSpecialDebugger.png
--------------------------------------------------------------------------------
/_support/html/css/highlight-commands.css:
--------------------------------------------------------------------------------
1 | pre .shellcommands .prompt {
2 | font-weight: bold;
3 | }
4 | pre .shellcommands .output {
5 | color: #666;
6 | }
7 |
--------------------------------------------------------------------------------
/_support/latex/sbabook/sbabook.spiral.tex:
--------------------------------------------------------------------------------
1 | % Paper format for office binding (A4 or letter paper)
2 | \providecommand{\setuppage}{\spiralboundpage}\input{sbabook}
3 |
--------------------------------------------------------------------------------
/_support/html/highlightjs/styles/brown-papersq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/highlightjs/styles/brown-papersq.png
--------------------------------------------------------------------------------
/_support/html/highlightjs/styles/school-book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/highlightjs/styles/school-book.png
--------------------------------------------------------------------------------
/_support/latex/sbabook/CreativeCommons-BY-SA.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/latex/sbabook/CreativeCommons-BY-SA.pdf
--------------------------------------------------------------------------------
/_support/html/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/_support/html/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/_support/html/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-Normal-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-Normal-webfont.eot
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-Normal-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-Normal-webfont.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-Normal-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-Normal-webfont.woff
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-Normal-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-Normal-webfont.woff2
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-UltraLight-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-UltraLight-webfont.eot
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-UltraLight-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-UltraLight-webfont.ttf
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-UltraLight-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-UltraLight-webfont.woff
--------------------------------------------------------------------------------
/_support/html/fonts/Novecentosanswide-UltraLight-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SquareBracketAssociates/Booklet-Smacc/HEAD/_support/html/fonts/Novecentosanswide-UltraLight-webfont.woff2
--------------------------------------------------------------------------------
/_support/html/highlightjs/styles/darkula.css:
--------------------------------------------------------------------------------
1 | /*
2 | Deprecated due to a typo in the name and left here for compatibility purpose only.
3 | Please use darcula.css instead.
4 | */
5 |
6 | @import url('darcula.css');
7 |
--------------------------------------------------------------------------------
/_support/latex/sbabook/.gitignore:
--------------------------------------------------------------------------------
1 | *.aux
2 | *.fdb_latexmk
3 | *.fls
4 | *.gin
5 | *.lof
6 | *.log
7 | *.lol
8 | *.lot
9 | *.toc
10 | *.listing
11 | *.synctex.gz
12 | .auctex/
13 | /auto/
14 | sbabook*.pdf
15 | cover-*.pdf
16 |
--------------------------------------------------------------------------------
/_support/epub/META-INF/container.xml:
--------------------------------------------------------------------------------
1 |
2 |
`, попытавшись
20 | автоматически определить язык. Когда автоопределение не срабатывает, можно явно
21 | указать язык в атрибуте class:
22 |
23 | ```html
24 | ...
25 | ```
26 |
27 | Список поддерживаемых классов языков доступен в [справочнике по классам][2].
28 | Класс также можно предварить префиксами `language-` или `lang-`.
29 |
30 | Чтобы отключить подсветку для какого-то блока, используйте класс `nohighlight`:
31 |
32 | ```html
33 | ...
34 | ```
35 |
36 | ## Инициализация вручную
37 |
38 | Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете
39 | использовать функции [`highlightBlock`][3] и [`configure`][4]. Таким образом
40 | можно управлять тем, *что* и *когда* подсвечивать.
41 |
42 | Вот пример инициализации, эквивалентной вызову [`initHighlightingOnLoad`][1], но
43 | с использованием jQuery:
44 |
45 | ```javascript
46 | $(document).ready(function() {
47 | $('pre code').each(function(i, block) {
48 | hljs.highlightBlock(block);
49 | });
50 | });
51 | ```
52 |
53 | Вы можете использовать любые теги разметки вместо ``. Если
54 | используете контейнер, не сохраняющий переводы строк, вам нужно сказать
55 | highlight.js использовать для них тег `
`:
56 |
57 | ```javascript
58 | hljs.configure({useBR: true});
59 |
60 | $('div.code').each(function(i, block) {
61 | hljs.highlightBlock(block);
62 | });
63 | ```
64 |
65 | Другие опции можно найти в документации функции [`configure`][4].
66 |
67 |
68 | ## Web Workers
69 |
70 | Подсветку можно запустить внутри web worker'а, чтобы окно
71 | браузера не подтормаживало при работе с большими кусками кода.
72 |
73 | В основном скрипте:
74 |
75 | ```javascript
76 | addEventListener('load', function() {
77 | var code = document.querySelector('#code');
78 | var worker = new Worker('worker.js');
79 | worker.onmessage = function(event) { code.innerHTML = event.data; }
80 | worker.postMessage(code.textContent);
81 | })
82 | ```
83 |
84 | В worker.js:
85 |
86 | ```javascript
87 | onmessage = function(event) {
88 | importScripts('/highlight.pack.js');
89 | var result = self.hljs.highlightAuto(event.data);
90 | postMessage(result.value);
91 | }
92 | ```
93 |
94 |
95 | ## Установка библиотеки
96 |
97 | Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать
98 | индивидуальную сборку, а также установив модуль на сервере. На
99 | [странице загрузки][5] подробно описаны все варианты.
100 |
101 | **Не подключайте GitHub напрямую.** Библиотека не предназначена для
102 | использования в виде исходного кода, а требует отдельной сборки. Если вам не
103 | подходит ни один из готовых вариантов, читайте [документацию по сборке][6].
104 |
105 | **Файл на CDN содержит не все языки.** Иначе он будет слишком большого размера.
106 | Если нужного вам языка нет в [категории "Common"][5], можно дообавить его
107 | вручную:
108 |
109 | ```html
110 |
111 | ```
112 |
113 | **Про Almond.** Нужно задать имя модуля в оптимизаторе, например:
114 |
115 | ```
116 | r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
117 | ```
118 |
119 |
120 | ## Лицензия
121 |
122 | Highlight.js распространяется под лицензией BSD. Подробнее читайте файл
123 | [LICENSE][7].
124 |
125 |
126 | ## Ссылки
127 |
128 | Официальный сайт билиотеки расположен по адресу .
129 |
130 | Более подробная документация по API и другим темам расположена на
131 | .
132 |
133 | Авторы и контрибьюторы перечислены в файле [AUTHORS.ru.txt][8] file.
134 |
135 | [1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
136 | [2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
137 | [3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
138 | [4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
139 | [5]: https://highlightjs.org/download/
140 | [6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
141 | [7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
142 | [8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.ru.txt
143 |
--------------------------------------------------------------------------------
/Chapters/Smacc/SmaccVocabulary.md:
--------------------------------------------------------------------------------
1 | ## Vocabulary
2 |
3 |
4 | This chapter defines some vocabulary used by Smacc.
5 |
6 |
7 | ### Reference Example
8 |
9 |
10 | Let us take the following grammar.
11 |
12 | ```
13 | : [0-9]+ (\. [0-9]*) ? ;
14 | : \s+;
15 |
16 | %left "+" "-";
17 | %left "*" "/";
18 | %right "^";
19 | %annotate_tokens;
20 | %root Expression;
21 | %prefix AST;
22 | %suffix Node;
23 |
24 | Expression
25 | : Expression 'left' "+" 'operator' Expression 'right' {{Binary}}
26 | | Expression 'left' "-" 'operator' Expression 'right' {{Binary}}
27 | | Expression 'left' "*" 'operator' Expression 'right' {{Binary}}
28 | | Expression 'left' "/" 'operator' Expression 'right' {{Binary}}
29 | | Expression 'left' "^" 'operator' Expression 'right' {{Binary}}
30 | | "(" Expression ")" {{}}
31 | | Number
32 | ;
33 | Number
34 | : {{Number}}
35 | ;
36 | ```
37 |
38 |
39 |
40 | ### Metagrammar structure
41 |
42 |
43 | SmaCC grammars are written in EBNF format \(Extended Backus-Naur Form\) with a syntax resembling closely to the one of GNU Bison.
44 | A grammar is composed of:
45 |
46 | - Scanner rules: they define tokens to recognize in the input stream through regex,
47 | - Parser rules: they define the production rules of your grammar,
48 | - Directives: they are additional information for the parsing or for the AST generation.
49 |
50 |
51 | Note that you can also find the metagrammar of SmaCC described in itself in the `SmaCCDefinitionParser`.
52 |
53 |
54 | ### Elements
55 |
56 |
57 |
58 | #### Production rule
59 |
60 |
61 | The following expressions define two production rules.
62 |
63 | ```
64 | Expression
65 | : Expression 'left' "+" 'operator' Expression 'right' {{Binary}}
66 | | Expression 'left' "-" 'operator' Expression 'right' {{Binary}}
67 | ;
68 |
69 | Number
70 | : {{Number}}
71 | ;
72 | ```
73 |
74 |
75 | A production rule is defined by a left-hand side and several alternatives.
76 | - Here the first production rule has two alternatives.
77 | - While the second production rule has only one.
78 |
79 |
80 | An alternative can be composed of any variation of:
81 | - non-terminals often start with uppercase
82 | - scanner tokens
83 | - keywords \(delimited by `"`\)
84 |
85 |
86 | In addition, you can use the single curly braces `{}` to define an arbitrary semantic action or the double curly braces `{{}}` to create an AST node instead.
87 | Non terminals and tokens can be annotated with variable names \(delimited by `'`\) which will be the instance variable names of the AST node.
88 |
89 |
90 | #### Tokens
91 |
92 |
93 | Tokens are identified by the scanner.
94 | A token specification is composed of a token name and a token regular expression.
95 |
96 | ```
97 | : RegularExpression ;
98 | ```
99 |
100 |
101 | The following token specification describes a number.
102 | It starts with one or more digits, possibly followed by a decimal point with zero or more digits after it.
103 | The scanner definition for this token is:
104 |
105 | ```
106 | : [0-9]+ (\. [0-9]*) ? ;
107 | ```
108 |
109 |
110 | Let's go over each part:
111 |
112 |
113 |
114 | ``
115 | Names the token identified by the expression. The name inside the <> must be a legal Pharo variable name.
116 |
117 | `:`
118 | Separates the name of the token from the token's definition.
119 |
120 | `[0-9]`
121 | Matches any single character in the range `'0'` to `'9'` \(a digit\). We could also use `\d` or `` as these also match digits.
122 |
123 | `+`
124 | Matches the previous expression one or more times. In this case, we are matching one or more digits.
125 |
126 | `( ... )`
127 | Groups subexpressions. In this case, we are grouping the decimal point and the numbers following the decimal point.
128 |
129 | `\.`
130 | Matches the '.' character \(. has a special meaning in regular expressions, quotes it\).
131 |
132 | `*`
133 | Matches the previous expression zero or more times.
134 |
135 | `?`
136 | Matches the previous expression zero or one time \(i.e., it is optional\).
137 |
138 | `;`
139 | Terminates a token specification.
140 |
141 |
142 | #### Keywords
143 |
144 |
145 | Keywords are defined in the production and delimited by `"`.
146 | Keywords are only defined through static strings, regular expressions cannot be used.
147 | In the following example, `"+"` and `"-"` are considered keywords.
148 |
149 | ```
150 | Expression
151 | : Expression 'left' "+" 'operator' Expression 'right' {{Binary}}
152 | | Expression 'left' "-" 'operator' Expression 'right' {{Binary}}
153 | ;
154 | ```
155 |
156 |
157 |
158 | #### Non Terminal
159 |
160 |
161 | In the production rule `Expression 'left' "+" 'operator' Expression 'right'`, Expression is a non-terminal.
162 |
163 |
164 | #### Variables
165 |
166 |
167 | Variables give name to one element of a production.
168 | For example
169 |
170 | ```
171 | Expression 'left' "^" 'operator' Expression 'right'
172 | ```
173 |
174 |
175 | - 'left' and 'right' denote the first and second expressions of the alternative.
176 | - 'operator' denotes the caret token.
177 |
178 |
--------------------------------------------------------------------------------