Commit Graph

53 Commits

Author SHA1 Message Date
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
Deukhoofd 2dfe2f0408
More virt prop tests. 2020-11-01 13:25:46 +01:00
Deukhoofd a68977fa92
Fixes FuncAttr writing to class token, instead of processing token. 2020-11-01 13:25:38 +01:00
Deukhoofd f54029b278
Fixes parse scope consuming non-scope items. 2020-11-01 13:20:00 +01:00
Deukhoofd 6e0aa65625
Fixes memory leaks in ParsedVirtPropStatement. 2020-11-01 12:50:32 +01:00
Deukhoofd 823b00777e
Implements basic virtprop parsing. 2020-10-31 19:23:15 +01:00
Deukhoofd 6a0ec63a7e
Fixes several valgrind spotted issues. 2020-10-10 20:02:47 +02:00
Deukhoofd ce9ad2c9ba
Improve error messages on invalid function declarations. 2020-10-10 19:33:30 +02:00
Deukhoofd a7c7fc3e28
Continue parsing paramslist until we've found the closing parenthesis 2020-10-10 18:35:31 +02:00
Deukhoofd ad8a0ce1b4
Fixed issue with TypeMod. 2020-10-10 16:20:56 +02:00
Deukhoofd f5baed48a9
Lots more tests for function statements, fixes several bugs. 2020-10-10 16:04:59 +02:00
Deukhoofd dcf143b1b2
Support basic parsing function statements. 2020-10-10 14:29:37 +02:00
Deukhoofd 911be3f2ed
Removes some commas from grammar file. 2020-10-09 18:41:03 +02:00
Deukhoofd 3fb07fd710
Adds mostly complete grammar file. 2020-10-09 18:31:58 +02:00
Deukhoofd dcb6c58f90
Fixed some low hanging fruit in performance. 2020-10-09 12:55:49 +02:00
Deukhoofd 43f080cc48
Implements namespace statement. 2020-10-09 11:54:43 +02:00
Deukhoofd 2fb1b68ead
Rework identifier handling, adds typedef statement. 2020-10-08 19:53:02 +02:00
Deukhoofd e99b1af78d
Remove const char* constructors, only take u8 chars now. 2020-10-08 18:15:48 +02:00
Deukhoofd 2036f1ce43
Initial work on parsing. 2020-10-07 22:11:18 +02:00
Deukhoofd f299d5183f
Renames project. 2020-10-05 17:45:00 +02:00
Deukhoofd 125bb8459c
Support adding filename to diagnostic. 2020-10-05 12:18:05 +02:00
Deukhoofd dffc0d7f17
When getting base from first two values of a number, check both lowercase and uppercase. 2020-10-04 23:16:37 +02:00
Deukhoofd 739e2e6f17
Use block allocator for lexer. 2020-10-04 22:21:20 +02:00
Deukhoofd 0ce2feee06
Moves TextSpan 2020-10-04 21:06:11 +02:00
Deukhoofd 469c708788
Fixes bug in identifier/keyword parsing, adds lexer integration tests. 2020-10-04 21:05:51 +02:00
Deukhoofd b6a5e047c2
Support for diagnostics system. 2020-10-04 19:38:13 +02:00