e71e85f42c
feat: add C++98 compilation support and refactor Value type to uint64_t for nan tagging
Bob Nystrom2015-01-16 05:17:08 +00:00
00dca683b7
docs: update README and site index to mention Wren compiles cleanly as C++98 or later
Bob Nystrom2015-01-16 05:15:21 +00:00
26fd4d2192
feat: refactor Value union to uint64_t and add C++98 compatibility for Wren VM
Bob Nystrom2015-01-16 05:12:51 +00:00
cf3bc7f07a
fix: correct method name from forall to all in core library docs and add Gavin Schulz to AUTHORS
Bob Nystrom2015-01-16 04:38:00 +00:00
1cb0e73bf0
docs: add Gavin Schulz to AUTHORS file with email contact
Gavin Schulz2015-01-16 03:06:24 +00:00
221f89fec0
fix: replace overlooked 'forall' references with 'all' in core-library docs
Gavin Schulz2015-01-16 03:05:54 +00:00
7f92bc7a49
fix: replace switch-based interpreter loop with goto dispatch for computed gotos disabled path
Bob Nystrom2015-01-16 00:22:55 +00:00
e8121af372
refactor: replace static allocate function with ALLOCATE, ALLOCATE_FLEX, and ALLOCATE_ARRAY macros in wren_value.c
Bob Nystrom2015-01-16 00:21:14 +00:00
45414b192c
fix: add explicit casts for C++ compatibility in wren_vm.c and wren_vm.h
Bob Nystrom2015-01-16 00:02:38 +00:00
2cbce0b2e8
fix: add explicit C-style casts for implicit conversions in wren_debug and wren_utils
Bob Nystrom2015-01-16 00:00:51 +00:00
ba81988800
fix: cast malloc result and adjust compiler emit functions for C++ compatibility
Bob Nystrom2015-01-15 23:59:14 +00:00
befee63a89
chore: rename test files to follow snake_case naming convention
Bob Nystrom2015-01-15 14:54:16 +00:00
4acdc503e4
feat: add Sequence.all method and forall documentation with tests
Bob Nystrom2015-01-15 14:52:43 +00:00
adee8ac482
refactor: rename Sequence method forall to all across core lib, C source, and test files
Gavin Schulz2015-01-15 07:19:31 +00:00
ee239f2bb6
feat: add undefined sentinel value and implicit global declaration for forward references
Bob Nystrom2015-01-15 07:08:34 +00:00
72291f8b74
feat: implicitly declare nonlocal names as globals for forward references
Bob Nystrom2015-01-15 07:08:25 +00:00
533644c1f6
refactor: rename global planner variable to ThePlanner in DeltaBlue benchmark
Bob Nystrom2015-01-15 07:02:12 +00:00
cb1703409c
test: add forall test for empty list and non-bool/non-function args
Gavin Schulz2015-01-15 06:42:15 +00:00
82ef82cdb9
fix: prevent redundant keyword checks after first match in readName
Bob Nystrom2015-01-14 14:46:02 +00:00
580ca8cf27
feat: add forall method to Sequence class for testing all elements pass predicate
Gavin Schulz2015-01-14 07:47:01 +00:00
54ef9bbc73
feat: stop closure upvalue search at method boundaries and treat capitalized names as globals
Bob Nystrom2015-01-14 05:36:42 +00:00
d031d0a77d
fix: correct spelling of "brethren" and "invalid" in documentation files
Bob Nystrom2015-01-13 14:42:35 +00:00
61abae46ec
fix: correct spelling errors in documentation files
Bob Nystrom2015-01-13 00:58:05 +00:00
57ad565b64
fix: correct spelling of "brethren" in two documentation files
Kyle Marek-Spartz2015-01-12 23:39:41 +00:00
8e54d6b21f
fix: correct typo "unvalid" to "invalid" in error-handling documentation
Kyle Marek-Spartz2015-01-12 23:27:35 +00:00
c0d04de818
fix: add missing semicolons to DEFINE_BUFFER invocations and macro definition
Kyle Marek-Spartz2015-01-12 23:23:37 +00:00
289dd99c26
feat: add -g flag to DEBUG_CFLAGS in Makefile for debugging symbols
Bob Nystrom2015-01-12 15:32:21 +00:00
2fd0d2faf5
fix: add -g flag to DEBUG_CFLAGS for debug symbol generation in Makefile
Paul Woolcock2015-01-12 15:01:34 +00:00
d6b70a0af3
feat: add type validation for IO.read prompt and stdin support in test runner
Bob Nystrom2015-01-12 05:47:29 +00:00
e12b36002e
feat: add IO.read method with prompt and stdin input buffer
Bob Nystrom2015-01-12 04:05:52 +00:00
a2c7499e0a
fix: add tab character to whitespace skipping in nextToken parser
Bob Nystrom2015-01-12 04:01:30 +00:00
363486df33
feat: add test verifying carriage returns are treated as whitespace in parser
Bob Nystrom2015-01-12 03:58:30 +00:00
b8ad075a4f
feat: add contains method to List and Set classes with example and documentation
Bob Nystrom2015-01-12 03:53:17 +00:00
cd6d6c1f91
style: reformat while-loop body in nextToken to use braces
Bob Nystrom2015-01-12 03:52:59 +00:00
34d3a8edb7
fix: open source files in binary mode and skip CR in whitespace
Bob Nystrom2015-01-12 03:52:08 +00:00
acf02f1ebc
docs: document restriction on inheriting from built-in types in classes guide
Bob Nystrom2015-01-12 03:50:39 +00:00
887afc03be
feat: add Set class example and List.contains method to core library
Bob Nystrom2015-01-12 03:50:07 +00:00
4e461f0b0c
chore: clarify comment for super outside method error handling path
Bob Nystrom2015-01-12 03:44:35 +00:00
497e05c575
fix: guard against segfault when super is called at top level with no args
Bob Nystrom2015-01-12 03:42:26 +00:00
6928ba9935
chore: rename test files to snake_case and update string class docs
Bob Nystrom2015-01-12 03:13:15 +00:00
1175d93efa
fix: allow compiler to continue after super used outside method body
Kyle Marek-Spartz2015-01-11 23:43:51 +00:00
de5e69aab0
docs: document String class methods and add startsWith, endsWith, indexOf natives
Gavin Schulz2015-01-10 22:45:14 +00:00
b949886707
feat: add contains method to List and update Set example to new operator syntax
Kyle Marek-Spartz2015-01-09 22:02:40 +00:00
dd0760a54c
fix: guard super() compilation against null enclosingClass to prevent segfault
Kyle Marek-Spartz2015-01-09 21:14:06 +00:00
82e33fb8ff
fix: remove duplicate "the" in documentation for class inheritance warning
Tom Counsell2015-01-07 16:41:30 +00:00
50f45639b9
fix: correct typo "clreate" to "create" in classes.markdown documentation
Tom Counsell2015-01-06 16:47:54 +00:00
b1bd96bb2d
docs: add note about inheriting from built-in types in classes documentation
Tom Counsell2015-01-06 08:37:57 +00:00
c769f93833
fix: treat carriage return as whitespace instead of line token in lexer
Yury Korchemkin2015-01-06 02:33:49 +00:00
a137ea8ccd
feat: add support for carriage return as line terminator in lexer
Yury Korchemkin2015-01-04 22:25:17 +00:00
ef9aca7d42
test: add whitespace tolerance tests for spaces and tabs within code expressions
Aleksander2015-01-03 14:10:04 +00:00
d67036b95d
fix: extend whitespace skipping in nextToken to handle tabs and add test coverage
Aleksander2015-01-03 13:57:34 +00:00
4236d1e2de
fix: treat tab character as valid whitespace in tokenizer
Aleksander2015-01-02 22:22:09 +00:00
bdede9cd32
feat: implement IO.read method with stdin input buffer and prompt support
Paul Woolcock2015-01-02 16:07:43 +00:00
e6fb918cc7
style: remove spaces between method names and opening parentheses in Set class
Kyle Marek-Spartz2014-02-17 20:17:54 +00:00
9eecafaaac
chore: add missing trailing newline at end of example/set.wren file
Kyle Marek-Spartz2014-02-17 20:15:55 +00:00
60704171a2
fix: handle null iterator in Set.iterate to return first index or null for empty set
Kyle Marek-Spartz2014-02-17 20:15:44 +00:00
5fef1a9865
feat: implement bitwise union and intersection operators in Set class
Kyle Marek-Spartz2014-02-16 18:02:45 +00:00
c289719b70
feat: add Set class with add, remove, contains, count, map, where, union, and set minus operations
Kyle Marek-Spartz2014-02-16 17:37:19 +00:00
7fd1e5eeaa
fix: switch Google Fonts URL to protocol-relative to fix Firefox Mixed Content errors
Bob Nystrom2015-01-09 17:34:35 +00:00
a132bca534
fix: switch Google Fonts link to protocol-relative URL in template.html
Kyle Marek-Spartz2015-01-09 15:25:06 +00:00
f010c8d79f
fix: correct buffer size in string subscript operator to prevent off-by-one allocation
Bob Nystrom2015-01-09 15:12:25 +00:00
0572df823b
fix: remove negative number literal parsing in lexer and update tests for unary minus precedence
Bob Nystrom2015-01-09 15:00:12 +00:00
0526cee655
fix: stop lexing negative numbers as single tokens to fix parsing of subtraction
Evan Shaw2015-01-09 07:06:50 +00:00
49e8b17056
refactor: move methodNotFound into runtimeError and allocate managed ObjString for GC safety
Bob Nystrom2015-01-09 06:29:37 +00:00
5377a94a58
feat: add argument count to method-not-found error messages
Bob Nystrom2015-01-09 05:49:20 +00:00
a0385b2b4c
refactor: replace canonicalSymbol and methodArgumentsString with unified methodNotFound helper in wren_vm.c
Gavin Schulz2015-01-09 05:30:47 +00:00
0d318e9545
feat: add stack vs register-based VM design rationale to FAQ
Bob Nystrom2015-01-09 05:06:10 +00:00
9a0ead8fec
fix: switch Google Fonts stylesheet URL from http to https to resolve Firefox Mixed Content errors
Kyle Marek-Spartz2015-01-09 01:57:15 +00:00
3f126945df
fix: guard against non-string toString in IO.print and IO.write
Bob Nystrom2015-01-08 15:53:37 +00:00
6c2d673638
fix: alert missing interpreter in benchmark runner instead of crashing on OSError
Bob Nystrom2015-01-08 15:44:29 +00:00
b882b33019
docs: fix typo "they behavior" to "their behavior" in expressions documentation
Bob Nystrom2015-01-08 15:43:00 +00:00
845b95e3b3
refactor: replace strlen calls with sprintf return value in num_toString and range_toString
Bob Nystrom2015-01-08 15:41:49 +00:00
041e6213d5
refactor: change ObjString length field from size_t to int for consistency and reduced memory usage
Bob Nystrom2015-01-08 15:41:30 +00:00
74a6b32d7f
docs: fix typo in expressions documentation changing "they behavior" to "their behavior"
Kyle Marek-Spartz2015-01-08 15:32:50 +00:00
56355baf42
refactor: use sprintf return value to avoid redundant strlen calls in num_toString and range_toString
Bob Nystrom2015-01-08 15:01:21 +00:00
a48edd5874
feat: store string length in ObjString to avoid O(n) strlen calls
Bob Nystrom2015-01-08 14:59:41 +00:00
38d93e9850
style: align continuation indentation and rephrase comment in ObjString length field
Evan Shaw2015-01-08 06:34:58 +00:00
1293a64451
refactor: use sprintf return value to eliminate redundant strlen calls in num_toString and range_toString
Evan Shaw2015-01-08 00:41:22 +00:00
7a80f801a8
feat: replace strlen calls with stored ObjString length for string operations
Evan Shaw2015-01-07 21:05:33 +00:00
34670fa586
feat: store explicit string length in ObjString struct for wren values
Evan Shaw2015-01-07 20:53:32 +00:00
3e8d740c12
chore: add Evan Shaw to AUTHORS file with email address
Evan Shaw2015-01-07 20:51:13 +00:00
3127ea9c68
fix: alert missing interpreter in run_trial instead of crashing on OSError
Kyle Marek-Spartz2015-01-06 22:49:09 +00:00
caad37b187
feat: add benchmark metrics tracking to script/metrics.py
Bob Nystrom2015-01-07 15:30:59 +00:00
1874938a57
fix: convert print statements to functions and add shebang for Python 3 compatibility in run_bench script
Bob Nystrom2015-01-07 15:25:46 +00:00
fc168cb6fc
chore: add travis build badge and fix trailing semicolons in benchmark
Bob Nystrom2015-01-07 15:23:03 +00:00
513a6fe4be
fix: remove trailing semicolons from assignment statements in delta_blue.wren benchmark
Bob Nystrom2015-01-07 15:22:05 +00:00
c1980e4c58
refactor: embed string data as flexible array member in ObjString
Bob Nystrom2015-01-07 15:20:12 +00:00
1180516d0c
style: adjust print formatting in benchmark output for consistency
Kyle Marek-Spartz2015-01-06 23:57:57 +00:00
f26801dc6e
feat: add benchmark file metrics tracking with line and TODO counters
Kyle Marek-Spartz2015-01-06 22:20:52 +00:00
9ec401bdc9
fix: convert print statements to functions and add future import for Python 3 compatibility
Kyle Marek-Spartz2015-01-06 22:20:21 +00:00
ac44be651c
style: remove trailing semicolons from assignment statements in delta_blue.wren benchmark
Evan Shaw2015-01-06 19:06:44 +00:00
44e85f652e
docs: add Travis CI build status badge to README.md
Bob Nystrom2015-01-06 15:21:22 +00:00
44d667665b
fix: handle NaN formatting in num_toString to ensure consistent output
Bob Nystrom2015-01-06 15:09:45 +00:00
0dcd7bbffc
refactor: embed string data as flexible array member in ObjString struct
Evan Shaw2015-01-05 02:03:50 +00:00
ba91af1f4d
chore: add Paul Woolcock to AUTHORS file to resolve merge conflict
Bob Nystrom2015-01-06 05:58:23 +00:00
95d3ae5cc6
chore: add Paul Woolcock to AUTHORS file with email address
Bob Nystrom2015-01-06 04:52:01 +00:00
864a70abdf
feat: make Python scripts compatible with both Python 2 and 3
Kyle Marek-Spartz2015-01-06 02:09:23 +00:00
be1ceaa6d0
chore: add Paul Woolcock to AUTHORS list with email address
Paul Woolcock2015-01-05 16:02:52 +00:00
a3e6d028c4
docs: fix logical or operator description to correctly state truthy behavior
Bob Nystrom2015-01-05 15:46:26 +00:00