Commit Graph

38 Commits

Author SHA1 Message Date
04f5804dff Fix trailing comma handling in ParseFieldlist
This is pretty ugly since it checks for every token type that could follow to make it a valid field but the previous check was flat out wrong
2024-02-21 16:01:58 +01:00
83b0416c03 Make hex numeral 'x' case-insensitive 2024-02-21 16:00:41 +01:00
6512439ce3 Fix empty strings not having string data 2024-02-21 15:59:31 +01:00
43fea86d92 Fix missing increment after parsing dotted funcname 2024-02-21 15:11:45 +01:00
2b75b7d79f Add missing increment if parlist starts with varargs 2024-02-21 15:11:17 +01:00
ae4a3e9993 Fix suffixexp.argsfirstarg expecting ')' instead of name after ':' 2024-02-21 15:10:37 +01:00
3a6e024c9b Correctly remove last suffix when turning exp into {member, indexed} var 2024-02-21 15:09:55 +01:00
c7ac2cf091 Fix labels expecting a name instead of '::' to close 2024-02-21 15:08:50 +01:00
6193441621 Fix if expecting a 'then' as else starter 2024-02-21 15:08:16 +01:00
fcaf1c1570 Fix parser crashing in repeat-until block 2024-02-21 15:07:37 +01:00
eaba371455 Fix '&' being parsed as '=' 2024-02-21 15:07:06 +01:00
424f381755 Make INumeral json serializable 2024-02-21 15:06:51 +01:00
25b3dd63c5 Improve Run output 2024-02-21 15:05:32 +01:00
d1b855144e Make parser nodes json serializable 2024-02-21 15:05:06 +01:00
41ab249353 Rename tokenizerTests 2024-02-21 15:03:42 +01:00
d23a5cd70b Test parsing 2024-02-21 13:49:23 +01:00
27f2917670 Implement missing parser methods 2024-02-21 13:49:04 +01:00
b7f725afee Fix crash if a block has no stats 2024-02-21 13:48:43 +01:00
dd813aa624 Explicitly pass values in RetstatNode constructor 2024-02-21 13:48:02 +01:00
1679fe8e6e Fix Numeral and LiteralString ExpNodes requiring two regions 2024-02-21 13:47:38 +01:00
ed50d40c1c Fix SuffixexpNodes subclasses inheriting from the wrong base 2024-02-21 13:47:02 +01:00
bb954e99d5 Don't use implicit usings 2024-02-21 13:45:54 +01:00
02aab2e590 Start working on the parser 2024-02-01 02:20:22 +01:00
049a96191c Make testing recursive 2024-01-29 18:24:24 +01:00
39521fbb19 Add float lexing 2024-01-29 18:24:08 +01:00
ec312b3132 Add shebang parsing (read: ignore shebang) 2024-01-29 18:23:20 +01:00
1646a79055 better command line handling + big formatting stuff 2024-01-29 14:39:22 +01:00
34cb88582d Port tokenizer to C#
Another language change, another unrefactored (but already better tested) tokenizer
2024-01-16 02:59:51 +01:00
7889f4c27a Fix last token not getting tokenized 2024-01-15 21:28:40 +01:00
23269baa0b Make numbers in basic test distinct 2023-11-28 04:06:51 +01:00
d0357f0a3a Fix numbers being tokenized as names 2023-11-28 04:04:57 +01:00
a824823786 Add more directories to .gitignore 2023-11-24 03:36:47 +01:00
c8cbf4659a Add test for table.get 2023-11-24 03:35:55 +01:00
5dc1b9d50b Make tables work and add rawEquals methods
Since hashtables are a hassle with strings and complex datastructures
like the table they are an arraylist for now.

Also implement rawEquals for numerals and values to make table.get work
2023-11-24 03:22:15 +01:00
cfc288e279 More treewalker stuff 2023-11-17 01:37:29 +01:00
cdfa8d3f90 Implement ast dumping and start treewalker 2023-10-08 21:40:44 +02:00
b00a99ab6a Implement parsing and token locations 2023-09-21 18:30:50 +02:00
721383a043 Add tokenizer 2023-09-15 11:07:50 +02:00