mirror of
https://github.com/google/go-jsonnet.git
synced 2025-08-08 07:17:12 +02:00
* 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.
2 lines
9 B
Plaintext
2 lines
9 B
Plaintext
"aaabbb"
|