-
Notifications
You must be signed in to change notification settings - Fork 3
/
syntax.html
90 lines (87 loc) · 6.35 KB
/
syntax.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Волшебство и Магия Clojure: Синтаксис и Семантика</title>
</head>
<body>
<div class="main">
<div class="top">
<span class="pager"><a href="index.html"><< первая</a></span>
<span class="pager"><a href="index.html">< назад</a></span>
<span class="pager"><a href="index.html">1</a></span>
<span class="pager current">2</span>
<span class="pager"><a href="data.html">3</a></span>
<span class="pager"><a href="looking.html">4</a></span>
<span class="pager"><a href="walking.html">5</a></span>
<span class="pager"><a href="spels.html">6</a></span>
<span class="pager"><a href="actions.html">7</a></span>
<span class="pager"><a href="addendum.html">8</a></span>
<span class="pager"><a href="no_macros.html">9</a></span>
<span class="pager"><a href="data.html">вперед ></a></span>
<span class="pager"><a href="no_macros.html">последняя >></a></span>
<span class="pagertext">Синтаксис и Семантика</span>
</div>
<div class="heading">Синтаксис и Семантика</div>
<div class="textblock">
<p> Любой компьютерный язык это код, которые состоит из <i>синтаксиса</i> и <i>семантики</i>. <i>Синтаксис</i>
языка программирования это базовые правила, которым должна следовать ваша программа, чтобы компилятор смог
понять, <i>что есть что</i> в вашей программе, и мог бы разобраться, что в коде - функция, что - переменная, и
так далее. <i>Семантика</i> программы наполняет код смыслом. Семантика определяет, какие различные команды
доступны, к каким переменным можно обращаться в конкретном месте программы. Первое, что бросается в глаза в
Lisp, это то, что у него самый простой синтаксис среди наиболее распространенных языков программирования.
</p>
<p> На деле, синтаксис Lisp-а требует, чтобы тот текст, который вы даете компилятору, располагался бы в списках,
которые в свою очередь тоже могут быть вложены в другие списки, если это необходимо. Круглые скобки означают
начало и конец каждого списка:
</p>
</div>
<img src="images/list.png" alt="Список Lisp">
<div class="textblock">
<p> В добавлении к этому, компилятор Lisp использует два режима при чтении вашего кода: <b>Режим Кода</b>
и <b>Режим Данных</b>. Когда вы находитесь в <b>Режиме Данных</b>, то вы можете заполнять ваши списки чем
угодно. Однако, компилятор начинает свою работу в <b>Режиме Кода</b> - в этом режиме ваши списки должны быть
списками особого типа, называемого <b>формой</b>:
</p>
</div>
<img src="images/frame.png" alt="Форма Lisp">
<div class="textblock">
<p> Форма, это список, где первый символ в списке должен быть специальным словом, который компилятор понимает -
обычно это имя функции. Если это так, то компилятор передаст функции остальные элементы списка в качестве
параметров. Когда он будет считывать эти параметры, то, как правило, будет предполагать, что они <i>тоже</i>
находятся в <b>Режиме Кода</b>, только если вы не скажете ему переключиться в <b>Режим Данных</b>.
</p>
</div>
<hr>
<div class="bottom">
<span class="pager"><a href="index.html"><< первая</a></span>
<span class="pager"><a href="index.html">< назад</a></span>
<span class="pager"><a href="index.html">1</a></span>
<span class="pager current">2</span>
<span class="pager"><a href="data.html">3</a></span>
<span class="pager"><a href="looking.html">4</a></span>
<span class="pager"><a href="walking.html">5</a></span>
<span class="pager"><a href="spels.html">6</a></span>
<span class="pager"><a href="actions.html">7</a></span>
<span class="pager"><a href="addendum.html">8</a></span>
<span class="pager"><a href="no_macros.html">9</a></span>
<span class="pager"><a href="data.html">вперед ></a></span>
<span class="pager"><a href="no_macros.html">последняя >></a></span>
<span class="pagertext">Синтаксис и Семантика</span>
</div>
</div>
</body>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-3796465-1']);
_gaq.push(['_setDomainName', '.planvita.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</html>