Robert Krimen
e6768252c2
Improve error reporting
...
* Delay entering global scope on code evaluation, not runtime creation
This fixes #66
2014-06-12 21:27:32 -07:00
Robert Krimen
709a0aa7ff
Value.string(), .float64(), .bool(), etc.
2014-06-06 21:29:40 -07:00
Robert Krimen
918abeb8d8
The zero value of Value is now defined to be undefined
...
Previously, it was a publically accessible but invalid value (valueEmpty).
* Deprecate internal use of UndefinedValue(), NullValue(), FalseValue(), TrueValue()
* Guard against Empty, Result, Reference values from escaping the package
2014-05-28 21:23:32 -07:00
Robert Krimen
9cd045ef04
Simplification & refactor of (parts of) the runtime
...
* Proper lowercasing for internal stuff
* *Environment => *_stash
* ExecutionContext => _scope
* Simpler & shallower call/construct mechanics
* Remove unnecessary fields & methods
* Better scoping (no more stack): []*_scope => _scope.outer
* Some speed improvements
In preparation for #66
2014-05-27 22:05:35 -07:00
Robert Krimen
bf7b16f4a3
Add internal compilation step
...
* Streamline what we get from "otto/parser"
* Get rid of some "otto/parser" cruft
* FunctionExpression => FunctionLiteral
* The debugger statement (debugger) should do nothing (not panic)
* Fix aspects of function expression call evaluation
2014-04-19 14:05:51 -07:00
Robert Krimen
ad8a97c028
New parser
...
* Faster, more straightforward, etc.
* More advanced object literals (get ..., set ...)
* More tests using JavaScript from the wild (http://cdnjs.com/ )
2014-04-10 20:42:25 -07:00
Robert Krimen
096cd7e450
Add ability to interrupt the runtime
...
This fixes #12 , #35
2014-02-01 15:49:17 -08:00
Robert Krimen
4ebf6416d0
Fix Uint32 Array/String indexing
...
Also, a bunch of toValue_* streamlining
And maybe a few miscellaneous tweaks
2013-06-22 15:49:22 +02:00
Robert Krimen
73bf2f9fa8
Implement return/break/continue without panic/recover
...
This fixes #25
2013-06-13 22:17:04 -07:00
Robert Krimen
83c56dd73d
Add Otto.Call
2013-05-19 19:03:05 -07:00
Robert Krimen
cc243b17d7
Can now attach a label to a block and have it break properly
2013-04-27 15:52:46 +02:00
Robert Krimen
20d2e8bba6
gofmt
...
Ugh.
2013-01-25 09:59:42 -08:00
Robert Krimen
326264ae3e
Line tracking for error reporting
2012-10-09 16:41:45 -07:00
Robert Krimen
42d43e0878
Make sure to error out early on ReferenceError
2012-10-07 18:47:13 -07:00
Robert Krimen
979a87a79d
Fix casing on evaluateNew
2012-10-07 18:39:12 -07:00
Robert Krimen
4a8c7ffc00
Initial commit
2012-10-05 18:47:53 -07:00