web/contents/get.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 91 92 93 94 95 96 97 98 99 100 101 |
<article>
<h2>Get Started</h2>
<p>The following pre-built binaries are available for download:</p>
<ul>
<li><a href="https://github.com/h3rald/hex/releases/download/v{{release}}/hex_v{{release}}_linux_x86_64.zip"
target="_blank">hex v{{release}} for Linux</a> (x86_64)</a></li>
<li><a href="https://github.com/h3rald/hex/releases/download/v{{release}}/hex_v{{release}}_macos_x86_64.zip"
target="_blank">hex v{{release}} for MacOS</a> (x86_64)</li>
<li><a href="https://github.com/h3rald/hex/releases/download/v{{release}}/hex_v{{release}}_macos_arm64.zip"
target="_blank">hex v{{release}} for MacOS</a> (ARM64)</li>
<li><a href="https://github.com/h3rald/hex/releases/download/v{{release}}/hex_v{{release}}_windows_x86_64.zip"
target="_blank">hex v{{release}} for Windows</a> (x86_64)</li>
<li><a href="https://github.com/h3rald/hex/releases/download/v{{release}}/hex_v{{release}}_ape.zip"
target="_blank">hex v{{release}}</a> (<a href="https://justine.lol/ape.html"
target="_blank">αcτµαlly
pδrταblε εxεcµταblε</a>)
</li>
<li><a href="https://github.com/h3rald/hex/releases/download/v{{release}}/hex_v{{release}}_wasm.zip"
target="_blank">hex
v{{release}}</a> (<a href="https://webassembly.org" target="_blank">WebAssembly</a>
—
<em>very</em>
experimental)
</li>
</ul>
<blockquote>
<div>A note on the WASM build</div>
<p>The main purpose of the WASM build is to power the <a href="/play">playground</a>. If you try to run
it with
NodeJS, the REPL will also <em>somewhat</em> work, except that file support and executing
processes doesn't
seem to behave, at the moment, and neither does `printf` unless you add a new line so... use at
your own
risk, or please use one of the other builds.</p>
</blockquote>
<h3>Building from Source</h3>
<p>Building from source is easy: just run <code>make</code> after <a
href="https://github.com/h3rald/hex">cloning
the repo</a> to build the hex executable for
your platform.</p>
<p>This assumes that you have a C compiler like GCC and the make command installed. On Windows, you may want to
look
into <a href="https://www.msys2.org" target="_blank">MSYS2</a>.</p>
<p> Note that <code>make</code> will first generate a single, amalgamated <code>hex.c</code> file containing all
the concatenated sources in the right order. You can use this file for easily embedding hex in your own
C projects.</p>
<p>You can also:</p>
<ul>
<li>Run <code>make test</code> to run the test suite.</li>
<li>Run <code>make ape</code> to generate an αcτµαlly pδrταblε εxεcµταblε (requires <a
href="https://github.com/jart/cosmopolitan" target="_blank">Cosmopolitan</a>). </li>
<li>Run <code>make wasm</code> to generate a <code>hex.js</code> and a <code>hex.wasm</code>
(WebAssembly) file
(requires the <a href="https://github.com/emscripten-core/emsdk" target="_blank">Emscripten
SDK</a>). </li>
</ul>
<h3>Command Line Options</h3>
<p>Running <code>hex -h</code> will print the following list of all the available command line options for the
hex
executable:</p>
<pre>
_*_ _
/ \hex\*
*\_/_/_/ v{{release}} - (c) {{year}} Fabio Cevasco
*
USAGE
hex [options] [file]
ARGUMENTS
file A .hex or .hbx file to interpret
OPTIONS
-b, --bytecode Generate a .hbx bytecode file.
-d, --debug Enable debug mode.
-h, --help Display this help message.
-m, --manual Display the manual.
-v, --version Display hex version.
</pre>
<p>If you do not specify any option or argument, a simple <abbr title="Read-Eval-Print-Loop">REPL</abbr> will be
started.</p>
<p>Alternatively, you can also pipe input from standard input:
<p>
<pre><code>echo "0x2 0x2 + puts" | hex</code></pre>
<h3>Syntax Highlighting</h3>
<p>If you use the Vim editor, you can use <a href="https://github.com/h3rald/hex/blob/master/hex.vim"
target="_blank">hex.vim</a> to highlight hex files.</p>
<p>If you use Visual Studio Code, you can use the <a
href="https://marketplace.visualstudio.com/items?itemName=h3rald.vscode-hex-lang">hex</a>
extension to
highlight hex files. </p>
</article>
|