Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						f6c6ba95ad
					 | 
					
						
						
							
							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. 
						
						
					 | 
					
						2012-09-11 16:10:55 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						d9d6f43407
					 | 
					
						
						
							
							Pretty-printing of JSON values.
						
						
						
						
						
						
					 | 
					
						2012-09-11 15:53:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						51a44edc63
					 | 
					
						
						
							
							JSON stream parser.
						
						
						
						
						
						
						
						Allow multiple values on input as concatenated JSON objects,
possibly separated by whitespace. 
						
						
					 | 
					
						2012-09-11 14:52:10 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						062a6aa6d7
					 | 
					
						
						
							
							More error handling - locations of refs to undefined symbols.
						
						
						
						
						
						
					 | 
					
						2012-09-11 12:24:54 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						4c7bede5a4
					 | 
					
						
						
							
							Better error handling and messages for invalid index/assign operations.
						
						
						
						
						
						
					 | 
					
						2012-09-11 10:37:44 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						0ce437ea97
					 | 
					
						
						
							
							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. 
						
						
					 | 
					
						2012-09-11 10:18:18 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						ac3f8bcc52
					 | 
					
						
						
							
							Proper error messages from lexer errors (e.g. bad characters).
						
						
						
						
						
						
					 | 
					
						2012-09-11 09:13:20 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						95dd64b0f0
					 | 
					
						
						
							
							Much, much better error reporting from the parser.
						
						
						
						
						
						
						
						Getting proper locations through flex/bison was more effort than
was advertised. 
						
						
					 | 
					
						2012-09-11 00:04:47 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						4d47f8f1e1
					 | 
					
						
						
							
							'==' operator, tests for equality and operator precedence.
						
						
						
						
						
						
					 | 
					
						2012-09-10 18:08:00 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						3895bbf856
					 | 
					
						
						
							
							String -> number conversions with "tonumber".
						
						
						
						
						
						
					 | 
					
						2012-09-10 17:08:13 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						aa3ebdfe9b
					 | 
					
						
						
							
							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.
						
						
					 | 
					
						2012-09-10 16:57:17 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						6f3abbac62
					 | 
					
						
						
							
							Subtraction - as expected for numbers, ruby-style set diff for arrays.
						
						
						
						
						
						
					 | 
					
						2012-09-10 16:49:25 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						65ce73deb4
					 | 
					
						
						
							
							String concatenation.
						
						
						
						
						
						
					 | 
					
						2012-09-10 16:16:39 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						e718bd50b6
					 | 
					
						
						
							
							Sensible error messages when a silly addition is performed.
						
						
						
						
						
						
						
						Fix a test to no longer perform an invalid addition. 
						
						
					 | 
					
						2012-09-10 16:15:05 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						a3e509034b
					 | 
					
						
						
							
							jv_string_fmt (create printf-formatted JSON strings)
						
						
						
						
						
						
					 | 
					
						2012-09-10 16:01:56 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						0159c0ecc5
					 | 
					
						
						
							
							Plug a memory leak in jv_object_merge
						
						
						
						
						
						
					 | 
					
						2012-09-10 15:08:58 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						649cac791a
					 | 
					
						
						
							
							Make jv_invalid() first-class values capable of holding an error.
						
						
						
						
						
						
					 | 
					
						2012-09-10 15:04:19 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						5c25c90657
					 | 
					
						
						
							
							When comparing two objects for equality, we don't need to recurse
						
						
						
						
						
						
						
						into e.g. array elements if the two objects are the same array. 
						
						
					 | 
					
						2012-09-10 13:06:46 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						c2593dc417
					 | 
					
						
						
							
							Make a main program that doesn't spam debugging info.
						
						
						
						
						
						
					 | 
					
						2012-09-10 10:23:15 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						e258d20ba2
					 | 
					
						
						
							
							Make the '+' operator merge objects.
						
						
						
						
						
						
					 | 
					
						2012-09-09 19:17:07 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						a4ff3d4670
					 | 
					
						
						
							
							Bugfix for expanding objects.
						
						
						
						
						
						
					 | 
					
						2012-09-09 18:09:05 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						e6a85737da
					 | 
					
						
						
							
							Print bad number values (Inf,NaN) "correctly".
						
						
						
						
						
						
					 | 
					
						2012-09-09 15:35:34 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						0dfaebcdcb
					 | 
					
						
						
							
							null and string literals now exist, so add tests
						
						
						
						
						
						
					 | 
					
						2012-09-06 21:44:46 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Stephen Dolan
							
						 
					 | 
					
						
						
							
						
						0fd7d4b30c
					 | 
					
						
						
							
							UTF8 coding utilities and unicode escaping in jv_dump()'d strings.
						
						
						
						
						
						
						
						Beyond the Basic Multilingual Plane, dead Cthulhu waits dreaming. 
						
						
					 | 
					
						2012-09-06 21:39:00 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								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 | 
					
					
						
						
						
							
							
							
							
							
							
							
							
						
					 |