Commit Graph

21 Commits

Author SHA1 Message Date
Dave Cunningham
bd9f76165f default to python3 2021-12-21 13:06:57 +00:00
Dave Cunningham
2f2f6d664f Add wasm build 2021-09-09 12:45:53 +01:00
Harsimran Singh Maan
1b7cbff4cd Add github actions ci 2021-05-19 16:00:28 +02:00
Stanisław Barzowski
797bfd89ed Better handling of stack traces.
Fixes multiple issues with stack traces leading to missing
stack trace lines. Also, we no longer put builtin context
on the line which *calls* the builtin as if it was a part
of the builtin itself.

Code for stack trace handling was centralized. We no longer
need traceElement argument in ~every function. Now the stack
trace state is kept solely in the interpreter.
2020-11-21 15:36:05 +01:00
Stanisław Barzowski
2bc774a030 Update cpp-jsonnet. Stop changing cpp-jsonnet version in tests.sh. 2020-11-21 15:10:43 +01:00
Dave Cunningham
724650d358
Add native golang formatter (#388)
Add native golang formatter
2020-03-10 22:19:49 +00:00
Alexander Petrov
413234ce49
Replace setup.py test with pytest command (#380)
Replace `setup.py test` with pytest command
2020-02-20 10:37:39 +01:00
Alexander Petrov
e6572f5083 Compile package in 32-bit mode 2020-02-18 10:32:37 +01:00
Stanisław Barzowski
07fa4c037b Run tests on other CPU architectures (arm64, ppc64le). 2020-02-02 17:52:52 +01:00
Alexander Petrov
741eec05fe Added python tests CI 2019-12-19 18:09:09 +01:00
Steve Harris
3e7d3b16a4 Commit astgen/stdast.go file for use with "go get" 2019-06-15 01:34:11 +02:00
Steve Harris
7084acc012 Accommodate testing with Bazel 2019-06-15 01:34:11 +02:00
Michael Schuett
2188e2d62a Add go mod / cleanup (#266)
Add go mod

Also make the build docs nicer and cleanup the file directory to be in line
with most other go projects. This also make it so you can build jsonnet
without setting -o on go build.
2019-04-03 15:46:19 +02:00
Stanisław Barzowski
eea884b12f Minimal C bindings (#257)
* Minimal C bindings
* Fix version reporting in C bindings
* Apply suggestions about C bindings implementation
* Rename compat/ -> c-bindings/
* Add comment about indexing VMs in C bindings
2019-03-16 17:47:12 -04:00
Dave Cunningham
5cc426ed04 Bring submodule and stdlib to cpp master 2018-03-06 23:49:02 -05:00
Marcelo Cantos
cf6933d45b Add C++-Jsonnet submodule for tests (#202)
* Add C++-Jsonnet submodule for tests
* Add tests.sh to travis-ci
2018-03-06 13:05:00 -05:00
Dave Cunningham
fd1eaa9e36
tell tests which implementation we are using (#142) 2017-11-03 00:41:40 -04:00
Stanisław Barzowski
8b843564bf Support --ext-str and --ext-code options 2017-10-03 14:31:53 -04:00
Stanisław Barzowski
5da57ac417 Interpreter & runtime - minimal usable version (#24)
* Interpreter & runtime - minimal usable version

Accomplishments in this commit:
* Majority of language features implemented:
	* Unary operators
	* Binary operators
	* Conditionals
	* Errors
	* Indexing arrays
	* Indexing objects
	* Object inheritance
	* Imports
	* Functions
	* Function calls
* There is a quite nice way for creating builtins
* Static analyzer is there with most of the functionality
* Standard library is included and parts unaffected by missing features
work
* Some bugs in existing parts fixed
* Most positive tests from C++ version pass, the rest is failing mostly
due to missing builtins and comprehensions.
* Some initial structure was created that should allow more incremental
  and focused changes in the future PRs.
* Some comments/explanations added
* Panics translated to a little bit more gentle internal errors (with a
  link to issues on github).

What still sucks:
* Stack traces & error messages (there's some stuff in place)
* Almost everything is in the same package
* Stuff is exported or unexporeted randomly (see above)
* Missing a few lexing/parsing features
* Missing builtins
* Missing support for extvars and top-level-args
* Checking function arguments is missing
* No clean Go API that commandline and compatibility layer to C can use
* No compatibility layer to C
* Assertions don't work (desugaring level, assertEquals works).
* Manifestation stack traces (and generally it could use some work).
* The way environments are constructed is sometimes suboptimal/clumsy.
2017-08-24 20:09:10 -04:00
Stanisław Barzowski
91e1162cdd Make it possible to evaluate stdlib (#20)
* New features in parser and desugarer

Support for slices
Support for methods
Support for function sugar in locals
Prevent crashes with obj/arr comprehensions

After this change evaluating stdlib doesn't crash.
2017-08-15 14:08:15 -04:00
Stanisław Barzowski
370534ccc4 Basic commandline (so we can start testing compatibility) 2017-08-08 14:30:44 -04:00