Commit Graph
91 Commits
Author SHA1 Message Date
Deukhoofd 194e7236c4 Unit tests for ipairs and pairs, as well as changing how they handle null. ipairs now breaks at first nil value, pairs skips it 2018-11-24 14:39:53 +01:00
Deukhoofd 13ac6f2754 Rework for loops to use iterators, requiring pairs or ipairs function to handle multi-assignment 2018-11-24 14:35:23 +01:00
Deukhoofd c63df3c941 Work on standard libraries.
- Allows Standard Libraries to work with actual luatypes, to prevent constant back and forth casting
- adds ipairs function, doesn't do anything except maintain compatibility with lua
- several tests
2018-11-24 13:35:40 +01:00
Deukhoofd 806b3d5689 Fix breaking of most complex expressions 2018-11-24 13:04:21 +01:00
Deukhoofd 9be1cfa1fc Fixes issue where functions inside binary operators wouldnt work 2018-11-24 12:55:51 +01:00
Deukhoofd 62a18e22d4 Fixed Scoping issue 2018-11-24 12:42:54 +01:00
Deukhoofd 638394d25b Generic For Loops 2018-11-23 18:18:07 +01:00
Deukhoofd 2db4d0607e Implements break statement 2018-11-23 15:27:48 +01:00
Deukhoofd d2c14d213c Add Numeric For Loops 2018-11-23 14:38:45 +01:00
Deukhoofd 1928979b40 More unit tests 2018-11-23 13:34:46 +01:00
Deukhoofd 8d6d6e45af Handle lua -> C# function invocation exceptions more gracefully 2018-11-23 13:34:21 +01:00
Deukhoofd d6e18d9b0c Better handling of Static Scope 2018-11-23 13:28:11 +01:00
Deukhoofd 95f76bc5e3 Minor performance tweak to handle LuaType casting better if type is already a LuaType 2018-11-23 13:24:41 +01:00
Deukhoofd ea24695128 Fixes binder assigning values to static read only scope 2018-11-23 13:18:49 +01:00
Deukhoofd aae16e8b62 General fixes for Tests 2018-11-23 12:55:28 +01:00
Deukhoofd 1e9b0e0166 Some initial work on standard libraries 2018-11-21 20:59:27 +01:00
Deukhoofd 68830a1676 Don't bind/evaluate variable value if the name is just an underscore 2018-11-21 17:25:12 +01:00
Deukhoofd 4ab755d0d2 Support for assigning multiple variables from a table 2018-11-21 17:18:35 +01:00
Deukhoofd 105c40bc05 Special UserData types for ILists(includes arrays) and IDictionaries 2018-11-21 14:49:59 +01:00
Deukhoofd 1d24be85d6 Better error handling of getting userdata members 2018-11-21 14:11:52 +01:00
Deukhoofd 8dd2be8c67 Better error handling for setting userdata values 2018-11-21 14:04:43 +01:00
Deukhoofd 605b98284d Handle Unary operator overloading for UserData 2018-11-21 13:54:41 +01:00
Deukhoofd c627100e9c Handle Binary operator overloading for UserData 2018-11-21 13:47:16 +01:00
Deukhoofd 0702b9f271 Allows for overloaded functions in CSharp to be used, initial work on handling CSHarp operators 2018-11-21 13:08:41 +01:00
Deukhoofd fe4a8d25ad Message reporting if indexable value does not exist 2018-11-20 17:33:51 +01:00
Deukhoofd 2f8c295675 Allow identifiers to start with an underscore 2018-11-20 14:23:50 +01:00
Deukhoofd 8f6d2591f3 Make userdata fields/properties/methods case insensitive
While this can potentially cause collisions, this allows us to easily use Lua's style guide
2018-11-20 14:17:15 +01:00
Deukhoofd df8c7b99c9 Made indexable also work with full stop index 2018-11-20 14:05:34 +01:00
Deukhoofd 066af47b5b Work on calling CSharp functions from Lua 2018-11-20 12:55:41 +01:00
Deukhoofd d1b1675bba Added UserData support 2018-11-19 17:22:25 +01:00
Deukhoofd 7d551b6313 Adds assignment to tables 2018-11-19 16:22:13 +01:00
Deukhoofd f4ae57c550 Fix Binder not allowing setting variables due to parent scope 2018-11-19 14:45:20 +01:00
Deukhoofd c4962ac24c Removed accidental syntax 2018-11-19 14:30:00 +01:00
Deukhoofd 2787d947b5 Better error message if type is not indexable with type 2018-11-19 14:29:35 +01:00
Deukhoofd 86447d0a36 Made strings indexable 2018-11-19 13:53:44 +01:00
Deukhoofd b3b26964cc More fixes for scope 2018-11-19 12:49:48 +01:00
Deukhoofd 1f57eed3e7 Reworked scope again 2018-11-19 12:17:21 +01:00
Deukhoofd 860f2cc7e5 Lots of work on rewriting functions to allow more functionality 2018-11-18 22:22:30 +01:00
Deukhoofd dd9f5416a0 More work on nesting 2018-11-18 20:20:03 +01:00
Deukhoofd d8f7651de7 work on nested tables, will need some cleanup later 2018-11-18 16:08:20 +01:00
Deukhoofd 3d4e6380ea Functionality for indexing tables 2018-11-18 14:18:24 +01:00
Deukhoofd 5a52c235c5 Support more in tables, including local variables that are hidden from the outside 2018-11-17 19:56:52 +01:00
Deukhoofd 44a2048153 Better evaluating of tables, allows things like functions to be added to tables as well 2018-11-17 19:45:24 +01:00
Deukhoofd b897adccf8 Fix simple expressions not functioning 2018-11-17 19:18:54 +01:00
Deukhoofd 6a396d6368 Adds Tables 2018-11-17 19:13:05 +01:00
Deukhoofd 4414534866 Allow escaping quotes in string 2018-11-17 16:36:41 +01:00
Deukhoofd 46308557c8 Fix error when character after string end 2018-11-17 16:10:04 +01:00
Deukhoofd 2baf2b223e Adds support for strings 2018-11-17 15:57:26 +01:00
Deukhoofd ca49866c66 Minor tweaks 2018-11-17 15:18:51 +01:00
Deukhoofd 7beeb713c9 Show full lines in error messages in Ycicle 2018-11-17 14:49:26 +01:00
Deukhoofd 16d50b3311 Fix text spans being too long (using end pos as length) 2018-11-17 14:37:41 +01:00
Deukhoofd 0f45660a43 Show text line in error messages 2018-11-17 14:20:43 +01:00
Deukhoofd c013ed38c6 Fix continuing with previous script scope 2018-11-17 13:05:08 +01:00
Deukhoofd a631d3b377 Make LuaTypes internal, and only return the actual values 2018-11-17 12:40:28 +01:00
Deukhoofd f74992e47b Add parameterized callable functions from CSharp 2018-11-16 14:58:15 +01:00
Deukhoofd e5ea4d0fde Fix nested return not working 2018-11-16 14:47:03 +01:00
Deukhoofd 47e2dadb8d Way better handling of calling functions from CSHarp 2018-11-16 14:46:12 +01:00
Deukhoofd 62ad100aee More logical handling of return values 2018-11-16 14:11:27 +01:00
Deukhoofd 62f31ef0d3 Fix Ycicle arguments not persisting 2018-11-16 13:55:31 +01:00
Deukhoofd 7c6d847adb Handle function returns 2018-11-16 13:45:03 +01:00
Deukhoofd eff60375ea Bind functions even when they're not called, but with Unknown type parameters 2018-11-15 20:54:44 +01:00
Deukhoofd da6e95bfac Resolve function parameter types by checking calls to the function 2018-11-15 20:48:52 +01:00
Deukhoofd d5c8a959fb Add Function Calling 2018-11-15 20:13:53 +01:00
Deukhoofd 07660b6c46 Implement defining functions 2018-11-15 15:51:05 +01:00
Deukhoofd 58b5a7355e Fixes type changing when initially nil 2018-11-14 17:10:06 +01:00
Deukhoofd d6057ae954 Tweaks for tests, allow for grabbing global scope variables 2018-11-14 17:04:04 +01:00
Deukhoofd 7e1edbe3f1 Properly handle scopes 2018-11-14 16:39:52 +01:00
Deukhoofd 82e13a85e2 Change Binder variable type if value is assigned to null variable, or null is assigned to a variable type 2018-11-14 13:58:12 +01:00
Deukhoofd 3efa6a6359 Adds Nil 2018-11-14 13:45:49 +01:00
Deukhoofd d34e5c85c7 Renamed Boolean to differentiate from system boolean type 2018-11-14 13:10:24 +01:00
Deukhoofd deefe43d9f Reworked bound variables into specific LuaType class instead of anonymous objects 2018-11-14 13:09:01 +01:00
Deukhoofd dff1ddc0ba Cleanup and reorganization 2018-11-14 12:44:44 +01:00
Deukhoofd bb5d8140e4 Initial work on compilation to C# 2018-11-13 17:11:20 +01:00
Deukhoofd b9aac52476 Handle if else if (else) statements 2018-11-13 15:15:44 +01:00
Deukhoofd 56f3777053 Handle if else statements 2018-11-13 13:54:51 +01:00
Deukhoofd 1aee448999 Handle if statements 2018-11-13 12:48:50 +01:00
Deukhoofd e5ac28bacf Fix textspan of assignments 2018-11-12 17:55:06 +01:00
Deukhoofd 0d08ceda17 Removed refactored code 2018-11-12 17:54:43 +01:00
Deukhoofd 276b267045 Fix assignment type error throwing exception 2018-11-12 17:54:35 +01:00
Deukhoofd e9391193bb Allow for blocks of statements, instead of only single statements 2018-11-12 17:45:50 +01:00
Deukhoofd ec7a32240f Initial work on the concept of statements 2018-11-12 16:21:59 +01:00
Deukhoofd 3d811ff801 More work on variables 2018-11-11 21:03:50 +01:00
Deukhoofd 05d0de31a0 Bind Variables 2018-11-11 20:41:24 +01:00
Deukhoofd ac83dba77f Binds Variable Assignment 2018-11-11 20:31:55 +01:00
Deukhoofd ce92348199 Binds parenthesized expressions 2018-11-11 20:00:06 +01:00
Deukhoofd 82dff87d4d Bind unary operators 2018-11-11 19:56:53 +01:00
Deukhoofd 4e331712a8 Handle numbers fully as lua 2018-11-11 18:19:30 +01:00
Deukhoofd 3561979ded Lots of work on type binding 2018-11-11 18:12:42 +01:00
Deukhoofd 699377cdfc Work on Diagnostics 2018-11-11 10:26:52 +01:00
Deukhoofd ab61a01573 Handle variables 2018-11-10 17:00:39 +01:00
Deukhoofd 0693698f28 initial commit 2018-11-10 13:11:36 +01:00