]> granicus.if.org Git - jq/log
jq
12 years agoMove some higher-level JSON manipulation functions into jv_aux.{c,h}
Stephen Dolan [Mon, 26 Nov 2012 22:22:45 +0000 (22:22 +0000)]
Move some higher-level JSON manipulation functions into jv_aux.{c,h}

12 years agoDefine bytecoded builtins more concisely.
Stephen Dolan [Mon, 26 Nov 2012 18:53:47 +0000 (18:53 +0000)]
Define bytecoded builtins more concisely.

12 years agoRaise a proper error from the lexer on unmatched },),]
Stephen Dolan [Mon, 26 Nov 2012 01:40:35 +0000 (01:40 +0000)]
Raise a proper error from the lexer on unmatched },),]

12 years agoTransparent handling for CBV arguments to C functions.
Stephen Dolan [Mon, 26 Nov 2012 01:36:55 +0000 (01:36 +0000)]
Transparent handling for CBV arguments to C functions.

C function arguments closures are inlined before the call.

12 years agoClean up function creation API and epilogue generation.
Stephen Dolan [Mon, 26 Nov 2012 00:39:01 +0000 (00:39 +0000)]
Clean up function creation API and epilogue generation.

12 years agoAdd some preprocessor junk to make codegen cleaner.
Stephen Dolan [Sun, 25 Nov 2012 23:49:57 +0000 (23:49 +0000)]
Add some preprocessor junk to make codegen cleaner.

12 years agoMinor refactor of function call setup to allow for multiple arguments.
Stephen Dolan [Sun, 25 Nov 2012 23:07:43 +0000 (23:07 +0000)]
Minor refactor of function call setup to allow for multiple arguments.

12 years agoFix a bug in string parsing. Closes #35
Stephen Dolan [Wed, 24 Oct 2012 23:13:39 +0000 (00:13 +0100)]
Fix a bug in string parsing. Closes #35

12 years agoMerge pull request #34 from dgryski/master
Stephen Dolan [Wed, 24 Oct 2012 09:43:54 +0000 (02:43 -0700)]
Merge pull request #34 from dgryski/master

Add != (not equal) to list of supported binops

12 years agoUpdate generated lexer.gen.* and parser.gen.* files 34/head
Damian Gryski [Wed, 24 Oct 2012 07:31:21 +0000 (09:31 +0200)]
Update generated lexer.gen.* and parser.gen.* files

12 years agoReplace yyscan_t with another pointer type that we control.
Damian Gryski [Wed, 24 Oct 2012 07:28:27 +0000 (09:28 +0200)]
Replace yyscan_t with another pointer type that we control.

This prevents the circuluar dependency between parser.gen.h and
lexer.gen.h.  Newer versions of bison add a prototype for yyparse() to
parser.gen.h that include the as-yet-undeclared yyscan_t type.

12 years agoRemove .gitignore from tarballs.
Stephen Dolan [Tue, 23 Oct 2012 20:58:50 +0000 (21:58 +0100)]
Remove .gitignore from tarballs.

12 years agoAdd some in/equality test cases
Damian Gryski [Tue, 23 Oct 2012 19:12:47 +0000 (21:12 +0200)]
Add some in/equality test cases

12 years agoMerge pull request #22 from alexchamberlain/patch-1
Stephen Dolan [Tue, 23 Oct 2012 18:24:12 +0000 (11:24 -0700)]
Merge pull request #22 from alexchamberlain/patch-1

Arch Packaging docs

12 years agoRegenerate lex/yacc files
Damian Gryski [Tue, 23 Oct 2012 15:02:19 +0000 (17:02 +0200)]
Regenerate lex/yacc files

12 years agoImplement 'not equal' (!=) as a binop
Damian Gryski [Tue, 23 Oct 2012 15:01:39 +0000 (17:01 +0200)]
Implement 'not equal' (!=) as a binop

12 years agoyyscan_t isn't exposed by some versions of flex.
Damian Gryski [Tue, 23 Oct 2012 15:00:42 +0000 (17:00 +0200)]
yyscan_t isn't exposed by some versions of flex.

12 years agoAdd docs for installing on Arch Linux. 22/head
Alex Chamberlain [Tue, 23 Oct 2012 13:46:44 +0000 (14:46 +0100)]
Add docs for installing on Arch Linux.

12 years agoAllow the 'keys' function to take arrays.
Stephen Dolan [Mon, 22 Oct 2012 22:31:07 +0000 (23:31 +0100)]
Allow the 'keys' function to take arrays.

12 years agoI should probably document select and empty :) (#29, #5)
Stephen Dolan [Mon, 22 Oct 2012 22:14:34 +0000 (23:14 +0100)]
I should probably document select and empty :) (#29, #5)

12 years agoDocs fixes.
Stephen Dolan [Mon, 22 Oct 2012 21:56:56 +0000 (22:56 +0100)]
Docs fixes.

 - Mention homebrew on download page (#25)
 - Document 'keys' and string interpolation

12 years agoMerge pull request #14 from merriam/patch-2
Stephen Dolan [Mon, 22 Oct 2012 21:31:04 +0000 (14:31 -0700)]
Merge pull request #14 from merriam/patch-2

Update docs/content/1.tutorial/default.yml

12 years agoDelete a badly-thought-out bit of a Makefile.
Stephen Dolan [Mon, 22 Oct 2012 18:23:57 +0000 (19:23 +0100)]
Delete a badly-thought-out bit of a Makefile.

12 years agoupdated autogenerated files
Stephen Dolan [Mon, 22 Oct 2012 18:18:35 +0000 (19:18 +0100)]
updated autogenerated files

12 years agoSupport a -f option to load from a file, and # comments
Stephen Dolan [Mon, 22 Oct 2012 18:16:27 +0000 (19:16 +0100)]
Support a -f option to load from a file, and # comments

This means '#!/usr/local/bin/jq -f' is now a sensible way
to start a file.

Closes #13

12 years agoFix logic for "slurp" option. Fixes #18
Stephen Dolan [Mon, 22 Oct 2012 17:55:56 +0000 (18:55 +0100)]
Fix logic for "slurp" option. Fixes #18

12 years agoMake the gen_utf8_tables script Python3 compatible (#20)
Stephen Dolan [Mon, 22 Oct 2012 17:47:52 +0000 (18:47 +0100)]
Make the gen_utf8_tables script Python3 compatible (#20)

12 years agoUpdate docs/content/1.tutorial/default.yml 14/head
Charles Merriam [Mon, 22 Oct 2012 09:43:53 +0000 (02:43 -0700)]
Update docs/content/1.tutorial/default.yml

12 years agoVersion number tracking. jq-1.0 jq-1.1
Stephen Dolan [Sun, 21 Oct 2012 22:26:31 +0000 (23:26 +0100)]
Version number tracking.

12 years agoFix a mistake in the docs. Fixes #10
Stephen Dolan [Sun, 21 Oct 2012 21:16:23 +0000 (22:16 +0100)]
Fix a mistake in the docs. Fixes #10

12 years agoMerge pull request #8 from maxme/master
Stephen Dolan [Sun, 21 Oct 2012 19:23:22 +0000 (12:23 -0700)]
Merge pull request #8 from maxme/master

add install and uninstall rules in Makefile

12 years agoUpdate website: binaries + version bump.
Stephen Dolan [Sun, 21 Oct 2012 19:16:26 +0000 (20:16 +0100)]
Update website: binaries + version bump.

12 years agoadd install and uninstall rules in Makefile 8/head
Maxime Biais [Sun, 21 Oct 2012 18:55:50 +0000 (20:55 +0200)]
add install and uninstall rules in Makefile

12 years agoCheck in a bunch of autogenerated files.
Stephen Dolan [Sun, 21 Oct 2012 18:52:16 +0000 (19:52 +0100)]
Check in a bunch of autogenerated files.

These seem not to build with the version of bison, etc. on OS X.
This is a hack for now, I'll fix the OS X build when I get access
to a mac.

12 years agoAdd a 'keys' function. Fixes #4.
Stephen Dolan [Fri, 19 Oct 2012 23:26:37 +0000 (00:26 +0100)]
Add a 'keys' function. Fixes #4.

12 years agoA string interpolation syntax that I don't hate. Also tests.
Stephen Dolan [Fri, 19 Oct 2012 23:09:20 +0000 (00:09 +0100)]
A string interpolation syntax that I don't hate. Also tests.

You can interpolate values into strings using \(this syntax), e.g.

    "best \("str" + "ing") ever"

12 years agoMerge pull request #6 from stroan/numeric-comparison-binops
Stephen Dolan [Thu, 11 Oct 2012 14:47:42 +0000 (07:47 -0700)]
Merge pull request #6 from stroan/numeric-comparison-binops

Add <,>,<=,>= binops

12 years agoMake comp binops nonassoc 6/head
Stephen Roantree [Wed, 10 Oct 2012 21:44:17 +0000 (22:44 +0100)]
Make comp binops nonassoc

12 years agoAdd <,>,<=,>= binops
Stephen Roantree [Sun, 7 Oct 2012 21:34:12 +0000 (22:34 +0100)]
Add <,>,<=,>= binops

12 years agoAllow underscores in IDENT tokens. Fixes #3.
Stephen Dolan [Sat, 22 Sep 2012 13:03:46 +0000 (14:03 +0100)]
Allow underscores in IDENT tokens. Fixes #3.

IDENT syntax now includes ASCII letters and underscores, so
'.foo_bar' now works. Non-ASCII letters won't work in IDENT
tokens (it's impossible to tell which non-ascii characters are
"letters" without full unicode tables), so '.donnĂ©es' is still
a syntax error (the workaround is '.["donnĂ©es"]', since you can
put anything you like in a string).

12 years agoAdd a bunch of commandline options for controlling I/O format.
Stephen Dolan [Thu, 20 Sep 2012 18:31:14 +0000 (19:31 +0100)]
Add a bunch of commandline options for controlling I/O format.

Also docs for the above. Closes #1.

12 years agoMore broken links :(
Stephen Dolan [Wed, 19 Sep 2012 09:54:58 +0000 (10:54 +0100)]
More broken links :(

12 years agoMake URLs relative to not break on github-pages
Stephen Dolan [Wed, 19 Sep 2012 09:48:23 +0000 (10:48 +0100)]
Make URLs relative to not break on github-pages

12 years agoMake the <title>s of the doc pages less messy.
Stephen Dolan [Wed, 19 Sep 2012 00:15:49 +0000 (01:15 +0100)]
Make the <title>s of the doc pages less messy.

12 years agoNo HTTPS for me, sadly.
Stephen Dolan [Wed, 19 Sep 2012 00:12:33 +0000 (01:12 +0100)]
No HTTPS for me, sadly.

12 years agoFix some issues with relative URLs on Github Pages.
Stephen Dolan [Wed, 19 Sep 2012 00:10:47 +0000 (01:10 +0100)]
Fix some issues with relative URLs on Github Pages.

12 years agoAdd a rake task to compile docs into static html.
Stephen Dolan [Wed, 19 Sep 2012 00:03:05 +0000 (01:03 +0100)]
Add a rake task to compile docs into static html.

12 years agoUse a theme from Bootswatch for docs.
Stephen Dolan [Wed, 19 Sep 2012 00:00:25 +0000 (01:00 +0100)]
Use a theme from Bootswatch for docs.

12 years agoEnsure 'make tarball' creates the required directories.
Stephen Dolan [Tue, 18 Sep 2012 23:36:37 +0000 (00:36 +0100)]
Ensure 'make tarball' creates the required directories.

12 years agoAdd some release stuff to Makefile.
Stephen Dolan [Tue, 18 Sep 2012 23:34:49 +0000 (00:34 +0100)]
Add some release stuff to Makefile.

12 years agoAdd binaries and update download docs.
Stephen Dolan [Tue, 18 Sep 2012 23:08:02 +0000 (00:08 +0100)]
Add binaries and update download docs.

12 years agoInitialise some variables to keep gcc happy.
Stephen Dolan [Tue, 18 Sep 2012 22:46:23 +0000 (23:46 +0100)]
Initialise some variables to keep gcc happy.

12 years agoFix a parsing bug for \uXXXX escapes (some invalid escapes were accepted).
Stephen Dolan [Tue, 18 Sep 2012 22:45:30 +0000 (23:45 +0100)]
Fix a parsing bug for \uXXXX escapes (some invalid escapes were accepted).

Found by gcc -O -Wall identifying a use of uninitialised variables.

12 years agoAdd a README
Stephen Dolan [Tue, 18 Sep 2012 22:40:19 +0000 (23:40 +0100)]
Add a README

12 years agoUsage messages if jq is run with no arguments.
Stephen Dolan [Tue, 18 Sep 2012 22:37:46 +0000 (23:37 +0100)]
Usage messages if jq is run with no arguments.

Beats segfaulting.

12 years agoImplement the 'add' builtin promised by the docs' examples.
Stephen Dolan [Tue, 18 Sep 2012 22:32:24 +0000 (23:32 +0100)]
Implement the 'add' builtin promised by the docs' examples.

12 years agoMore docs + docs cleanup
Stephen Dolan [Tue, 18 Sep 2012 22:17:27 +0000 (23:17 +0100)]
More docs + docs cleanup

12 years agoPrint Unicode characters unescaped by default.
Stephen Dolan [Tue, 18 Sep 2012 21:47:19 +0000 (22:47 +0100)]
Print Unicode characters unescaped by default.

12 years agoSeparate the tests and the main program.
Stephen Dolan [Tue, 18 Sep 2012 21:17:13 +0000 (22:17 +0100)]
Separate the tests and the main program.

12 years agoAdd a COPYING file with too many words in it.
Stephen Dolan [Tue, 18 Sep 2012 16:59:09 +0000 (17:59 +0100)]
Add a COPYING file with too many words in it.

12 years agoDocumentation. Copious.
Stephen Dolan [Tue, 18 Sep 2012 16:51:53 +0000 (17:51 +0100)]
Documentation. Copious.

12 years agoMove everything around - delete old Haskell code, clean up build.
Stephen Dolan [Tue, 18 Sep 2012 16:44:43 +0000 (17:44 +0100)]
Move everything around - delete old Haskell code, clean up build.

12 years agoSlightly better string interpolation.
Stephen Dolan [Tue, 18 Sep 2012 12:22:22 +0000 (13:22 +0100)]
Slightly better string interpolation.

12 years agoAdd the builtin 'select' function.
Stephen Dolan [Tue, 18 Sep 2012 11:58:39 +0000 (12:58 +0100)]
Add the builtin 'select' function.

12 years agoAdd a missing file from prev commit
Stephen Dolan [Tue, 18 Sep 2012 11:58:29 +0000 (12:58 +0100)]
Add a missing file from prev commit

12 years agoBuiltin functions defined in jq.
Stephen Dolan [Tue, 18 Sep 2012 09:17:38 +0000 (10:17 +0100)]
Builtin functions defined in jq.

12 years ago-Werror was a little overzealous.
Stephen Dolan [Tue, 18 Sep 2012 08:43:44 +0000 (09:43 +0100)]
-Werror was a little overzealous.

Older versions of gcc warn about random things. -Werror makes the
built fail on such compilers.

12 years agoBuiltin function 'type'.
Stephen Dolan [Mon, 17 Sep 2012 22:06:48 +0000 (23:06 +0100)]
Builtin function 'type'.

12 years agoFix a precedence bug.
Stephen Dolan [Mon, 17 Sep 2012 21:37:51 +0000 (22:37 +0100)]
Fix a precedence bug.

a == b or c == d should obviously parse as (a==b) or (c==d).

12 years agoRecursive functions + bugfix for stack reallocation.
Stephen Dolan [Mon, 17 Sep 2012 21:32:06 +0000 (22:32 +0100)]
Recursive functions + bugfix for stack reallocation.

12 years agoMake the code compile with warnings-as-errors.
Stephen Dolan [Mon, 17 Sep 2012 21:04:32 +0000 (22:04 +0100)]
Make the code compile with warnings-as-errors.

-Wextra found a bona-fide bug: signed/unsigned comparison in a
stack overflow check.

12 years agoFix debugging code in execute.c so that debug jq compiles again.
Stephen Dolan [Mon, 17 Sep 2012 20:43:10 +0000 (21:43 +0100)]
Fix debugging code in execute.c so that debug jq compiles again.

12 years agoMake "not" a builtin function rather than syntax.
Stephen Dolan [Mon, 17 Sep 2012 20:08:43 +0000 (21:08 +0100)]
Make "not" a builtin function rather than syntax.

Fixes a really awkward grammar issue.

12 years agoRedefine true and false. Define empty, distict from null.
Stephen Dolan [Mon, 17 Sep 2012 19:59:34 +0000 (20:59 +0100)]
Redefine true and false. Define empty, distict from null.

This might be the most philosophical commit. I shall ponder it.

true, false, null, empty now defined as bytecoded builtins rather
than calls out to C functions.

12 years agoMerge branch 'master' of github:stedolan/jq
Stephen Dolan [Mon, 17 Sep 2012 19:46:13 +0000 (20:46 +0100)]
Merge branch 'master' of github:stedolan/jq

Conflicts:
c/builtin.c

12 years agoFirst pass at string interpolation.
Stephen Dolan [Mon, 17 Sep 2012 19:41:57 +0000 (20:41 +0100)]
First pass at string interpolation.

Requires a lexer hack, but a surprisingly un-hideous one. The lexer
maintains a stack of bracket characters so that it can match
parens/brackets/braces to tell where a subexp nested in a string
actually ends.

12 years agoAdd a "tostring" function.
Stephen Dolan [Mon, 17 Sep 2012 19:14:07 +0000 (20:14 +0100)]
Add a "tostring" function.

12 years agoSupport rendering a JSON value to a string buffer.
Stephen Dolan [Mon, 17 Sep 2012 19:08:55 +0000 (20:08 +0100)]
Support rendering a JSON value to a string buffer.

12 years agoBetter support for appending strings in JV.
Stephen Dolan [Mon, 17 Sep 2012 18:41:41 +0000 (19:41 +0100)]
Better support for appending strings in JV.

12 years agoBind builtin functions in a slightly less ugly way.
Stephen Dolan [Sun, 16 Sep 2012 16:08:56 +0000 (17:08 +0100)]
Bind builtin functions in a slightly less ugly way.

12 years agoBuiltin function 'length', for arrays/objects/strings.
Stephen Dolan [Sun, 16 Sep 2012 10:08:42 +0000 (11:08 +0100)]
Builtin function 'length', for arrays/objects/strings.

12 years agoHrm. Update operators (//=, +=, etc.) aren't very well thought out.
Stephen Dolan [Sun, 16 Sep 2012 10:07:36 +0000 (11:07 +0100)]
Hrm. Update operators (//=, +=, etc.) aren't very well thought out.

In complex cases, their behaviour is kinda weird. Here's a failing
test for what I think they should do.

12 years agoAdd update operators (+=, -=, *=, /= and //=)
Stephen Dolan [Tue, 11 Sep 2012 22:55:59 +0000 (23:55 +0100)]
Add update operators (+=, -=, *=, /= and //=)

12 years agoMake .[] capable of iteration over objects as well as arrays.
Stephen Dolan [Tue, 11 Sep 2012 15:10:55 +0000 (16:10 +0100)]
Make .[] capable of iteration over objects as well as arrays.

Also change an assert to a proper error message if it's given
something silly like a number.

12 years agoPretty-printing of JSON values.
Stephen Dolan [Tue, 11 Sep 2012 14:51:12 +0000 (15:51 +0100)]
Pretty-printing of JSON values.

12 years agoJSON stream parser.
Stephen Dolan [Tue, 11 Sep 2012 13:52:10 +0000 (14:52 +0100)]
JSON stream parser.

Allow multiple values on input as concatenated JSON objects,
possibly separated by whitespace.

12 years agoMore error handling - locations of refs to undefined symbols.
Stephen Dolan [Tue, 11 Sep 2012 11:24:54 +0000 (12:24 +0100)]
More error handling - locations of refs to undefined symbols.

12 years agoBetter error handling and messages for invalid index/assign operations.
Stephen Dolan [Tue, 11 Sep 2012 09:37:44 +0000 (10:37 +0100)]
Better error handling and messages for invalid index/assign operations.

12 years agoMore error handling in the parser.
Stephen Dolan [Tue, 11 Sep 2012 09:12:25 +0000 (10:12 +0100)]
More error handling in the parser.

Add a special case in the lexer to detect unterminated strings.
Add some error recovery in the parser for more copious error spam.

12 years agoProper error messages from lexer errors (e.g. bad characters).
Stephen Dolan [Tue, 11 Sep 2012 08:13:20 +0000 (09:13 +0100)]
Proper error messages from lexer errors (e.g. bad characters).

12 years agoMuch, much better error reporting from the parser.
Stephen Dolan [Mon, 10 Sep 2012 23:04:47 +0000 (00:04 +0100)]
Much, much better error reporting from the parser.

Getting proper locations through flex/bison was more effort than
was advertised.

12 years ago'==' operator, tests for equality and operator precedence.
Stephen Dolan [Mon, 10 Sep 2012 17:08:00 +0000 (18:08 +0100)]
'==' operator, tests for equality and operator precedence.

12 years agoString -> number conversions with "tonumber".
Stephen Dolan [Mon, 10 Sep 2012 16:08:13 +0000 (17:08 +0100)]
String -> number conversions with "tonumber".

12 years agoMultiplication and division operators.
Stephen Dolan [Mon, 10 Sep 2012 15:57:17 +0000 (16:57 +0100)]
Multiplication and division operators.

It is an error to use these on anything but numbers. Maybe later
implementing python/ruby-style ("a" * 100) might be handy.

12 years agoSubtraction - as expected for numbers, ruby-style set diff for arrays.
Stephen Dolan [Mon, 10 Sep 2012 15:49:25 +0000 (16:49 +0100)]
Subtraction - as expected for numbers, ruby-style set diff for arrays.

12 years agoString concatenation.
Stephen Dolan [Mon, 10 Sep 2012 15:16:39 +0000 (16:16 +0100)]
String concatenation.

12 years agoSensible error messages when a silly addition is performed.
Stephen Dolan [Mon, 10 Sep 2012 15:07:03 +0000 (16:07 +0100)]
Sensible error messages when a silly addition is performed.

Fix a test to no longer perform an invalid addition.

12 years agojv_string_fmt (create printf-formatted JSON strings)
Stephen Dolan [Mon, 10 Sep 2012 15:01:56 +0000 (16:01 +0100)]
jv_string_fmt (create printf-formatted JSON strings)

12 years agoPlug a memory leak in jv_object_merge
Stephen Dolan [Mon, 10 Sep 2012 14:08:39 +0000 (15:08 +0100)]
Plug a memory leak in jv_object_merge

12 years agoMake jv_invalid() first-class values capable of holding an error.
Stephen Dolan [Mon, 10 Sep 2012 14:04:19 +0000 (15:04 +0100)]
Make jv_invalid() first-class values capable of holding an error.