Commit Graph

383 Commits

Author SHA1 Message Date
Sasha Koshka 0133e87831 I want to look at my juicy error formatting even when it passes 2024-02-06 22:33:18 -05:00
Sasha Koshka 62c96ed761 FINALLY errors and lexer agree on row/col positions properly 2024-02-06 22:11:46 -05:00
Sasha Koshka 4d2d52b425 Fixed error test cases 2024-02-06 21:59:41 -05:00
Sasha Koshka 8b7ac97e0d Lexer saves error lines 2024-02-06 21:54:20 -05:00
Sasha Koshka c38d15fa87 Lexer tests check for line content, print formatted errors 2024-02-06 19:08:21 -05:00
Sasha Koshka 48d8823a4d Parser errors make more sense 2024-02-06 18:58:09 -05:00
Sasha Koshka 1aa4a5d290 Added Token.String() 2024-02-06 18:56:04 -05:00
Sasha Koshka f179997837 Parser is incomplete but compiles 2024-02-06 18:29:37 -05:00
Sasha Koshka e95fe53338 Created a plan for expression parsing 2024-02-06 17:04:59 -05:00
Sasha Koshka e44537cebe Add a guide to writing parser methods so I don't forget 2024-02-06 16:56:10 -05:00
Sasha Koshka c0ca9108e7 Further normalize expectation responsibilities of parsing methods 2024-02-06 16:39:15 -05:00
Sasha Koshka befb178291 Typedef parsing complete, without detail 2024-02-06 16:32:14 -05:00
Sasha Koshka 0f2459d004 Add type parsing stub 2024-02-06 16:31:53 -05:00
Sasha Koshka 28a50325cb Appended -Core to parsing methods that only partially parse things 2024-02-06 16:30:53 -05:00
Sasha Koshka 683a15a215 Parsing functions *always* begin on current token, leave trailing one 2024-02-06 16:22:49 -05:00
Sasha Koshka fa5e32f374 Method and function parsing complete, without detail 2024-02-06 16:13:05 -05:00
Sasha Koshka 68be179675 Expression parsing stub 2024-02-06 16:12:51 -05:00
Sasha Koshka afebc02706 Parser.expectValue() and Parser.expectValueDesc() take in a kind parameter now 2024-02-06 15:57:27 -05:00
Sasha Koshka b1777bc77d Add parser.Tree.AddDeclaration() 2024-02-06 15:54:21 -05:00
Sasha Koshka 02370adcd5 Added commaList function 2024-02-06 12:20:13 -05:00
Sasha Koshka 7a4b67b538 Why did I name a prepend function appendr?? 2024-02-06 11:45:08 -05:00
Sasha Koshka d1aec952e7 askl;d;sldkf 2024-02-06 02:55:39 -05:00
Sasha Koshka 88b7cd456e Rename typeStartTokens to startTokensType 2024-02-06 02:41:45 -05:00
Sasha Koshka 69dfbecce1 Move top-level expect from Parser.parseTopLevel into Parser.parse() 2024-02-06 02:40:19 -05:00
Sasha Koshka 879951ed7f Parser.parseSignature stub 2024-02-06 02:36:51 -05:00
Sasha Koshka 89ef8ee800 Parser top-level entity base 2024-02-06 02:32:29 -05:00
Sasha Koshka 7e1695e056 Parser now remembers last token 2024-02-06 02:28:23 -05:00
Sasha Koshka fc9b3bbfa5 Un-participle-ify entity.Access 2024-02-06 02:27:09 -05:00
Sasha Koshka db66ff62fb Add Dot and DoubleDot as separate tokens 2024-02-06 02:23:15 -05:00
Sasha Koshka 0c44b87797 Add ValueIs method to lexer.Token 2024-02-06 02:19:09 -05:00
Sasha Koshka 9e20ba5210 Add TokenKind.String 2024-02-06 01:52:29 -05:00
Sasha Koshka 799e7323bc Added expect functions to parser 2024-02-06 01:45:30 -05:00
Sasha Koshka 0ae38485ee Add Token.Is() to check if token is any of a set of kinds 2024-02-06 01:31:52 -05:00
Sasha Koshka 360785c224 Go mod tidy 2024-02-06 01:14:38 -05:00
Sasha Koshka 463811ac83 Define basic parser structure 2024-02-06 01:12:07 -05:00
Sasha Koshka 126bec1fc9 Cleared particple code from parser 2024-02-06 00:52:31 -05:00
Sasha Koshka c323715505 Parser test-common uses testcommon package 2024-02-06 00:49:28 -05:00
Sasha Koshka f7636ab410 Remove entity participle struct tags 2024-02-05 15:17:59 -05:00
Sasha Koshka decc5939a1 Remove entity dependency on participle 2024-02-05 15:16:11 -05:00
Sasha Koshka eab8163cf1 Merge pull request 'lexer-remove-participle' (#3) from lexer-remove-participle into remove-participle
Reviewed-on: sashakoshka/fspl#3
2024-02-05 20:06:38 +00:00
Sasha Koshka fc88e27abf Lexer has no dependency on participle now 2024-02-05 15:04:54 -05:00
Sasha Koshka 0eea2b61a3 Added new Errorf function, added row/column offset 2024-02-05 15:03:13 -05:00
Sasha Koshka 197fa01a1e Error package now formats tabs correctly 2024-02-05 11:44:34 -05:00
Sasha Koshka 40bef8d02c TODO message in errors package 2024-02-01 03:21:23 -05:00
Sasha Koshka 4713e15f28 Wrote tests for and fixed errors package 2024-02-01 03:20:17 -05:00
Sasha Koshka c24957f2e5 Added erros package 2024-02-01 02:51:04 -05:00
Sasha Koshka 66771b3145 Put functionality from generator/test-common.go in its own package 2024-02-01 01:59:17 -05:00
Sasha Koshka f659866ae1 Fix crash when using int literals as floats 2024-01-29 13:29:53 -05:00
Sasha Koshka 4aab296de3 Update tests 2024-01-29 03:30:54 -05:00
Sasha Koshka b4cb7454b0 Slice length fields are properly stored as Index values 2024-01-29 03:11:43 -05:00