Move tail call optimisations to compile.c.

Needs more testing.
2 files changed
tree: 6ed09b52013666f32d7f612b5a8a4b5f8b2ca728
  1. build/
  2. config/
  3. docs/
  4. scripts/
  5. tests/
  6. .gitattributes
  7. .gitignore
  8. .travis.yml
  9. AUTHORS
  10. builtin.c
  11. builtin.h
  12. bytecode.c
  13. bytecode.h
  14. ChangeLog
  15. compile-ios.sh
  16. compile.c
  17. compile.h
  18. configure.ac
  19. COPYING
  20. exec_stack.h
  21. execute.c
  22. jq.1.default
  23. jq.1.prebuilt
  24. jq.h
  25. jq.spec
  26. jq_parser.h
  27. jq_test.c
  28. jv.c
  29. jv.h
  30. jv_alloc.c
  31. jv_alloc.h
  32. jv_aux.c
  33. jv_dtoa.c
  34. jv_dtoa.h
  35. jv_file.c
  36. jv_parse.c
  37. jv_print.c
  38. jv_unicode.c
  39. jv_unicode.h
  40. jv_utf8_tables.h
  41. lexer.l
  42. libm.h
  43. locfile.c
  44. locfile.h
  45. main.c
  46. Makefile.am
  47. NEWS
  48. opcode_list.h
  49. parser.y
  50. README.md
  51. setup.sh
README.md

jq

jq is a command-line JSON processor.

If you want to learn to use jq, read the documentation at http://stedolan.github.io/jq. This documentation is generated from the docs/ folder of this repository. You can also try it online at jqplay.org.

If you want to hack on jq, feel free, but be warned that its internals are not well-documented at the moment. Bring a hard hat and a shovel. Also, read the wiki: http://github.com/stedolan/jq/wiki

If you‘re building directly from the latest git, you’ll need flex and bison installed. To build, run:

autoreconf -i
./configure
make -j8
make check

After make finishes, you'll be able to use ./jq. You can also install it using:

sudo make install

If you‘re not using the latest git version but instead building a released tarball (available on the website), then you won’t need to run autoreconf (and shouldn‘t), and you won’t need flex or bison.

To cross-compile for OS X and Windows, see docs/Rakefile‘s build task and scripts/crosscompile. You’ll need a cross-compilation environment, such as Mingw for cross-compiling for Windows.