3b1ab09a7e
fix: access .buffer field on global and method name string arrays in debug print
Marco Lizza2015-01-29 16:08:05 +00:00
c3a5260cfe
feat: store string length alongside buffer in SymbolTable entries
Marco Lizza2015-01-29 15:54:21 +00:00
6609bf2412
feat: add clang/OS X shared library support with dylib extension in Makefile
Bob Nystrom2015-01-29 03:50:53 +00:00
6050ed75e1
refactor: replace bitfield ObjFlags with bool marked field in Obj struct
Bob Nystrom2015-01-29 03:19:19 +00:00
7d333d2b82
fix: guard against null entry array in wrenMapFind for empty maps
Bob Nystrom2015-01-29 03:19:04 +00:00
7febf6cd57
refactor: convert Module struct to heap-allocated ObjModule with GC support
Bob Nystrom2015-01-27 15:11:45 +00:00
494b1a360b
refactor: replace bitfield flags with explicit bool marked field in Obj struct
Bob Nystrom2015-01-27 15:06:18 +00:00
65366b49d1
feat: add shared library build targets for libwren.so and libwrend.so
Peter Reijnders2015-01-27 14:05:53 +00:00
ef9d17f641
refactor: replace bitwise ObjFlags with boolean marked field for GC tracking
Marco Lizza2015-01-27 13:13:26 +00:00
1acddac5e8
refactor: replace bitfield members with full-width ObjType and ObjFlags in Obj struct
Marco Lizza2015-01-27 13:09:32 +00:00
a9f0b89df2
refactor: replace string-specific equality operators with generic wrenValuesEqual and add range equality tests
Bob Nystrom2015-01-27 05:55:41 +00:00
ad6d777fe0
fix: fix ambiguous sequence point in dup macro by extracting peek to local variable
Bob Nystrom2015-01-27 05:23:54 +00:00
a794ce4ee1
refactor: move global variable storage from VM into Module struct
Bob Nystrom2015-01-26 15:45:21 +00:00
55851d35ba
feat: replace string-specific eqeq/bangeq with generic wrenValuesEqual for range equality support
Bob Nystrom2015-01-26 15:01:15 +00:00
4042cd6500
refactor: remove redundant string and range equality natives, delegate to wrenValuesEqual
Gavin Schulz2015-01-26 07:26:59 +00:00
bee26d2ab2
refactor: remove dedicated CODE_LIST bytecode in favor of new List instantiation with .add() calls
Bob Nystrom2015-01-26 06:49:30 +00:00
a0fc04a2a9
docs: expand map documentation with hash code explanation and key constraints
Bob Nystrom2015-01-26 05:39:22 +00:00
b0b3256335
feat: add == and != operators to Range class with equality tests
Gavin Schulz2015-01-26 03:50:54 +00:00
f1d2f2f9c1
fix: add explicit readNumber call for numeric literal tokens in nextToken
Bob Nystrom2015-01-26 01:51:50 +00:00
7fd1751499
feat: add hex literal parsing with readHexDigit and readHexNumber in wren_compiler.c
Bob Nystrom2015-01-26 01:49:05 +00:00
f647680184
feat: add remove() method to Map class with native implementation and tests
Bob Nystrom2015-01-26 01:42:36 +00:00
992a2aeb96
feat: add hexadecimal number literal parsing to wren compiler
Gavin Schulz2015-01-25 21:02:44 +00:00
a83205ef89
feat: add containsKey method to Map and validate key types in subscript operations
Bob Nystrom2015-01-25 20:39:19 +00:00
1d195f13ea
docs: add core library overview, map class docs, and link value types to core classes
Bob Nystrom2015-01-25 19:08:13 +00:00
f093d0a42a
feat: implement Map.keys, Map.values iterators and proper toString with key-value formatting
Bob Nystrom2015-01-25 18:27:38 +00:00
56123c71e3
feat: implement map clear method to remove all entries
Bob Nystrom2015-01-25 16:39:44 +00:00
2ec0a8aef9
feat: implement map literal syntax with curly braces and DUP bytecode
Bob Nystrom2015-01-25 07:21:50 +00:00
5c33ecc04f
feat: add initial Map class with hash table, subscript, and count support
Bob Nystrom2015-01-25 06:27:35 +00:00
b2c6dfce8d
feat: add hexadecimal literal support to lexer and compiler
Gavin Schulz2015-01-25 06:07:23 +00:00
3f0aceeffa
chore: rename test files for user and auth modules to clarify scope
Bob Nystrom2015-01-24 22:42:25 +00:00
239c65201b
feat: add join method to Sequence and refactor List toString to use it
Bob Nystrom2015-01-24 22:39:45 +00:00
9e20b3935a
feat: abstract List's toString into generic join method on Sequence
Gavin Schulz2015-01-24 04:45:23 +00:00
368d9a3052
feat: add arity getter to Fn class and rename numParams to arity
Bob Nystrom2015-01-24 04:33:05 +00:00
c65b03ac32
docs: update getting-started to reference project directories for XCode and MSVC2013
Bob Nystrom2015-01-23 18:41:11 +00:00
2fdb5cddd0
feat: add FLEXIBLE_ARRAY macro and update struct hack usage for C89/C99 portability
Bob Nystrom2015-01-23 18:38:12 +00:00
2a123400b6
feat: add MSVC 2013 project files and fix C89 compatibility for Windows build
Bob Nystrom2015-01-23 18:12:12 +00:00
ddc6cd79f8
feat: remove Math library source, header, tests, and build references from MSVC projects
Marco Lizza2015-01-23 09:08:34 +00:00
915f403bc7
chore: restore standard header include order and move CRT secure warning to MSVC project
Marco Lizza2015-01-23 09:05:10 +00:00
488fb27b91
feat: make String iterable over code points with iterate/iteratorValue primitives
Bob Nystrom2015-01-23 04:58:22 +00:00
7e52e36a1c
docs: clarify UTF-8 byte indexing in string subscript and add wrenStringCodePointAt helper
Bob Nystrom2015-01-23 00:38:03 +00:00
735268f620
test: add non-ASCII UTF-8 test cases for contains, endsWith, equality, indexOf, and startsWith string methods
Bob Nystrom2015-01-22 23:28:54 +00:00
23c67c2e8b
feat: remove UTF-8 encoding logic from addStringChar and accept raw bytes in string literals
Bob Nystrom2015-01-22 23:18:30 +00:00
88d7c318ef
feat: add Math library source and integrate into MSVC project and VM initialization
Marco Lizza2015-01-22 16:46:09 +00:00
a34eb52d6c
feat: add Math library with abs, ceil, floor, int, frac, trig, and xorshift RNG
Marco Lizza2015-01-22 15:42:40 +00:00
9a50b5f318
feat: add Math library with abs, ceil, floor, trig, and xorshift RNG
Marco Lizza2015-01-22 15:41:19 +00:00
8d281434e4
docs: add type-checking guards to foreign argument getters and remove wrenReturnNull
Bob Nystrom2015-01-22 15:05:55 +00:00
6bd9da3a77
chore: reorder source file references in Xcode project.pbxproj children list
Bob Nystrom2015-01-22 15:05:32 +00:00
c2f1a962d6
fix: replace WREN_PIN/WREN_UNPIN macros with wrenPushRoot/wrenPopRoot and fix modulo operator precedence
Marco Lizza2015-01-22 09:13:16 +00:00
eed32946be
fix: correct operator precedence of % from PREC_TERM to PREC_FACTOR
Bob Nystrom2015-01-21 21:50:09 +00:00
ffcdd8ae9e
fix: correct operator precedence for % token from PREC_TERM to PREC_FACTOR
Evan Shaw2015-01-21 20:49:43 +00:00
fccdf60ce8
refactor: rename "pinned" terminology to "tempRoots" across VM and common header
Bob Nystrom2015-01-21 16:02:18 +00:00
6223bb2342
fix: replace broken WREN_PIN macro with proper wrenPushRoot/wrenPopRoot GC root stack
Bob Nystrom2015-01-21 15:56:06 +00:00
14a2c8b19c
chore: add Marco Lizza to AUTHORS file for project contributions
Marco Lizza2015-01-21 10:06:22 +00:00
3cdc3dde84
fix: work around MSVC 2013 optimizer bug causing memory access violation in wrenPinObj and wrenUnpinObj
Marco Lizza2015-01-21 10:01:09 +00:00
cb62bcda8e
feat: add Visual Studio 2013 solution and project files for building wren on Windows
Marco Lizza2015-01-21 10:00:35 +00:00
ff9625a80d
chore: reorder include directives to place wren_common.h first across all source files
Marco Lizza2015-01-21 09:30:37 +00:00
80620957b3
fix: disable computed goto for MSVC due to lack of compiler support
Marco Lizza2015-01-21 09:27:27 +00:00
a70a23e03d
fix: avoid returning void function result in for/while/class/var statements
Marco Lizza2015-01-21 09:23:46 +00:00
19862a2959
fix: change readHexDigit return type from char to int to prevent sign extension bugs
Marco Lizza2015-01-21 09:22:56 +00:00
25b6a37b2c
fix: add _inline fallback for MSVC plain-C compilation in wren_common.h
Marco Lizza2015-01-21 09:22:18 +00:00
9b350e3e7d
fix: replace zero-length flexible array members with zero-sized arrays to suppress non-standard warnings
Marco Lizza2015-01-21 09:21:04 +00:00
a4baa42d6f
feat: add user-defined subscript operators with bracket parameter lists
Bob Nystrom2015-01-21 02:25:54 +00:00
895f52c77b
feat: add link to AUTHORS file in footer to credit contributors
Bob Nystrom2015-01-21 01:47:17 +00:00
f378af9c75
docs: add mailing list links and proposal reference to contributing and getting-started pages
Bob Nystrom2015-01-21 01:46:52 +00:00
d11f24eb50
chore: move XCode project file from root to project/xcode/ directory
Bob Nystrom2015-01-21 01:14:30 +00:00
1408294553
fix: add explicit uintptr_t cast in AS_OBJ macro for 32-bit MinGW compatibility
Bob Nystrom2015-01-21 01:06:39 +00:00
f0f03ec763
refactor: replace CalculatedRange struct with output parameters in calculateRange
Bob Nystrom2015-01-20 23:33:21 +00:00
f5017a3963
feat: add string range subscript support with CalculatedRange helper
Bob Nystrom2015-01-20 23:01:14 +00:00
9f8cc364b8
perf: tighten field and jump offset types from int to uint8_t/uint16_t in interpreter
Bob Nystrom2015-01-20 22:41:09 +00:00
f99f61376d
refactor: remove unused return values from consume() and consumeLine() in wren_compiler.c
Bob Nystrom2015-01-20 22:40:34 +00:00
b173b4e385
feat: add wrenGetArgumentBool and wrenReturnBool, reorder foreign API declarations in header and implementation
Bob Nystrom2015-01-20 22:00:03 +00:00
49bec173a6
feat: add wrenGetArgumentBool function to read boolean foreign call arguments
Bob Nystrom2015-01-20 21:58:36 +00:00
40e0ec5fa1
fix: suppress -fPIC on mingw32 and cygwin to avoid -Werror warnings
Bob Nystrom2015-01-20 21:42:46 +00:00
0eecf9eeff
docs: add doc comment for wrenGetArgumentBool describing usage constraints and parameter range
Harry Lawrence2015-01-19 14:52:30 +00:00
672fdb51f1
feat: add wrenGetArgumentBool function to retrieve boolean foreign call arguments
Harry Lawrence2015-01-19 14:40:37 +00:00
a74797f333
docs: split monolithic core-library.markdown into per-class docs under doc/site/core/
Bob Nystrom2015-01-18 23:36:36 +00:00
25dfc4f5fa
feat: add wrenReturnBool API for boolean return from foreign calls
Bob Nystrom2015-01-18 18:20:29 +00:00
850d6d1b5d
fix: raise precedence of is above equality operators in parser
Bob Nystrom2015-01-18 18:20:13 +00:00
44a160e1f8
fix: add prep target to .PHONY list in Makefile
Bob Nystrom2015-01-18 18:03:13 +00:00
55b9c5537e
fix: add prep target to .PHONY declaration in Makefile
Kyle Marek-Spartz2015-01-18 02:20:05 +00:00
20dbaa22e7
feat: add wrenReturnBool function for returning boolean values from foreign calls
Bob Nystrom2015-01-17 16:45:45 +00:00
d74008b8eb
docs: add documentation comment for wrenReturnBool function in wren.h header
Harry Lawrence2015-01-17 12:02:23 +00:00
7fed1ef294
feat: add wrenReturnBool function to return boolean values from foreign calls
Harry Lawrence2015-01-17 11:48:27 +00:00
48c3f540df
fix: replace getline with fgets and remove _GNU_SOURCE for cross-platform compatibility
Bob Nystrom2015-01-17 07:32:20 +00:00
2799fa6b58
feat: add range subscripting support for strings with CalculatedRange helper
Gavin Schulz2015-01-17 07:20:56 +00:00
222cddc751
fix: convert benchmark chart bars from scores to execution times
Bob Nystrom2015-01-17 01:51:10 +00:00
0c0f900cad
fix: update benchmark numbers and bar widths in performance documentation
Bob Nystrom2015-01-16 15:52:51 +00:00
151978710d
perf: inline callFunction and optimize method dispatch in interpreter loop
Bob Nystrom2015-01-16 15:45:42 +00:00
f76cde35a5
fix: replace designated initializer with field assignments in main.c
Bob Nystrom2015-01-16 15:10:33 +00:00
9a23d87900
docs: move all and reduce methods from List to new Sequence base class
Bob Nystrom2015-01-16 15:04:01 +00:00
a1fa51459d
docs: correct reduce documentation to state it works on non-empty lists instead of requiring two or more elements
Luchs2015-01-16 08:53:20 +00:00