june / Bin-stack Compiler
0 лайк(-ов)
0 форк(-ов)
4 файл(-ов)
Последняя активность 2 weeks ago
A compiler from a multi-bit-stack VM to C.
| 1 | |:: read a character :@stdio: read| |
| 2 | :end of file: |
| 3 | |:: read a character :@stdio: $x| |
| 4 | :buffer: $x |
| 5 | |:: read a character?| |
| 6 | :@stdio: read |
| 7 | |
| 8 | |:: reverse? :buffer: $x| |
| 9 | :text: $x |
| 10 | |:: reverse| |
june / Graph Traversal
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 2 weeks ago
A basic graph traversal algorithm.
| 1 | ||::( |
| 2 | A - B - C |
| 3 | |
| 4 | check if C is connected to A |
| 5 | ) |
| 6 | |
| 7 | |:: ($A - $B - $C)| |
| 8 | :: ($A -> $B -> $C -> $B -> $A) |
| 9 | |:: ($A - $B)| |
| 10 | :: ($A -> $B -> $A) |
june / Multi-bit-stack VM
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 2 weeks ago
A sketch of a small virtual machine that operates on multiple stacks of bits.
| 1 | ||:: dispatch |
| 2 | |
| 3 | |:: dispatch| :: evaluate :text: " |
| 4 | initial state |
| 5 | 01 11 11 11 |
| 6 | rules |
| 7 | rule |
| 8 | and if |
| 9 | 1 match |
| 10 | else |
june / Stacky Tape VM
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 3 weeks ago
A VM with a tape of stacks.
| 1 | |:: push to $x :value: $y| :stacks: $x $y |
| 2 | |:: push $x to $y| :stacks: $y $x |
| 3 | |
| 4 | |:: pop from $x :stacks: $x $y| |
| 5 | :value: $y |
| 6 | :: reset stacks |
| 7 | |:: pop from $x? :stacks: $z $y| |
| 8 | :seen: $z $y |
| 9 | |:: pop from $x :default symbol: $y?| |
| 10 | :value: $y |
june / Simplest Nova (C++)
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 3 weeks ago
The simplest Nova implementation I've got (so far) in C++.
| 1 | enum snv_state { |
| 2 | // Primary states. |
| 3 | INSERT, MATCH, REMOVE, |
| 4 | // Secondary states. |
| 5 | FETCH, LITERAL, VARIABLE |
| 6 | }; |
| 7 | |
| 8 | template<uint32_t size> |
| 9 | struct snv_stack { |
| 10 | uint32_t data[size] = {}; |
june / Simplest Nova
0 лайк(-ов)
0 форк(-ов)
2 файл(-ов)
Последняя активность 3 weeks ago
The simplest Nova implementation I've got (so far).
| 1 | #!/usr/bin/env python3 |
| 2 | |
| 3 | import sys |
| 4 | from enum import Enum |
| 5 | |
| 6 | class State(Enum): |
| 7 | # States |
| 8 | INSERT = 0 |
| 9 | MATCH = 1 |
| 10 | REMOVE = 2 |
june / Spell System
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
A small spell system.
| 1 | ||:: write down a spell :spell name: fireball |
| 2 | :type: projectile |
| 3 | :element: fire |
| 4 | :effect: damage |
| 5 | :amount: 5 |
| 6 | :: cast fireball on slime |
| 7 | :: cast haze on slime |
| 8 | |
| 9 | |:: cast $spell| |
| 10 | :: look up the $spell spell |
june / Comparisons
0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
An extension to lib/rpn to support comparisons.
| 1 | |:@rpn: < :@rpn data:($a $b)| ⁝ @js ⁝ f('@rpn data', ""+(Number($a) < Number($b))); |
| 2 | |:@rpn: > :@rpn data:($a $b)| ⁝ @js ⁝ f('@rpn data', ""+(Number($a) > Number($b))); |
| 3 | |:@rpn: == :@rpn data:($a $b)| ⁝ @js ⁝ f('@rpn data', ""+(Number($a) == Number($b))); |
| 4 | |
| 5 | ||:@include: lib/rpn.nv |
Новее
Позже