1
0
forked from Mirror/wren
Commit Graph

520 Commits

Author SHA1 Message Date
6e369fc639 Finish making Wren compile as C++98.
- Get Value, the hard part, compiling as C++.
- Add some rudimentary C++ support to the makefile, mainly for testing.
2015-01-15 21:12:51 -08:00
3a2432eef7 Get value compiling as C++. 2015-01-15 16:21:14 -08:00
89a6ed9687 Get vm compiling as C++. 2015-01-15 16:02:38 -08:00
08263e3676 Get debug and utils compiling as C++. 2015-01-15 16:00:51 -08:00
e3ccb68c79 Get main.c and compiler compiling as C++. 2015-01-15 15:59:14 -08:00
4249f92571 Rename tests. 2015-01-15 06:54:16 -08:00
78e99c6c99 Merge branch 'list-forall' of git://github.com/gsmaverick/wren into gsmaverick-list-forall 2015-01-15 06:52:43 -08:00
b829ce67af Rename forall to all. 2015-01-14 23:19:31 -08:00
7ce4f20533 Merge branch 'nonlocal-names' 2015-01-14 23:08:34 -08:00
c50e46725f Implicitly define nonlocal names.
If a capitalized name cannot be resolved, a new top-level
variable with its name is implicitly declared. If a real
definition is not found later, a compile time error is raised.

Mutual recursion at the top level works now!

Fix #101. Fix #106.
2015-01-14 23:08:25 -08:00
74a7ac6b95 Update DeltaBlue to use nonlocal name. 2015-01-14 23:03:17 -08:00
f2b334d7d2 Add more forall test cases. 2015-01-14 22:51:34 -08:00
15561be89b Don't check against other keywords once we find a match. Fix #110. 2015-01-14 06:46:02 -08:00
7716ad6263 Adds forall method on Sequences. 2015-01-13 23:47:01 -08:00
a8e2ba233c Add support for "nonlocal" (capitalized) names, and change how variable lookup works.
Inside a method, all local variable lookup stops at the method boundary. In other
words, methods, do not close over outer local variables.

If a name is not found inside a method and is lowercase, it's a method on this.
If it's capitalized, it's a global variable.
2015-01-13 21:36:42 -08:00
9cb414d63b Merge branch 'master' of https://github.com/munificent/wren 2015-01-13 06:42:35 -08:00
b4495736ed Don't have a semicolon at the end of the template 2015-01-12 20:16:06 -06:00
39e5aea77c Merge pull request #104 from zeckalpha/typos
Typos
2015-01-12 16:58:05 -08:00
0c6d192ace bretheren > brethren 2015-01-12 17:39:41 -06:00
1c9520020e unvalid > invalid 2015-01-12 17:27:35 -06:00
ca93578696 Missing semicolons.
I'm unsure about the one inside the macro, but the other ones were making my syntax highlighting break.
2015-01-12 17:24:05 -06:00
12b8168b94 Merge pull request #103 from pwoolcoc/add-debugging-symbols
Allow better debugging
2015-01-12 07:32:21 -08:00
d74e11b80e Allow better debugging
This will ensure that we have better output when running `wren` under
{g,ll}db.
2015-01-12 10:01:34 -05:00
1d9445d9bc Tests for IO.read(). 2015-01-11 21:47:29 -08:00
7a7c7a8fad Merge branch 'add-read-string' of git://github.com/pwoolcoc/wren into pwoolcoc-add-read-string
Conflicts:
	builtin/io.wren
	src/wren_io.c
2015-01-11 20:05:52 -08:00
73b041a78a Merge branch 'master' of git://github.com/Alek900/wren into Alek900-master
Conflicts:
	src/wren_compiler.c
2015-01-11 20:01:30 -08:00
21e740d5c3 Test that carriage returns are treated like whitespace. 2015-01-11 19:58:30 -08:00
ad6d350140 Merge branch 'master' of https://github.com/munificent/wren 2015-01-11 19:53:17 -08:00
3feb72041e Tweak style a bit. 2015-01-11 19:52:59 -08:00
ab1c5aca0c Merge branch 'Fix-CRLF-bug' of git://github.com/elder-george/wren into elder-george-Fix-CRLF-bug 2015-01-11 19:52:08 -08:00
e07156d9e2 Merge pull request #74 from tamc/document-inheritance-from-builtins
Added documentation about issue #70 - can't inherit from built-ins
2015-01-11 19:50:39 -08:00
650a70b9a3 Merge pull request #96 from zeckalpha/feature/set-example_updated_syntax
Set example updated syntax
2015-01-11 19:50:07 -08:00
6bd245b4b2 Tweak comment. 2015-01-11 19:44:35 -08:00
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
c0b0920d67 Update set example to new Syntax. Replaces #30 2015-01-09 16:02:40 -06:00
fa85bb1eef Remove spaces from after method definitions 2015-01-09 15:15:34 -06:00
c2e6181b01 Newline at end of file 2015-01-09 15:15:34 -06:00
2253d9269f Fix for iterate handling null 2015-01-09 15:15:34 -06:00
a67cde69bb Update set example to use bitwise operators 2015-01-09 15:15:34 -06:00
18af6514f0 Add Set example 2015-01-09 15:15:34 -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
aa48223361 Merge pull request #92 from zeckalpha/https_for_fonts
Fonts weren't working in Firefox due to Mixed Content errors.
2015-01-09 09:34:35 -08:00
d9527dc4dc Use protocol-relative URL 2015-01-09 09:25: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
efabf20fee Make a few changes to methodNotFound():
- Move closer to other runtime error code.
- Make it static since it's private to wren_vm.h.
- Allocate a managed ObjString* for the message so the GC can handle it.
  That's how it ends up anyway, so this cuts out the middle man.
- Use a width specifier in sprintf() to print the canonical method name.
2015-01-08 22:29:37 -08:00