This website requires JavaScript.
bce1b1c79c
Simple binding for virtprops.
master
Deukhoofd
2021-01-09 15:33:34 +0100
ce3d92e0a5
Log error when variable is unknown type.
Deukhoofd
2021-01-09 14:12:09 +0100
0fbca3f01e
Fixes for tests, support for comments.
Deukhoofd
2021-01-09 13:43:29 +0100
59af34fac9
Rework text spans a bit to include script file, make binder log an error when two classes have a circular value reference.
Deukhoofd
2021-01-09 13:20:56 +0100
8660933f27
More work on binder type registration, support in REPL to show registered types.
Deukhoofd
2021-01-08 18:18:24 +0100
093ffde6bc
Initial work on type registration in the binder.
Deukhoofd
2021-01-08 16:14:02 +0100
da82819fff
More work on better parser logging.
Deukhoofd
2021-01-06 13:32:06 +0100
034dcb118b
Fixes issue in lexing numerical base consuming character after it, removes test for invalid numerical base.
Deukhoofd
2021-01-06 11:48:24 +0100
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.
Deukhoofd
2021-01-06 00:53:02 +0100
807fe63828
More detailed error messages for lex errors.
Deukhoofd
2021-01-06 00:25:08 +0100
2327134e36
Fixes issue where string lex token position start would be off by one.
Deukhoofd
2021-01-06 00:08:47 +0100
d907a58f64
Initial work on more detailed error messages.
Deukhoofd
2021-01-06 00:06:39 +0100
7d0c5cbbed
better namespace parse tree stringification.
Deukhoofd
2021-01-05 19:26:11 +0100
b4c18e0f09
Many fixes for namespace parsing.
Deukhoofd
2021-01-05 19:21:06 +0100
bfe27ec20f
Better handling of diagnostics in the REPL.
Deukhoofd
2021-01-05 18:17:40 +0100
340d37f4a1
Implements scrolling in the InputWindow of the REPL.
Deukhoofd
2021-01-05 15:51:59 +0100
b73bfe6482
Make parser be able to skip tokens when encountering an unexpected token.
Deukhoofd
2021-01-05 13:20:34 +0100
d9d52554e4
Always show parse tree in REPL, even if we have a diagnostic.
Deukhoofd
2021-01-05 12:37:13 +0100
f328762cd8
Clean up REPL a bit by moving InputWindow to special class.
Deukhoofd
2021-01-05 00:13:42 +0100
5c086ee066
Adds more parse tree stringification.
Deukhoofd
2021-01-04 22:54:04 +0100
dbef09f4bb
Adds backward to REPL for better error logging.
Deukhoofd
2021-01-04 13:33:52 +0100
9fcf296442
Fixes memory issue in MemoryPool.
Deukhoofd
2021-01-04 13:33:29 +0100
cf09f9348c
More work on stringification of the parse tree.
Deukhoofd
2021-01-03 15:44:53 +0100
08a0859539
Move parse tree stringification away from the main parsed statements, and into a helper function class.
Deukhoofd
2021-01-03 15:10:43 +0100
4c4faac899
Add commas between parameters in REPL.
Deukhoofd
2021-01-03 14:50:14 +0100
856c37a583
Fixes artifacts shown in REPL input window.
Deukhoofd
2021-01-03 14:45:53 +0100
56538a5552
Show neat little tree in REPL.
Deukhoofd
2021-01-03 14:42:26 +0100
0bacb981d1
Clearer errors if we find a class without a known ending.
Deukhoofd
2021-01-02 19:12:31 +0100
df9c4933af
Adds some colours to the REPL, show errors live!
Deukhoofd
2021-01-02 19:08:58 +0100
ee53e7abd8
Fixes issue in the lexer where most tokens had the wrong textspan.
Deukhoofd
2021-01-02 19:08:46 +0100
9109b7513a
Implements very simple REPL, fixes several issues found with it.
Deukhoofd
2021-01-02 17:41:53 +0100
de15173b0b
Implements parsing switch case statements.
Deukhoofd
2021-01-02 12:38:50 +0100
85e3a6db43
Actually call ParseTryStatement.
Deukhoofd
2021-01-02 11:54:16 +0100
28ece69be6
Implements try catch statement.
Deukhoofd
2021-01-02 11:53:16 +0100
54ccac6d96
Disable parenthesis warning in GCC. This is handled already in the formatter, and goes against bugprone-macro-parentheses.
Deukhoofd
2021-01-02 00:01:20 +0100
a9c4dfdece
Actually call ParseTypeDef.
Deukhoofd
2021-01-01 23:44:58 +0100
329848d9d5
Parse class attributes (shared, abstract, final, external), cleanup some parser code.
Deukhoofd
2021-01-01 23:41:37 +0100
5d57838bec
Cleanup of parser class.
Deukhoofd
2021-01-01 23:31:30 +0100
5ac627a9b3
Make parser class static, to reduce required state.
Deukhoofd
2021-01-01 23:17:34 +0100
dd2722d485
Implements parsing dowhile statements
Deukhoofd
2021-01-01 13:21:59 +0100
037470a0ce
Slight performance improvements for parsing statements.
Deukhoofd
2021-01-01 13:17:53 +0100
a9c3a9e0c4
Implements parsing while statement
Deukhoofd
2021-01-01 13:14:29 +0100
a3a996d68a
Implements parsing for loop, cleanup of memory handling in parser.
Deukhoofd
2020-12-06 12:35:08 +0100
0c8b9f3943
Adds parsing continue and break.
Deukhoofd
2020-11-15 10:21:42 +0100
09023d6337
Implements statblock for functions.
Deukhoofd
2020-11-08 15:52:44 +0100
bfb47d9b5f
Style fixes.
Deukhoofd
2020-11-08 15:44:58 +0100
5fb64e12e1
Large chunk of work in parser for getting expressions to work.
Deukhoofd
2020-11-08 15:41:18 +0100
c20a1089a9
Initial work on expression parsing.
Deukhoofd
2020-11-01 18:43:35 +0100
e30bfe1686
Style fixes.
Deukhoofd
2020-11-01 13:50:35 +0100
c4d7c9e2d8
Make Windows CI build actually use static C option.
Deukhoofd
2020-11-01 13:47:01 +0100
e49b862da0
Adds support for linking std libraries statically.
Deukhoofd
2020-11-01 13:44:28 +0100
14db160890
Fixes fallthrough in lexer on initial bytes of Byte order mark (\xEF), but not the following ones.
Deukhoofd
2020-11-01 13:42:46 +0100
329a54c8cf
Explicitly fallthrough from inheritance parsing to body parsing, instead of implicitly.
Deukhoofd
2020-11-01 13:40:44 +0100
00253a51b5
If constinit is not implemented by the compiler yet, fall back to constexpr.
Deukhoofd
2020-11-01 13:37:09 +0100
bdf810b8f0
Fixes CI command.
Deukhoofd
2020-11-01 13:30:44 +0100
f969dcf84b
Setup CI.
Deukhoofd
2020-11-01 13:29:14 +0100
2dfe2f0408
More virt prop tests.
Deukhoofd
2020-11-01 13:25:46 +0100
a68977fa92
Fixes FuncAttr writing to class token, instead of processing token.
Deukhoofd
2020-11-01 13:25:38 +0100
f54029b278
Fixes parse scope consuming non-scope items.
Deukhoofd
2020-11-01 13:20:00 +0100
6e0aa65625
Fixes memory leaks in ParsedVirtPropStatement.
Deukhoofd
2020-11-01 12:50:32 +0100
823b00777e
Implements basic virtprop parsing.
Deukhoofd
2020-10-31 19:23:15 +0100
6a0ec63a7e
Fixes several valgrind spotted issues.
Deukhoofd
2020-10-10 20:02:47 +0200
ce9ad2c9ba
Improve error messages on invalid function declarations.
Deukhoofd
2020-10-10 19:33:30 +0200
a7c7fc3e28
Continue parsing paramslist until we've found the closing parenthesis
Deukhoofd
2020-10-10 18:35:31 +0200
ad8a0ce1b4
Fixed issue with TypeMod.
Deukhoofd
2020-10-10 16:20:56 +0200
f5baed48a9
Lots more tests for function statements, fixes several bugs.
Deukhoofd
2020-10-10 16:04:59 +0200
dcf143b1b2
Support basic parsing function statements.
Deukhoofd
2020-10-10 14:29:37 +0200
911be3f2ed
Removes some commas from grammar file.
Deukhoofd
2020-10-09 18:41:03 +0200
3fb07fd710
Adds mostly complete grammar file.
Deukhoofd
2020-10-09 18:31:58 +0200
dcb6c58f90
Fixed some low hanging fruit in performance.
Deukhoofd
2020-10-09 12:55:49 +0200
43f080cc48
Implements namespace statement.
Deukhoofd
2020-10-09 11:54:43 +0200
2fb1b68ead
Rework identifier handling, adds typedef statement.
Deukhoofd
2020-10-08 19:53:02 +0200
e99b1af78d
Remove const char* constructors, only take u8 chars now.
Deukhoofd
2020-10-08 18:15:48 +0200
2036f1ce43
Initial work on parsing.
Deukhoofd
2020-10-07 22:11:18 +0200
f299d5183f
Renames project.
Deukhoofd
2020-10-05 17:45:00 +0200
125bb8459c
Support adding filename to diagnostic.
Deukhoofd
2020-10-05 12:18:05 +0200
dffc0d7f17
When getting base from first two values of a number, check both lowercase and uppercase.
Deukhoofd
2020-10-04 23:16:37 +0200
739e2e6f17
Use block allocator for lexer.
Deukhoofd
2020-10-04 22:21:20 +0200
0ce2feee06
Moves TextSpan
Deukhoofd
2020-10-04 21:06:11 +0200
469c708788
Fixes bug in identifier/keyword parsing, adds lexer integration tests.
Deukhoofd
2020-10-04 21:05:51 +0200
b6a5e047c2
Support for diagnostics system.
Deukhoofd
2020-10-04 19:38:13 +0200
20976010d6
Lex identifiers and keywords.
Deukhoofd
2020-10-04 18:30:53 +0200
db7ad0bd76
Implements string lexing.
Deukhoofd
2020-10-04 17:15:28 +0200
e0c52f4ae7
Initial commit, support for lexing symbols and numericals.
Deukhoofd
2020-10-04 16:33:12 +0200