Free Hero Mesh

Changes To Preprocessor
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

Changes to "Preprocessor" between 2018-06-22 07:13:25 and 2018-06-22 07:31:48


1

















2
3
4
5
6
7
8
9
10
11
12
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
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+











Preprocessor commands are put in braces.
TODO: Describe the preprocessor

Built-in macros include:
  *  <tt>{+}</tt>
  *  <tt>{-}</tt>
  *  <tt>{*}</tt>
  *  <tt>{/}</tt>
  *  <tt>{mod}</tt>
  *  <tt>{band}</tt>
  *  <tt>{bor}</tt>
  *  <tt>{bxor}</tt>
  *  <tt>{bnot}</tt>
  *  <tt>{bit}</tt>
  *  <tt>{cat}</tt>
  *  <tt>{version}</tt>
  *  <tt>{define}</tt>
  *  <tt>{include}</tt>
  *  <tt>{call}</tt>

<h2>Computational class</h2>
It is believed to be Turing-complete, because a [http://esolangs.org/wiki/Tag_system|tag system] can be implemented, for example:
<verbatim-1>
{define "skip" {call \2}}
{define "1" {skip \1|"3"|"3"|"2"|"1"|"H"}}
{define "2" {skip \1|"3"|"3"|"1"}}
{define "3" {skip \1|"3"|"3"}}
{define "H" \1}
{call "2"|"1"|"1"}
</verbatim-1>