earncef
052ae5906b
Refactored duplicate REPL code ( #145 )
...
* Refactored duplicate REPL code
* Cleanup
* Added comments
* Added repl.Options
* Added comment
* Clenaup
* Cleanup
2019-03-16 13:58:08 -07:00
earncef
ebddfd13a7
Added println ( #144 )
...
* Added println
* Fixed tests.
* Updated doc
* Fixed doc
* Cleanup
* Added size limit
* Fixed incorrect type
* Cleanup
* Consistent output for print and println
2019-03-16 00:14:22 -07:00
Daniel
17329aa139
update benchmark result with v1.15.0 ( #141 )
2019-03-14 01:31:40 -07:00
earncef
5d8457a8f6
Removed double indirection for massive performance gains ( #140 )
...
* Removed double indirection for performance gains
* Added missing file
* Cleanup
* Remove pointers patch.
* Cleanup
* Removed redundant parenthesis
* FreeVar changed to ObjectPtr and removed OpSetLocalPtr
* Removed truePtr, falsePtr and undefinedPtr
* Cleanup
2019-03-14 01:07:19 -07:00
Daniel
1921d907a6
fix scipt.Variable.Value()
bug ( #139 )
2019-03-13 03:07:06 -07:00
Daniel
8707fd6e7f
fix to_json
builtin function bug ( #138 )
2019-03-13 02:25:21 -07:00
Daniel
b7977a419b
add Compiled.Clone to make them safe for concurrent execution ( #134 )
2019-03-08 01:10:49 -08:00
Daniel
e93f6f6325
limit max object allocations ( #129 )
...
- add object.NumObjects()
- add object allocation limit in VM
- delete objects.Break, objects.Continue, objects.ReturnValue
- add Script.SetMaxAllocs()
- update sandbox documentation
- add some tests
- remove duplicate values in compiled constants (fixes #96 )
- option to limit the maximum number of objects in compiled bytecode constants
2019-03-06 17:20:05 -08:00
earncef
46884c7b25
Removed redundant code in the VM with no performance loss. ( #132 )
...
* Removed redundant code in the VM with no performance loss.
* binaryOp is not exported
* minor update
2019-03-05 13:53:14 -08:00
earncef
a3735846a5
Updated docs for SetBuiltinFunctions and SetBuiltinModules ( #131 )
...
* Updated docs for SetBuiltinFunctions and SetBuiltinModules
* minor update
2019-03-04 11:53:09 -08:00
earncef
c437def4a0
Decoupled stdlib from vm, script and compiler ( #126 )
...
* Decoupled stdlib from script
* Decoupled compiler and vm from stdlib
* cleanup
* Docs and cleanup
* main package with and without stdlib
* cleanup
* Update .goreleaser
2019-03-04 10:21:39 -08:00
Daniel
68cd38e49e
minor doc update
...
1. composite types -> compound types (#128 )
2. composite assignment -> compound assignment
2019-03-03 15:21:28 -08:00
Daniel
53ce12998e
add module-import tests to most of runtime package ( #125 )
2019-03-01 15:55:29 -08:00
Daniel
0c5e80b057
Limit the maximum size of string/bytes values ( #121 )
...
* add tengo.MaxStringLen and tengo.MaxBytesLen to limit the maximum byte-length of string/bytes values
* add couple more tests
2019-03-01 10:48:02 -08:00
earncef
880ee04ffe
script.Add accepts a CallableFunc value ( #124 )
...
* script.Add accepts a CallableFunc value
* moved to FromInterface
2019-03-01 09:28:41 -08:00
Daniel
306055ad65
add helper functions for builtin functions and builtin modules ( #122 )
...
* add helper functions for builtin functions and builtin modules
* fix a builtin function bug for modules
2019-02-28 18:41:29 -08:00
earncef
7cc683e867
SetBuiltinFunctions and SetBuiltinModules ( #120 )
...
* `SetBuiltinFunctions` and `SetBuiltinModules`
* nil implies no built in functions.
* Additional tests.
* Cleanup
* Updated SetBuiltinFunctions
* Docs updated.
2019-02-28 08:26:25 -08:00
earncef
39112d226e
String keys allowed for map definitions. ( #118 )
...
* String keys allowed for map definitions.
* parse error for map key
2019-02-25 22:53:04 -08:00
earncef
5816186821
parser.ParseFile removed ( #117 )
...
* parser.ParseFile removed
* return values
2019-02-25 22:52:08 -08:00
earncef
6ec360c8b7
Fixed panic when bailout is triggered in parser.ParseFile() ( #113 )
...
* Fixed panic when bailout is triggered in parser.ParseFile()
* Removed redundant "parse error" prefix for parse errors.
2019-02-25 10:22:45 -08:00
earncef
6dd573c3f6
Runtime error trace format ( #111 )
...
* Runtime error format
* Parser and Compiler error formats updated
2019-02-22 13:39:07 -08:00
earncef
f265f1702b
Stack trace for errors ( #108 )
...
* Simple strack trace for runtime errors.
* Module test for runtime error stack trace
* Removed OpExport
* Removed redundant code.
* Removed vm.FrameInfo()
2019-02-21 09:40:17 -08:00
Daniel
3500c686b3
Improvements on compiler/VM error reporting (filename:line:col)
...
- add type infos to VM error messages
- add 'Name' to UserFunction objects
- add 'expectErrorString' to VM tests
- replace vm.expectError() with vm.expectErrorString() to make it more explicit
- add source map info to VM error messages
- optimization in function calls
- add file/line/col info to compiler errors
- change stdlib module to be loaded from VM (instead of compiler) so they can be properly loaded after the source is compiled into binary
- VM can take builtin modules optionally
2019-02-20 16:26:11 -08:00
Daniel
cb1c8a405e
Fix a bug for 'for' loop without condition: "for {}" ( #100 )
2019-02-12 01:28:23 -08:00
Daniel
fc4e3586c4
Fix a closure-block scope bug ( #99 )
...
* fix issue #98
* remove objects.CompiledModule
* remove objects.CompiledModule
2019-02-11 17:34:02 -08:00
Daniel
9ccc6dd901
add Bytecode.FormatInstructions and Bytecode.FormatConstants ( #95 )
2019-02-10 21:44:22 -08:00
Daniel
9c67444678
Fixes a REPL bug (Issue #91 ) ( #92 )
2019-02-10 00:32:37 -08:00
earncef
5e21abfd74
IndexGet of Array, Index, ImmutableIndex, Bytes, String, Undefined
2019-02-09 16:45:21 -08:00
Daniel
2b517f376e
add 'rand' module ( #90 )
2019-02-09 12:33:35 -08:00
Daniel
9782d87c35
Merge pull request #86 from d5/ostestfix
...
minor cleanups for 'os' module tests
2019-02-07 15:22:16 -08:00
Daniel Kang
a9f9ba4592
minor cleanups for 'os' module tests
2019-02-07 15:18:49 -08:00
Daniel
e81380bb38
Merge pull request #85 from ripienaar/84
...
add os.read_file()
2019-02-07 15:13:11 -08:00
R.I.Pienaar
06c7e7df61
add os.readfile()
2019-02-07 21:58:47 +01:00
Daniel
a9224a3593
Merge pull request #81 from ripienaar/80
...
add file.stat()
2019-02-06 10:25:52 -08:00
R.I.Pienaar
69961de7de
add os.stat() and file.stat()
2019-02-06 15:20:41 +01:00
Daniel
edfb765258
Merge pull request #76 from d5/is_function
...
'is_function' and 'is_callable' builtin functions
2019-02-03 15:55:18 -08:00
Daniel Kang
90aafc8bb4
Add 'is_function' and 'is_callable' builtin functions
2019-02-03 15:50:40 -08:00
Daniel
d90f2865ef
Merge pull request #74 from d5/iarrlen
...
Some bug fixes
2019-02-02 23:21:07 -08:00
Daniel Kang
5713eb64fe
Fix a slicing expression bug: allow low-index == len(a)
2019-02-02 23:11:02 -08:00
Daniel Kang
eda0495f30
Fix several module-related issues
2019-02-02 22:22:40 -08:00
Daniel Kang
9c21c8a804
Fix a bug where user modules couldn't resolve builtin functions
2019-02-01 18:13:29 -08:00
Daniel Kang
c57a7f8f98
Fix a bug where len() builtin does not take immutable array
2019-02-01 17:32:05 -08:00
Daniel
4f222b1650
Merge pull request #73 from d5/charop
...
Operators on Char type
2019-02-01 17:03:11 -08:00
Daniel Kang
9e73f40485
1. Added documentation on operators. 2. Add (char)-(int) operators
2019-02-01 16:58:44 -08:00
Daniel
0d99cca738
Merge pull request #72 from d5/compiledset
...
replacing values of the compiled script
2019-02-01 11:32:07 -08:00
Daniel Kang
4f4646032c
Update documentation for compiled scripts
2019-02-01 11:25:57 -08:00
Daniel Kang
6a663c6360
add script.Compiled.Set
function so compiled script can replace value of global variables
2019-02-01 11:09:12 -08:00
Daniel Kang
6420628310
Merge pull request #70 from d5/fix69
...
Remove unused tokens
2019-01-31 12:43:12 -08:00
Daniel Kang
061d800cf8
removed 'case', 'default', 'switch', 'var' keywords
2019-01-31 12:40:14 -08:00
Daniel Kang
61e534eb67
Merge pull request #64 from d5/scriptmodule
...
Script Imports
2019-01-31 08:59:14 -08:00