mirror of
https://github.com/janet-lang/janet
synced 2024-11-24 17:27:18 +00:00
Update comments and text.
This commit is contained in:
parent
798c88b4c8
commit
282c02c475
@ -114,7 +114,7 @@ Janet only uses Make and batch files to compile on Posix and windows
|
|||||||
respectively. To configure janet, edit the header file src/include/janet/janet.h
|
respectively. To configure janet, edit the header file src/include/janet/janet.h
|
||||||
before compilation.
|
before compilation.
|
||||||
|
|
||||||
### Unix-like
|
### macos and Unix-like
|
||||||
|
|
||||||
On most platforms, use Make to build janet. The resulting binary will be in `build/janet`.
|
On most platforms, use Make to build janet. The resulting binary will be in `build/janet`.
|
||||||
|
|
||||||
|
@ -24,9 +24,33 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
|
/* Potential opcodes for peg vm.
|
||||||
|
* These are not yet implemented, but efficiently express the current semantics
|
||||||
|
* of the current implementation.
|
||||||
|
typedef enum {
|
||||||
|
POP_LITERAL, [len, bytes...]
|
||||||
|
POP_NCHAR, [n]
|
||||||
|
POP_RANGE, [lo | hi << 16 (1 word)]
|
||||||
|
POP_SET, [bitmap (8 words)]
|
||||||
|
POP_LOOK, [offset, rule]
|
||||||
|
POP_CHOICE, [len, rules...]
|
||||||
|
POP_SEQUENCE, [len, rules...]
|
||||||
|
POP_IFNOT, [a, b (a if not b)]
|
||||||
|
POP_NOT, [a]
|
||||||
|
POP_ATLEAST, [n, rule]
|
||||||
|
POP_BETWEEN, [lo, hi, rule]
|
||||||
|
POP_CAPTURE, [rule]
|
||||||
|
POP_POSITION, []
|
||||||
|
POP_SUBSTITUTE, [rule]
|
||||||
|
POP_GROUP, [rule]
|
||||||
|
POP_CONSTANT, [constant]
|
||||||
|
POP_REPLACE, [constant]
|
||||||
|
POP_REPINDEX, [capture index]
|
||||||
|
POP_ARGUMENT [argument index]
|
||||||
|
} Opcode;
|
||||||
|
*/
|
||||||
|
|
||||||
/* TODO
|
/* TODO
|
||||||
* - Capture substitution - allow substitution in captures, perhaps with a buffer in state
|
|
||||||
* that can accumulate custom data.
|
|
||||||
* - Compilation - compile peg to binary form - one grammar, patterns reference each other by index
|
* - Compilation - compile peg to binary form - one grammar, patterns reference each other by index
|
||||||
* and bytecode "opcodes" identify primitive patterns and pattern "constructors". Main pattern is
|
* and bytecode "opcodes" identify primitive patterns and pattern "constructors". Main pattern is
|
||||||
* pattern index 0. The logic of patterns would not change much, but we could elide arity checking,
|
* pattern index 0. The logic of patterns would not change much, but we could elide arity checking,
|
||||||
|
Loading…
Reference in New Issue
Block a user