Calvin Rose
48b179d67e
Add slurp and spit to the core library.
2019-01-19 22:00:33 -05:00
Calvin Rose
d1a075b2a6
Switch order of some text in the README.md
2019-01-19 13:03:42 -05:00
Calvin Rose
2bad24371d
Add IRC location to README.md
2019-01-19 12:42:33 -05:00
Calvin Rose
bf8d5da3dc
Fix possible memory leak on buffer overflow.
...
(All buffer push functions can panic (longjmp), skipping
deinit. Instead, we should use the garbage collected api).
2019-01-19 12:32:52 -05:00
Calvin Rose
4a6fcb5e23
Address issue #21
...
Add some github highlighting to janet files (clojure is pretty close)
2019-01-19 12:11:54 -05:00
Calvin Rose
5ba969f91d
Make match macro prettier.
2019-01-18 15:24:58 -05:00
Calvin Rose
26818a5e5c
Fix doc generation.
2019-01-18 12:26:04 -05:00
Calvin Rose
b84b0e4828
Expose more of the module system.
...
The system path can more easily modified at runtime,
and the module/cache and module/loading tables are now exposed.
Properly cache native modules as well.
2019-01-18 12:04:34 -05:00
Calvin Rose
b4934ceddc
Make parser errors a bit better for files with no closing
...
delimiters.
2019-01-17 23:43:46 -05:00
Calvin Rose
c4114fbcdb
Add quote special to peg syntax to make captures terser.
2019-01-17 19:28:42 -05:00
Calvin Rose
95f2bbe0a0
Add highlight.janet tool which can highlight
...
janet source code and output html or terminal escaped code.
Also made re entrant calls into the vm provide better
error messages.
2019-01-17 18:12:26 -05:00
Calvin Rose
63137b8107
Fix parsing bug for numbers.
2019-01-17 12:32:51 -05:00
Calvin Rose
2c1b506213
Add tagged captures for a better (more correct) form of look behind.
2019-01-16 22:38:11 -05:00
Calvin Rose
612a245961
More work on peg. Disable indexed backrefs and replace substitution
...
with accumulation.
2019-01-16 21:11:55 -05:00
Calvin Rose
4b8edef58c
Typo.
2019-01-16 12:34:01 -05:00
Calvin Rose
82cddef5bb
Update man page and add early exit to number scanning for parser.
2019-01-16 12:32:33 -05:00
Calvin Rose
d0fc29338c
Add error special form in Peg to allow construction of grammar errors
...
for more useful grammars that could eventually be used in a compiler.
2019-01-15 16:04:47 -05:00
Calvin Rose
4eeadd7463
Add optional form to peg (shorthand for (between 0 1 patt)).
2019-01-15 14:08:03 -05:00
Calvin Rose
f0fcdf6bc5
Update Peg.md text
2019-01-15 11:09:22 -05:00
Calvin Rose
2a333f8359
Add simple pattern examples to peg
doc.
2019-01-15 11:05:51 -05:00
Calvin Rose
0dd867d508
Fix markup.
2019-01-14 22:33:33 -05:00
Calvin Rose
e3f902cb8a
Update docs.
2019-01-14 22:31:57 -05:00
Calvin Rose
c651b6f67c
Fix peg doc table.
2019-01-14 22:18:51 -05:00
Calvin Rose
3a9b50ea4a
Update peg doc and remame some peg specials.
2019-01-14 22:17:13 -05:00
Calvin Rose
1304f9263b
Update peg docs and make bad backrefs not error the whole pattern, but just cause the current match attempt to fail.
2019-01-14 21:47:55 -05:00
Calvin Rose
90313afd40
Update PEG documentation and peg syntax.
...
Disable tail calls in the root scope for better
stacktraces, as the root scope may contain a single call
to a failing function, as in the case of the test suite.
2019-01-14 20:41:32 -05:00
Calvin Rose
99f176f37b
Fix windows build warnings.
2019-01-14 17:48:32 -05:00
Calvin Rose
d0ec89c7c1
Update Matchtime captures to not include all of the
...
matched text automatically, and fix pattern recursion
in grammars.
2019-01-14 17:44:21 -05:00
Calvin Rose
170e785b72
Fix recursion in grammars.
2019-01-14 15:06:35 -05:00
Calvin Rose
e53778d5d8
Remove annoying (fiber) text from stacktrace.
2019-01-14 12:08:36 -05:00
Calvin Rose
192705113e
Add Matchtime captures to peg (Equivalent to LPegs lpeg.Cmt).
...
This allows that pattern to call an external function to
check if some text should match or not. This allows for
matching any possible language a computer can recognize.
2019-01-14 11:45:45 -05:00
Calvin Rose
97a42ea17b
Address some windows issues in buffer.c
2019-01-14 00:12:25 -05:00
Calvin Rose
2cd489b9d4
Address windows build warnings.
2019-01-14 00:09:27 -05:00
Calvin Rose
ff0d3a0081
Compile pegs to bytecode with (peg/compile). Peg
...
performance is improved, and peg syntax has been expanded with a few
more keywords.
2019-01-13 23:54:41 -05:00
Calvin Rose
282c02c475
Update comments and text.
2019-01-12 20:22:03 -05:00
Calvin Rose
798c88b4c8
Update peg to allow functions over captures. Update C API
...
to make janet function calls easier and faster from C (still
needs an object pool for fibers, though). Fix bug in scan-number
and add many more peg tests.
2019-01-12 17:31:15 -05:00
Calvin Rose
83f4a11bf3
Add some more tests, add parameterized captures to patterns,
...
and fix some bugs.
2019-01-12 11:04:47 -05:00
Calvin Rose
d7626f8c57
Add more capturing capabilities including substitutions, as well
...
as back references for PEGs. More documentation is needed for PEG
syntax, but the amount required will need an external document, not
just a docstring.
2019-01-12 10:16:25 -05:00
Calvin Rose
1efca2ebe7
Add some preliminary capturing ability to PEGs.
2019-01-11 21:09:49 -05:00
Calvin Rose
40845b5c1b
Initial peg implementation. Tree walk interpretted with
...
no captures, so not yet ready.
2019-01-11 19:22:24 -05:00
Calvin Rose
84fb07dd5a
Add quiet option to main client.
2019-01-10 17:10:12 -05:00
Calvin Rose
62cb3f81fe
Fix sorting in asm.c. Add README text.
2019-01-09 17:09:16 -05:00
Calvin Rose
16ebb11181
Add buffer/bit functions and buffer/blit. Expose janet_gethalfrange
...
in the C api for less duplicated range checking code.
2019-01-09 13:25:51 -05:00
Calvin Rose
115ed9cbb9
Move pretty printing to separate file pp.c
...
Simplify string.c and remove janet_puts.
2019-01-09 11:47:29 -05:00
Calvin Rose
3ae6f64de5
Fix popen bug.
2019-01-08 21:42:16 -05:00
Calvin Rose
ff3f7487a4
Add splice special form to grammar.
2019-01-08 20:05:36 -05:00
Calvin Rose
f0afb3c311
Update README to indicate how to get latest grammar file.
2019-01-08 20:02:01 -05:00
Calvin Rose
5b1a3b8208
Make grammar tool completely generate grammar from scratch.
...
Remove grammar from source tree.
2019-01-08 19:59:54 -05:00
Calvin Rose
b1e0849a2f
Restore old status logic - (status checks in run_vm should be using
...
the previous status, not the current which is always JANET_STATUS_ALIVE)
2019-01-08 13:42:29 -05:00
Calvin Rose
67f26b7d72
Fix = should have been ==. Add some tests for vm type asserts.
2019-01-08 12:26:01 -05:00