Stephen Dolan
58a9b0cfe1
Make the test harness not segfault when a test fails (!)
2012-09-04 20:56:44 +01:00
Stephen Dolan
da5d653de8
Add a Boolean "not" operator.
...
Not wholly convinced this is a good idea, maybe "not" should be a
builtin function instead? 'not (.a == .b)' vs. '.a == .b | not'
2012-09-04 20:43:40 +01:00
Stephen Dolan
6e6ea50763
Short-circuiting Boolean "and" and "or" operators.
2012-09-04 20:38:59 +01:00
Stephen Dolan
c5ab3b2336
Move some unicode handling stuff to a separate file.
2012-09-04 20:38:47 +01:00
Stephen Dolan
328c4a13f1
Add "elif" to if-then-else constructs.
2012-09-04 16:05:24 +01:00
Stephen Dolan
5add2c2ceb
if-then-else and defined-or operators
2012-09-04 15:34:34 +01:00
Stephen Dolan
520c7bb15e
Fix some confusion between "null" and "invalid".
2012-09-03 17:26:52 +01:00
Stephen Dolan
32e324a283
Fix a memory leak in JV and add more tests
2012-09-03 17:18:10 +01:00
Stephen Dolan
eea05ff924
Perl-style autovivification.
...
.foo.bar = 1 will cause objects to be created if they don't exist.
2012-09-03 16:50:38 +01:00
Stephen Dolan
c9dbe1aff8
squash a debug printf
2012-09-03 16:42:58 +01:00
Stephen Dolan
a8c3648ca5
JV_KIND_INVALID values to represent failed lookups, etc + various tests.
2012-09-03 16:16:14 +01:00
Stephen Dolan
d895d39ba9
Support "null" in JQ programs
2012-09-03 16:14:52 +01:00
Stephen Dolan
8fe9c8a22a
Make assignment work again: = and |= operators.
2012-09-03 15:33:59 +01:00
Stephen Dolan
d8fad1ed9b
Disallow a + before numbers (makes parsing easier, agrees with JSON)
2012-09-03 15:32:50 +01:00
Stephen Dolan
cf004c2b3a
Modify number formatting so that 1e-3 renders as 0.001, not .001
2012-09-03 13:57:53 +01:00
Stephen Dolan
6041fd7661
Literal strings and better literal numbers.
2012-09-03 13:57:47 +01:00
Stephen Dolan
52487ff812
Remove globals from parser, use explicit structure.
2012-09-03 01:12:42 +01:00
Stephen Dolan
22ffc0fdfc
Mark a constant array const in jvp_dtoa.c
2012-09-02 22:24:27 +01:00
Stephen Dolan
e3710c0d1f
Fix behaviour of stack at program termination.
2012-09-02 22:11:06 +01:00
Stephen Dolan
4f747e6fff
Move from Jansson to JV - proper freeing of memory
...
A few more tests, now passes valgrind.
2012-09-02 21:45:52 +01:00
Stephen Dolan
9da3e0d373
Clean up build a little and add .gitignore.
2012-09-02 17:24:17 +01:00
Stephen Dolan
f72c5ffac0
Move from Jansson to JV - interpreter loop
...
Passes tests, but leaks some memory.
2012-09-02 17:20:13 +01:00
Stephen Dolan
2cb9a6e61d
Move from Jansson to JV - everything but the interpreter loop
...
Passes valgrind --leak-check=full.
2012-09-02 16:31:59 +01:00
Stephen Dolan
22f8aed31e
Validation for empty objects
...
Now (correctly) fails to parse {,}
2012-09-02 00:24:23 +01:00
Stephen Dolan
e98624e5a9
First pass at a JSON parser
2012-09-01 19:16:43 +01:00
Stephen Dolan
92654f8204
Fix a memory leak when inserting into an object with an already-present key
2012-09-01 18:24:17 +01:00
Stephen Dolan
66fd702363
Minor changes to dtoa.c to make it easier to work with.
...
- Change memory allocation to thread a context structure through
the code rather than using globals (which would require a
-lpthread and some locking to become threadsafe).
- Remove a few configuration options (the "private memory" space,
and K&R style headers).
- Prefix exported symbols with jvp_ to prevent libc conflicts.
- Add jvp_dtoa.h
- Include netlib's g_fmt.c into dtoa.c
- Add a few not-strictly-necessary initialisations in order to
compile cleanly with gcc -Wall
2012-09-01 18:01:35 +01:00
Stephen Dolan
9e544c55dc
Import a copy of David Gay's dtoa.c
2012-09-01 16:50:25 +01:00
Stephen Dolan
f25cb16e6b
Fix a bug in lexical scoping, add tests
2012-08-28 18:38:30 +01:00
Stephen Dolan
463b175cdb
Reference-counted copy-on-write JSON library.
...
Comes with tests and, presumably, bugs.
2012-08-28 18:09:43 +01:00
Stephen Dolan
dc6cf2fb58
Remove syntax distinction between builtin and user calls
2012-08-27 11:19:42 +01:00
Stephen Dolan
6c8b55793a
first pass at assignment
2012-08-27 10:12:02 +01:00
Stephen Dolan
a847d2250f
2nd order functions
2012-08-26 14:25:56 +01:00
Stephen Dolan
befb103a12
Fix a revolting hack
2012-08-22 19:21:35 +01:00
Stephen Dolan
2086e59ab1
bugfix for backtracking over RET insns, and a truly evil testcase
2012-08-22 19:05:53 +01:00
Stephen Dolan
79d81f4bee
Closures over variables
2012-08-21 18:24:38 +01:00
Stephen Dolan
c128c2029e
First pass at functions + tests
2012-08-21 18:14:13 +01:00
Stephen Dolan
dd0d340eba
frame layout refactor
2012-08-21 12:35:44 +01:00
Stephen
15ad640202
Stacks grow down now
2012-08-20 15:53:20 +01:00
Stephen
fd738bface
an addition operator, of sorts
2012-08-16 01:16:08 +01:00
Stephen
2002dc1a2f
Most of a C implementation of jq
2012-08-16 01:00:30 +01:00
Stephen Dolan
eca89acee0
initial
2012-07-18 20:57:59 +01:00