init commit
This commit is contained in:
12
test/all.suite
Normal file
12
test/all.suite
Normal file
@@ -0,0 +1,12 @@
|
||||
test/assign_arithmetic_expression.shd lex parse
|
||||
test/empty_vertex_main.shd lex parse
|
||||
test/empty_vertex_main_with_position_parameter.shd lex parse
|
||||
test/meta_block.shd lex parse
|
||||
test/basic_property_and_return_value.shd lex parse
|
||||
test/function_call_return.shd lex parse
|
||||
test/struct_field_access_test.shd lex parse
|
||||
test/pass_and_access_struct_fields_in_functions.shd lex parse
|
||||
test/field_without_type_specifier.shd lex parse
|
||||
test/functions_with_same_name.shd lex parse
|
||||
test/function_with_int_return.shd lex parse
|
||||
test/type_as_variable_name.shd lex parse
|
||||
3
test/assign_arithmetic_expression.shd
Normal file
3
test/assign_arithmetic_expression.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
vertex main :: () {
|
||||
x : float = 2.0 + 5.0;
|
||||
}
|
||||
11
test/basic_property_and_return_value.shd
Normal file
11
test/basic_property_and_return_value.shd
Normal file
@@ -0,0 +1,11 @@
|
||||
properties {
|
||||
color : float4;
|
||||
}
|
||||
|
||||
vertex main :: (pos : float3 @position) -> float3 @position {
|
||||
return pos;
|
||||
}
|
||||
|
||||
pixel main :: () -> float4 @target0 {
|
||||
return properties.color;
|
||||
}
|
||||
5
test/codegen/assign_arithmetic_expression.golden
Normal file
5
test/codegen/assign_arithmetic_expression.golden
Normal file
@@ -0,0 +1,5 @@
|
||||
void vs_main()
|
||||
{
|
||||
float x = 2.0f + 5.0f;
|
||||
}
|
||||
|
||||
15
test/codegen/basic_property_and_return_value.golden
Normal file
15
test/codegen/basic_property_and_return_value.golden
Normal file
@@ -0,0 +1,15 @@
|
||||
cbuffer __PROPERTIES : register(b0)
|
||||
{
|
||||
float4 color;
|
||||
}
|
||||
|
||||
float3 vs_main(float3 pos : POSITION) : SV_POSITION
|
||||
{
|
||||
return pos;
|
||||
}
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
return color;
|
||||
}
|
||||
|
||||
7
test/codegen/complicated_computation.golden
Normal file
7
test/codegen/complicated_computation.golden
Normal file
@@ -0,0 +1,7 @@
|
||||
void vs_main()
|
||||
{
|
||||
float x = 5.0f;
|
||||
float y = 3000.0f;
|
||||
float z = y * y + x;
|
||||
}
|
||||
|
||||
4
test/codegen/empty_struct.golden
Normal file
4
test/codegen/empty_struct.golden
Normal file
@@ -0,0 +1,4 @@
|
||||
struct Foo;
|
||||
|
||||
struct Foo {}
|
||||
|
||||
4
test/codegen/empty_vertex_main.golden
Normal file
4
test/codegen/empty_vertex_main.golden
Normal file
@@ -0,0 +1,4 @@
|
||||
void vs_main()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
float3 vs_main(float3 pos : POSITION)
|
||||
{
|
||||
return pos;
|
||||
}
|
||||
|
||||
7
test/codegen/field_assignment.golden
Normal file
7
test/codegen/field_assignment.golden
Normal file
@@ -0,0 +1,7 @@
|
||||
float4 vs_main(float4 pos : POSITION) : SV_POSITION
|
||||
{
|
||||
float x = 5.0f;
|
||||
x = 7.0f;
|
||||
return pos;
|
||||
}
|
||||
|
||||
12
test/codegen/function_call.golden
Normal file
12
test/codegen/function_call.golden
Normal file
@@ -0,0 +1,12 @@
|
||||
int foo();
|
||||
|
||||
int foo()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
foo();
|
||||
}
|
||||
|
||||
11
test/codegen/function_call_out_of_order_declaration.golden
Normal file
11
test/codegen/function_call_out_of_order_declaration.golden
Normal file
@@ -0,0 +1,11 @@
|
||||
void foo();
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
foo();
|
||||
}
|
||||
|
||||
void foo()
|
||||
{
|
||||
}
|
||||
|
||||
9
test/codegen/function_call_return.golden
Normal file
9
test/codegen/function_call_return.golden
Normal file
@@ -0,0 +1,9 @@
|
||||
void vs_main()
|
||||
{
|
||||
}
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
return float4(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
15
test/codegen/meta_block.golden
Normal file
15
test/codegen/meta_block.golden
Normal file
@@ -0,0 +1,15 @@
|
||||
cbuffer __PROPERTIES : register(b0)
|
||||
{
|
||||
float4 color;
|
||||
}
|
||||
|
||||
float3 vs_main(float3 pos : POSITION, float2 uv) : SV_POSITION
|
||||
{
|
||||
return pos;
|
||||
}
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
return color;
|
||||
}
|
||||
|
||||
19
test/codegen/multiple_functions.golden
Normal file
19
test/codegen/multiple_functions.golden
Normal file
@@ -0,0 +1,19 @@
|
||||
int foo();
|
||||
float bar();
|
||||
|
||||
int foo()
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
||||
float bar()
|
||||
{
|
||||
return 1235.0f * 500;
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
int x = foo();
|
||||
float y = bar();
|
||||
}
|
||||
|
||||
19
test/codegen/multiple_semicolons_everywhere.golden
Normal file
19
test/codegen/multiple_semicolons_everywhere.golden
Normal file
@@ -0,0 +1,19 @@
|
||||
float4 foo();
|
||||
|
||||
float3 vs_main(float3 pos : POSITION) : SV_POSITION
|
||||
{
|
||||
return pos;
|
||||
}
|
||||
|
||||
float4 foo()
|
||||
{
|
||||
return float4(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
float4 y = foo();
|
||||
float4 color = y;
|
||||
return color;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
struct Foo;
|
||||
|
||||
float foo(Foo f);
|
||||
|
||||
struct Foo
|
||||
{
|
||||
float some_data;
|
||||
}
|
||||
|
||||
float foo(Foo f)
|
||||
{
|
||||
return f.some_data * 2.0f;
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
Foo f;
|
||||
f.some_data = 4.0f;
|
||||
float d = foo(f);
|
||||
}
|
||||
|
||||
10
test/codegen/passthrough.golden
Normal file
10
test/codegen/passthrough.golden
Normal file
@@ -0,0 +1,10 @@
|
||||
float3 vs_main(float3 pos : POSITION) : SV_POSITION
|
||||
{
|
||||
return pos;
|
||||
}
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
return float4(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
8
test/codegen/precedence_test.golden
Normal file
8
test/codegen/precedence_test.golden
Normal file
@@ -0,0 +1,8 @@
|
||||
void vs_main()
|
||||
{
|
||||
float x = 2;
|
||||
float y = 5;
|
||||
float z = 10;
|
||||
float w = x * y + y * z - x / y * x;
|
||||
}
|
||||
|
||||
13
test/codegen/simple_struct_access.golden
Normal file
13
test/codegen/simple_struct_access.golden
Normal file
@@ -0,0 +1,13 @@
|
||||
struct Data;
|
||||
|
||||
struct Data
|
||||
{
|
||||
float4 color;
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
Data d;
|
||||
float4 x = d.color;
|
||||
}
|
||||
|
||||
20
test/codegen/struct_within_struct.golden
Normal file
20
test/codegen/struct_within_struct.golden
Normal file
@@ -0,0 +1,20 @@
|
||||
struct Foo;
|
||||
struct Bar;
|
||||
|
||||
struct Foo
|
||||
{
|
||||
float4 color;
|
||||
}
|
||||
|
||||
struct Bar
|
||||
{
|
||||
Foo t;
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
Foo f;
|
||||
Bar b;
|
||||
b.t = f;
|
||||
}
|
||||
|
||||
5
test/codegen/use_builtin_functions.golden
Normal file
5
test/codegen/use_builtin_functions.golden
Normal file
@@ -0,0 +1,5 @@
|
||||
void vs_main()
|
||||
{
|
||||
float4 f = float4(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
19
test/codegen_all.suite
Normal file
19
test/codegen_all.suite
Normal file
@@ -0,0 +1,19 @@
|
||||
test/assign_arithmetic_expression.shd codegen
|
||||
test/basic_property_and_return_value.shd codegen
|
||||
test/complicated_computation.shd codegen
|
||||
test/empty_struct.shd codegen
|
||||
test/empty_vertex_main.shd codegen
|
||||
test/empty_vertex_main_with_position_parameter.shd codegen
|
||||
test/field_assignment.shd codegen
|
||||
test/function_call.shd codegen
|
||||
test/function_call_out_of_order_declaration.shd codegen
|
||||
test/function_call_return.shd codegen
|
||||
test/meta_block.shd codegen
|
||||
test/multiple_functions.shd codegen
|
||||
test/multiple_semicolons_everywhere.shd codegen
|
||||
test/pass_and_access_struct_fields_in_functions.shd codegen
|
||||
test/passthrough.shd codegen
|
||||
test/property_rename.shd codegen
|
||||
test/simple_struct_access.shd codegen
|
||||
test/struct_within_struct.shd codegen
|
||||
test/use_builtin_functions.shd codegen
|
||||
20
test/compile_all.suite
Normal file
20
test/compile_all.suite
Normal file
@@ -0,0 +1,20 @@
|
||||
test/assign_arithmetic_expression.shd compile
|
||||
test/basic_property_and_return_value.shd compile
|
||||
test/complicated_computation.shd compile
|
||||
test/empty_struct.shd compile
|
||||
test/empty_vertex_main.shd compile
|
||||
test/empty_vertex_main_with_position_parameter.shd compile
|
||||
test/field_assignment.shd compile
|
||||
test/float_suffix.shd compile
|
||||
test/function_call.shd compile
|
||||
test/function_call_out_of_order_declaration.shd compile
|
||||
test/function_call_return.shd compile
|
||||
test/functions_with_same_name.shd compile
|
||||
test/meta_block.shd compile
|
||||
test/multiple_functions.shd compile
|
||||
test/multiple_semicolons_everywhere.shd compile
|
||||
test/pass_and_access_struct_fields_in_functions.shd compile
|
||||
test/passthrough.shd compile
|
||||
test/simple_struct_access.shd compile
|
||||
test/struct_within_struct.shd compile
|
||||
test/use_builtin_functions.shd compile
|
||||
6
test/complicated_computation.shd
Normal file
6
test/complicated_computation.shd
Normal file
@@ -0,0 +1,6 @@
|
||||
vertex main :: () {
|
||||
x : float = 5.0;
|
||||
y : float = 3000.0;
|
||||
|
||||
z : float = y * y + x;
|
||||
}
|
||||
3
test/empty_struct.shd
Normal file
3
test/empty_struct.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
Foo :: struct {}
|
||||
|
||||
|
||||
3
test/empty_vertex_main.shd
Normal file
3
test/empty_vertex_main.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
vertex main :: () {
|
||||
|
||||
}
|
||||
3
test/empty_vertex_main_with_position_parameter.shd
Normal file
3
test/empty_vertex_main_with_position_parameter.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
vertex main :: (pos : float3 @position) -> float3 {
|
||||
return pos;
|
||||
}
|
||||
6
test/field_assignment.shd
Normal file
6
test/field_assignment.shd
Normal file
@@ -0,0 +1,6 @@
|
||||
vertex main :: (pos : float4 @position) -> float4 @position {
|
||||
x : float = 5.0;
|
||||
x = 7.0;
|
||||
|
||||
return pos;
|
||||
}
|
||||
3
test/field_without_type_specifier.shd
Normal file
3
test/field_without_type_specifier.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
vertex main :: () {
|
||||
x := 5.0;
|
||||
}
|
||||
3
test/float_suffix.shd
Normal file
3
test/float_suffix.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
vertex main :: () {
|
||||
x : float = 2.0f;
|
||||
}
|
||||
7
test/function_call.shd
Normal file
7
test/function_call.shd
Normal file
@@ -0,0 +1,7 @@
|
||||
foo :: () -> int {
|
||||
return 4;
|
||||
}
|
||||
|
||||
vertex main :: () {
|
||||
foo();
|
||||
}
|
||||
7
test/function_call_out_of_order_declaration.shd
Normal file
7
test/function_call_out_of_order_declaration.shd
Normal file
@@ -0,0 +1,7 @@
|
||||
vertex main :: () {
|
||||
foo();
|
||||
}
|
||||
|
||||
foo :: () {
|
||||
|
||||
}
|
||||
7
test/function_call_return.shd
Normal file
7
test/function_call_return.shd
Normal file
@@ -0,0 +1,7 @@
|
||||
vertex main :: () {
|
||||
|
||||
}
|
||||
|
||||
pixel main :: () -> float4 @target0 {
|
||||
return float4(1, 1, 1, 1);
|
||||
}
|
||||
3
test/function_with_int_return.shd
Normal file
3
test/function_with_int_return.shd
Normal file
@@ -0,0 +1,3 @@
|
||||
vertex main :: (pos : float3) -> int {
|
||||
|
||||
}
|
||||
7
test/functions_with_same_name.shd
Normal file
7
test/functions_with_same_name.shd
Normal file
@@ -0,0 +1,7 @@
|
||||
foo :: () {}
|
||||
foo :: () {}
|
||||
bar :: () {}
|
||||
|
||||
vertex main :: () {
|
||||
|
||||
}
|
||||
16
test/lex/assign_arithmetic_expression.golden
Normal file
16
test/lex/assign_arithmetic_expression.golden
Normal file
@@ -0,0 +1,16 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 5 line = 2 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 32 ; length = 1 line = 2 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 34 ; length = 3 line = 2 ; column = 12 ; value ='2'; }
|
||||
{kind = TOKEN_PLUS; ; index = 38 ; length = 1 line = 2 ; column = 16 ; value ='+'; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 40 ; length = 3 line = 2 ; column = 18 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 43 ; length = 1 line = 2 ; column = 21 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 46 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 49 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
43
test/lex/basic_property_and_return_value.golden
Normal file
43
test/lex/basic_property_and_return_value.golden
Normal file
@@ -0,0 +1,43 @@
|
||||
{kind = TOKEN_PROPERTIES; ; index = 0 ; length = 10 line = 1 ; column = 0 ; value ='properties'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 11 ; length = 1 line = 1 ; column = 11 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 15 ; length = 5 line = 2 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 21 ; length = 1 line = 2 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 23 ; length = 6 line = 2 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 29 ; length = 1 line = 2 ; column = 14 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 32 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 37 ; length = 6 line = 5 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 44 ; length = 4 line = 5 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 49 ; length = 2 line = 5 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 52 ; length = 1 line = 5 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 53 ; length = 3 line = 5 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 57 ; length = 1 line = 5 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 59 ; length = 6 line = 5 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 66 ; length = 1 line = 5 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 67 ; length = 8 line = 5 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 75 ; length = 1 line = 5 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 77 ; length = 2 line = 5 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 80 ; length = 6 line = 5 ; column = 43 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 87 ; length = 1 line = 5 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 88 ; length = 8 line = 5 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 97 ; length = 1 line = 5 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 103 ; length = 6 line = 6 ; column = 2 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 110 ; length = 3 line = 6 ; column = 9 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 113 ; length = 1 line = 6 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 116 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 121 ; length = 5 line = 9 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 127 ; length = 4 line = 9 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 132 ; length = 2 line = 9 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 135 ; length = 1 line = 9 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 136 ; length = 1 line = 9 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 138 ; length = 2 line = 9 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 141 ; length = 6 line = 9 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 148 ; length = 1 line = 9 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 149 ; length = 7 line = 9 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 157 ; length = 1 line = 9 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 163 ; length = 6 line = 10 ; column = 2 ; value ='return'; }
|
||||
{kind = TOKEN_PROPERTIES; ; index = 170 ; length = 10 line = 10 ; column = 9 ; value ='properties'; }
|
||||
{kind = TOKEN_DOT; ; index = 180 ; length = 1 line = 10 ; column = 19 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 181 ; length = 5 line = 10 ; column = 20 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 186 ; length = 1 line = 10 ; column = 25 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 189 ; length = 1 line = 11 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 192 ; length = 0 line = 12 ; column = 0 ; value =''; }
|
||||
30
test/lex/complicated_computation.golden
Normal file
30
test/lex/complicated_computation.golden
Normal file
@@ -0,0 +1,30 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 5 line = 2 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 32 ; length = 1 line = 2 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 34 ; length = 3 line = 2 ; column = 12 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 37 ; length = 1 line = 2 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 41 ; length = 1 line = 3 ; column = 0 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 43 ; length = 1 line = 3 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 45 ; length = 5 line = 3 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 51 ; length = 1 line = 3 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 53 ; length = 6 line = 3 ; column = 12 ; value ='3000'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 59 ; length = 1 line = 3 ; column = 18 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 65 ; length = 1 line = 5 ; column = 0 ; value ='z'; }
|
||||
{kind = TOKEN_COLON; ; index = 67 ; length = 1 line = 5 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 69 ; length = 5 line = 5 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 75 ; length = 1 line = 5 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 77 ; length = 1 line = 5 ; column = 12 ; value ='y'; }
|
||||
{kind = TOKEN_STAR; ; index = 79 ; length = 1 line = 5 ; column = 14 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 81 ; length = 1 line = 5 ; column = 16 ; value ='y'; }
|
||||
{kind = TOKEN_PLUS; ; index = 83 ; length = 1 line = 5 ; column = 18 ; value ='+'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 85 ; length = 1 line = 5 ; column = 20 ; value ='x'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 86 ; length = 1 line = 5 ; column = 21 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 89 ; length = 1 line = 6 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 92 ; length = 0 line = 7 ; column = 0 ; value =''; }
|
||||
6
test/lex/empty_struct.golden
Normal file
6
test/lex/empty_struct.golden
Normal file
@@ -0,0 +1,6 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='Foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 7 ; length = 6 line = 1 ; column = 7 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 14 ; length = 1 line = 1 ; column = 14 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 15 ; length = 1 line = 1 ; column = 15 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 22 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
8
test/lex/empty_vertex_main.golden
Normal file
8
test/lex/empty_vertex_main.golden
Normal file
@@ -0,0 +1,8 @@
|
||||
{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_RIGHTBRACE; ; index = 23 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 24 ; length = 0 line = 3 ; column = 1 ; value =''; }
|
||||
18
test/lex/empty_vertex_main_with_position_parameter.golden
Normal file
18
test/lex/empty_vertex_main_with_position_parameter.golden
Normal file
@@ -0,0 +1,18 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 29 ; length = 1 line = 1 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 8 line = 1 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 40 ; length = 2 line = 1 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 6 line = 1 ; column = 43 ; value ='float3'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 54 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 61 ; length = 3 line = 2 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 64 ; length = 1 line = 2 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 67 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 70 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
30
test/lex/field_assignment.golden
Normal file
30
test/lex/field_assignment.golden
Normal file
@@ -0,0 +1,30 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 29 ; length = 1 line = 1 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 8 line = 1 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 40 ; length = 2 line = 1 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 6 line = 1 ; column = 43 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 8 line = 1 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 60 ; length = 1 line = 1 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 64 ; length = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 66 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 68 ; length = 5 line = 2 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 74 ; length = 1 line = 2 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 76 ; length = 3 line = 2 ; column = 12 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 79 ; length = 1 line = 2 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 83 ; length = 1 line = 3 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 85 ; length = 1 line = 3 ; column = 2 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 87 ; length = 3 line = 3 ; column = 4 ; value ='7'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 90 ; length = 1 line = 3 ; column = 7 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 96 ; length = 6 line = 5 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 103 ; length = 3 line = 5 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 106 ; length = 1 line = 5 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 109 ; length = 1 line = 6 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 112 ; length = 0 line = 7 ; column = 0 ; value =''; }
|
||||
13
test/lex/field_without_type_specifier.golden
Normal file
13
test/lex/field_without_type_specifier.golden
Normal file
@@ -0,0 +1,13 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 25 ; length = 1 line = 2 ; column = 3 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 27 ; length = 3 line = 2 ; column = 5 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 30 ; length = 1 line = 2 ; column = 8 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 33 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 36 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
4
test/lex/float_suffix.golden
Normal file
4
test/lex/float_suffix.golden
Normal file
@@ -0,0 +1,4 @@
|
||||
[1;37mtest/float_suffix.shd:2,12: [31merror: [37mWe don't use 'f' suffixes for floating point values.
|
||||
[36m x : float = 2.0f
|
||||
^^^^
|
||||
[37m
|
||||
40
test/lex/foreign_function.golden
Normal file
40
test/lex/foreign_function.golden
Normal file
@@ -0,0 +1,40 @@
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 1 ; length = 7 line = 1 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 9 ; length = 6 line = 1 ; column = 8 ; value ='float2'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 16 ; length = 2 line = 1 ; column = 15 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 19 ; length = 1 line = 1 ; column = 18 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 20 ; length = 5 line = 1 ; column = 19 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 25 ; length = 1 line = 1 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 27 ; length = 5 line = 1 ; column = 26 ; value ='float'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 32 ; length = 1 line = 1 ; column = 31 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 34 ; length = 2 line = 1 ; column = 33 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 37 ; length = 6 line = 1 ; column = 36 ; value ='float2'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 43 ; length = 1 line = 1 ; column = 42 ; value =';'; }
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 47 ; length = 7 line = 2 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 55 ; length = 6 line = 2 ; column = 8 ; value ='float3'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 62 ; length = 2 line = 2 ; column = 15 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 65 ; length = 1 line = 2 ; column = 18 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 66 ; length = 5 line = 2 ; column = 19 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 71 ; length = 1 line = 2 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 73 ; length = 5 line = 2 ; column = 26 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 78 ; length = 1 line = 2 ; column = 31 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 80 ; length = 5 line = 2 ; column = 33 ; value ='float'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 85 ; length = 1 line = 2 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 87 ; length = 2 line = 2 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 90 ; length = 6 line = 2 ; column = 43 ; value ='float3'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 96 ; length = 1 line = 2 ; column = 49 ; value =';'; }
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 100 ; length = 7 line = 3 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 108 ; length = 6 line = 3 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 115 ; length = 2 line = 3 ; column = 15 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 118 ; length = 1 line = 3 ; column = 18 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 119 ; length = 5 line = 3 ; column = 19 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 124 ; length = 1 line = 3 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 126 ; length = 5 line = 3 ; column = 26 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 131 ; length = 1 line = 3 ; column = 31 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 133 ; length = 5 line = 3 ; column = 33 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 138 ; length = 1 line = 3 ; column = 38 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 140 ; length = 5 line = 3 ; column = 40 ; value ='float'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 145 ; length = 1 line = 3 ; column = 45 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 147 ; length = 2 line = 3 ; column = 47 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 150 ; length = 6 line = 3 ; column = 50 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 156 ; length = 1 line = 3 ; column = 56 ; value =';'; }
|
||||
{kind = TOKEN_EOF; ; index = 159 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
96
test/lex/foreign_overload.golden
Normal file
96
test/lex/foreign_overload.golden
Normal file
@@ -0,0 +1,96 @@
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 1 ; length = 7 line = 1 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 9 ; length = 3 line = 1 ; column = 8 ; value ='mul'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 13 ; length = 2 line = 1 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 16 ; length = 1 line = 1 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 17 ; length = 6 line = 1 ; column = 16 ; value ='float2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 23 ; length = 1 line = 1 ; column = 22 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 25 ; length = 6 line = 1 ; column = 24 ; value ='float2'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 31 ; length = 1 line = 1 ; column = 30 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 33 ; length = 2 line = 1 ; column = 32 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 36 ; length = 6 line = 1 ; column = 35 ; value ='float2'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 42 ; length = 1 line = 1 ; column = 41 ; value =';'; }
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 46 ; length = 7 line = 2 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 54 ; length = 3 line = 2 ; column = 8 ; value ='mul'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 58 ; length = 2 line = 2 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 61 ; length = 1 line = 2 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 62 ; length = 6 line = 2 ; column = 16 ; value ='float3'; }
|
||||
{kind = TOKEN_COMMA; ; index = 68 ; length = 1 line = 2 ; column = 22 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 70 ; length = 6 line = 2 ; column = 24 ; value ='float3'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 76 ; length = 1 line = 2 ; column = 30 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 78 ; length = 2 line = 2 ; column = 32 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 81 ; length = 6 line = 2 ; column = 35 ; value ='float3'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 87 ; length = 1 line = 2 ; column = 41 ; value =';'; }
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 91 ; length = 7 line = 3 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 99 ; length = 3 line = 3 ; column = 8 ; value ='mul'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 103 ; length = 2 line = 3 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 106 ; length = 1 line = 3 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 107 ; length = 6 line = 3 ; column = 16 ; value ='float4'; }
|
||||
{kind = TOKEN_COMMA; ; index = 113 ; length = 1 line = 3 ; column = 22 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 115 ; length = 6 line = 3 ; column = 24 ; value ='float4'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 121 ; length = 1 line = 3 ; column = 30 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 123 ; length = 2 line = 3 ; column = 32 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 126 ; length = 6 line = 3 ; column = 35 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 132 ; length = 1 line = 3 ; column = 41 ; value =';'; }
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 136 ; length = 7 line = 4 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 144 ; length = 3 line = 4 ; column = 8 ; value ='mul'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 148 ; length = 2 line = 4 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 151 ; length = 1 line = 4 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 152 ; length = 8 line = 4 ; column = 16 ; value ='float4x4'; }
|
||||
{kind = TOKEN_COMMA; ; index = 160 ; length = 1 line = 4 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 162 ; length = 8 line = 4 ; column = 26 ; value ='float4x4'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 170 ; length = 1 line = 4 ; column = 34 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 172 ; length = 2 line = 4 ; column = 36 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 175 ; length = 8 line = 4 ; column = 39 ; value ='float4x4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 183 ; length = 1 line = 4 ; column = 47 ; value =';'; }
|
||||
{kind = TOKEN_DIRECTIVE; ; index = 189 ; length = 7 line = 6 ; column = 0 ; value ='foreign'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 197 ; length = 6 line = 6 ; column = 8 ; value ='float2'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 204 ; length = 2 line = 6 ; column = 15 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 207 ; length = 1 line = 6 ; column = 18 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 208 ; length = 5 line = 6 ; column = 19 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 213 ; length = 1 line = 6 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 215 ; length = 5 line = 6 ; column = 26 ; value ='float'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 220 ; length = 1 line = 6 ; column = 31 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 222 ; length = 2 line = 6 ; column = 33 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 225 ; length = 6 line = 6 ; column = 36 ; value ='float2'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 231 ; length = 1 line = 6 ; column = 42 ; value =';'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 236 ; length = 6 line = 8 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 243 ; length = 4 line = 8 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 248 ; length = 2 line = 8 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 251 ; length = 1 line = 8 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 252 ; length = 1 line = 8 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 254 ; length = 1 line = 8 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 258 ; length = 2 line = 9 ; column = 0 ; value ='v1'; }
|
||||
{kind = TOKEN_COLON; ; index = 261 ; length = 1 line = 9 ; column = 3 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 263 ; length = 6 line = 9 ; column = 5 ; value ='float2'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 270 ; length = 1 line = 9 ; column = 12 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 272 ; length = 6 line = 9 ; column = 14 ; value ='float2'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 278 ; length = 1 line = 9 ; column = 20 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 279 ; length = 3 line = 9 ; column = 21 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 282 ; length = 1 line = 9 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 284 ; length = 3 line = 9 ; column = 26 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 287 ; length = 1 line = 9 ; column = 29 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 288 ; length = 1 line = 9 ; column = 30 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 292 ; length = 2 line = 10 ; column = 0 ; value ='v2'; }
|
||||
{kind = TOKEN_COLON; ; index = 295 ; length = 1 line = 10 ; column = 3 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 297 ; length = 6 line = 10 ; column = 5 ; value ='float2'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 304 ; length = 1 line = 10 ; column = 12 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 306 ; length = 6 line = 10 ; column = 14 ; value ='float2'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 312 ; length = 1 line = 10 ; column = 20 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 313 ; length = 3 line = 10 ; column = 21 ; value ='3'; }
|
||||
{kind = TOKEN_COMMA; ; index = 316 ; length = 1 line = 10 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 318 ; length = 3 line = 10 ; column = 26 ; value ='3'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 321 ; length = 1 line = 10 ; column = 29 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 322 ; length = 1 line = 10 ; column = 30 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 328 ; length = 2 line = 12 ; column = 0 ; value ='v3'; }
|
||||
{kind = TOKEN_COLON; ; index = 331 ; length = 1 line = 12 ; column = 3 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 333 ; length = 6 line = 12 ; column = 5 ; value ='float2'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 340 ; length = 1 line = 12 ; column = 12 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 342 ; length = 3 line = 12 ; column = 14 ; value ='mul'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 345 ; length = 1 line = 12 ; column = 17 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 346 ; length = 2 line = 12 ; column = 18 ; value ='v1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 348 ; length = 1 line = 12 ; column = 20 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 350 ; length = 2 line = 12 ; column = 22 ; value ='v2'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 352 ; length = 1 line = 12 ; column = 24 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 353 ; length = 1 line = 12 ; column = 25 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 356 ; length = 1 line = 13 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 359 ; length = 0 line = 14 ; column = 0 ; value =''; }
|
||||
23
test/lex/function_call.golden
Normal file
23
test/lex/function_call.golden
Normal file
@@ -0,0 +1,23 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 7 ; length = 1 line = 1 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 8 ; length = 1 line = 1 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 10 ; length = 2 line = 1 ; column = 10 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 13 ; length = 3 line = 1 ; column = 13 ; value ='int'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 17 ; length = 1 line = 1 ; column = 17 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 21 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 28 ; length = 1 line = 2 ; column = 7 ; value ='4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 29 ; length = 1 line = 2 ; column = 8 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 32 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 37 ; length = 6 line = 5 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 44 ; length = 4 line = 5 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 49 ; length = 2 line = 5 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 52 ; length = 1 line = 5 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 53 ; length = 1 line = 5 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 55 ; length = 1 line = 5 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 59 ; length = 3 line = 6 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 62 ; length = 1 line = 6 ; column = 3 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 63 ; length = 1 line = 6 ; column = 4 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 64 ; length = 1 line = 6 ; column = 5 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 67 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 70 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
18
test/lex/function_call_out_of_order_declaration.golden
Normal file
18
test/lex/function_call_out_of_order_declaration.golden
Normal file
@@ -0,0 +1,18 @@
|
||||
{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_IDENTIFIER; ; index = 35 ; length = 3 line = 5 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 39 ; length = 2 line = 5 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 42 ; length = 1 line = 5 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 43 ; length = 1 line = 5 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 45 ; length = 1 line = 5 ; column = 10 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 50 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 53 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
31
test/lex/function_call_return.golden
Normal file
31
test/lex/function_call_return.golden
Normal file
@@ -0,0 +1,31 @@
|
||||
{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_RIGHTBRACE; ; index = 23 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 28 ; length = 5 line = 5 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 34 ; length = 4 line = 5 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 39 ; length = 2 line = 5 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 42 ; length = 1 line = 5 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 43 ; length = 1 line = 5 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 45 ; length = 2 line = 5 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 48 ; length = 6 line = 5 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 55 ; length = 1 line = 5 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 56 ; length = 7 line = 5 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 64 ; length = 1 line = 5 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 68 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 75 ; length = 6 line = 6 ; column = 7 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 81 ; length = 1 line = 6 ; column = 13 ; value ='('; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 82 ; length = 1 line = 6 ; column = 14 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 83 ; length = 1 line = 6 ; column = 15 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 85 ; length = 1 line = 6 ; column = 17 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 86 ; length = 1 line = 6 ; column = 18 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 88 ; length = 1 line = 6 ; column = 20 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 89 ; length = 1 line = 6 ; column = 21 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 91 ; length = 1 line = 6 ; column = 23 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 92 ; length = 1 line = 6 ; column = 24 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 93 ; length = 1 line = 6 ; column = 25 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 96 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 99 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
13
test/lex/function_with_int_return.golden
Normal file
13
test/lex/function_with_int_return.golden
Normal file
@@ -0,0 +1,13 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 28 ; length = 1 line = 1 ; column = 28 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 30 ; length = 2 line = 1 ; column = 30 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 33 ; length = 3 line = 1 ; column = 33 ; value ='int'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 37 ; length = 1 line = 1 ; column = 37 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 43 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 46 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
26
test/lex/functions_with_same_name.golden
Normal file
26
test/lex/functions_with_same_name.golden
Normal file
@@ -0,0 +1,26 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 7 ; length = 1 line = 1 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 8 ; length = 1 line = 1 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 10 ; length = 1 line = 1 ; column = 10 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 11 ; length = 1 line = 1 ; column = 11 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 14 ; length = 3 line = 2 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 18 ; length = 2 line = 2 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 21 ; length = 1 line = 2 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 22 ; length = 1 line = 2 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 24 ; length = 1 line = 2 ; column = 10 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 25 ; length = 1 line = 2 ; column = 11 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 28 ; length = 3 line = 3 ; column = 0 ; value ='bar'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 32 ; length = 2 line = 3 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 35 ; length = 1 line = 3 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 36 ; length = 1 line = 3 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 38 ; length = 1 line = 3 ; column = 10 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 39 ; length = 1 line = 3 ; column = 11 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 44 ; length = 6 line = 5 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 4 line = 5 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 56 ; length = 2 line = 5 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 59 ; length = 1 line = 5 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 60 ; length = 1 line = 5 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 62 ; length = 1 line = 5 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 67 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 70 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
60
test/lex/meta_block.golden
Normal file
60
test/lex/meta_block.golden
Normal file
@@ -0,0 +1,60 @@
|
||||
{kind = TOKEN_META; ; index = 0 ; length = 4 line = 1 ; column = 0 ; value ='meta'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 5 ; length = 1 line = 1 ; column = 5 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 9 ; length = 4 line = 2 ; column = 0 ; value ='name'; }
|
||||
{kind = TOKEN_COLON; ; index = 18 ; length = 1 line = 2 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 20 ; length = 8 line = 2 ; column = 11 ; value ='LitBasic'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 28 ; length = 1 line = 2 ; column = 19 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 32 ; length = 8 line = 3 ; column = 0 ; value ='category'; }
|
||||
{kind = TOKEN_COLON; ; index = 41 ; length = 1 line = 3 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 5 line = 3 ; column = 11 ; value ='Scene'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 48 ; length = 1 line = 3 ; column = 16 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 51 ; length = 1 line = 4 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PROPERTIES; ; index = 56 ; length = 10 line = 6 ; column = 0 ; value ='properties'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 67 ; length = 1 line = 6 ; column = 11 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 71 ; length = 5 line = 7 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 77 ; length = 1 line = 7 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 79 ; length = 6 line = 7 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 85 ; length = 1 line = 7 ; column = 14 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 88 ; length = 1 line = 8 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 93 ; length = 6 line = 10 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 100 ; length = 4 line = 10 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 105 ; length = 2 line = 10 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 108 ; length = 1 line = 10 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 109 ; length = 3 line = 10 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 113 ; length = 1 line = 10 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 115 ; length = 6 line = 10 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 122 ; length = 1 line = 10 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 123 ; length = 8 line = 10 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_COMMA; ; index = 131 ; length = 1 line = 10 ; column = 38 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 133 ; length = 2 line = 10 ; column = 40 ; value ='uv'; }
|
||||
{kind = TOKEN_COLON; ; index = 136 ; length = 1 line = 10 ; column = 43 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 138 ; length = 6 line = 10 ; column = 45 ; value ='float2'; }
|
||||
{kind = TOKEN_AT; ; index = 145 ; length = 1 line = 10 ; column = 52 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 146 ; length = 2 line = 10 ; column = 53 ; value ='uv'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 148 ; length = 1 line = 10 ; column = 55 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 150 ; length = 2 line = 10 ; column = 57 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 153 ; length = 6 line = 10 ; column = 60 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 160 ; length = 1 line = 10 ; column = 67 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 161 ; length = 8 line = 10 ; column = 68 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 170 ; length = 1 line = 10 ; column = 77 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 174 ; length = 6 line = 11 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 181 ; length = 3 line = 11 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 184 ; length = 1 line = 11 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 187 ; length = 1 line = 12 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 192 ; length = 5 line = 14 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 198 ; length = 4 line = 14 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 203 ; length = 2 line = 14 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 206 ; length = 1 line = 14 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 207 ; length = 1 line = 14 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 209 ; length = 2 line = 14 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 212 ; length = 6 line = 14 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 219 ; length = 1 line = 14 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 220 ; length = 7 line = 14 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 228 ; length = 1 line = 14 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 232 ; length = 6 line = 15 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_PROPERTIES; ; index = 239 ; length = 10 line = 15 ; column = 7 ; value ='properties'; }
|
||||
{kind = TOKEN_DOT; ; index = 249 ; length = 1 line = 15 ; column = 17 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 250 ; length = 5 line = 15 ; column = 18 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 255 ; length = 1 line = 15 ; column = 23 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 258 ; length = 1 line = 16 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 261 ; length = 0 line = 17 ; column = 0 ; value =''; }
|
||||
48
test/lex/multiple_functions.golden
Normal file
48
test/lex/multiple_functions.golden
Normal file
@@ -0,0 +1,48 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 7 ; length = 1 line = 1 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 8 ; length = 1 line = 1 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 10 ; length = 2 line = 1 ; column = 10 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 13 ; length = 3 line = 1 ; column = 13 ; value ='int'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 17 ; length = 1 line = 1 ; column = 17 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 21 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 28 ; length = 1 line = 2 ; column = 7 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 29 ; length = 1 line = 2 ; column = 8 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 32 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 37 ; length = 3 line = 5 ; column = 0 ; value ='bar'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 41 ; length = 2 line = 5 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 44 ; length = 1 line = 5 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 45 ; length = 1 line = 5 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 47 ; length = 2 line = 5 ; column = 10 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 50 ; length = 5 line = 5 ; column = 13 ; value ='float'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 56 ; length = 1 line = 5 ; column = 19 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 60 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 67 ; length = 6 line = 6 ; column = 7 ; value ='1235'; }
|
||||
{kind = TOKEN_STAR; ; index = 74 ; length = 1 line = 6 ; column = 14 ; value ='*'; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 76 ; length = 3 line = 6 ; column = 16 ; value ='500'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 79 ; length = 1 line = 6 ; column = 19 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 82 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 87 ; length = 6 line = 9 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 94 ; length = 4 line = 9 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 99 ; length = 2 line = 9 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 102 ; length = 1 line = 9 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 103 ; length = 1 line = 9 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 105 ; length = 1 line = 9 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 109 ; length = 1 line = 10 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 111 ; length = 1 line = 10 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 113 ; length = 3 line = 10 ; column = 4 ; value ='int'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 117 ; length = 1 line = 10 ; column = 8 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 119 ; length = 3 line = 10 ; column = 10 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 122 ; length = 1 line = 10 ; column = 13 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 123 ; length = 1 line = 10 ; column = 14 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 124 ; length = 1 line = 10 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 128 ; length = 1 line = 11 ; column = 0 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 130 ; length = 1 line = 11 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 132 ; length = 5 line = 11 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 138 ; length = 1 line = 11 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 140 ; length = 3 line = 11 ; column = 12 ; value ='bar'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 143 ; length = 1 line = 11 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 144 ; length = 1 line = 11 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 145 ; length = 1 line = 11 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 148 ; length = 1 line = 12 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 151 ; length = 0 line = 13 ; column = 0 ; value =''; }
|
||||
77
test/lex/multiple_semicolons_everywhere.golden
Normal file
77
test/lex/multiple_semicolons_everywhere.golden
Normal file
@@ -0,0 +1,77 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 29 ; length = 1 line = 1 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 8 line = 1 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 40 ; length = 2 line = 1 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 6 line = 1 ; column = 43 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 8 line = 1 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 60 ; length = 1 line = 1 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 64 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 71 ; length = 3 line = 2 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 74 ; length = 1 line = 2 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 75 ; length = 1 line = 2 ; column = 11 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 76 ; length = 1 line = 2 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 79 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 84 ; length = 3 line = 5 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 88 ; length = 2 line = 5 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 91 ; length = 1 line = 5 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 92 ; length = 1 line = 5 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 94 ; length = 2 line = 5 ; column = 10 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 97 ; length = 6 line = 5 ; column = 13 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 104 ; length = 1 line = 5 ; column = 20 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 108 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 115 ; length = 6 line = 6 ; column = 7 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 121 ; length = 1 line = 6 ; column = 13 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 122 ; length = 3 line = 6 ; column = 14 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 125 ; length = 1 line = 6 ; column = 17 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 127 ; length = 3 line = 6 ; column = 19 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 130 ; length = 1 line = 6 ; column = 22 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 132 ; length = 3 line = 6 ; column = 24 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 135 ; length = 1 line = 6 ; column = 27 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 137 ; length = 3 line = 6 ; column = 29 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 140 ; length = 1 line = 6 ; column = 32 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 141 ; length = 1 line = 6 ; column = 33 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 142 ; length = 1 line = 6 ; column = 34 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 143 ; length = 1 line = 6 ; column = 35 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 146 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 151 ; length = 5 line = 9 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 157 ; length = 4 line = 9 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 162 ; length = 2 line = 9 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 165 ; length = 1 line = 9 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 166 ; length = 1 line = 9 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 168 ; length = 2 line = 9 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 171 ; length = 6 line = 9 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 178 ; length = 1 line = 9 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 179 ; length = 7 line = 9 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 187 ; length = 1 line = 9 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 191 ; length = 1 line = 10 ; column = 0 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 193 ; length = 1 line = 10 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 195 ; length = 6 line = 10 ; column = 4 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 202 ; length = 1 line = 10 ; column = 11 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 204 ; length = 3 line = 10 ; column = 13 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 207 ; length = 1 line = 10 ; column = 16 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 208 ; length = 1 line = 10 ; column = 17 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 209 ; length = 1 line = 10 ; column = 18 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 210 ; length = 1 line = 10 ; column = 19 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 211 ; length = 1 line = 10 ; column = 20 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 212 ; length = 1 line = 10 ; column = 21 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 216 ; length = 1 line = 11 ; column = 0 ; value =';'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 217 ; length = 1 line = 11 ; column = 1 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 221 ; length = 5 line = 12 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 227 ; length = 1 line = 12 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 229 ; length = 6 line = 12 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 236 ; length = 1 line = 12 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 238 ; length = 1 line = 12 ; column = 17 ; value ='y'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 239 ; length = 1 line = 12 ; column = 18 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 243 ; length = 6 line = 13 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 250 ; length = 5 line = 13 ; column = 7 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 255 ; length = 1 line = 13 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 258 ; length = 1 line = 14 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 261 ; length = 0 line = 15 ; column = 0 ; value =''; }
|
||||
54
test/lex/pass_and_access_struct_fields_in_functions.golden
Normal file
54
test/lex/pass_and_access_struct_fields_in_functions.golden
Normal file
@@ -0,0 +1,54 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='Foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 7 ; length = 6 line = 1 ; column = 7 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 14 ; length = 1 line = 1 ; column = 14 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 18 ; length = 9 line = 2 ; column = 0 ; value ='some_data'; }
|
||||
{kind = TOKEN_COLON; ; index = 28 ; length = 1 line = 2 ; column = 10 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 5 line = 2 ; column = 12 ; value ='float'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 35 ; length = 1 line = 2 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 38 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 3 line = 5 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 47 ; length = 2 line = 5 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 50 ; length = 1 line = 5 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 1 line = 5 ; column = 8 ; value ='f'; }
|
||||
{kind = TOKEN_COLON; ; index = 53 ; length = 1 line = 5 ; column = 10 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 55 ; length = 3 line = 5 ; column = 12 ; value ='Foo'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 58 ; length = 1 line = 5 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 60 ; length = 2 line = 5 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 63 ; length = 5 line = 5 ; column = 20 ; value ='float'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 69 ; length = 1 line = 5 ; column = 26 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 73 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 80 ; length = 1 line = 6 ; column = 7 ; value ='f'; }
|
||||
{kind = TOKEN_DOT; ; index = 81 ; length = 1 line = 6 ; column = 8 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 82 ; length = 9 line = 6 ; column = 9 ; value ='some_data'; }
|
||||
{kind = TOKEN_STAR; ; index = 92 ; length = 1 line = 6 ; column = 19 ; value ='*'; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 94 ; length = 3 line = 6 ; column = 21 ; value ='2'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 97 ; length = 1 line = 6 ; column = 24 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 100 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 105 ; length = 6 line = 9 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 112 ; length = 4 line = 9 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 117 ; length = 2 line = 9 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 120 ; length = 1 line = 9 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 121 ; length = 1 line = 9 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 123 ; length = 1 line = 9 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 127 ; length = 1 line = 10 ; column = 0 ; value ='f'; }
|
||||
{kind = TOKEN_COLON; ; index = 129 ; length = 1 line = 10 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 131 ; length = 3 line = 10 ; column = 4 ; value ='Foo'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 134 ; length = 1 line = 10 ; column = 7 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 138 ; length = 1 line = 11 ; column = 0 ; value ='f'; }
|
||||
{kind = TOKEN_DOT; ; index = 139 ; length = 1 line = 11 ; column = 1 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 140 ; length = 9 line = 11 ; column = 2 ; value ='some_data'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 150 ; length = 1 line = 11 ; column = 12 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 152 ; length = 3 line = 11 ; column = 14 ; value ='4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 155 ; length = 1 line = 11 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 159 ; length = 1 line = 12 ; column = 0 ; value ='d'; }
|
||||
{kind = TOKEN_COLON; ; index = 161 ; length = 1 line = 12 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 163 ; length = 5 line = 12 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 169 ; length = 1 line = 12 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 171 ; length = 3 line = 12 ; column = 12 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 174 ; length = 1 line = 12 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 175 ; length = 1 line = 12 ; column = 16 ; value ='f'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 176 ; length = 1 line = 12 ; column = 17 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 177 ; length = 1 line = 12 ; column = 18 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 180 ; length = 1 line = 13 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 183 ; length = 0 line = 14 ; column = 0 ; value =''; }
|
||||
43
test/lex/passthrough.golden
Normal file
43
test/lex/passthrough.golden
Normal file
@@ -0,0 +1,43 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 29 ; length = 1 line = 1 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 8 line = 1 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 40 ; length = 2 line = 1 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 6 line = 1 ; column = 43 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 8 line = 1 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 60 ; length = 1 line = 1 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 64 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 71 ; length = 3 line = 2 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 74 ; length = 1 line = 2 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 77 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 82 ; length = 5 line = 5 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 88 ; length = 4 line = 5 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 93 ; length = 2 line = 5 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 96 ; length = 1 line = 5 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 97 ; length = 1 line = 5 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 99 ; length = 2 line = 5 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 102 ; length = 6 line = 5 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 109 ; length = 1 line = 5 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 110 ; length = 7 line = 5 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 118 ; length = 1 line = 5 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 122 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 129 ; length = 6 line = 6 ; column = 7 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 135 ; length = 1 line = 6 ; column = 13 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 136 ; length = 3 line = 6 ; column = 14 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 139 ; length = 1 line = 6 ; column = 17 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 141 ; length = 3 line = 6 ; column = 19 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 144 ; length = 1 line = 6 ; column = 22 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 146 ; length = 3 line = 6 ; column = 24 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 149 ; length = 1 line = 6 ; column = 27 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 151 ; length = 3 line = 6 ; column = 29 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 154 ; length = 1 line = 6 ; column = 32 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 155 ; length = 1 line = 6 ; column = 33 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 158 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 161 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
50
test/lex/precedence_test.golden
Normal file
50
test/lex/precedence_test.golden
Normal file
@@ -0,0 +1,50 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 5 line = 2 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 32 ; length = 1 line = 2 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 34 ; length = 3 line = 2 ; column = 12 ; value ='2'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 37 ; length = 1 line = 2 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 41 ; length = 1 line = 3 ; column = 0 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 43 ; length = 1 line = 3 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 45 ; length = 5 line = 3 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 51 ; length = 1 line = 3 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 53 ; length = 3 line = 3 ; column = 12 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 56 ; length = 1 line = 3 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 60 ; length = 1 line = 4 ; column = 0 ; value ='z'; }
|
||||
{kind = TOKEN_COLON; ; index = 62 ; length = 1 line = 4 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 64 ; length = 5 line = 4 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 70 ; length = 1 line = 4 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 72 ; length = 4 line = 4 ; column = 12 ; value ='10'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 76 ; length = 1 line = 4 ; column = 16 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 82 ; length = 1 line = 6 ; column = 0 ; value ='w'; }
|
||||
{kind = TOKEN_COLON; ; index = 84 ; length = 1 line = 6 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 86 ; length = 5 line = 6 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 92 ; length = 1 line = 6 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 94 ; length = 1 line = 6 ; column = 12 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 95 ; length = 1 line = 6 ; column = 13 ; value ='x'; }
|
||||
{kind = TOKEN_STAR; ; index = 97 ; length = 1 line = 6 ; column = 15 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 99 ; length = 1 line = 6 ; column = 17 ; value ='y'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 100 ; length = 1 line = 6 ; column = 18 ; value =')'; }
|
||||
{kind = TOKEN_PLUS; ; index = 102 ; length = 1 line = 6 ; column = 20 ; value ='+'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 104 ; length = 1 line = 6 ; column = 22 ; value ='y'; }
|
||||
{kind = TOKEN_STAR; ; index = 106 ; length = 1 line = 6 ; column = 24 ; value ='*'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 108 ; length = 1 line = 6 ; column = 26 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 109 ; length = 1 line = 6 ; column = 27 ; value ='z'; }
|
||||
{kind = TOKEN_MINUS; ; index = 111 ; length = 1 line = 6 ; column = 29 ; value ='-'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 113 ; length = 1 line = 6 ; column = 31 ; value ='x'; }
|
||||
{kind = TOKEN_SLASH; ; index = 115 ; length = 1 line = 6 ; column = 33 ; value ='/'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 117 ; length = 1 line = 6 ; column = 35 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 118 ; length = 1 line = 6 ; column = 36 ; value ='y'; }
|
||||
{kind = TOKEN_STAR; ; index = 120 ; length = 1 line = 6 ; column = 38 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 122 ; length = 1 line = 6 ; column = 40 ; value ='x'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 123 ; length = 1 line = 6 ; column = 41 ; value =')'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 124 ; length = 1 line = 6 ; column = 42 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 125 ; length = 1 line = 6 ; column = 43 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 128 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 131 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
45
test/lex/property_rename.golden
Normal file
45
test/lex/property_rename.golden
Normal file
@@ -0,0 +1,45 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 5 line = 1 ; column = 0 ; value ='props'; }
|
||||
{kind = TOKEN_COLON; ; index = 6 ; length = 1 line = 1 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_PROPERTIES; ; index = 8 ; length = 10 line = 1 ; column = 8 ; value ='properties'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 19 ; length = 1 line = 1 ; column = 19 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 23 ; length = 5 line = 2 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 29 ; length = 1 line = 2 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 31 ; length = 6 line = 2 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 37 ; length = 1 line = 2 ; column = 14 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 40 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 45 ; length = 6 line = 5 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 52 ; length = 4 line = 5 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 57 ; length = 2 line = 5 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 60 ; length = 1 line = 5 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 61 ; length = 3 line = 5 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 65 ; length = 1 line = 5 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 67 ; length = 6 line = 5 ; column = 22 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 74 ; length = 1 line = 5 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 75 ; length = 8 line = 5 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 83 ; length = 1 line = 5 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 85 ; length = 2 line = 5 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 88 ; length = 6 line = 5 ; column = 43 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 95 ; length = 1 line = 5 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 96 ; length = 8 line = 5 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 105 ; length = 1 line = 5 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 109 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 116 ; length = 3 line = 6 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 119 ; length = 1 line = 6 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 122 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 127 ; length = 5 line = 9 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 133 ; length = 4 line = 9 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 138 ; length = 2 line = 9 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 141 ; length = 1 line = 9 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 142 ; length = 1 line = 9 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 144 ; length = 2 line = 9 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 147 ; length = 6 line = 9 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 154 ; length = 1 line = 9 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 155 ; length = 7 line = 9 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 163 ; length = 1 line = 9 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 169 ; length = 6 line = 10 ; column = 2 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 176 ; length = 5 line = 10 ; column = 9 ; value ='props'; }
|
||||
{kind = TOKEN_DOT; ; index = 181 ; length = 1 line = 10 ; column = 14 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 182 ; length = 5 line = 10 ; column = 15 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 187 ; length = 1 line = 10 ; column = 20 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 190 ; length = 1 line = 11 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 193 ; length = 0 line = 12 ; column = 0 ; value =''; }
|
||||
20
test/lex/redeclared_variable.golden
Normal file
20
test/lex/redeclared_variable.golden
Normal file
@@ -0,0 +1,20 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 5 line = 2 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 32 ; length = 1 line = 2 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 34 ; length = 3 line = 2 ; column = 12 ; value ='1'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 37 ; length = 1 line = 2 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 41 ; length = 1 line = 3 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 43 ; length = 1 line = 3 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 45 ; length = 5 line = 3 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 51 ; length = 1 line = 3 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 53 ; length = 3 line = 3 ; column = 12 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 56 ; length = 1 line = 3 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 59 ; length = 1 line = 4 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 62 ; length = 0 line = 5 ; column = 0 ; value =''; }
|
||||
29
test/lex/simple_struct_access.golden
Normal file
29
test/lex/simple_struct_access.golden
Normal file
@@ -0,0 +1,29 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 4 line = 1 ; column = 0 ; value ='Data'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 5 ; length = 2 line = 1 ; column = 5 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 8 ; length = 6 line = 1 ; column = 8 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 15 ; length = 1 line = 1 ; column = 15 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 19 ; length = 5 line = 2 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 25 ; length = 1 line = 2 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 27 ; length = 6 line = 2 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 33 ; length = 1 line = 2 ; column = 14 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 36 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 41 ; length = 6 line = 5 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 48 ; length = 4 line = 5 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 53 ; length = 2 line = 5 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 56 ; length = 1 line = 5 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 57 ; length = 1 line = 5 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 59 ; length = 1 line = 5 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 63 ; length = 1 line = 6 ; column = 0 ; value ='d'; }
|
||||
{kind = TOKEN_COLON; ; index = 65 ; length = 1 line = 6 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 67 ; length = 4 line = 6 ; column = 4 ; value ='Data'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 71 ; length = 1 line = 6 ; column = 8 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 75 ; length = 1 line = 7 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 77 ; length = 1 line = 7 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 79 ; length = 6 line = 7 ; column = 4 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 86 ; length = 1 line = 7 ; column = 11 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 88 ; length = 1 line = 7 ; column = 13 ; value ='d'; }
|
||||
{kind = TOKEN_DOT; ; index = 89 ; length = 1 line = 7 ; column = 14 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 90 ; length = 5 line = 7 ; column = 15 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 95 ; length = 1 line = 7 ; column = 20 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 98 ; length = 1 line = 8 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 101 ; length = 0 line = 9 ; column = 0 ; value =''; }
|
||||
20
test/lex/struct_access_primitive_type.golden
Normal file
20
test/lex/struct_access_primitive_type.golden
Normal file
@@ -0,0 +1,20 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 3 line = 2 ; column = 4 ; value ='int'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 30 ; length = 1 line = 2 ; column = 8 ; value ='='; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 32 ; length = 1 line = 2 ; column = 10 ; value ='5'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 33 ; length = 1 line = 2 ; column = 11 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 37 ; length = 1 line = 3 ; column = 0 ; value ='x'; }
|
||||
{kind = TOKEN_DOT; ; index = 38 ; length = 1 line = 3 ; column = 1 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 39 ; length = 1 line = 3 ; column = 2 ; value ='d'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 41 ; length = 1 line = 3 ; column = 4 ; value ='='; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 43 ; length = 1 line = 3 ; column = 6 ; value ='4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 44 ; length = 1 line = 3 ; column = 7 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 47 ; length = 1 line = 4 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 50 ; length = 0 line = 5 ; column = 0 ; value =''; }
|
||||
167
test/lex/struct_field_access_test.golden
Normal file
167
test/lex/struct_field_access_test.golden
Normal file
@@ -0,0 +1,167 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 10 line = 1 ; column = 0 ; value ='Vertex_Out'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 11 ; length = 2 line = 1 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 14 ; length = 6 line = 1 ; column = 14 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 21 ; length = 1 line = 1 ; column = 21 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 25 ; length = 8 line = 2 ; column = 0 ; value ='position'; }
|
||||
{kind = TOKEN_COLON; ; index = 34 ; length = 1 line = 2 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 36 ; length = 6 line = 2 ; column = 11 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 43 ; length = 1 line = 2 ; column = 18 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 44 ; length = 8 line = 2 ; column = 19 ; value ='position'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 52 ; length = 1 line = 2 ; column = 27 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 56 ; length = 6 line = 3 ; column = 0 ; value ='normal'; }
|
||||
{kind = TOKEN_COLON; ; index = 65 ; length = 1 line = 3 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 67 ; length = 6 line = 3 ; column = 11 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 74 ; length = 1 line = 3 ; column = 18 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 75 ; length = 6 line = 3 ; column = 19 ; value ='normal'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 81 ; length = 1 line = 3 ; column = 25 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 85 ; length = 2 line = 4 ; column = 0 ; value ='uv'; }
|
||||
{kind = TOKEN_COLON; ; index = 94 ; length = 1 line = 4 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 96 ; length = 6 line = 4 ; column = 11 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 103 ; length = 1 line = 4 ; column = 18 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 104 ; length = 2 line = 4 ; column = 19 ; value ='uv'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 106 ; length = 1 line = 4 ; column = 21 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 110 ; length = 8 line = 5 ; column = 0 ; value ='frag_pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 119 ; length = 1 line = 5 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 121 ; length = 6 line = 5 ; column = 11 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 128 ; length = 1 line = 5 ; column = 18 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 129 ; length = 6 line = 5 ; column = 19 ; value ='interp'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 135 ; length = 1 line = 5 ; column = 25 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 138 ; length = 1 line = 6 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_INSTANCE; ; index = 143 ; length = 8 line = 8 ; column = 0 ; value ='instance'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 152 ; length = 1 line = 8 ; column = 9 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 156 ; length = 5 line = 9 ; column = 0 ; value ='model'; }
|
||||
{kind = TOKEN_COLON; ; index = 162 ; length = 1 line = 9 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 164 ; length = 8 line = 9 ; column = 8 ; value ='float4x4'; }
|
||||
{kind = TOKEN_AT; ; index = 173 ; length = 1 line = 9 ; column = 17 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 174 ; length = 5 line = 9 ; column = 18 ; value ='model'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 179 ; length = 1 line = 9 ; column = 23 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 182 ; length = 1 line = 10 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 187 ; length = 6 line = 12 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 194 ; length = 4 line = 12 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 199 ; length = 2 line = 12 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 202 ; length = 1 line = 12 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 203 ; length = 8 line = 12 ; column = 16 ; value ='position'; }
|
||||
{kind = TOKEN_COLON; ; index = 212 ; length = 1 line = 12 ; column = 25 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 214 ; length = 6 line = 12 ; column = 27 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 221 ; length = 1 line = 12 ; column = 34 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 222 ; length = 8 line = 12 ; column = 35 ; value ='position'; }
|
||||
{kind = TOKEN_COMMA; ; index = 230 ; length = 1 line = 12 ; column = 43 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 232 ; length = 2 line = 12 ; column = 45 ; value ='uv'; }
|
||||
{kind = TOKEN_COLON; ; index = 235 ; length = 1 line = 12 ; column = 48 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 237 ; length = 6 line = 12 ; column = 50 ; value ='float2'; }
|
||||
{kind = TOKEN_AT; ; index = 244 ; length = 1 line = 12 ; column = 57 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 245 ; length = 2 line = 12 ; column = 58 ; value ='uv'; }
|
||||
{kind = TOKEN_COMMA; ; index = 247 ; length = 1 line = 12 ; column = 60 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 249 ; length = 6 line = 12 ; column = 62 ; value ='normal'; }
|
||||
{kind = TOKEN_COLON; ; index = 256 ; length = 1 line = 12 ; column = 69 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 258 ; length = 6 line = 12 ; column = 71 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 265 ; length = 1 line = 12 ; column = 78 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 266 ; length = 6 line = 12 ; column = 79 ; value ='normal'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 272 ; length = 1 line = 12 ; column = 85 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 274 ; length = 2 line = 12 ; column = 87 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 277 ; length = 10 line = 12 ; column = 90 ; value ='Vertex_Out'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 288 ; length = 1 line = 12 ; column = 101 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 292 ; length = 5 line = 13 ; column = 0 ; value ='v_out'; }
|
||||
{kind = TOKEN_COLON; ; index = 298 ; length = 1 line = 13 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 300 ; length = 10 line = 13 ; column = 8 ; value ='Vertex_Out'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 310 ; length = 1 line = 13 ; column = 18 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 316 ; length = 5 line = 15 ; column = 0 ; value ='v_out'; }
|
||||
{kind = TOKEN_DOT; ; index = 321 ; length = 1 line = 15 ; column = 5 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 322 ; length = 8 line = 15 ; column = 6 ; value ='position'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 331 ; length = 1 line = 15 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 333 ; length = 3 line = 15 ; column = 17 ; value ='mul'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 336 ; length = 1 line = 15 ; column = 20 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 337 ; length = 8 line = 15 ; column = 21 ; value ='position'; }
|
||||
{kind = TOKEN_COMMA; ; index = 345 ; length = 1 line = 15 ; column = 29 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 347 ; length = 5 line = 15 ; column = 31 ; value ='model'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 352 ; length = 1 line = 15 ; column = 36 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 353 ; length = 1 line = 15 ; column = 37 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 357 ; length = 5 line = 16 ; column = 0 ; value ='v_out'; }
|
||||
{kind = TOKEN_DOT; ; index = 362 ; length = 1 line = 16 ; column = 5 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 363 ; length = 6 line = 16 ; column = 6 ; value ='normal'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 372 ; length = 1 line = 16 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 374 ; length = 6 line = 16 ; column = 17 ; value ='normal'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 380 ; length = 1 line = 16 ; column = 23 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 384 ; length = 5 line = 17 ; column = 0 ; value ='v_out'; }
|
||||
{kind = TOKEN_DOT; ; index = 389 ; length = 1 line = 17 ; column = 5 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 390 ; length = 2 line = 17 ; column = 6 ; value ='uv'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 399 ; length = 1 line = 17 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 401 ; length = 2 line = 17 ; column = 17 ; value ='uv'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 403 ; length = 1 line = 17 ; column = 19 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 407 ; length = 5 line = 18 ; column = 0 ; value ='v_out'; }
|
||||
{kind = TOKEN_DOT; ; index = 412 ; length = 1 line = 18 ; column = 5 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 413 ; length = 8 line = 18 ; column = 6 ; value ='frag_pos'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 422 ; length = 1 line = 18 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 424 ; length = 8 line = 18 ; column = 17 ; value ='position'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 432 ; length = 1 line = 18 ; column = 25 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 438 ; length = 6 line = 20 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 445 ; length = 5 line = 20 ; column = 7 ; value ='v_out'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 450 ; length = 1 line = 20 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 453 ; length = 1 line = 21 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 458 ; length = 9 line = 23 ; column = 0 ; value ='Pixel_Out'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 468 ; length = 2 line = 23 ; column = 10 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 471 ; length = 6 line = 23 ; column = 13 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 478 ; length = 1 line = 23 ; column = 20 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 482 ; length = 5 line = 24 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 491 ; length = 1 line = 24 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 493 ; length = 6 line = 24 ; column = 11 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 500 ; length = 1 line = 24 ; column = 18 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 501 ; length = 7 line = 24 ; column = 19 ; value ='target0'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 508 ; length = 1 line = 24 ; column = 26 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 512 ; length = 8 line = 25 ; column = 0 ; value ='emission'; }
|
||||
{kind = TOKEN_COLON; ; index = 521 ; length = 1 line = 25 ; column = 9 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 523 ; length = 6 line = 25 ; column = 11 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 530 ; length = 1 line = 25 ; column = 18 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 531 ; length = 7 line = 25 ; column = 19 ; value ='target1'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 538 ; length = 1 line = 25 ; column = 26 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 541 ; length = 1 line = 26 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 546 ; length = 5 line = 28 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 552 ; length = 4 line = 28 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 557 ; length = 2 line = 28 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 560 ; length = 1 line = 28 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 561 ; length = 4 line = 28 ; column = 15 ; value ='v_in'; }
|
||||
{kind = TOKEN_COLON; ; index = 566 ; length = 1 line = 28 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 568 ; length = 10 line = 28 ; column = 22 ; value ='Vertex_Out'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 578 ; length = 1 line = 28 ; column = 32 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 580 ; length = 2 line = 28 ; column = 34 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 583 ; length = 9 line = 28 ; column = 37 ; value ='Pixel_Out'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 593 ; length = 1 line = 28 ; column = 47 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 597 ; length = 5 line = 29 ; column = 0 ; value ='p_out'; }
|
||||
{kind = TOKEN_COLON; ; index = 603 ; length = 1 line = 29 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 605 ; length = 9 line = 29 ; column = 8 ; value ='Pixel_Out'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 614 ; length = 1 line = 29 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 620 ; length = 5 line = 31 ; column = 0 ; value ='p_out'; }
|
||||
{kind = TOKEN_DOT; ; index = 625 ; length = 1 line = 31 ; column = 5 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 626 ; length = 5 line = 31 ; column = 6 ; value ='color'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 635 ; length = 1 line = 31 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 637 ; length = 6 line = 31 ; column = 17 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 643 ; length = 1 line = 31 ; column = 23 ; value ='('; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 644 ; length = 1 line = 31 ; column = 24 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 645 ; length = 1 line = 31 ; column = 25 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 647 ; length = 3 line = 31 ; column = 27 ; value ='0.5'; }
|
||||
{kind = TOKEN_COMMA; ; index = 650 ; length = 1 line = 31 ; column = 30 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 652 ; length = 1 line = 31 ; column = 32 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 653 ; length = 1 line = 31 ; column = 33 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 655 ; length = 1 line = 31 ; column = 35 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 656 ; length = 1 line = 31 ; column = 36 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 657 ; length = 1 line = 31 ; column = 37 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 661 ; length = 5 line = 32 ; column = 0 ; value ='p_out'; }
|
||||
{kind = TOKEN_DOT; ; index = 666 ; length = 1 line = 32 ; column = 5 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 667 ; length = 8 line = 32 ; column = 6 ; value ='emission'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 676 ; length = 1 line = 32 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 678 ; length = 6 line = 32 ; column = 17 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 684 ; length = 1 line = 32 ; column = 23 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 685 ; length = 3 line = 32 ; column = 24 ; value ='2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 688 ; length = 1 line = 32 ; column = 27 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 690 ; length = 3 line = 32 ; column = 29 ; value ='2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 693 ; length = 1 line = 32 ; column = 32 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 695 ; length = 3 line = 32 ; column = 34 ; value ='2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 698 ; length = 1 line = 32 ; column = 37 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 700 ; length = 3 line = 32 ; column = 39 ; value ='2'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 703 ; length = 1 line = 32 ; column = 42 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 704 ; length = 1 line = 32 ; column = 43 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 710 ; length = 6 line = 34 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 717 ; length = 5 line = 34 ; column = 7 ; value ='p_out'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 722 ; length = 1 line = 34 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 725 ; length = 1 line = 35 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 728 ; length = 0 line = 36 ; column = 0 ; value =''; }
|
||||
40
test/lex/struct_within_struct.golden
Normal file
40
test/lex/struct_within_struct.golden
Normal file
@@ -0,0 +1,40 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='Foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 7 ; length = 6 line = 1 ; column = 7 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 14 ; length = 1 line = 1 ; column = 14 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 18 ; length = 5 line = 2 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 6 line = 2 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 32 ; length = 1 line = 2 ; column = 14 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 35 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 40 ; length = 3 line = 5 ; column = 0 ; value ='Bar'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 44 ; length = 2 line = 5 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 47 ; length = 6 line = 5 ; column = 7 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 54 ; length = 1 line = 5 ; column = 14 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 61 ; length = 1 line = 6 ; column = 4 ; value ='t'; }
|
||||
{kind = TOKEN_COLON; ; index = 63 ; length = 1 line = 6 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 65 ; length = 3 line = 6 ; column = 8 ; value ='Foo'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 68 ; length = 1 line = 6 ; column = 11 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 71 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 76 ; length = 6 line = 9 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 83 ; length = 4 line = 9 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 88 ; length = 2 line = 9 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 91 ; length = 1 line = 9 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 92 ; length = 1 line = 9 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 94 ; length = 1 line = 9 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 98 ; length = 1 line = 10 ; column = 0 ; value ='f'; }
|
||||
{kind = TOKEN_COLON; ; index = 100 ; length = 1 line = 10 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 102 ; length = 3 line = 10 ; column = 4 ; value ='Foo'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 105 ; length = 1 line = 10 ; column = 7 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 109 ; length = 1 line = 11 ; column = 0 ; value ='b'; }
|
||||
{kind = TOKEN_COLON; ; index = 111 ; length = 1 line = 11 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 113 ; length = 3 line = 11 ; column = 4 ; value ='Bar'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 116 ; length = 1 line = 11 ; column = 7 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 120 ; length = 1 line = 12 ; column = 0 ; value ='b'; }
|
||||
{kind = TOKEN_DOT; ; index = 121 ; length = 1 line = 12 ; column = 1 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 122 ; length = 1 line = 12 ; column = 2 ; value ='t'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 124 ; length = 1 line = 12 ; column = 4 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 126 ; length = 1 line = 12 ; column = 6 ; value ='f'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 127 ; length = 1 line = 12 ; column = 7 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 130 ; length = 1 line = 13 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 133 ; length = 0 line = 14 ; column = 0 ; value =''; }
|
||||
7
test/lex/type_as_function_name.golden
Normal file
7
test/lex/type_as_function_name.golden
Normal file
@@ -0,0 +1,7 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='int'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 7 ; length = 1 line = 1 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 8 ; length = 1 line = 1 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 10 ; length = 1 line = 1 ; column = 10 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 11 ; length = 1 line = 1 ; column = 11 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 14 ; length = 0 line = 2 ; column = 0 ; value =''; }
|
||||
14
test/lex/type_as_variable_name.golden
Normal file
14
test/lex/type_as_variable_name.golden
Normal file
@@ -0,0 +1,14 @@
|
||||
{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 ='int'; }
|
||||
{kind = TOKEN_COLON; ; index = 26 ; length = 1 line = 2 ; column = 4 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 28 ; length = 5 line = 2 ; column = 6 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 34 ; length = 1 line = 2 ; column = 12 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 36 ; length = 3 line = 2 ; column = 14 ; value ='4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 39 ; length = 1 line = 2 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 42 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 45 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
12
test/lex/undeclared_function.golden
Normal file
12
test/lex/undeclared_function.golden
Normal file
@@ -0,0 +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 =''; }
|
||||
14
test/lex/undeclared_symbol.golden
Normal file
14
test/lex/undeclared_symbol.golden
Normal file
@@ -0,0 +1,14 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='b'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 3 line = 2 ; column = 4 ; value ='int'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 30 ; length = 1 line = 2 ; column = 8 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 32 ; length = 1 line = 2 ; column = 10 ; value ='f'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 33 ; length = 1 line = 2 ; column = 11 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 36 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 39 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
51
test/lex/unknown_overload.golden
Normal file
51
test/lex/unknown_overload.golden
Normal file
@@ -0,0 +1,51 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 7 ; length = 1 line = 1 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 8 ; length = 2 line = 1 ; column = 8 ; value ='v1'; }
|
||||
{kind = TOKEN_COLON; ; index = 11 ; length = 1 line = 1 ; column = 11 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 13 ; length = 6 line = 1 ; column = 13 ; value ='float3'; }
|
||||
{kind = TOKEN_COMMA; ; index = 19 ; length = 1 line = 1 ; column = 19 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 21 ; length = 2 line = 1 ; column = 21 ; value ='v2'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 1 ; column = 24 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 6 line = 1 ; column = 26 ; value ='float3'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 32 ; length = 1 line = 1 ; column = 32 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 34 ; length = 1 line = 1 ; column = 34 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 35 ; length = 1 line = 1 ; column = 35 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 38 ; length = 3 line = 2 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 42 ; length = 2 line = 2 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 45 ; length = 1 line = 2 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 46 ; length = 2 line = 2 ; column = 8 ; value ='v1'; }
|
||||
{kind = TOKEN_COLON; ; index = 49 ; length = 1 line = 2 ; column = 11 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 6 line = 2 ; column = 13 ; value ='float2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 57 ; length = 1 line = 2 ; column = 19 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 59 ; length = 2 line = 2 ; column = 21 ; value ='v2'; }
|
||||
{kind = TOKEN_COLON; ; index = 62 ; length = 1 line = 2 ; column = 24 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 64 ; length = 6 line = 2 ; column = 26 ; value ='float2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 70 ; length = 1 line = 2 ; column = 32 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 72 ; length = 2 line = 2 ; column = 34 ; value ='v3'; }
|
||||
{kind = TOKEN_COLON; ; index = 75 ; length = 1 line = 2 ; column = 37 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 77 ; length = 6 line = 2 ; column = 39 ; value ='float2'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 83 ; length = 1 line = 2 ; column = 45 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 85 ; length = 1 line = 2 ; column = 47 ; value ='{'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 86 ; length = 1 line = 2 ; column = 48 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 91 ; length = 6 line = 4 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 98 ; length = 4 line = 4 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 103 ; length = 2 line = 4 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 106 ; length = 1 line = 4 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 107 ; length = 1 line = 4 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 109 ; length = 1 line = 4 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 113 ; length = 1 line = 5 ; column = 0 ; value ='v'; }
|
||||
{kind = TOKEN_COLON; ; index = 115 ; length = 1 line = 5 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 117 ; length = 5 line = 5 ; column = 4 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 123 ; length = 1 line = 5 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 125 ; length = 3 line = 5 ; column = 12 ; value ='2'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 128 ; length = 1 line = 5 ; column = 15 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 132 ; length = 3 line = 6 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 135 ; length = 1 line = 6 ; column = 3 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 136 ; length = 1 line = 6 ; column = 4 ; value ='v'; }
|
||||
{kind = TOKEN_COMMA; ; index = 137 ; length = 1 line = 6 ; column = 5 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 139 ; length = 1 line = 6 ; column = 7 ; value ='v'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 140 ; length = 1 line = 6 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 141 ; length = 1 line = 6 ; column = 9 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 144 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 147 ; length = 0 line = 8 ; column = 0 ; value =''; }
|
||||
23
test/lex/use_builtin_functions.golden
Normal file
23
test/lex/use_builtin_functions.golden
Normal file
@@ -0,0 +1,23 @@
|
||||
{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 = 1 line = 2 ; column = 0 ; value ='f'; }
|
||||
{kind = TOKEN_COLON; ; index = 24 ; length = 1 line = 2 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 26 ; length = 6 line = 2 ; column = 4 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 33 ; length = 1 line = 2 ; column = 11 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 35 ; length = 6 line = 2 ; column = 13 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 41 ; length = 1 line = 2 ; column = 19 ; value ='('; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 42 ; length = 1 line = 2 ; column = 20 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 43 ; length = 1 line = 2 ; column = 21 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 45 ; length = 1 line = 2 ; column = 23 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 46 ; length = 1 line = 2 ; column = 24 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 48 ; length = 1 line = 2 ; column = 26 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 49 ; length = 1 line = 2 ; column = 27 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 51 ; length = 1 line = 2 ; column = 29 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 52 ; length = 1 line = 2 ; column = 30 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 53 ; length = 1 line = 2 ; column = 31 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 56 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 59 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
73
test/lex/wrong_argument_count.golden
Normal file
73
test/lex/wrong_argument_count.golden
Normal file
@@ -0,0 +1,73 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 3 line = 1 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 4 ; length = 2 line = 1 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 7 ; length = 1 line = 1 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 8 ; length = 1 line = 1 ; column = 8 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 10 ; length = 1 line = 1 ; column = 10 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 12 ; length = 5 line = 1 ; column = 12 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 17 ; length = 1 line = 1 ; column = 17 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 19 ; length = 1 line = 1 ; column = 19 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 21 ; length = 1 line = 1 ; column = 21 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 23 ; length = 5 line = 1 ; column = 23 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 28 ; length = 1 line = 1 ; column = 28 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 1 line = 1 ; column = 30 ; value ='z'; }
|
||||
{kind = TOKEN_COLON; ; index = 32 ; length = 1 line = 1 ; column = 32 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 34 ; length = 5 line = 1 ; column = 34 ; value ='float'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 39 ; length = 1 line = 1 ; column = 39 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 41 ; length = 2 line = 1 ; column = 41 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 44 ; length = 5 line = 1 ; column = 44 ; value ='float'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 54 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 61 ; length = 1 line = 2 ; column = 7 ; value ='x'; }
|
||||
{kind = TOKEN_STAR; ; index = 63 ; length = 1 line = 2 ; column = 9 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 65 ; length = 1 line = 2 ; column = 11 ; value ='y'; }
|
||||
{kind = TOKEN_STAR; ; index = 67 ; length = 1 line = 2 ; column = 13 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 69 ; length = 1 line = 2 ; column = 15 ; value ='z'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 70 ; length = 1 line = 2 ; column = 16 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 73 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 76 ; length = 3 line = 4 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 80 ; length = 2 line = 4 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 83 ; length = 1 line = 4 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 84 ; length = 1 line = 4 ; column = 8 ; value ='x'; }
|
||||
{kind = TOKEN_COLON; ; index = 86 ; length = 1 line = 4 ; column = 10 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 88 ; length = 5 line = 4 ; column = 12 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 93 ; length = 1 line = 4 ; column = 17 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 95 ; length = 1 line = 4 ; column = 19 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 97 ; length = 1 line = 4 ; column = 21 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 99 ; length = 5 line = 4 ; column = 23 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 104 ; length = 1 line = 4 ; column = 28 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 106 ; length = 1 line = 4 ; column = 30 ; value ='z'; }
|
||||
{kind = TOKEN_COLON; ; index = 108 ; length = 1 line = 4 ; column = 32 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 110 ; length = 5 line = 4 ; column = 34 ; value ='float'; }
|
||||
{kind = TOKEN_COMMA; ; index = 115 ; length = 1 line = 4 ; column = 39 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 117 ; length = 1 line = 4 ; column = 41 ; value ='w'; }
|
||||
{kind = TOKEN_COLON; ; index = 119 ; length = 1 line = 4 ; column = 43 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 121 ; length = 5 line = 4 ; column = 45 ; value ='float'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 126 ; length = 1 line = 4 ; column = 50 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 128 ; length = 2 line = 4 ; column = 52 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 131 ; length = 5 line = 4 ; column = 55 ; value ='float'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 137 ; length = 1 line = 4 ; column = 61 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 141 ; length = 6 line = 5 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 148 ; length = 1 line = 5 ; column = 7 ; value ='x'; }
|
||||
{kind = TOKEN_STAR; ; index = 150 ; length = 1 line = 5 ; column = 9 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 152 ; length = 1 line = 5 ; column = 11 ; value ='y'; }
|
||||
{kind = TOKEN_STAR; ; index = 154 ; length = 1 line = 5 ; column = 13 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 156 ; length = 1 line = 5 ; column = 15 ; value ='z'; }
|
||||
{kind = TOKEN_STAR; ; index = 158 ; length = 1 line = 5 ; column = 17 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 160 ; length = 1 line = 5 ; column = 19 ; value ='w'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 161 ; length = 1 line = 5 ; column = 20 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 164 ; length = 1 line = 6 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 169 ; length = 6 line = 8 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 176 ; length = 4 line = 8 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 181 ; length = 2 line = 8 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 184 ; length = 1 line = 8 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 185 ; length = 1 line = 8 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 187 ; length = 1 line = 8 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 191 ; length = 3 line = 9 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 194 ; length = 1 line = 9 ; column = 3 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 195 ; length = 3 line = 9 ; column = 4 ; value ='2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 198 ; length = 1 line = 9 ; column = 7 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 200 ; length = 3 line = 9 ; column = 9 ; value ='3'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 203 ; length = 1 line = 9 ; column = 12 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 204 ; length = 1 line = 9 ; column = 13 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 207 ; length = 1 line = 10 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 212 ; length = 0 line = 12 ; column = 0 ; value =''; }
|
||||
54
test/lex/wrong_multiply.golden
Normal file
54
test/lex/wrong_multiply.golden
Normal file
@@ -0,0 +1,54 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 29 ; length = 1 line = 1 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 8 line = 1 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 40 ; length = 2 line = 1 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 6 line = 1 ; column = 43 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 8 line = 1 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 60 ; length = 1 line = 1 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 64 ; length = 3 line = 2 ; column = 0 ; value ='res'; }
|
||||
{kind = TOKEN_COLON; ; index = 68 ; length = 1 line = 2 ; column = 4 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 70 ; length = 6 line = 2 ; column = 6 ; value ='float2'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 77 ; length = 1 line = 2 ; column = 13 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 79 ; length = 6 line = 2 ; column = 15 ; value ='float2'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 85 ; length = 1 line = 2 ; column = 21 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 86 ; length = 3 line = 2 ; column = 22 ; value ='2'; }
|
||||
{kind = TOKEN_COMMA; ; index = 89 ; length = 1 line = 2 ; column = 25 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 91 ; length = 3 line = 2 ; column = 27 ; value ='2'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 94 ; length = 1 line = 2 ; column = 30 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 95 ; length = 1 line = 2 ; column = 31 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 99 ; length = 3 line = 3 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_COLON; ; index = 103 ; length = 1 line = 3 ; column = 4 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 105 ; length = 5 line = 3 ; column = 6 ; value ='float'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 111 ; length = 1 line = 3 ; column = 12 ; value ='='; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 113 ; length = 3 line = 3 ; column = 14 ; value ='1'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 116 ; length = 1 line = 3 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 120 ; length = 6 line = 4 ; column = 0 ; value ='result'; }
|
||||
{kind = TOKEN_COLON; ; index = 127 ; length = 1 line = 4 ; column = 7 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 129 ; length = 6 line = 4 ; column = 9 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 136 ; length = 1 line = 4 ; column = 16 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 138 ; length = 6 line = 4 ; column = 18 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 144 ; length = 1 line = 4 ; column = 24 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 145 ; length = 3 line = 4 ; column = 25 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 148 ; length = 1 line = 4 ; column = 28 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 150 ; length = 3 line = 4 ; column = 30 ; value ='foo'; }
|
||||
{kind = TOKEN_STAR; ; index = 154 ; length = 1 line = 4 ; column = 34 ; value ='*'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 156 ; length = 3 line = 4 ; column = 36 ; value ='res'; }
|
||||
{kind = TOKEN_COMMA; ; index = 159 ; length = 1 line = 4 ; column = 39 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 161 ; length = 3 line = 4 ; column = 41 ; value ='0'; }
|
||||
{kind = TOKEN_COMMA; ; index = 164 ; length = 1 line = 4 ; column = 44 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 166 ; length = 3 line = 4 ; column = 46 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 169 ; length = 1 line = 4 ; column = 49 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 170 ; length = 1 line = 4 ; column = 50 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 174 ; length = 6 line = 5 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 181 ; length = 6 line = 5 ; column = 7 ; value ='result'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 187 ; length = 1 line = 5 ; column = 13 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 190 ; length = 1 line = 6 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 193 ; length = 0 line = 7 ; column = 0 ; value =''; }
|
||||
73
test/lex/wrong_type_for_function.golden
Normal file
73
test/lex/wrong_type_for_function.golden
Normal file
@@ -0,0 +1,73 @@
|
||||
{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_IDENTIFIER; ; index = 16 ; length = 3 line = 1 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 20 ; length = 1 line = 1 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 6 line = 1 ; column = 22 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 29 ; length = 1 line = 1 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 30 ; length = 8 line = 1 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 40 ; length = 2 line = 1 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 43 ; length = 6 line = 1 ; column = 43 ; value ='float3'; }
|
||||
{kind = TOKEN_AT; ; index = 50 ; length = 1 line = 1 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 51 ; length = 8 line = 1 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 60 ; length = 1 line = 1 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 64 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 71 ; length = 3 line = 2 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 74 ; length = 1 line = 2 ; column = 10 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 77 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 82 ; length = 3 line = 5 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 86 ; length = 2 line = 5 ; column = 4 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 89 ; length = 1 line = 5 ; column = 7 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 90 ; length = 1 line = 5 ; column = 8 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 92 ; length = 2 line = 5 ; column = 10 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 95 ; length = 6 line = 5 ; column = 13 ; value ='float2'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 102 ; length = 1 line = 5 ; column = 20 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 106 ; length = 6 line = 6 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 113 ; length = 6 line = 6 ; column = 7 ; value ='float2'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 119 ; length = 1 line = 6 ; column = 13 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 120 ; length = 3 line = 6 ; column = 14 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 123 ; length = 1 line = 6 ; column = 17 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 125 ; length = 3 line = 6 ; column = 19 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 128 ; length = 1 line = 6 ; column = 22 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 129 ; length = 1 line = 6 ; column = 23 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 132 ; length = 1 line = 7 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 137 ; length = 5 line = 9 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 143 ; length = 4 line = 9 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 148 ; length = 2 line = 9 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 151 ; length = 1 line = 9 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 152 ; length = 1 line = 9 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 154 ; length = 2 line = 9 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 157 ; length = 6 line = 9 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 164 ; length = 1 line = 9 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 165 ; length = 7 line = 9 ; column = 28 ; value ='target0'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 173 ; length = 1 line = 9 ; column = 36 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 177 ; length = 1 line = 10 ; column = 0 ; value ='y'; }
|
||||
{kind = TOKEN_COLON; ; index = 179 ; length = 1 line = 10 ; column = 2 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 181 ; length = 6 line = 10 ; column = 4 ; value ='float2'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 188 ; length = 1 line = 10 ; column = 11 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 190 ; length = 3 line = 10 ; column = 13 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 193 ; length = 1 line = 10 ; column = 16 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 194 ; length = 1 line = 10 ; column = 17 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 195 ; length = 1 line = 10 ; column = 18 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 199 ; length = 5 line = 11 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 205 ; length = 1 line = 11 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 207 ; length = 6 line = 11 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 214 ; length = 1 line = 11 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 216 ; length = 6 line = 11 ; column = 17 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 222 ; length = 1 line = 11 ; column = 23 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 223 ; length = 1 line = 11 ; column = 24 ; value ='y'; }
|
||||
{kind = TOKEN_COMMA; ; index = 224 ; length = 1 line = 11 ; column = 25 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 226 ; length = 3 line = 11 ; column = 27 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 229 ; length = 1 line = 11 ; column = 30 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 231 ; length = 3 line = 11 ; column = 32 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 234 ; length = 1 line = 11 ; column = 35 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 236 ; length = 3 line = 11 ; column = 37 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 239 ; length = 1 line = 11 ; column = 40 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 240 ; length = 1 line = 11 ; column = 41 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 244 ; length = 6 line = 12 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 251 ; length = 5 line = 12 ; column = 7 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 256 ; length = 1 line = 12 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 259 ; length = 1 line = 13 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 262 ; length = 0 line = 14 ; column = 0 ; value =''; }
|
||||
32
test/lex_all.suite
Normal file
32
test/lex_all.suite
Normal file
@@ -0,0 +1,32 @@
|
||||
test/assign_arithmetic_expression.shd lex
|
||||
test/basic_property_and_return_value.shd lex
|
||||
test/complicated_computation.shd lex
|
||||
test/empty_struct.shd lex
|
||||
test/empty_vertex_main.shd lex
|
||||
test/empty_vertex_main_with_position_parameter.shd lex
|
||||
test/field_assignment.shd lex
|
||||
test/field_without_type_specifier.shd lex
|
||||
test/float_suffix.shd lex
|
||||
test/function_call.shd lex
|
||||
test/function_call_out_of_order_declaration.shd lex
|
||||
test/function_call_return.shd lex
|
||||
test/functions_with_same_name.shd lex
|
||||
test/function_with_int_return.shd lex
|
||||
test/meta_block.shd lex
|
||||
test/multiple_functions.shd lex
|
||||
test/multiple_semicolons_everywhere.shd lex
|
||||
test/pass_and_access_struct_fields_in_functions.shd lex
|
||||
test/passthrough.shd lex
|
||||
test/property_rename.shd lex
|
||||
test/redeclared_variable.shd lex
|
||||
test/simple_struct_access.shd lex
|
||||
test/struct_access_primitive_type.shd lex
|
||||
test/struct_within_struct.shd lex
|
||||
test/type_as_variable_name.shd lex
|
||||
test/undeclared_function.shd lex
|
||||
test/undeclared_symbol.shd lex
|
||||
test/unknown_overload.shd lex
|
||||
test/use_builtin_functions.shd lex
|
||||
test/wrong_argument_count.shd lex
|
||||
test/wrong_multiply.shd lex
|
||||
test/wrong_type_for_function.shd lex
|
||||
16
test/meta_block.shd
Normal file
16
test/meta_block.shd
Normal file
@@ -0,0 +1,16 @@
|
||||
meta {
|
||||
name : LitBasic;
|
||||
category : Scene;
|
||||
}
|
||||
|
||||
properties {
|
||||
color : float4;
|
||||
}
|
||||
|
||||
vertex main :: (pos : float3 @position, uv : float2 @uv) -> float3 @position {
|
||||
return pos;
|
||||
}
|
||||
|
||||
pixel main :: () -> float4 @target0 {
|
||||
return properties.color;
|
||||
}
|
||||
12
test/multiple_functions.shd
Normal file
12
test/multiple_functions.shd
Normal file
@@ -0,0 +1,12 @@
|
||||
foo :: () -> int {
|
||||
return 5;
|
||||
}
|
||||
|
||||
bar :: () -> float {
|
||||
return 1235.0 * 500;
|
||||
}
|
||||
|
||||
vertex main :: () {
|
||||
x : int = foo();
|
||||
y : float = bar();
|
||||
}
|
||||
14
test/multiple_semicolons_everywhere.shd
Normal file
14
test/multiple_semicolons_everywhere.shd
Normal file
@@ -0,0 +1,14 @@
|
||||
vertex main :: (pos : float3 @position) -> float3 @position {
|
||||
return pos;;;
|
||||
}
|
||||
|
||||
foo :: () -> float4 {
|
||||
return float4(1.0, 1.0, 1.0, 1.0);;;
|
||||
}
|
||||
|
||||
pixel main :: () -> float4 @target0 {
|
||||
y : float4 = foo();;;;
|
||||
;;
|
||||
color : float4 = y;
|
||||
return color;
|
||||
}
|
||||
4
test/parse/assign_arithmetic_expression.golden
Normal file
4
test/parse/assign_arithmetic_expression.golden
Normal file
@@ -0,0 +1,4 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= x float (+ 2 5))))
|
||||
11
test/parse/basic_property_and_return_value.golden
Normal file
11
test/parse/basic_property_and_return_value.golden
Normal file
@@ -0,0 +1,11 @@
|
||||
(program
|
||||
(properties
|
||||
[(:= color float4)])
|
||||
|
||||
(fun vertex vs_main -> float3 (@position)
|
||||
[(:= pos float3 (@position))]
|
||||
(return pos))
|
||||
|
||||
(fun pixel ps_main -> float4 (@target0)
|
||||
[]
|
||||
(return properties.color)))
|
||||
6
test/parse/complicated_computation.golden
Normal file
6
test/parse/complicated_computation.golden
Normal file
@@ -0,0 +1,6 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= x float 5)
|
||||
(:= y float 3000)
|
||||
(:= z float (+ (* y y) x))))
|
||||
3
test/parse/empty_struct.golden
Normal file
3
test/parse/empty_struct.golden
Normal file
@@ -0,0 +1,3 @@
|
||||
(program
|
||||
(struct Foo
|
||||
[]))
|
||||
3
test/parse/empty_vertex_main.golden
Normal file
3
test/parse/empty_vertex_main.golden
Normal file
@@ -0,0 +1,3 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[]))
|
||||
@@ -0,0 +1,4 @@
|
||||
(program
|
||||
(fun vertex vs_main -> float3
|
||||
[(:= pos float3 (@position))]
|
||||
(return pos)))
|
||||
5
test/parse/field_assignment.golden
Normal file
5
test/parse/field_assignment.golden
Normal file
@@ -0,0 +1,5 @@
|
||||
(program
|
||||
(fun vertex vs_main -> float4 (@position)
|
||||
[(:= pos float4 (@position))]
|
||||
(:= x float 5)
|
||||
(= x 7)))
|
||||
4
test/parse/field_without_type_specifier.golden
Normal file
4
test/parse/field_without_type_specifier.golden
Normal file
@@ -0,0 +1,4 @@
|
||||
[1;37mtest/field_without_type_specifier.shd:2,0: [31merror: [37mExpected type specifier after field name.
|
||||
[96mx := 5.0;
|
||||
^
|
||||
[36m[37m
|
||||
15
test/parse/foreign_function.golden
Normal file
15
test/parse/foreign_function.golden
Normal file
@@ -0,0 +1,15 @@
|
||||
(program
|
||||
(foreign fun float2 -> float2
|
||||
[(:= float)
|
||||
(:= float)])
|
||||
|
||||
(foreign fun float3 -> float3
|
||||
[(:= float)
|
||||
(:= float)
|
||||
(:= float)])
|
||||
|
||||
(foreign fun float4 -> float4
|
||||
[(:= float)
|
||||
(:= float)
|
||||
(:= float)
|
||||
(:= float)]))
|
||||
26
test/parse/foreign_overload.golden
Normal file
26
test/parse/foreign_overload.golden
Normal file
@@ -0,0 +1,26 @@
|
||||
(program
|
||||
(foreign fun mul -> float2
|
||||
[(:= float2)
|
||||
(:= float2)])
|
||||
|
||||
(foreign fun mul -> float3
|
||||
[(:= float3)
|
||||
(:= float3)])
|
||||
|
||||
(foreign fun mul -> float4
|
||||
[(:= float4)
|
||||
(:= float4)])
|
||||
|
||||
(foreign fun mul -> float4x4
|
||||
[(:= float4x4)
|
||||
(:= float4x4)])
|
||||
|
||||
(foreign fun float2 -> float2
|
||||
[(:= float)
|
||||
(:= float)])
|
||||
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= v1 float2 (float2 1 1))
|
||||
(:= v2 float2 (float2 3 3))
|
||||
(:= v3 float2 (mul v1 v2))))
|
||||
8
test/parse/function_call.golden
Normal file
8
test/parse/function_call.golden
Normal file
@@ -0,0 +1,8 @@
|
||||
(program
|
||||
(fun foo -> int
|
||||
[]
|
||||
(return 4))
|
||||
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(foo)))
|
||||
7
test/parse/function_call_out_of_order_declaration.golden
Normal file
7
test/parse/function_call_out_of_order_declaration.golden
Normal file
@@ -0,0 +1,7 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(foo))
|
||||
|
||||
(fun foo
|
||||
[]))
|
||||
7
test/parse/function_call_return.golden
Normal file
7
test/parse/function_call_return.golden
Normal file
@@ -0,0 +1,7 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[])
|
||||
|
||||
(fun pixel ps_main -> float4 (@target0)
|
||||
[]
|
||||
(return (float4 1 1 1 1))))
|
||||
3
test/parse/function_with_int_return.golden
Normal file
3
test/parse/function_with_int_return.golden
Normal file
@@ -0,0 +1,3 @@
|
||||
(program
|
||||
(fun vertex vs_main -> int
|
||||
[(:= pos float3)]))
|
||||
12
test/parse/functions_with_same_name.golden
Normal file
12
test/parse/functions_with_same_name.golden
Normal file
@@ -0,0 +1,12 @@
|
||||
(program
|
||||
(fun foo
|
||||
[])
|
||||
|
||||
(fun foo
|
||||
[])
|
||||
|
||||
(fun bar
|
||||
[])
|
||||
|
||||
(fun vertex vs_main
|
||||
[]))
|
||||
16
test/parse/meta_block.golden
Normal file
16
test/parse/meta_block.golden
Normal file
@@ -0,0 +1,16 @@
|
||||
(program
|
||||
(meta
|
||||
[(:= name LitBasic)
|
||||
(:= category Scene)])
|
||||
|
||||
(properties
|
||||
[(:= color float4)])
|
||||
|
||||
(fun vertex vs_main -> float3 (@position)
|
||||
[(:= pos float3 (@position))
|
||||
(:= uv float2 (@uv))]
|
||||
(return pos))
|
||||
|
||||
(fun pixel ps_main -> float4 (@target0)
|
||||
[]
|
||||
(return properties.color)))
|
||||
13
test/parse/multiple_functions.golden
Normal file
13
test/parse/multiple_functions.golden
Normal file
@@ -0,0 +1,13 @@
|
||||
(program
|
||||
(fun foo -> int
|
||||
[]
|
||||
(return 5))
|
||||
|
||||
(fun bar -> float
|
||||
[]
|
||||
(return (* 1235 500)))
|
||||
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= x int (foo))
|
||||
(:= y float (bar))))
|
||||
14
test/parse/multiple_semicolons_everywhere.golden
Normal file
14
test/parse/multiple_semicolons_everywhere.golden
Normal file
@@ -0,0 +1,14 @@
|
||||
(program
|
||||
(fun vertex vs_main -> float3 (@position)
|
||||
[(:= pos float3 (@position))]
|
||||
(return pos))
|
||||
|
||||
(fun foo -> float4
|
||||
[]
|
||||
(return (float4 1 1 1 1)))
|
||||
|
||||
(fun pixel ps_main -> float4 (@target0)
|
||||
[]
|
||||
(:= y float4 (foo))
|
||||
(:= color float4 y)
|
||||
(return color)))
|
||||
13
test/parse/pass_and_access_struct_fields_in_functions.golden
Normal file
13
test/parse/pass_and_access_struct_fields_in_functions.golden
Normal file
@@ -0,0 +1,13 @@
|
||||
(program
|
||||
(struct Foo
|
||||
[(:= some_data float)])
|
||||
|
||||
(fun foo -> float
|
||||
[(:= f Foo)]
|
||||
(return (* f.some_data 2)))
|
||||
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= f Foo)
|
||||
(= f.some_data 4)
|
||||
(:= d float (foo f))))
|
||||
8
test/parse/passthrough.golden
Normal file
8
test/parse/passthrough.golden
Normal file
@@ -0,0 +1,8 @@
|
||||
(program
|
||||
(fun vertex vs_main -> float3 (@position)
|
||||
[(:= pos float3 (@position))]
|
||||
(return pos))
|
||||
|
||||
(fun pixel ps_main -> float4 (@target0)
|
||||
[]
|
||||
(return (float4 1 1 1 1))))
|
||||
7
test/parse/precedence_test.golden
Normal file
7
test/parse/precedence_test.golden
Normal file
@@ -0,0 +1,7 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= x float 2)
|
||||
(:= y float 5)
|
||||
(:= z float 10)
|
||||
(:= w float (+ (* x y) (* y (- z (/ x (* y x))))))))
|
||||
5
test/parse/redeclared_variable.golden
Normal file
5
test/parse/redeclared_variable.golden
Normal file
@@ -0,0 +1,5 @@
|
||||
(program
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= x float 1)
|
||||
(:= x float 5)))
|
||||
8
test/parse/simple_struct_access.golden
Normal file
8
test/parse/simple_struct_access.golden
Normal file
@@ -0,0 +1,8 @@
|
||||
(program
|
||||
(struct Data
|
||||
[(:= color float4)])
|
||||
|
||||
(fun vertex vs_main
|
||||
[]
|
||||
(:= d Data)
|
||||
(:= x float4 d.color)))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user