sashakoshka
5520994072
Added some basic structs and interfaces for phrase parsing
2022-10-19 22:46:20 -04:00
sashakoshka
82093865b0
wip
2022-10-19 13:27:48 -04:00
sashakoshka
8b4fee50ab
Literals call themselves literals instead of arg
2022-10-18 23:39:07 -04:00
sashakoshka
6dfde851e5
Add cast phrase kind to parser
2022-10-18 23:32:15 -04:00
sashakoshka
308996f059
Pointers and dynamic arrays are accounted for
2022-10-18 17:34:37 -04:00
sashakoshka
ae0765b8f4
Add non-basic types to type section test case
2022-10-18 15:00:42 -04:00
sashakoshka
2a1a48d9c5
Added basic test case for functions
2022-10-18 15:00:17 -04:00
sashakoshka
3067b64f47
Altered semantics of fetchNodeFromIdentifier
2022-10-17 17:24:25 -04:00
sashakoshka
fd9b1b3d11
wip
2022-10-17 15:41:26 -04:00
sashakoshka
82c868f0c1
Test case for data sections
2022-10-17 01:48:37 -04:00
sashakoshka
d6c8f57a81
Fixed type checking for string literals
...
The string builtin was incorrectly described, and
StringLiteral.canBePassedAs was checking the type actual instead of
the type points in the case of a reducible type.
2022-10-17 01:40:00 -04:00
sashakoshka
a5b1385012
Some error message tweaks
2022-10-16 02:58:31 -04:00
sashakoshka
f57637d7fc
Untested data section analysis
2022-10-16 02:53:37 -04:00
sashakoshka
85bc6064f2
Object member values must be unique
2022-10-16 02:41:41 -04:00
sashakoshka
098acafab1
No segfaulty
2022-10-16 02:07:25 -04:00
sashakoshka
e885af997d
Store enum default value as argument, error on empty enum
2022-10-16 02:04:38 -04:00
sashakoshka
500184c4ab
Enum values are auto-filled
2022-10-14 20:06:11 -04:00
sashakoshka
2669a04857
Enum member names and values must be unique
2022-10-14 04:00:05 -04:00
sashakoshka
dd29f69213
Added methods to check if a type is a number
2022-10-13 20:52:49 -04:00
sashakoshka
12755d3f85
Enum analysis works
2022-10-13 18:48:38 -04:00
sashakoshka
a1faf68cce
Untested enum analysis
2022-10-13 18:02:35 -04:00
sashakoshka
c047a1438a
Restrict type sections to only inherit from other type sections
2022-10-13 16:33:32 -04:00
sashakoshka
bfdca9ed16
Ok yeah there I fixed it
2022-10-13 16:11:12 -04:00
sashakoshka
5463435fae
Untested rules for pulling types from other section kinds
2022-10-13 15:08:47 -04:00
sashakoshka
d5687d7b0e
Uhhh
2022-10-13 13:30:11 -04:00
sashakoshka
561e893327
Fixed test case to include new stuff
2022-10-13 02:26:05 -04:00
sashakoshka
b8693af68b
Added some permission checks
2022-10-13 02:20:47 -04:00
sashakoshka
ae50fab159
Small parser and ToString fixes
2022-10-13 00:18:32 -04:00
sashakoshka
c290b3a3d7
Properly analyze member types
2022-10-13 00:01:49 -04:00
sashakoshka
f817894b49
Added untested object member analysis
2022-10-12 23:25:21 -04:00
sashakoshka
aaf268d0d1
Permissions of sections in other modules are respected
2022-10-12 15:48:22 -04:00
sashakoshka
15fa122547
Parser no longer returns io.EOF when done parsing
2022-10-12 14:27:26 -04:00
sashakoshka
ccc303d93c
Fixed meta test case to account for new relative path resolution
2022-10-12 14:23:09 -04:00
sashakoshka
3662b2e298
Fixed type section parsing at EOF
2022-10-12 14:21:19 -04:00
sashakoshka
b2fadd2fd3
Analyzer now no longer attempts to analyze an invalid tree
2022-10-12 13:14:53 -04:00
sashakoshka
5d27befb6f
Fixed require paths
...
Previously, relative require paths would be resolved based on the
current working directory. They are now resolved based on the path
of the module.
2022-10-12 13:11:36 -04:00
sashakoshka
150fc0dd4a
Error when something inherits a non-existent type
2022-10-12 13:06:59 -04:00
sashakoshka
d4146ac6ce
Member analysis stub
2022-10-12 13:05:19 -04:00
sashakoshka
83fbd38c75
Parser now sets type member location
2022-10-12 12:39:00 -04:00
sashakoshka
32faab8b36
Added method to figure out if a type has a particular member
2022-10-12 02:57:18 -04:00
sashakoshka
2a8476282e
Get rid of parser/default-values.go
2022-10-12 01:02:17 -04:00
sashakoshka
3a9855fe88
Create translator stub
2022-10-12 00:58:58 -04:00
sashakoshka
291aad8aad
Made documentation a bit better
2022-10-12 00:48:55 -04:00
sashakoshka
1196bb3801
Privated lexingOperation
2022-10-12 00:00:34 -04:00
sashakoshka
b92a3dcba3
Privated parsingOperation
2022-10-11 23:57:27 -04:00
sashakoshka
89b432c6fd
Privated analysisOperation
2022-10-11 23:53:38 -04:00
sashakoshka
1924892ab6
Fixed isSingular
2022-10-11 23:51:55 -04:00
sashakoshka
7581541ff5
Added a locatable node trait
2022-10-11 18:31:37 -04:00
sashakoshka
cd670d05c5
Made node traits file for semantic table nodes
2022-10-11 18:12:53 -04:00
sashakoshka
67c94fb0e8
Special function for type checking and returning an error in one fell swop
2022-10-11 18:03:44 -04:00
sashakoshka
d74f3a40dd
Errors encountered while analyzing are no longer ignored
2022-10-11 17:13:37 -04:00
sashakoshka
41724a7e03
Added untested type mismatch error reporting thing
2022-10-11 17:04:18 -04:00
sashakoshka
020833c4c6
Added isSingular to method (this is cool)
2022-10-11 16:20:12 -04:00
sashakoshka
b8c57d5a56
StringLiteral.canBePassedAs allows variable arrays
2022-10-11 15:09:44 -04:00
sashakoshka
cdebedb839
Fixed test case
2022-10-11 13:36:11 -04:00
sashakoshka
49e834860f
Fixed dereference parsing
2022-10-11 13:35:11 -04:00
sashakoshka
a7588f7416
Added untested dereference parsing
2022-10-11 13:31:17 -04:00
sashakoshka
fae8bedfa9
Dereference parsing stub
2022-10-11 11:31:44 -04:00
sashakoshka
1cd7511ced
Add dereference to tree
2022-10-11 11:23:50 -04:00
sashakoshka
746fda6843
No we don't want that
2022-10-11 11:15:16 -04:00
sashakoshka
56a3ca509a
Rewrote func test case
2022-10-11 11:12:37 -04:00
sashakoshka
f58fe4cf26
Added editorconfig file
2022-10-05 17:35:55 -04:00
sashakoshka
6d5bb59712
Removed runes from analyzer ez
2022-10-04 17:25:05 -04:00
sashakoshka
c7e6c9299a
Removed runes from the test case
2022-10-04 17:13:08 -04:00
sashakoshka
b6d3c04acd
Removed runes from parser
2022-10-04 17:07:31 -04:00
sashakoshka
c42f4f46fc
Removed excess data in rune test case
2022-10-04 16:51:53 -04:00
sashakoshka
6a72cc9f12
Some test case fixes for the lexer
2022-10-04 16:47:32 -04:00
sashakoshka
7af98d1c6f
Removed rune literals from analyzer
2022-10-04 16:35:00 -04:00
sashakoshka
5c286cf955
Added some useful type checking thigns to literals
2022-10-04 16:19:26 -04:00
sashakoshka
e2947eab8c
Added permissions to analyzed sections
2022-10-01 17:21:17 -04:00
sashakoshka
07540e0abc
Added more stuff to type test case
2022-10-01 17:12:43 -04:00
sashakoshka
0d53d7ad32
Table ToString outputs sections in alphabetical order
2022-09-30 03:46:29 -04:00
sashakoshka
47cb89206a
Analyzer now understands type section default values
2022-09-30 00:04:28 -04:00
sashakoshka
d117e2727c
Analyzer attempts to find the source of types
2022-09-29 22:54:32 -04:00
sashakoshka
1300f87cb5
when you
2022-09-29 20:28:51 -04:00
sashakoshka
52727a1996
Nevermind this way is far better
2022-09-29 18:25:56 -04:00
sashakoshka
8ead560bfb
Test case matches absolute paths on system
2022-09-29 18:14:25 -04:00
sashakoshka
bb4a5472e1
Less gooooo!
2022-09-29 18:09:52 -04:00
sashakoshka
ed4c9aa0d2
Iterator actually advances now
2022-09-29 17:34:51 -04:00
sashakoshka
3e1acdc74a
Face test is now passed
2022-09-29 15:52:14 -04:00
sashakoshka
2ceb3f8174
Interfaces get parsed properly (i think)
2022-09-29 15:45:25 -04:00
sashakoshka
4811ea5257
Wrote interface test case
2022-09-29 11:28:12 -04:00
sashakoshka
51428e3755
Pass skim test
2022-09-29 11:15:58 -04:00
sashakoshka
8b88e1d440
Sort ToString of requires
2022-09-29 11:06:45 -04:00
sashakoshka
a31c975c9d
Func section tostrings and parses output values properly
2022-09-29 11:02:37 -04:00
sashakoshka
7374de2633
Func section tostring fixes
2022-09-29 02:43:24 -04:00
sashakoshka
94967d25e2
Removed let phrases
...
We don't need them anymore
2022-09-29 02:37:14 -04:00
sashakoshka
290f8799cf
Parser parses function outputs
2022-09-29 02:29:35 -04:00
sashakoshka
5f0e4697b5
Made some updates to func test case
2022-09-29 02:18:47 -04:00
sashakoshka
011c968192
Type section now passes test
2022-09-29 02:13:22 -04:00
sashakoshka
23072b5476
Type members actually get ToString'd now
2022-09-29 02:10:58 -04:00
sashakoshka
06f9b5b71c
parseType sets the type kind in all cases
2022-09-29 02:04:44 -04:00
sashakoshka
16fe6afdff
Fixed segfault in Type.ToString
2022-09-29 02:03:19 -04:00
sashakoshka
6c02e45e2e
Untested type section parsing yay
2022-09-29 02:01:31 -04:00
sashakoshka
58af5f3f15
Put type members back where they were
2022-09-28 11:07:39 -04:00
sashakoshka
1bd886fea0
Rewrote type section correct test
2022-09-28 10:36:29 -04:00
sashakoshka
f4c079786b
Made data test cases consistent with eachother
2022-09-27 18:46:17 -04:00
sashakoshka
3a38465368
Fixed DataSection/TypeSection.ToString
2022-09-27 18:43:40 -04:00
sashakoshka
6c70e9c50d
Fixed data section parsing
2022-09-27 18:42:00 -04:00
sashakoshka
93bc742339
Fixed enum test case to match ToString
2022-09-27 18:23:23 -04:00