-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoperators.html
More file actions
157 lines (131 loc) · 6.04 KB
/
Copy pathoperators.html
File metadata and controls
157 lines (131 loc) · 6.04 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<html lang="en" data-bs-theme="dark"><head>
<meta charset="utf-8">
<meta name="description" content="Operators for Wee programming language.">
<meta name="author" content="Elucian Moise">
<meta name="keywords" content="sage, code, wee, language, syntax, tutorial">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Website title -->
<title>Wee Operators</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<!-- Icon -->
<link rel="icon" type="image/png" href="../images/favicon.ico">
<!-- Prism Highlighter -->
<link rel="stylesheet" href="../prism.css">
<script src="../prism.js"></script>
<!-- custom css -->
<link rel="stylesheet" href="../sage.css">
</head>
<body>
<div class="container">
<!-- header -->
<div class="row">
<div class="col">
<a href="https://sagecode.net"><img src="../images/sage-logo.svg" alt="Sage-Code Laboratory" height="80"/></a>
</div>
<div class="col bottom-right">
<a href="index.html#lang-index" rel="nofollow">index</a><--
</div>
</div><hr>
<h1>Wee Operators</h1>
<div class="alert alert-secondary shadow-sm">
Wee operators are created one ASCII symbol.
</div>
<h2>Brackets</h2>
<p>Wee is using brackets for expressions and data structures.
<table class="table table-bordered">
<tr><th>symbol</th><th>description </th></tr>
<tr><td> () </td><td>Comma separated enumeration of values </td></tr>
<tr><td> [] </td><td>Array | Slice | Subscript </td></tr>
<tr><td> {} </td><td>Multi-line comments </td></tr>
</table>
<h2>Delimiters</h2>
<table class="table table-bordered">
<tr><th>symbol </th><th>description</th></tr>
<tr><td>'...' </td><td> ASCII string literal </td></tr>
<tr><td>"..." </td><td> Unicode string literal</td></tr>
<tr><td>/*...*/ </td><td> Multi-line comments or expression comment </td></tr>
</table>
<h2> Single Symbols</h2>
<table class="table table-bordered">
<tr><th>symbol</th><th>description </th></tr>
<tr><td> ^ </td><td>Power symbol used with fractions or expressions </td></tr>
<tr><td> # </td><td>Template placeholder </td></tr>
<tr><td> $ </td><td>Global constant prefix | Environment variables </td></tr>
<tr><td> @ </td><td>Global variable prefix | Wee global variables </td></tr>
<tr><td> ? </td><td>Query memory address | Generate an integer </td></tr>
<tr><td> : </td><td>Assign value | Copy value </td></tr>
<tr><td> = </td><td>Equivalent | Equal </td></tr>
<tr><td> ; </td><td>Statement separator </td></tr>
<tr><td> . </td><td>Membership qualifier notation </td></tr>
<tr><td> * </td><td>Multiplication </td></tr>
<tr><td> + </td><td>Numeric addition </td></tr>
<tr><td> - </td><td>Numeric subtraction </td></tr>
</table>
<h2> Two Symbols</h2>
<table class="table table-bordered">
<tr><th>symbol</th><th>description </th></tr>
<tr><td>**</td><td>Single line comment | Bold comment</td></tr>
<tr><td>//</td><td>End of line comment | gray comment</td></tr>
</table>
<h2> Logic operators</h2>
<p>Logical operators return: 1 = true or 0 = false
<table class="table table-bordered">
<tr><th>symbol</th><th>meaning </th><th>arity </th></tr>
<tr><td> ! </td><td>NOT </td><td>unary </td></tr>
<tr><td> ^ </td><td>XOR </td><td>dual </td></tr>
<tr><td>& </td><td>AND </td><td>dual </td></tr>
<tr><td> | </td><td>OR </td><td>dual </td></tr>
<tr><td> = </td><td>EQ </td><td>dual </td></tr>
<tr><td> > </td><td>GT </td><td>dual </td></tr>
<tr><td> < </td><td>LT </td><td>dual </td></tr>
</table>
<h4>patterns:</h4>
<pre class="language-wee">
!(x = y) ; divergence of two native values
!(x > y) ; equivalent (x <= y)
!(x < y) ; equivalent (x >= y)
</pre>
<h4>The table of through</h4>
<table class="table table-bordered">
<tr><th>p</th><th>q </th><th>!p</th>
<th>p ~ q </th><th>p = q </th><th>p & q</th><th> p | q</th></tr>
<tr><td>1</td><td>1 </td><td>0</td><td>0</td><td> 1</td><td>1</td><td>1</td></tr>
<tr><td>1</td><td>0 </td><td>0</td><td>1</td><td> 0</td><td>0</td><td>1</td></tr>
<tr><td>0</td><td>1 </td><td>1</td><td>1</td><td> 0</td><td>0</td><td>1</td></tr>
<tr><td>0</td><td>0 </td><td>1</td><td>0</td><td> 1</td><td>0</td><td>0</td></tr>
</table>
<h4>Bit Manipulation</h4>
<table class="table table-bordered">
<tr><th>symbol</th><th>description </th></tr>
<tr><td><< </td><td>shift bits to left </td></tr>
<tr><td><< </td><td>shift bits to right</td></tr>
</table>
<table class="table table-bordered">
<tr><th>A </th><th>B </th><th>A & B</th><th> A | B</th><th>A ~ B</th><tr>
<tr><td>00</td><td>00</td><td>00 </td><td> 00 </td><td> 11 </td><tr>
<tr><td>01</td><td>00</td><td>00 </td><td> 01 </td><td> 10 </td><tr>
<tr><td>11</td><td>01</td><td>01 </td><td> 11 </td><td> 00 </td><tr>
<tr><td>10</td><td>11</td><td>10 </td><td> 11 </td><td> 01 </td><tr>
</table>
<table class="table table-bordered">
<tr><th> A </th><th> !A </th><th> A<<1</th><th> A>>2 </th></tr>
<tr><td> 0000 </td><td>1111 </td><td> 0000 </td><td>0000 </td></tr>
<tr><td> 1111 </td><td>0000 </td><td> 1110 </td><td>0011 </td></tr>
<tr><td> 0111 </td><td>1000 </td><td> 1110 </td><td>0001 </td></tr>
<tr><td> 0110 </td><td>1001 </td><td> 1100 </td><td>0001 </td></tr>
</table>
<!--
See also:[Bit Manipulation](https://en.wikipedia.org/wiki/Bit_manipulation)
-->
<!-- work in progress-->
<hr>
<p><b>Read next:</b>
<a href="syntax.html">Syntax Overview</a></p>
<!-- Footer -->
<footer class="footer">
<div class="footer-copyright text-center"></div>
</footer>
</div>
</body>
</html>