Add lexing, parsing and some semantic checking for constant buffers.

This commit is contained in:
2024-06-14 19:56:28 +02:00
parent b1dceb298f
commit a9a67e3fac
45 changed files with 1275 additions and 1119 deletions

View File

@@ -1,12 +1,12 @@
{kind = TOKEN_VERTEX; ; index = 0 ; length = 6 line = 1 ; column = 0 ; value ='vertex'; }
{kind = TOKEN_IDENTIFIER; ; index = 7 ; length = 4 line = 1 ; column = 7 ; value ='main'; }
{kind = TOKEN_DOUBLECOLON; ; index = 12 ; length = 2 line = 1 ; column = 12 ; value ='::'; }
{kind = TOKEN_LEFTPAREN; ; index = 15 ; length = 1 line = 1 ; column = 15 ; value ='('; }
{kind = TOKEN_RIGHTPAREN; ; index = 16 ; length = 1 line = 1 ; column = 16 ; value =')'; }
{kind = TOKEN_LEFTBRACE; ; index = 18 ; length = 1 line = 1 ; column = 18 ; value ='{'; }
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 3 line = 2 ; column = 0 ; value ='foo'; }
{kind = TOKEN_LEFTPAREN; ; index = 25 ; length = 1 line = 2 ; column = 3 ; value ='('; }
{kind = TOKEN_RIGHTPAREN; ; index = 26 ; length = 1 line = 2 ; column = 4 ; value =')'; }
{kind = TOKEN_SEMICOLON; ; index = 27 ; length = 1 line = 2 ; column = 5 ; value =';'; }
{kind = TOKEN_RIGHTBRACE; ; index = 30 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
{kind = TOKEN_EOF; ; index = 33 ; length = 0 line = 4 ; column = 0 ; value =''; }
{kind = TOKEN_VERTEX; ; index = 0 ; length = 6 line = 1 ; column = 0 ; value ='vertex'; }
{kind = TOKEN_IDENTIFIER; ; index = 7 ; length = 4 line = 1 ; column = 7 ; value ='main'; }
{kind = TOKEN_DOUBLECOLON; ; index = 12 ; length = 2 line = 1 ; column = 12 ; value ='::'; }
{kind = TOKEN_LEFTPAREN; ; index = 15 ; length = 1 line = 1 ; column = 15 ; value ='('; }
{kind = TOKEN_RIGHTPAREN; ; index = 16 ; length = 1 line = 1 ; column = 16 ; value =')'; }
{kind = TOKEN_LEFTBRACE; ; index = 18 ; length = 1 line = 1 ; column = 18 ; value ='{'; }
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 3 line = 2 ; column = 0 ; value ='foo'; }
{kind = TOKEN_LEFTPAREN; ; index = 25 ; length = 1 line = 2 ; column = 3 ; value ='('; }
{kind = TOKEN_RIGHTPAREN; ; index = 26 ; length = 1 line = 2 ; column = 4 ; value =')'; }
{kind = TOKEN_SEMICOLON; ; index = 27 ; length = 1 line = 2 ; column = 5 ; value =';'; }
{kind = TOKEN_RIGHTBRACE; ; index = 30 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
{kind = TOKEN_EOF; ; index = 33 ; length = 0 line = 4 ; column = 0 ; value =''; }