Commit Graph

78 Commits

Author SHA1 Message Date
Deukhoofd da82819fff
More work on better parser logging.
continuous-integration/drone/push Build is passing Details
2021-01-06 13:32:06 +01:00
Deukhoofd 034dcb118b
Fixes issue in lexing numerical base consuming character after it, removes test for invalid numerical base.
continuous-integration/drone/push Build is passing Details
2021-01-06 11:48:24 +01:00
Deukhoofd cf8d6ce18b
When an integer starts with a 0, and is followed by a non numerical symbol just lex it as a 0 literal, followed by another token.
continuous-integration/drone/push Build is failing Details
2021-01-06 00:53:02 +01:00
Deukhoofd 807fe63828
More detailed error messages for lex errors.
continuous-integration/drone/push Build is passing Details
2021-01-06 00:25:08 +01:00
Deukhoofd 2327134e36
Fixes issue where string lex token position start would be off by one.
continuous-integration/drone/push Build is passing Details
2021-01-06 00:08:47 +01:00
Deukhoofd d907a58f64
Initial work on more detailed error messages.
continuous-integration/drone/push Build is passing Details
2021-01-06 00:06:39 +01:00
Deukhoofd 7d0c5cbbed
better namespace parse tree stringification.
continuous-integration/drone/push Build is passing Details
2021-01-05 19:26:11 +01:00
Deukhoofd b4c18e0f09
Many fixes for namespace parsing.
continuous-integration/drone/push Build is passing Details
2021-01-05 19:21:06 +01:00
Deukhoofd bfe27ec20f
Better handling of diagnostics in the REPL.
continuous-integration/drone/push Build is passing Details
2021-01-05 18:17:40 +01:00
Deukhoofd 340d37f4a1
Implements scrolling in the InputWindow of the REPL.
continuous-integration/drone/push Build is passing Details
2021-01-05 15:51:59 +01:00
Deukhoofd b73bfe6482
Make parser be able to skip tokens when encountering an unexpected token.
continuous-integration/drone/push Build is passing Details
2021-01-05 13:20:34 +01:00
Deukhoofd d9d52554e4
Always show parse tree in REPL, even if we have a diagnostic.
continuous-integration/drone/push Build is passing Details
2021-01-05 12:37:13 +01:00
Deukhoofd f328762cd8
Clean up REPL a bit by moving InputWindow to special class.
continuous-integration/drone/push Build is passing Details
2021-01-05 00:13:42 +01:00
Deukhoofd 5c086ee066
Adds more parse tree stringification.
continuous-integration/drone/push Build is passing Details
2021-01-04 22:54:04 +01:00
Deukhoofd dbef09f4bb
Adds backward to REPL for better error logging.
continuous-integration/drone/push Build is passing Details
2021-01-04 13:33:52 +01:00
Deukhoofd 9fcf296442
Fixes memory issue in MemoryPool. 2021-01-04 13:33:29 +01:00
Deukhoofd cf09f9348c
More work on stringification of the parse tree.
continuous-integration/drone/push Build is passing Details
2021-01-03 15:44:53 +01:00
Deukhoofd 08a0859539
Move parse tree stringification away from the main parsed statements, and into a helper function class.
continuous-integration/drone/push Build is passing Details
2021-01-03 15:10:43 +01:00
Deukhoofd 4c4faac899
Add commas between parameters in REPL.
continuous-integration/drone/push Build is failing Details
2021-01-03 14:50:14 +01:00
Deukhoofd 856c37a583
Fixes artifacts shown in REPL input window.
continuous-integration/drone/push Build is failing Details
2021-01-03 14:45:53 +01:00
Deukhoofd 56538a5552
Show neat little tree in REPL.
continuous-integration/drone/push Build is failing Details
2021-01-03 14:42:26 +01:00
Deukhoofd 0bacb981d1
Clearer errors if we find a class without a known ending.
continuous-integration/drone/push Build is failing Details
2021-01-02 19:12:31 +01:00
Deukhoofd df9c4933af
Adds some colours to the REPL, show errors live!
continuous-integration/drone/push Build is failing Details
2021-01-02 19:08:58 +01:00
Deukhoofd ee53e7abd8
Fixes issue in the lexer where most tokens had the wrong textspan. 2021-01-02 19:08:46 +01:00
Deukhoofd 9109b7513a
Implements very simple REPL, fixes several issues found with it.
continuous-integration/drone/push Build is failing Details
2021-01-02 17:41:53 +01:00
Deukhoofd de15173b0b
Implements parsing switch case statements.
continuous-integration/drone/push Build is passing Details
2021-01-02 12:38:50 +01:00
Deukhoofd 85e3a6db43
Actually call ParseTryStatement. 2021-01-02 11:54:16 +01:00
Deukhoofd 28ece69be6
Implements try catch statement.
continuous-integration/drone/push Build is passing Details
2021-01-02 11:53:16 +01:00
Deukhoofd 54ccac6d96
Disable parenthesis warning in GCC. This is handled already in the formatter, and goes against bugprone-macro-parentheses.
continuous-integration/drone/push Build is passing Details
2021-01-02 00:01:20 +01:00
Deukhoofd a9c4dfdece
Actually call ParseTypeDef.
continuous-integration/drone/push Build is failing Details
2021-01-01 23:44:58 +01:00
Deukhoofd 329848d9d5
Parse class attributes (shared, abstract, final, external), cleanup some parser code.
continuous-integration/drone/push Build is failing Details
2021-01-01 23:41:37 +01:00
Deukhoofd 5d57838bec
Cleanup of parser class.
continuous-integration/drone/push Build is passing Details
2021-01-01 23:31:30 +01:00
Deukhoofd 5ac627a9b3
Make parser class static, to reduce required state.
continuous-integration/drone/push Build is passing Details
2021-01-01 23:17:34 +01:00
Deukhoofd dd2722d485
Implements parsing dowhile statements
continuous-integration/drone/push Build is passing Details
2021-01-01 13:21:59 +01:00
Deukhoofd 037470a0ce
Slight performance improvements for parsing statements.
continuous-integration/drone/push Build is passing Details
2021-01-01 13:17:53 +01:00
Deukhoofd a9c3a9e0c4
Implements parsing while statement 2021-01-01 13:14:29 +01:00
Deukhoofd a3a996d68a
Implements parsing for loop, cleanup of memory handling in parser.
continuous-integration/drone/push Build is passing Details
2020-12-06 12:35:08 +01:00
Deukhoofd 0c8b9f3943
Adds parsing continue and break.
continuous-integration/drone/push Build is passing Details
2020-11-15 10:21:42 +01:00
Deukhoofd 09023d6337
Implements statblock for functions.
continuous-integration/drone/push Build is passing Details
2020-11-08 15:52:44 +01:00
Deukhoofd bfb47d9b5f
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-11-08 15:44:58 +01:00
Deukhoofd 5fb64e12e1
Large chunk of work in parser for getting expressions to work.
continuous-integration/drone/push Build is passing Details
2020-11-08 15:41:18 +01:00
Deukhoofd c20a1089a9
Initial work on expression parsing.
continuous-integration/drone/push Build is passing Details
2020-11-01 18:43:35 +01:00
Deukhoofd e30bfe1686
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-11-01 13:50:35 +01:00
Deukhoofd c4d7c9e2d8
Make Windows CI build actually use static C option.
continuous-integration/drone/push Build is passing Details
2020-11-01 13:47:01 +01:00
Deukhoofd e49b862da0
Adds support for linking std libraries statically.
continuous-integration/drone/push Build is failing Details
2020-11-01 13:44:28 +01:00
Deukhoofd 14db160890
Fixes fallthrough in lexer on initial bytes of Byte order mark (\xEF), but not the following ones. 2020-11-01 13:42:46 +01:00
Deukhoofd 329a54c8cf
Explicitly fallthrough from inheritance parsing to body parsing, instead of implicitly. 2020-11-01 13:40:44 +01:00
Deukhoofd 00253a51b5
If constinit is not implemented by the compiler yet, fall back to constexpr. 2020-11-01 13:37:09 +01:00
Deukhoofd bdf810b8f0
Fixes CI command.
continuous-integration/drone/push Build is failing Details
2020-11-01 13:30:44 +01:00
Deukhoofd f969dcf84b
Setup CI.
continuous-integration/drone/push Build is failing Details
2020-11-01 13:29:14 +01:00