be0032cc40
Merge branch 'segfault_on_top_level_super_with_no_args' of git://github.com/zeckalpha/wren into zeckalpha-segfault_on_top_level_super_with_no_args
2015-01-11 19:42:26 -08:00
bc29e0929e
Rename a couple of files and tweak some docs.
2015-01-11 19:13:15 -08:00
7557c91b3c
Adds some common methods to strings.
2015-01-11 16:06:56 -08:00
c376d88e61
super at top level: Allow the compiler to continue compilation after erroring. Added two more tests.
2015-01-11 17:44:10 -06:00
3490c8d2f3
Segfault when calling super at top-level with no arguments.
...
If enclosingClass is null, we can't proceed with compilation since we don't have its name.
2015-01-09 15:14:06 -06:00
3116bf97de
Use correct buffer size in string subscript operator.
2015-01-09 07:12:25 -08:00
bcf052436f
Merge pull request #94 from edsrzf/fix-neg-number
...
Don't treat negative numbers as literals
2015-01-09 07:00:12 -08:00
75d28c083c
Don't treat negative numbers as literals
...
Fixes #93 .
Previously, "1 -1" was lexed as two number tokens: a positive literal and
a negative literal. This caused problems when it came to parsing.
Now the '-' and the second number are separate tokens.
Note this is a breaking change, since `-16.sqrt` is now parsed as `-(16.sqrt)`,
as opposed to `(-16).sqrt`.
There is a small bit of overhead to doing it this way, but it might be possible
to optimize that out in the compiler at some point in the future.
2015-01-09 20:17:40 +13:00
a9f1d52ef7
Merge branch 'improve-debugging' of git://github.com/gsmaverick/wren into gsmaverick-improve-debugging
2015-01-08 21:49:20 -08:00
15b0d8777c
Handle toString not returning a string in IO.print and IO.write.
...
Fix #67 .
2015-01-08 07:53:37 -08:00
09bb28735c
Merge branch 'feature-shebang-support' of git://github.com/mauvm/wren into mauvm-feature-shebang-support
2015-01-04 13:02:42 -08:00
a9bb2387a1
Handle empty (or comment-only) files. Fix #57 .
2015-01-04 13:00:53 -08:00
7f90485cff
Let the user know the arity of a missing method in the error message.
2015-01-04 14:42:11 -05:00
4200f18f83
Rename test for invalid shebang.
2015-01-04 20:09:33 +01:00
6c549e0cc5
Use lexError() and add test for invalid shebang.
2015-01-04 19:56:16 +01:00
8a54ef9919
Add tests.
2015-01-03 20:53:17 +01:00
c25cfca18b
Eliminate semicolons entirely.
2015-01-03 10:02:45 -08:00
c967439ead
Add Fiber.abort() method.
2015-01-01 10:40:14 -08:00
a94dfdac10
Add test for too many constants in one function.
2014-12-06 16:39:39 -08:00
f6cbb6ad75
Add Fiber.try().
2014-10-15 06:36:42 -07:00
feb9f7cb53
Fix crash bug in closure capturing.
2014-04-24 17:52:53 -07:00
80a4eb8c9c
Better error message on too many inherited fields.
2014-04-22 07:06:26 -07:00
3087daaece
Add a closure test.
2014-04-19 17:48:06 -07:00
09c707e16a
More tests for super calls.
2014-04-19 11:51:36 -07:00
48dab5323d
A few small cleanups.
2014-04-19 11:44:51 -07:00
05717e763d
Move tests to right directory.
2014-04-19 11:41:21 -07:00
f03895b17e
Symmetric coroutines!
2014-04-14 07:23:05 -07:00
7393e12555
Allow multiple arguments to IO.print().
2014-04-09 07:48:35 -07:00
b2941cbbb6
Docs for operators and some other stuff.
2014-04-08 21:18:17 -07:00
3a55acfe1a
Test string concatenation.
2014-04-08 21:17:49 -07:00
dca58ff747
Require parentheses around operator and setter arguments.
2014-04-08 17:54:37 -07:00
f6dd88937b
Support "new" on lists.
2014-04-08 07:31:23 -07:00
f41be80e5f
Use a growable buffer for globals.
...
Also allows more than 256.
2014-04-06 16:16:15 -07:00
9a8f2edda4
List.addAll().
2014-04-06 08:37:37 -07:00
2da8025cd4
Fiber.create -> new Fiber
2014-04-04 18:24:55 -07:00
f5a9f39568
Check argument type in new Fn.
2014-04-04 18:13:13 -07:00
4a8cf3a7bf
Move newline handling down into parser.
...
This lets us make it a grammar feature and not a lexer trick.
Newlines are explicitly ignored in some parts of the grammar. This
lets, for example, things like "|" ignore the newline when used as
an operator, but not when used as a parameter delimiter in a block
argument.
2014-04-04 07:51:18 -07:00
da4cadf16b
Unify body handling.
...
Blocks, functions, and methods now have the same code for handling
their bodies.
This means that single-line methods work like single-line functions:
they return the result of their expression.
2014-04-03 07:48:19 -07:00
d146018559
Convert all fns to block arg syntax.
2014-04-02 19:41:53 -07:00
a550d6cea4
Change how new operators are compiled.
...
Instead of an instruction that always instantiates an instance,
the "new" is compiled to a method call on the class, followed by a
method call on the (presumably) new instance.
The former lets built-in types like Fn do special stuff instead of
allocating an instance. In particular, it means:
new Fn { ... }
can just return the block argument.
2014-04-02 17:42:30 -07:00
cc56ac4da7
Convert fiber tests to use block arguments.
2014-04-02 17:31:58 -07:00
9a959c9eb9
Error if argument to new is not a class.
2014-03-06 06:51:16 -08:00
44e68a5db9
Fix #31 . Bitwise operators on numbers.
2014-02-24 07:27:43 -08:00
df4c1fa6b2
Changed phrasing, fixed and added a test.
2014-02-23 21:53:49 -06:00
d25504eb4e
Put custom bitwise operator tests into existing operators test file.
2014-02-16 19:42:49 -06:00
c43dbe96d3
Make custom bitwise operators work, add tests
2014-02-16 12:01:40 -06:00
f8a9d7f321
Make Sequence base class.
...
This lets us share functionality between List and Range (and
other user-defined sequence types).
2014-02-16 09:20:31 -08:00
e535d7a9e7
Conditional operator.
2014-02-15 11:36:01 -08:00
4728687ca5
Merge branch 'feature/list-where' of git://github.com/zeckalpha/wren into zeckalpha-feature/list-where
...
Conflicts:
builtin/core.wren
src/wren_core.c
2014-02-15 11:21:24 -08:00
3409d588e5
Added List.where method and tests.
2014-02-15 00:42:14 -06:00