Skip to content

Instantly share code, notes, and snippets.

@Renerick
Created December 6, 2023 10:57
Show Gist options
  • Select an option

  • Save Renerick/ede225a035fa4b310b84b1c2c417b79c to your computer and use it in GitHub Desktop.

Select an option

Save Renerick/ede225a035fa4b310b84b1c2c417b79c to your computer and use it in GitHub Desktop.
<script src="https://html-lang.org/html.js"></script>
<script>
html.meta.commands["pre"] = function (elt, env) {
env.stack.push(elt.innerHTML);
}
html.meta.out = function (...args) {
document.getElementById("output_display").innerHTML += JSON.stringify(args) + "\n";
}
window.newline = "\n";
window.space = " ";
</script>
<textarea id="output_display" cols="80" rows="10" readonly></textarea>
<main>
<dfn id="string_split">
<!-- vars -->
<var title="separator"></var>
<var title="input"></var>
<ol></ol>
<var title="result"></var>
<data value="0"></data>
<var title="start"></var>
<data value="0"></data>
<var title="end"></var>
<!-- main loop -->
<!-- if input[end] == newline -->
<cite id="string_split__scan">input</cite>
<cite>end</cite>
<address></address>
<cite>separator</cite>
<em></em>
<dt></dt>
<!-- then -->
<i>
<cite>input</cite>
<a href="javascript:substring()" target="_top">
<cite>start</cite>
<cite>end</cite>
</a>
<var title="part"></var>
<!-- if part != "" -->
<cite>part</cite>
<s></s>
<em></em>
<bdi></bdi>
<!-- then -->
<i>
<cite>result</cite>
<a href="javascript:push()" target="_top">
<cite>part</cite>
</a>
</i>
<cite>end</cite>
<data value="1"></data>
<dd></dd>
<var title="start"></var>
</i>
<cite>end</cite>
<data value="1"></data>
<dd></dd>
<var title="end"></var>
<!-- if end < input.length -->
<cite>end</cite>
<cite>input</cite>
<rp>length</rp>
<small></small>
<dt></dt>
<!-- then -->
<i>
<!-- it's only appropriate to use BEM -->
<!-- how sweet it is -->
<a href="#string_split__scan"></a>
</i>
<bdi></bdi>
<!-- else -->
<i>
<cite>input</cite>
<a href="javascript:substring()" target="_top">
<cite>start</cite>
<cite>end</cite>
</a>
<var title="part"></var>
<!-- if part != "" -->
<cite>part</cite>
<s></s>
<em></em>
<bdi></bdi>
<!-- then -->
<i>
<cite>result</cite>
<a href="javascript:push()" target="_top">
<cite>part</cite>
</a>
</i>
</i>
<cite>result</cite>
</dfn>
<dfn id="array_skip">
<var title="skip"></var>
<var title="arr"></var>
<ol></ol>
<var title="result"></var>
<data value="0"></data>
<var title="index"></var>
<!-- if index < arr.length -->
<cite id="array_skip__read_loop">index</cite> <-----
<cite>arr</cite> |
<rp>length</rp> |
<small></small> |
<i> |
<!-- if skip <= index --> |
<cite>index</cite> |
<cite>skip</cite> |
<small></small> |
<bdi></bdi> |
<i> |
<cite>result</cite> |
<a href="javascript:push()" target="_top"> |
<cite>arr</cite> |
<cite>index</cite> |
<address></address> |
</a> |
</i> |
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#array_skip__read_loop"></a> ----------
</i>
<cite>result</cite>
</dfn>
<dfn id="array_to_int">
<var title="arr"></var>
<ol></ol>
<var title="result"></var>
<data value="0"></data>
<var title="index"></var>
<!-- if index < arr.length -->
<cite id="array_to_int__read_loop">index</cite> <---
<cite>arr</cite> |
<rp>length</rp> |
<small></small> |
<i> |
<cite>result</cite> |
<cite>index</cite> |
<a href="javascript:parseInt()"> |
<cite>arr</cite> |
<cite>index</cite> |
<address></address> |
</a> |
<ins></ins> |
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#array_to_int__read_loop"></a> --------
</i>
<cite>result</cite>
</dfn>
<dfn id="parse_input">
<var title="input"></var>
<a href="javascript:string_split()">
<cite>input</cite>
<cite>newline</cite>
</a>
<var title="lines"></var>
<!-- lines[0] = array_skip(string_split(lines[0]), 1) -->
<a href="javascript:string_split()">
<cite>lines</cite>
<rp>0</rp>
<cite>space</cite>
</a>
<var title="line_time"></var>
<a href="javascript:array_skip()">
<cite>line_time</cite>
<data value="1"></data>
</a>
<var title="line_time"></var>
<a href="javascript:array_to_int()">
<cite>line_time</cite>
</a>
<var title="line_time"></var>
<!-- lines[1] = array_skip(string_split(lines[1]), 1) -->
<a href="javascript:string_split()">
<cite>lines</cite>
<rp>1</rp>
<cite>space</cite>
</a>
<var title="line_distance"></var>
<a href="javascript:array_skip()">
<cite>line_distance</cite>
<data value="1"></data>
</a>
<var title="line_distance"></var>
<a href="javascript:array_to_int()">
<cite>line_distance</cite>
</a>
<var title="line_distance"></var>
<cite>line_time</cite>
<rp>length</rp>
<var title="records_count"></var>
<data value="0"></data>
<var title="index"></var>
<ol></ol>
<var title="records"></var>
<cite id="parse_input__loop">index</cite> <-------------
<cite>records_count</cite> |
<small></small> |
<i> |
<cite>line_time</cite> |
<cite>index</cite> |
<address></address> |
<var title="time"></var> |
<cite>line_distance</cite> |
<cite>index</cite> |
<address></address> |
<var title="distance"></var> |
<cite>records</cite> |
<a href="javascript:push()" target="_top"> |
<table> |
<tr> |
<th>time</th> |
<th>distance</th> |
</tr> |
<tr> |
<td><cite>time</cite></td> |
<td><cite>distance</cite></td> |
</tr> |
</table> |
</a>
<del></del>
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#parse_input__loop"></a> ------------------
</i>
<cite>records</cite>
</dfn>
<a href="javascript:parse_input()">
<pre>
Time: 7 15 30
Distance: 9 40 200
</pre>
</a>
<var title="records"></var>
<cite>records</cite>
<rp>length</rp>
<var title="records_count"></var>
<data value="0"></data>
<var title="index"></var>
<data value="1"></data>
<var title="total_result"></var>
<cite id="main__loop">index</cite> <--------------------------------------------
<cite>records_count</cite> |
<small></small> |
<i> |
<data value="0"></data> |
<var title="record_result"></var> |
<cite>records</cite> |
<cite>index</cite> |
<address></address> |
<var title="record"></var> |
<data value="0"></data> |
<var title="jndex"></var> |
<cite id="parse_input__loop__analyze_record_loop">jndex</cite> |
<cite>record</cite> ^ |
<rp>time</rp> | |
<data value="1"></data> | |
<dd></dd> | |
<small></small> | |
<i> | |
<cite>record</cite> | |
<rp>distance</rp> | |
<cite>record</cite> | |
<rp>time</rp> | |
<cite>jndex</cite> | |
<sub></sub> | |
<cite>jndex</cite> | |
<ul></ul> | |
<small></small> | |
<i> | |
<cite>record_result</cite> | |
<data value="1"></data> | |
<dd></dd> | |
<var title="record_result"></var> | |
</i> | |
<cite>jndex</cite> | |
<data value="1"></data> | |
<dd></dd> | |
<var title="jndex"></var> | |
<a href="#parse_input__loop__analyze_record_loop"></a> ---- |
</i> |
<cite>record_result</cite> |
<cite>total_result</cite> |
<ul></ul> |
<var title="total_result"></var> |
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#main__loop"></a> -------------------------------------------------
</i>
<cite>total_result</cite>
<output></output>
</main>
<script src="https://html-lang.org/html.js"></script>
<script>
html.meta.commands["pre"] = function (elt, env) {
env.stack.push(elt.innerHTML);
}
html.meta.out = function (...args) {
document.getElementById("output_display").innerHTML += JSON.stringify(args) + "\n";
}
window.newline = "\n";
window.space = " ";
</script>
<textarea id="output_display" cols="80" rows="10" readonly></textarea>
<main>
<dfn id="string_split">
<!-- vars -->
<var title="separator"></var>
<var title="input"></var>
<ol></ol>
<var title="result"></var>
<data value="0"></data>
<var title="start"></var>
<data value="0"></data>
<var title="end"></var>
<!-- main loop -->
<!-- if input[end] == newline -->
<cite id="string_split__scan">input</cite>
<cite>end</cite>
<address></address>
<cite>separator</cite>
<em></em>
<dt></dt>
<!-- then -->
<i>
<cite>input</cite>
<a href="javascript:substring()" target="_top">
<cite>start</cite>
<cite>end</cite>
</a>
<var title="part"></var>
<!-- if part != "" -->
<cite>part</cite>
<s></s>
<em></em>
<bdi></bdi>
<!-- then -->
<i>
<cite>result</cite>
<a href="javascript:push()" target="_top">
<cite>part</cite>
</a>
</i>
<cite>end</cite>
<data value="1"></data>
<dd></dd>
<var title="start"></var>
</i>
<cite>end</cite>
<data value="1"></data>
<dd></dd>
<var title="end"></var>
<!-- if end < input.length -->
<cite>end</cite>
<cite>input</cite>
<rp>length</rp>
<small></small>
<dt></dt>
<!-- then -->
<i>
<!-- it's only appropriate to use BEM -->
<!-- how sweet it is -->
<a href="#string_split__scan"></a>
</i>
<bdi></bdi>
<!-- else -->
<i>
<cite>input</cite>
<a href="javascript:substring()" target="_top">
<cite>start</cite>
<cite>end</cite>
</a>
<var title="part"></var>
<!-- if part != "" -->
<cite>part</cite>
<s></s>
<em></em>
<bdi></bdi>
<!-- then -->
<i>
<cite>result</cite>
<a href="javascript:push()" target="_top">
<cite>part</cite>
</a>
</i>
</i>
<cite>result</cite>
</dfn>
<dfn id="array_skip">
<var title="skip"></var>
<var title="arr"></var>
<ol></ol>
<var title="result"></var>
<data value="0"></data>
<var title="index"></var>
<!-- if index < arr.length -->
<cite id="array_skip__read_loop">index</cite> <-----
<cite>arr</cite> |
<rp>length</rp> |
<small></small> |
<i> |
<!-- if skip <= index --> |
<cite>index</cite> |
<cite>skip</cite> |
<small></small> |
<bdi></bdi> |
<i> |
<cite>result</cite> |
<a href="javascript:push()" target="_top"> |
<cite>arr</cite> |
<cite>index</cite> |
<address></address> |
</a> |
</i> |
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#array_skip__read_loop"></a> ----------
</i>
<cite>result</cite>
</dfn>
<dfn id="parse_input">
<var title="input"></var>
<a href="javascript:string_split()">
<cite>input</cite>
<cite>newline</cite>
</a>
<var title="lines"></var>
<!-- lines[0] = array_skip(string_split(lines[0]), 1) -->
<a href="javascript:string_split()">
<cite>lines</cite>
<rp>0</rp>
<cite>space</cite>
</a>
<var title="line_time"></var>
<a href="javascript:array_skip()">
<cite>line_time</cite>
<data value="1"></data>
</a>
<var title="line_time"></var>
<!-- lines[1] = array_skip(string_split(lines[1]), 1) -->
<a href="javascript:string_split()">
<cite>lines</cite>
<rp>1</rp>
<cite>space</cite>
</a>
<var title="line_distance"></var>
<a href="javascript:array_skip()">
<cite>line_distance</cite>
<data value="1"></data>
</a>
<var title="line_distance"></var>
<cite>line_time</cite>
<rp>length</rp>
<var title="records_count"></var>
<data value="0"></data>
<var title="index"></var>
<ol></ol>
<var title="records"></var>
<s></s>
<var title="time"></var>
<s></s>
<var title="distance"></var>
<cite id="parse_input__loop">index</cite> <-------------
<cite>records_count</cite> |
<small></small> |
<i> |
<cite>time</cite>
<cite>line_time</cite> |
<cite>index</cite> |
<address></address> |
<dd></dd>
<var title="time"></var> |
<cite>distance</cite>
<cite>line_distance</cite> |
<cite>index</cite> |
<address></address> |
<dd></dd>
<var title="distance"></var> |
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#parse_input__loop"></a> ------------------
</i>
<table>
<tr>
<th>time</th>
<th>distance</th>
</tr>
<tr>
<td><cite>time</cite></td>
<td><cite>distance</cite></td>
</tr>
</table>
</dfn>
<a href="javascript:parse_input()">
<pre>
Time: 7 15 30
Distance: 9 40 200
</pre>
</a>
<var title="record"></var>
<wbr>
<data value="0"></data>
<var title="index"></var>
<cite id="main__loop">index</cite> <--------------------------------------------
<cite>record</cite> |
<rp>time</rp> |
<small></small> |
<i> |
<cite>record</cite> |
<rp>distance</rp> |
<cite>record</cite> |
<rp>time</rp> |
<cite>index</cite> |
<sub></sub> |
<cite>index</cite> |
<ul></ul> |
<small></small> |
<bdi></bdi>
<i> |
<cite>index</cite> |
<data value="1"></data> |
<dd></dd> |
<var title="index"></var> |
<a href="#main__loop"></a> ---------------------------------------------
</i>
</i>
<cite>record</cite>
<rp>time</rp>
<cite>index</cite>
<dt></dt>
<dd></dd>
<sub></sub>
<data value="1"></data>
<dd></dd>
<output></output>
</main>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment