Free Hero Mesh

Artifact [a51408f9ca]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

Artifact a51408f9ca7152f8ea21fdd8db64cdf1cd8716f1:

Wiki page [Preprocessor] by zzo38 on 2018-06-22 07:31:48.
D 2018-06-22T07:31:48.204
L Preprocessor
P 9d449b7fd85258be5911d15883b7930acb40950e
U zzo38
W 758
Preprocessor commands are put in braces.

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>
Z 17fca2797e9014ca0f57d4cd72e5a072