Compare commits
36 Commits
262f0d632a
...
90fb1a035e
| Author | SHA1 | Date | |
|---|---|---|---|
| 90fb1a035e | |||
| e365067354 | |||
| 243d83663a | |||
| 3f93e1a92d | |||
| fca325b761 | |||
| d3aa4fffeb | |||
| 6eba51cc8c | |||
| 5b237d34de | |||
| ff668b6c95 | |||
| c84516d39f | |||
| 517209c886 | |||
| d01fca146c | |||
| d9dfcc6354 | |||
| c8cd15456d | |||
| c225217676 | |||
| b2ee560145 | |||
| b475357cf9 | |||
| 76994b2567 | |||
| 0471dbe7d7 | |||
| c5758bd023 | |||
| ae54f1374e | |||
| 22b70f88b6 | |||
| 7a07c32cd2 | |||
| 92c1f593c2 | |||
| 274cb379b4 | |||
| 884444d25b | |||
| be4115b502 | |||
| 402d9d67a4 | |||
| 1bf829d42f | |||
| 3bbbc1d556 | |||
| d2614b3ba9 | |||
| d5fdaca1ca | |||
| 98f979a368 | |||
| 781f63cd69 | |||
| 1be5072cbe | |||
| a9a67e3fac |
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "modules/nbrutil"]
|
||||
path = modules/ncore
|
||||
url = git@git.nbross.com:nielsbross/NCore.git
|
||||
25
AST.jai
25
AST.jai
@@ -20,6 +20,7 @@ AST_Kind :: enum {
|
||||
// Operator;
|
||||
Call;
|
||||
Struct;
|
||||
CBuffer;
|
||||
FieldList;
|
||||
ArgList;
|
||||
Variable;
|
||||
@@ -39,7 +40,8 @@ AST_Node :: struct {
|
||||
|
||||
// @Note(niels): Children nodes can be interpreted as anything useful.
|
||||
// for an if-statement we would have at most 2 children
|
||||
// a property block has a child node for each field declaration etc.
|
||||
// a property block has a field list child node which has
|
||||
// a child node for each field declaration etc.
|
||||
children : [..]*AST_Node;
|
||||
parent : *AST_Node;
|
||||
|
||||
@@ -52,7 +54,7 @@ AST_Node :: struct {
|
||||
|
||||
token : Token;
|
||||
|
||||
assignment : bool;
|
||||
array_field : bool;
|
||||
|
||||
source_location : Source_Range;
|
||||
|
||||
@@ -105,7 +107,15 @@ pretty_print_field :: (node : *AST_Node, indentation : int, builder : *String_Bu
|
||||
print_to_builder(builder, tprint("(:= %", node.name));
|
||||
|
||||
if node.kind != .Unnamed_Field && node.token.ident_value.count > 0 {
|
||||
print_to_builder(builder, tprint(" %", node.token.ident_value));
|
||||
if node.array_field {
|
||||
append(builder, " [");
|
||||
pretty_print_node(node.children[0], 0, builder);
|
||||
append(builder, "].");
|
||||
print_to_builder(builder, "%", node.token.ident_value);
|
||||
} else {
|
||||
print_to_builder(builder, " %", node.token.ident_value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
for hint : node.hint_tokens {
|
||||
@@ -114,7 +124,7 @@ pretty_print_field :: (node : *AST_Node, indentation : int, builder : *String_Bu
|
||||
}
|
||||
}
|
||||
|
||||
if node.children.count > 0 {
|
||||
if !node.array_field && node.children.count > 0 {
|
||||
append(builder, " ");
|
||||
pretty_print_children(node, indentation, builder);
|
||||
}
|
||||
@@ -271,10 +281,15 @@ pretty_print_node :: (node : *AST_Node, indentation : int, builder : *String_Bui
|
||||
pretty_print_variable :: (node : *AST_Node, indentation : int, builder : *String_Builder) {
|
||||
indent(builder, indentation);
|
||||
print_to_builder(builder, "%", node.name);
|
||||
|
||||
for child : node.children {
|
||||
if child.kind == .Variable {
|
||||
append(builder, ".");
|
||||
pretty_print_variable(child, indentation, builder);
|
||||
} else if child.kind == .Unary {
|
||||
append(builder, "[");
|
||||
pretty_print_node(child.children[0], 0, builder);
|
||||
append(builder, "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -312,6 +327,8 @@ pretty_print_declaration :: (declaration : *AST_Node, indentation : int, builder
|
||||
else {
|
||||
if declaration.kind == .Struct {
|
||||
append(builder, "struct ");
|
||||
} else if declaration.kind == .CBuffer {
|
||||
append(builder, "constant_buffer ");
|
||||
}
|
||||
print_to_builder(builder, "%", declaration.name);
|
||||
}
|
||||
|
||||
262
Codegen.jai
262
Codegen.jai
@@ -1,6 +1,16 @@
|
||||
/////////////////////////////////////
|
||||
//~ nbr:
|
||||
//
|
||||
|
||||
/////////////////////////////////////
|
||||
//~ nbr: Codegen TODOs
|
||||
//
|
||||
// [ ] Prefix output of property values with __PROPERTIES so we don't get name clashes
|
||||
|
||||
Output_Language :: enum {
|
||||
HLSL;
|
||||
GLSL;
|
||||
GLSL; // @Incomplete
|
||||
MLSL; // @Incomplete
|
||||
}
|
||||
|
||||
Codegen_State :: struct {
|
||||
@@ -28,10 +38,11 @@ Codegen_Result :: struct {
|
||||
}
|
||||
|
||||
init_codegen_state :: (state : *Codegen_State, root : *AST_Node, checker_result : Semantic_Check_Result, output_language : Output_Language) {
|
||||
state.root = root;
|
||||
state.scope_stack = checker_result.scope_stack;
|
||||
state.type_variables = checker_result.type_variables;
|
||||
state.current_scope = cast(Scope_Handle)1;
|
||||
state.root = root;
|
||||
state.scope_stack = checker_result.scope_stack;
|
||||
state.type_variables = checker_result.type_variables;
|
||||
state.current_scope = cast(Scope_Handle)1;
|
||||
state.output_language = output_language;
|
||||
init_string_builder(*state.builder);
|
||||
}
|
||||
|
||||
@@ -39,15 +50,67 @@ indent :: (state : *Codegen_State, indentation : int) {
|
||||
for 1..indentation append(*state.builder, " ");
|
||||
}
|
||||
|
||||
dx11_type_to_string :: (type_variable : Type_Variable) -> string {
|
||||
if type_variable.type == {
|
||||
case .Invalid;
|
||||
return "{{invalid}}";
|
||||
case .Unit;
|
||||
return "()";
|
||||
case .Int; {
|
||||
return "int";
|
||||
}
|
||||
case .Half; {
|
||||
return "half";
|
||||
}
|
||||
case .Float; {
|
||||
return "float";
|
||||
}
|
||||
case .Double; {
|
||||
return "double";
|
||||
}
|
||||
case .Sampler; {
|
||||
return "SamplerState";
|
||||
}
|
||||
case .Texture2D; {
|
||||
return "Texture2D";
|
||||
}
|
||||
case .Function; #through;
|
||||
case .Struct; {
|
||||
return type_variable.typename;
|
||||
}
|
||||
case .Array;
|
||||
return "array";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
emit_field :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
find_result := find_symbol(state.scope_stack, node.name, state.current_scope);
|
||||
|
||||
field := h2tv(state.type_variables, find_result.type_variable);
|
||||
|
||||
indent(state, indentation);
|
||||
print_to_builder(*state.builder, "% ", type_to_string(field));
|
||||
|
||||
print_to_builder(*state.builder, "% ", dx11_type_to_string(field));
|
||||
|
||||
if field.struct_field_parent {
|
||||
parent_tv := h2tv(state.type_variables, field.struct_field_parent.type_variable);
|
||||
|
||||
if parent_tv.typename == "properties" {
|
||||
append(*state.builder, "__PROPERTIES__");
|
||||
}
|
||||
}
|
||||
print_to_builder(*state.builder, "%", node.name);
|
||||
|
||||
if field.type == .Sampler {
|
||||
print_to_builder(*state.builder, " : register(s%)", field.resource_index);
|
||||
}
|
||||
|
||||
if field.type == .Texture2D {
|
||||
print_to_builder(*state.builder, " : register(t%)", field.resource_index);
|
||||
}
|
||||
|
||||
for i :0..node.children.count - 1 {
|
||||
child := node.children[i];
|
||||
|
||||
@@ -55,7 +118,7 @@ emit_field :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
emit_node(state, child, 0);
|
||||
}
|
||||
|
||||
for i :0..field.child_count - 1 {
|
||||
for i :0..field.children.count - 1 {
|
||||
child := h2tv(state.type_variables, field.children[i]);
|
||||
emit_node(state, child.source_node, 0);
|
||||
}
|
||||
@@ -64,6 +127,10 @@ emit_field :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
if hint.ident_value == "position" {
|
||||
// @Incomplete(nb): Should be a lookup table somewhere
|
||||
append(*state.builder, " : POSITION");
|
||||
} else if hint.ident_value == "uv" {
|
||||
append(*state.builder, " : TEXCOORD0");
|
||||
} else if hint.ident_value == "outposition" {
|
||||
append(*state.builder, " : SV_POSITION");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -80,18 +147,40 @@ emit_block :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
|
||||
emit_call :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
indent(state, indentation);
|
||||
print_to_builder(*state.builder, "%(", node.name);
|
||||
|
||||
if node.children.count > 0 {
|
||||
if node.name == "sample" {
|
||||
assert(node.children.count > 0);
|
||||
args := node.children[0];
|
||||
|
||||
for child : args.children {
|
||||
emit_node(state, args.children[0], 0);
|
||||
append(*state.builder, ".");
|
||||
print_to_builder(*state.builder, "Sample(");
|
||||
|
||||
for i : 1..args.children.count - 1 {
|
||||
child := args.children[i];
|
||||
|
||||
emit_node(state, child, 0);
|
||||
|
||||
if it_index != args.children.count - 1 {
|
||||
if i != args.children.count - 1 {
|
||||
append(*state.builder, ", ");
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
print_to_builder(*state.builder, "%(", node.name);
|
||||
|
||||
if node.children.count > 0 {
|
||||
args := node.children[0];
|
||||
|
||||
for child : args.children {
|
||||
emit_node(state, child, 0);
|
||||
|
||||
if it_index != args.children.count - 1 {
|
||||
append(*state.builder, ", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
append(*state.builder, ")");
|
||||
@@ -111,26 +200,40 @@ emit_properties :: (state : *Codegen_State, node : *AST_Node, indentation : int)
|
||||
|
||||
variable := h2tv(state.type_variables, find_result.type_variable);
|
||||
|
||||
print_to_builder(*state.builder, "cbuffer __PROPERTIES : register(b%) \n{\n", variable.buffer_index);
|
||||
print_to_builder(*state.builder, "cbuffer __PROPERTIES : register(b%) \n{\n", variable.resource_index);
|
||||
|
||||
previous_scope := state.current_scope;
|
||||
state.current_scope = variable.scope;
|
||||
|
||||
resources : Static_Array(*AST_Node, 8);
|
||||
|
||||
for child : node.children {
|
||||
if child.kind == .FieldList {
|
||||
for field : child.children {
|
||||
tv := h2tv(state.type_variables, field.type_variable);
|
||||
if tv.type == .Sampler || tv.type == .Texture2D {
|
||||
array_add(*resources, field);
|
||||
continue;
|
||||
}
|
||||
emit_node(state, field, 1);
|
||||
|
||||
append(*state.builder, ";\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
state.current_scope = previous_scope;
|
||||
|
||||
append(*state.builder, "}\n\n");
|
||||
|
||||
for i : 0..resources.count - 1 {
|
||||
resource := resources[i];
|
||||
emit_node(state, resource, 0);
|
||||
|
||||
append(*state.builder, ";\n");
|
||||
}
|
||||
|
||||
append(*state.builder, "\n");
|
||||
|
||||
state.current_scope = previous_scope;
|
||||
}
|
||||
|
||||
emit_function :: (state : *Codegen_State, node : *AST_Node, indentation : int, emit_body := true) {
|
||||
@@ -151,9 +254,9 @@ emit_function :: (state : *Codegen_State, node : *AST_Node, indentation : int, e
|
||||
|
||||
indent(state, indentation);
|
||||
|
||||
if function_variable.return_var {
|
||||
return_variable := h2tv(state.type_variables, function_variable.return_var);
|
||||
print_to_builder(*state.builder, "% ", type_to_string(return_variable));
|
||||
if function_variable.return_type_variable {
|
||||
return_variable := h2tv(state.type_variables, function_variable.return_type_variable);
|
||||
print_to_builder(*state.builder, "% ", dx11_type_to_string(return_variable));
|
||||
} else {
|
||||
append(*state.builder, "void ");
|
||||
}
|
||||
@@ -280,6 +383,13 @@ emit_node :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
is_properties := type_var.typename == "properties";
|
||||
|
||||
if !is_properties {
|
||||
if type_var.struct_field_parent {
|
||||
parent_tv := h2tv(state.type_variables, type_var.struct_field_parent.type_variable);
|
||||
|
||||
if parent_tv.typename == "properties" {
|
||||
append(*state.builder, "__PROPERTIES__");
|
||||
}
|
||||
}
|
||||
print_to_builder(*state.builder, "%", node.name);
|
||||
}
|
||||
|
||||
@@ -292,6 +402,11 @@ emit_node :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
}
|
||||
case .Binary; {
|
||||
indent(*state.builder, indentation);
|
||||
|
||||
if node.token.kind != .TOKEN_ASSIGN {
|
||||
append(*state.builder, "(");
|
||||
}
|
||||
|
||||
lhs := node.children[0];
|
||||
rhs := node.children[1];
|
||||
emit_node(state, lhs, 0);
|
||||
@@ -300,6 +415,9 @@ emit_node :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
emit_operator(state, node.token.kind);
|
||||
append(*state.builder, " ");
|
||||
emit_node(state, rhs, 0);
|
||||
if node.token.kind != .TOKEN_ASSIGN {
|
||||
append(*state.builder, ")");
|
||||
}
|
||||
}
|
||||
case .Unary; {
|
||||
assert(false, "Not implemented yet: unary");
|
||||
@@ -318,6 +436,57 @@ emit_node :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
}
|
||||
}
|
||||
|
||||
emit_field_list :: (state : *Codegen_State, field_list : *AST_Node, indentation : int) {
|
||||
for child : field_list.children {
|
||||
emit_node(state, child, 1);
|
||||
|
||||
if it_index < field_list.children.count {
|
||||
append(*state.builder, ";\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
emit_struct :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
print_to_builder(*state.builder, "struct %", node.name);
|
||||
|
||||
current_scope := state.current_scope;
|
||||
state.current_scope = h2tv(state.type_variables, node.type_variable).scope;
|
||||
|
||||
field_list := node.children[0];
|
||||
|
||||
if field_list.children.count > 0 {
|
||||
append(*state.builder, "\n{\n");
|
||||
} else {
|
||||
append(*state.builder, " {");
|
||||
}
|
||||
|
||||
emit_field_list(state, field_list, indentation);
|
||||
|
||||
append(*state.builder, "};\n\n");
|
||||
state.current_scope = current_scope;
|
||||
}
|
||||
|
||||
emit_cbuffer :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
variable := h2tv(state.type_variables, node.type_variable);
|
||||
print_to_builder(*state.builder, "cbuffer % : register(b%)", variable.name, variable.resource_index);
|
||||
|
||||
current_scope := state.current_scope;
|
||||
state.current_scope = h2tv(state.type_variables, node.type_variable).scope;
|
||||
|
||||
field_list := node.children[0];
|
||||
|
||||
if field_list.children.count > 0 {
|
||||
append(*state.builder, "\n{\n");
|
||||
} else {
|
||||
append(*state.builder, " {");
|
||||
}
|
||||
|
||||
emit_field_list(state, field_list, indentation);
|
||||
|
||||
append(*state.builder, "}\n\n");
|
||||
state.current_scope = current_scope;
|
||||
}
|
||||
|
||||
emit_declaration :: (state : *Codegen_State, node : *AST_Node) {
|
||||
if node.kind == {
|
||||
case .Function; {
|
||||
@@ -326,51 +495,31 @@ emit_declaration :: (state : *Codegen_State, node : *AST_Node) {
|
||||
case .Properties; {
|
||||
emit_properties(state, node, 0);
|
||||
}
|
||||
case .CBuffer; {
|
||||
emit_cbuffer(state, node, 0);
|
||||
}
|
||||
case .Struct; {
|
||||
print_to_builder(*state.builder, "struct %", node.name);
|
||||
|
||||
current_scope := state.current_scope;
|
||||
state.current_scope = h2tv(state.type_variables, node.type_variable).scope;
|
||||
|
||||
field_list := node.children[0];
|
||||
|
||||
if field_list.children.count > 0 {
|
||||
append(*state.builder, "\n{\n");
|
||||
} else {
|
||||
append(*state.builder, " {");
|
||||
}
|
||||
|
||||
|
||||
for child : field_list.children {
|
||||
emit_node(state, child, 1);
|
||||
|
||||
if it_index < field_list.children.count {
|
||||
append(*state.builder, ";\n");
|
||||
}
|
||||
}
|
||||
|
||||
append(*state.builder, "}\n\n");
|
||||
state.current_scope = current_scope;
|
||||
emit_struct(state, node, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
codegen :: (state : *Codegen_State) -> Codegen_Result {
|
||||
found_function : bool = false;
|
||||
found_struct : bool = false;
|
||||
// found_struct : bool = false;
|
||||
|
||||
for variable : state.type_variables {
|
||||
if variable.type == .Struct && variable.kind == .Declaration && !variable.builtin {
|
||||
if variable.source_node.kind == .Properties continue;
|
||||
if variable.source_node.kind == .Meta continue;
|
||||
print_to_builder(*state.builder, "struct %;\n", variable.source_node.name);
|
||||
found_struct = true;
|
||||
}
|
||||
}
|
||||
// for variable : state.type_variables {
|
||||
// if variable.type == .Struct && variable.kind == .Declaration && !variable.builtin {
|
||||
// if variable.source_node.kind == .Properties continue;
|
||||
// if variable.source_node.kind == .Meta continue;
|
||||
// print_to_builder(*state.builder, "struct %;\n", variable.source_node.name);
|
||||
// found_struct = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
if found_struct {
|
||||
append(*state.builder, "\n");
|
||||
}
|
||||
// if found_struct {
|
||||
// append(*state.builder, "\n");
|
||||
// }
|
||||
|
||||
for variable : state.type_variables {
|
||||
if variable.type == .Function && !variable.builtin
|
||||
@@ -400,3 +549,6 @@ codegen :: (ast_root : *AST_Node, checker_result : Semantic_Check_Result, output
|
||||
init_codegen_state(*codegen_state, ast_root, checker_result, output_language);
|
||||
return codegen(*codegen_state);
|
||||
}
|
||||
|
||||
#scope_module
|
||||
#import "ncore";
|
||||
|
||||
@@ -122,7 +122,10 @@ report_message :: (builder : *String_Builder, path : string, message : string, s
|
||||
} else {
|
||||
append(builder, "internal:");
|
||||
}
|
||||
print_to_builder(builder, "%,%: ", source_locations[0].main_token.line, source_locations[0].main_token.column);
|
||||
|
||||
if source_locations.count > 0 {
|
||||
print_to_builder(builder, "%,%: ", source_locations[0].main_token.line, source_locations[0].main_token.column);
|
||||
}
|
||||
|
||||
if kind == .Log {
|
||||
append(builder, "\x1b[31mlog: ");
|
||||
|
||||
219
Lexing.jai
219
Lexing.jai
@@ -64,6 +64,7 @@ Token_Kind :: enum {
|
||||
TOKEN_CBUFFER;
|
||||
TOKEN_COLUMNMAJOR;
|
||||
TOKEN_CONST;
|
||||
TOKEN_CONSTANT_BUFFER;
|
||||
TOKEN_CONTINUE;
|
||||
|
||||
TOKEN_DEFAULT;
|
||||
@@ -128,7 +129,8 @@ Token :: struct {
|
||||
}
|
||||
|
||||
source : *u8;
|
||||
|
||||
|
||||
// This could all be derived on demand
|
||||
line : int;
|
||||
length : int;
|
||||
column : int;
|
||||
@@ -214,46 +216,47 @@ identifier_kind :: (using lexer : *Lexer) -> Token_Kind {
|
||||
identifier.data = *input.data[start];
|
||||
identifier.count = length;
|
||||
|
||||
if identifier == "bool" return .TOKEN_BOOL;
|
||||
if identifier == "case" return .TOKEN_CASE;
|
||||
if identifier == "columnmajor" return .TOKEN_COLUMNMAJOR;
|
||||
if identifier == "const" return .TOKEN_CONST;
|
||||
if identifier == "continue" return .TOKEN_CONTINUE;
|
||||
if identifier == "default" return .TOKEN_DEFAULT;
|
||||
if identifier == "directive" return .TOKEN_DIRECTIVE;
|
||||
if identifier == "discard" return .TOKEN_DIRECTIVE;
|
||||
if identifier == "discard" return .TOKEN_DISCARD;
|
||||
if identifier == "do" return .TOKEN_DO;
|
||||
if identifier == "double" return .TOKEN_DOUBLE;
|
||||
if identifier == "else" return .TOKEN_ELSE;
|
||||
if identifier == "export" return .TOKEN_EXPORT;
|
||||
if identifier == "extern" return .TOKEN_EXTERN;
|
||||
if identifier == "false" return .TOKEN_FALSE;
|
||||
if identifier == "for" return .TOKEN_FOR;
|
||||
if identifier == "half" return .TOKEN_HALF;
|
||||
if identifier == "hint" return .TOKEN_HINT;
|
||||
if identifier == "if" return .TOKEN_IF;
|
||||
if identifier == "in" return .TOKEN_IN;
|
||||
if identifier == "inout" return .TOKEN_INOUT;
|
||||
if identifier == "instance" return .TOKEN_INSTANCE;
|
||||
if identifier == "matrix" return .TOKEN_MATRIX;
|
||||
if identifier == "meta" return .TOKEN_META;
|
||||
if identifier == "optional" return .TOKEN_OPTIONAL;
|
||||
if identifier == "out" return .TOKEN_OUT;
|
||||
if identifier == "pixel" return .TOKEN_PIXEL;
|
||||
if identifier == "properties" return .TOKEN_PROPERTIES;
|
||||
if identifier == "return" return .TOKEN_RETURN;
|
||||
if identifier == "register" return .TOKEN_REGISTER;
|
||||
if identifier == "struct" return .TOKEN_STRUCT;
|
||||
if identifier == "switch" return .TOKEN_SWITCH;
|
||||
if identifier == "true" return .TOKEN_TRUE;
|
||||
if identifier == "unorm" return .TOKEN_UNORM;
|
||||
if identifier == "unsigned" return .TOKEN_UNSIGNED;
|
||||
if identifier == "uint" return .TOKEN_UINT;
|
||||
if identifier == "vector" return .TOKEN_VECTOR;
|
||||
if identifier == "vertex" return .TOKEN_VERTEX;
|
||||
if identifier == "void" return .TOKEN_VOID;
|
||||
if identifier == "while" return .TOKEN_WHILE;
|
||||
if identifier == "bool" return .TOKEN_BOOL;
|
||||
if identifier == "case" return .TOKEN_CASE;
|
||||
if identifier == "columnmajor" return .TOKEN_COLUMNMAJOR;
|
||||
if identifier == "const" return .TOKEN_CONST;
|
||||
if identifier == "constant_buffer" return .TOKEN_CONSTANT_BUFFER;
|
||||
if identifier == "continue" return .TOKEN_CONTINUE;
|
||||
if identifier == "default" return .TOKEN_DEFAULT;
|
||||
if identifier == "directive" return .TOKEN_DIRECTIVE;
|
||||
if identifier == "discard" return .TOKEN_DIRECTIVE;
|
||||
if identifier == "discard" return .TOKEN_DISCARD;
|
||||
if identifier == "do" return .TOKEN_DO;
|
||||
if identifier == "double" return .TOKEN_DOUBLE;
|
||||
if identifier == "else" return .TOKEN_ELSE;
|
||||
if identifier == "export" return .TOKEN_EXPORT;
|
||||
if identifier == "extern" return .TOKEN_EXTERN;
|
||||
if identifier == "false" return .TOKEN_FALSE;
|
||||
if identifier == "for" return .TOKEN_FOR;
|
||||
if identifier == "half" return .TOKEN_HALF;
|
||||
if identifier == "hint" return .TOKEN_HINT;
|
||||
if identifier == "if" return .TOKEN_IF;
|
||||
if identifier == "in" return .TOKEN_IN;
|
||||
if identifier == "inout" return .TOKEN_INOUT;
|
||||
if identifier == "instance" return .TOKEN_INSTANCE;
|
||||
if identifier == "matrix" return .TOKEN_MATRIX;
|
||||
if identifier == "meta" return .TOKEN_META;
|
||||
if identifier == "optional" return .TOKEN_OPTIONAL;
|
||||
if identifier == "out" return .TOKEN_OUT;
|
||||
if identifier == "pixel" return .TOKEN_PIXEL;
|
||||
if identifier == "properties" return .TOKEN_PROPERTIES;
|
||||
if identifier == "return" return .TOKEN_RETURN;
|
||||
if identifier == "register" return .TOKEN_REGISTER;
|
||||
if identifier == "struct" return .TOKEN_STRUCT;
|
||||
if identifier == "switch" return .TOKEN_SWITCH;
|
||||
if identifier == "true" return .TOKEN_TRUE;
|
||||
if identifier == "unorm" return .TOKEN_UNORM;
|
||||
if identifier == "unsigned" return .TOKEN_UNSIGNED;
|
||||
if identifier == "uint" return .TOKEN_UINT;
|
||||
if identifier == "vector" return .TOKEN_VECTOR;
|
||||
if identifier == "vertex" return .TOKEN_VERTEX;
|
||||
if identifier == "void" return .TOKEN_VOID;
|
||||
if identifier == "while" return .TOKEN_WHILE;
|
||||
|
||||
return .TOKEN_IDENTIFIER;
|
||||
}
|
||||
@@ -496,8 +499,85 @@ scan_next_token :: (lexer : *Lexer) -> *Token {
|
||||
// return error_token(lexer, tprint("Invalid token: %", s));
|
||||
}
|
||||
|
||||
|
||||
|
||||
lex :: (result : *Compile_Result) {
|
||||
if result.had_error {
|
||||
return;
|
||||
}
|
||||
|
||||
for file : result.files {
|
||||
lexer : Lexer;
|
||||
init_lexer_from_string(*lexer, file.file.source);
|
||||
token : *Token = scan_next_token(*lexer);
|
||||
while token && token.kind != .TOKEN_EOF {
|
||||
token = scan_next_token(*lexer);
|
||||
}
|
||||
|
||||
// @Incomplete(nb): Temporary until we figure out a good way of passing this stuff around
|
||||
copy_messages(lexer.result.messages, *result.messages);
|
||||
}
|
||||
}
|
||||
|
||||
lex :: (lexer : *Lexer, allocator : Allocator = context.allocator) -> Lexing_Result {
|
||||
lexer.result.tokens.allocator = allocator;
|
||||
token : *Token = scan_next_token(lexer);
|
||||
while token && token.kind != .TOKEN_EOF {
|
||||
token = scan_next_token(lexer);
|
||||
}
|
||||
|
||||
return lexer.result;
|
||||
}
|
||||
|
||||
init_lexer_from_string :: (lexer : *Lexer, input : string) {
|
||||
ok := read_input_from_string(lexer, input);
|
||||
if !ok {
|
||||
record_error(lexer, "Unable to initialize from string\n");
|
||||
lexer.result.had_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
init_lexer_from_file :: (lexer : *Lexer, file_path : string) {
|
||||
ok := read_input_from_file(lexer, file_path);
|
||||
if !ok {
|
||||
record_error(lexer, tprint("Unable to read file: %\n", file_path));
|
||||
lexer.result.had_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
read_input_from_string :: (lexer : *Lexer, input : string) -> bool {
|
||||
lexer.input = input;
|
||||
lexer.cursor = 0;
|
||||
lexer.start = 0;
|
||||
lexer.current_line = 1;
|
||||
lexer.current_column = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
read_input_from_file :: (lexer : *Lexer, file_path : string) -> bool {
|
||||
assert(file_path != "");
|
||||
|
||||
value, success := read_entire_file(file_path, true, true);
|
||||
if !success {
|
||||
free(value);
|
||||
return false;
|
||||
}
|
||||
|
||||
lexer.path = copy_string(file_path);
|
||||
lexer.input = value;
|
||||
lexer.cursor = 0;
|
||||
lexer.start = 0;
|
||||
lexer.current_line = 1;
|
||||
lexer.current_column = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
// Pretty printing
|
||||
pretty_print_token :: (token : *Token, builder : *String_Builder) {
|
||||
MAX :: 18;
|
||||
MAX :: 21;
|
||||
kind_name := enum_names(Token_Kind)[cast(int)token.kind];
|
||||
diff := MAX - kind_name.count;
|
||||
|
||||
@@ -637,59 +717,6 @@ print_from_source_location :: (source_location : Source_Range, allocator := cont
|
||||
return builder_to_string(*builder,, allocator);
|
||||
}
|
||||
|
||||
lex :: (lexer : *Lexer, allocator : Allocator = context.allocator) -> Lexing_Result {
|
||||
lexer.result.tokens.allocator = allocator;
|
||||
token : *Token = scan_next_token(lexer);
|
||||
while token && token.kind != .TOKEN_EOF {
|
||||
token = scan_next_token(lexer);
|
||||
}
|
||||
|
||||
return lexer.result;
|
||||
}
|
||||
|
||||
init_lexer_from_string :: (lexer : *Lexer, input : string) {
|
||||
ok := read_input_from_string(lexer, input);
|
||||
if !ok {
|
||||
record_error(lexer, "Unable to initialize from string\n");
|
||||
lexer.result.had_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
init_lexer_from_file :: (lexer : *Lexer, file_path : string) {
|
||||
ok := read_input_from_file(lexer, file_path);
|
||||
if !ok {
|
||||
record_error(lexer, tprint("Unable to read file: %\n", file_path));
|
||||
lexer.result.had_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
read_input_from_string :: (lexer : *Lexer, input : string) -> bool {
|
||||
lexer.input = input;
|
||||
lexer.cursor = 0;
|
||||
lexer.start = 0;
|
||||
lexer.current_line = 1;
|
||||
lexer.current_column = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
read_input_from_file :: (lexer : *Lexer, file_path : string) -> bool {
|
||||
assert(file_path != "");
|
||||
|
||||
value, success := read_entire_file(file_path, true, true);
|
||||
if !success {
|
||||
free(value);
|
||||
return false;
|
||||
}
|
||||
|
||||
lexer.path = copy_string(file_path);
|
||||
lexer.input = value;
|
||||
lexer.cursor = 0;
|
||||
lexer.start = 0;
|
||||
lexer.current_line = 1;
|
||||
lexer.current_column = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#import "Basic";
|
||||
#import "File";
|
||||
|
||||
119
Parsing.jai
119
Parsing.jai
@@ -14,7 +14,12 @@ Parse_State :: struct {
|
||||
tokens : [..]Token;
|
||||
|
||||
current_token_index : int;
|
||||
allocator : Allocator;
|
||||
|
||||
node_allocator : Allocator;
|
||||
node_arena : Arena;
|
||||
|
||||
child_allocator : Allocator;
|
||||
child_arena : Arena;
|
||||
|
||||
had_error : bool;
|
||||
|
||||
@@ -84,6 +89,8 @@ parse_rules :: #run -> [(cast(int)Token_Kind.TOKEN_ERROR) + 1]Parse_Rule {
|
||||
rules[Token_Kind.TOKEN_RIGHTPAREN] = .{null, null, .PREC_NONE};
|
||||
rules[Token_Kind.TOKEN_LEFTBRACE] = .{null, null, .PREC_NONE};
|
||||
rules[Token_Kind.TOKEN_RIGHTBRACE] = .{null, null, .PREC_NONE};
|
||||
rules[Token_Kind.TOKEN_LEFTBRACKET] = .{null, array_access, .PREC_CALL};
|
||||
rules[Token_Kind.TOKEN_RIGHTBRACKET] = .{null, null, .PREC_NONE};
|
||||
rules[Token_Kind.TOKEN_COMMA] = .{null, null, .PREC_NONE};
|
||||
rules[Token_Kind.TOKEN_DOT] = .{null, dot, .PREC_CALL};
|
||||
rules[Token_Kind.TOKEN_PROPERTIES] = .{named_variable, null, .PREC_CALL};
|
||||
@@ -117,11 +124,12 @@ parse_rules :: #run -> [(cast(int)Token_Kind.TOKEN_ERROR) + 1]Parse_Rule {
|
||||
return rules;
|
||||
}
|
||||
|
||||
init_parse_state :: (parse_state : *Parse_State, tokens : [..]Token, path : string, allocator : Allocator) {
|
||||
init_parse_state :: (parse_state : *Parse_State, tokens : [..]Token, path : string) {
|
||||
parse_state.tokens = tokens;
|
||||
parse_state.path = path;
|
||||
parse_state.allocator = allocator;
|
||||
parse_state.result.nodes.allocator = parse_state.allocator;
|
||||
parse_state.node_allocator = make_arena(*parse_state.node_arena);
|
||||
parse_state.child_allocator = make_arena(*parse_state.child_arena);
|
||||
parse_state.result.nodes.allocator = parse_state.node_allocator;
|
||||
array_reserve(*parse_state.result.nodes, 4096);
|
||||
parse_state.current_token_index = 0;
|
||||
}
|
||||
@@ -272,6 +280,7 @@ make_node :: (parse_state : *Parse_State, kind : AST_Kind) -> *AST_Node {
|
||||
node : AST_Node;
|
||||
|
||||
node.kind = kind;
|
||||
node.children.allocator = parse_state.child_allocator;
|
||||
array_add(*parse_state.result.nodes, node);
|
||||
|
||||
return *parse_state.result.nodes[parse_state.result.nodes.count - 1];
|
||||
@@ -313,6 +322,7 @@ advance :: (parse_state : *Parse_State) {
|
||||
|
||||
err := tprint("unknown token \x1b[1;37m'%'\x1b[0m", parse_state.current.string_value);
|
||||
unexpected_token(parse_state, parse_state.current, err);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,7 +350,9 @@ consume :: (parse_state : *Parse_State, kind : Token_Kind, message : string) {
|
||||
return;
|
||||
}
|
||||
|
||||
advance(parse_state);
|
||||
unexpected_token(parse_state, parse_state.current, message);
|
||||
consume(parse_state, kind, message);
|
||||
}
|
||||
|
||||
////////////////////////////
|
||||
@@ -426,6 +438,36 @@ binary :: (parse_state : *Parse_State, left : *AST_Node) -> *AST_Node {
|
||||
return binary_expression;
|
||||
}
|
||||
|
||||
array_access :: (parse_state : *Parse_State, left : *AST_Node) -> *AST_Node {
|
||||
identifier := parse_state.tokens[parse_state.current_token_index - 3];
|
||||
left_bracket := parse_state.tokens[parse_state.current_token_index - 2];
|
||||
|
||||
array_access := make_node(parse_state, .Unary);
|
||||
array_access.token = left_bracket;
|
||||
array_index := expression(parse_state);
|
||||
add_child(array_access, array_index);
|
||||
|
||||
add_child(left, array_access);
|
||||
|
||||
consume(parse_state, .TOKEN_RIGHTBRACKET, "Expected ']' after array index.");
|
||||
|
||||
source_location : Source_Range;
|
||||
source_location.begin = left.source_location.begin;
|
||||
|
||||
if check(parse_state, .TOKEN_ASSIGN) {
|
||||
advance(parse_state);
|
||||
|
||||
node := make_node(parse_state, .Binary);
|
||||
node.token = parse_state.previous;
|
||||
add_child(node, left);
|
||||
add_child(node, expression(parse_state));
|
||||
return node;
|
||||
}
|
||||
|
||||
source_location.end = parse_state.previous;
|
||||
return left;
|
||||
}
|
||||
|
||||
unary :: (parse_state : *Parse_State, left : *AST_Node) -> *AST_Node {
|
||||
op := parse_state.previous.*;
|
||||
rule := get_rule(op.kind);
|
||||
@@ -438,6 +480,10 @@ unary :: (parse_state : *Parse_State, left : *AST_Node) -> *AST_Node {
|
||||
case .TOKEN_MINUS; {
|
||||
unary_expression.token = op;
|
||||
}
|
||||
case .TOKEN_LEFTBRACKET; {
|
||||
unary_expression.token = op;
|
||||
consume(parse_state, .TOKEN_RIGHTBRACKET, "Expect ']' after array access.");
|
||||
}
|
||||
}
|
||||
|
||||
return unary_expression;
|
||||
@@ -585,6 +631,17 @@ field_declaration :: (parse_state : *Parse_State, identifier_token : *Token) ->
|
||||
type_identifier := parse_state.current;
|
||||
node.token = type_identifier;
|
||||
advance(parse_state);
|
||||
} else if check(parse_state, .TOKEN_LEFTBRACKET) {
|
||||
advance(parse_state);
|
||||
array_size_expression := expression(parse_state);
|
||||
add_child(node, array_size_expression);
|
||||
consume(parse_state, .TOKEN_RIGHTBRACKET, "Expected closing ']' in array declaration.");
|
||||
consume(parse_state, .TOKEN_DOT, "Expected '.' before array type.");
|
||||
|
||||
type_identifier := parse_state.current;
|
||||
node.token = type_identifier;
|
||||
advance(parse_state);
|
||||
node.array_field = true;
|
||||
} else {
|
||||
missing_type_specifier(parse_state, identifier_token, "Expected type specifier after field name.");
|
||||
return node;
|
||||
@@ -701,6 +758,7 @@ statement :: (parse_state : *Parse_State) -> *AST_Node {
|
||||
|
||||
block :: (parse_state : *Parse_State) -> *AST_Node {
|
||||
node : *AST_Node = make_node(parse_state, .Block);
|
||||
array_reserve(*node.children, 1024);
|
||||
|
||||
source_location : Source_Range;
|
||||
|
||||
@@ -731,7 +789,7 @@ field_list :: (parse_state : *Parse_State, separator : Separator_Type, require_f
|
||||
field : *AST_Node;
|
||||
identifier := parse_state.current;
|
||||
advance(parse_state);
|
||||
if require_field_names {
|
||||
if require_field_names || check(parse_state, .TOKEN_COLON) {
|
||||
field = field_declaration(parse_state, identifier);
|
||||
} else {
|
||||
field = make_node(parse_state, .Unnamed_Field);
|
||||
@@ -866,7 +924,7 @@ property_block :: (parse_state : *Parse_State, identifier_token : *Token = null)
|
||||
node : *AST_Node;
|
||||
source_location : Source_Range;
|
||||
source_location.begin = parse_state.current;
|
||||
|
||||
|
||||
consume(parse_state, .TOKEN_LEFTBRACE, "Expect '{' after 'property' keyword");
|
||||
properties := field_list(parse_state, .Semicolon);
|
||||
|
||||
@@ -883,6 +941,26 @@ property_block :: (parse_state : *Parse_State, identifier_token : *Token = null)
|
||||
return node;
|
||||
}
|
||||
|
||||
constant_buffer :: (parse_state : *Parse_State, identifier_token : *Token = null) -> *AST_Node {
|
||||
node : *AST_Node;
|
||||
source_location : Source_Range;
|
||||
source_location.begin = parse_state.current;
|
||||
consume(parse_state, .TOKEN_LEFTBRACE, "Expect '{' after 'constant_buffer' keyword");
|
||||
buffer := field_list(parse_state, .Semicolon);
|
||||
|
||||
node = make_node(parse_state, .CBuffer);
|
||||
if identifier_token {
|
||||
node.name = identifier_token.ident_value;
|
||||
}
|
||||
add_child(node, buffer);
|
||||
|
||||
consume(parse_state, .TOKEN_RIGHTBRACE, "Expect '}' after 'constant_buffer' block");
|
||||
source_location.end = parse_state.previous;
|
||||
node.source_location = source_location;
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
struct_declaration :: (parse_state : *Parse_State, identifier_token : *Token) -> *AST_Node {
|
||||
source_location := generate_source_location_from_token(parse_state, identifier_token);
|
||||
|
||||
@@ -914,6 +992,8 @@ const_declaration :: (parse_state : *Parse_State, identifier_token : *Token) ->
|
||||
return function_declaration(parse_state, identifier_token, .None);
|
||||
} else if match(parse_state, .TOKEN_PROPERTIES) {
|
||||
return property_block(parse_state, identifier_token);
|
||||
} else if match(parse_state, .TOKEN_CONSTANT_BUFFER) {
|
||||
return constant_buffer(parse_state, identifier_token);
|
||||
}
|
||||
return error_node(parse_state, tprint("Couldn't parse constant declaration at token %\n", parse_state.current.*));
|
||||
}
|
||||
@@ -979,6 +1059,33 @@ declaration :: (parse_state : *Parse_State) -> *AST_Node {
|
||||
return decl_node;
|
||||
}
|
||||
|
||||
parse :: (result : *Compile_Result) {
|
||||
for *file : result.files {
|
||||
parse_state : Parse_State;
|
||||
init_parse_state(*parse_state, file.tokens.tokens, file.file.path);
|
||||
advance(*parse_state);
|
||||
|
||||
if !match(*parse_state, .TOKEN_EOF) {
|
||||
parse_state.result.root = make_node(*parse_state, .Program);
|
||||
array_reserve(*parse_state.result.root.children, 1024);
|
||||
program := parse_state.result.root;
|
||||
|
||||
while !check(*parse_state, .TOKEN_EOF) {
|
||||
decl := declaration(*parse_state);
|
||||
if decl {
|
||||
add_child(program, decl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//@Incomplete(nb): will this straight copy just work?
|
||||
// Might need to rething how we do this.
|
||||
file.ast_root = parse_state.result.root;
|
||||
file.ast_nodes = parse_state.result.nodes;
|
||||
copy_messages(parse_state.result.messages, *result.messages);
|
||||
}
|
||||
}
|
||||
|
||||
parse :: (parse_state : *Parse_State) -> Parse_Result {
|
||||
advance(parse_state);
|
||||
|
||||
|
||||
24
README.md
24
README.md
@@ -49,13 +49,22 @@ properties {
|
||||
view : float4x4;
|
||||
}
|
||||
```
|
||||
which will be exposed in the compiled result. In the future `properties` can be renamed to a custom/shorter name like
|
||||
which will be exposed in the compiled result. `properties` can be renamed to a custom/shorter name like
|
||||
```
|
||||
p :: properties {
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
You can also define constant buffers
|
||||
|
||||
```
|
||||
camera :: Constant_Buffer {
|
||||
projection : float4x4;
|
||||
view : float4x4;
|
||||
}
|
||||
```
|
||||
|
||||
## Jai Usage Example
|
||||
|
||||
To compile a shader and use the result, you can do the following in jai
|
||||
@@ -95,6 +104,9 @@ A `Shader_Variant_Collection` looks as follows
|
||||
Shader_Variant_Collection :: struct {
|
||||
properties : Properties;
|
||||
|
||||
max_constant_buffers :: 16;
|
||||
cbuffers : Static_Array(Constant_Buffer, max_constant_buffers);
|
||||
|
||||
variants : [..]Shader_Variant;
|
||||
}
|
||||
|
||||
@@ -114,6 +126,16 @@ Shader_Variant :: struct {
|
||||
}
|
||||
}
|
||||
|
||||
Constant_Buffer :: struct {
|
||||
register : int;
|
||||
|
||||
name : string;
|
||||
|
||||
fields : Static_Array(Property_Field, 16);
|
||||
|
||||
buffer_index : u32;
|
||||
}
|
||||
|
||||
Properties :: struct {
|
||||
fields : [..]Property_Field;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
52
Test.jai
52
Test.jai
@@ -216,7 +216,7 @@ run_parser_test :: (lexer : *Lexer, output_type : Output_Type = 0) -> Result, *A
|
||||
result_data : Result;
|
||||
result_data.path = lexer.path;
|
||||
result_data.stage = .Parser;
|
||||
init_parse_state(*parse_state, lexer.result.tokens, lexer.path, context.allocator);
|
||||
init_parse_state(*parse_state, lexer.result.tokens, lexer.path);
|
||||
|
||||
result := parse(*parse_state);
|
||||
result_node : *AST_Node;
|
||||
@@ -272,7 +272,7 @@ run_semantic_analysis_test :: (file_path : string, output_type : Output_Type = 0
|
||||
|
||||
parse_state : Parse_State;
|
||||
result_data.stage = .Parser;
|
||||
init_parse_state(*parse_state, lex_result.tokens, lexer.path, context.allocator);
|
||||
init_parse_state(*parse_state, lex_result.tokens, lexer.path);
|
||||
|
||||
parse_result := parse(*parse_state);
|
||||
if parse_result.had_error {
|
||||
@@ -310,8 +310,8 @@ run_semantic_analysis_test :: (file_path : string, root : *AST_Node, output_type
|
||||
result_text = pretty_print_symbol_table(*checker, temp);
|
||||
constraints := pretty_print_type_constraints(*checker, temp);
|
||||
type_vars := pretty_print_type_variables(*checker, temp);
|
||||
print("Constraints\n%\n", constraints);
|
||||
print("Solution\n%\n", type_vars);
|
||||
// print("Constraints\n%\n", constraints);
|
||||
// print("Solution\n%\n", type_vars);
|
||||
}
|
||||
|
||||
if output_type & .StdOut {
|
||||
@@ -398,7 +398,7 @@ run_codegen_test :: (path : string, output_type : Output_Type = 0) -> Result, Co
|
||||
|
||||
parse_state : Parse_State;
|
||||
result_data.stage = .Parser;
|
||||
init_parse_state(*parse_state, lex_result.tokens, lexer.path, context.allocator);
|
||||
init_parse_state(*parse_state, lex_result.tokens, lexer.path);
|
||||
|
||||
parse_result := parse(*parse_state);
|
||||
if parse_result.had_error {
|
||||
@@ -477,7 +477,23 @@ run_test :: (file_path : string, stage_flags : Stage_Flags, results : *[..]Resul
|
||||
}
|
||||
|
||||
run_test :: (test_case : Test_Case, results : *[..]Result, output_type : Output_Type = 0) {
|
||||
print("%Running test: %\n", cyan(), test_case.path);
|
||||
print("%Running test: %......", cyan(), test_case.path);
|
||||
|
||||
// path 30
|
||||
// len 35
|
||||
// == 5
|
||||
|
||||
|
||||
// path 20
|
||||
// len = 35
|
||||
// == 15
|
||||
|
||||
len := 50;
|
||||
rest := len - test_case.path.count;
|
||||
for i: 0..rest {
|
||||
print(" ");
|
||||
}
|
||||
|
||||
run_test(test_case.path, test_case.stage_flags, results, output_type);
|
||||
}
|
||||
|
||||
@@ -518,14 +534,14 @@ run_test_suite :: (using suite : *Test_Suite, output_type : Output_Type = 0) {
|
||||
case .Golden_File_Not_Found; {
|
||||
array_add(*failed_test_paths, .{ result.path, tprint("golden file not found for %", stage_to_string(result.stage)) });
|
||||
}
|
||||
}
|
||||
}
|
||||
evaluate_result(result);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
print("\n");
|
||||
// print("\n");
|
||||
}
|
||||
print("\n");
|
||||
|
||||
@@ -620,26 +636,26 @@ evaluate_result :: (result : Result) {
|
||||
|
||||
if #complete result.type == {
|
||||
case .File_Read_Failed; {
|
||||
print("%", red());
|
||||
print("% failed with File_Read_Failed\n", result.path);
|
||||
print(" %", red());
|
||||
print("failed with File_Read_Failed\n");
|
||||
}
|
||||
case .Golden_File_Not_Found; {
|
||||
print("%", red());
|
||||
print("% failed with Golden File Not Found for stage %\n", result.path, stage);
|
||||
print(" %", red());
|
||||
print("failed with Golden File Not Found for stage %\n", stage);
|
||||
}
|
||||
case .StdOut; {
|
||||
}
|
||||
case .Golden_Output; {
|
||||
print("%", yellow());
|
||||
print("% output new golden file at %\n", result.path, result.golden_path);
|
||||
print(" %", yellow());
|
||||
print("output new golden file at %\n", result.golden_path);
|
||||
}
|
||||
case .Passed; {
|
||||
print("%", green());
|
||||
print("% passed %\n", result.path, stage);
|
||||
print(" %", green());
|
||||
print("passed %\n", stage);
|
||||
}
|
||||
case .Failed; {
|
||||
print("%", red());
|
||||
print("% failed %\n", result.path, stage);
|
||||
print(" %", red());
|
||||
print("failed %\n", stage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
42
first.jai
Normal file
42
first.jai
Normal file
@@ -0,0 +1,42 @@
|
||||
#import "Basic";
|
||||
#import "File";
|
||||
#import "Compiler";
|
||||
|
||||
build :: () {
|
||||
w := compiler_create_workspace("Shader Compiler Test Build");
|
||||
if !w {
|
||||
print("Workspace creation failed.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
EXECUTABLE_NAME :: "test";
|
||||
MAIN_FILE :: "Test.jai";
|
||||
|
||||
options := get_build_options(w);
|
||||
|
||||
options.write_added_strings = true;
|
||||
|
||||
new_path: [..] string;
|
||||
array_add(*new_path, ..options.import_path);
|
||||
array_add(*new_path, "modules");
|
||||
// array_add(*new_path, "modules/shader_parsing");
|
||||
options.import_path = new_path;
|
||||
options.output_executable_name = EXECUTABLE_NAME;
|
||||
|
||||
wd := get_working_directory();
|
||||
|
||||
|
||||
set_build_options(options, w);
|
||||
|
||||
compiler_begin_intercept(w);
|
||||
|
||||
add_build_file(MAIN_FILE, w);
|
||||
|
||||
compiler_end_intercept(w);
|
||||
|
||||
print("\nDone!\n\n");
|
||||
|
||||
set_build_options_dc(.{do_output=false});
|
||||
}
|
||||
|
||||
#run build();
|
||||
255
hlsl_builtin.jai
255
hlsl_builtin.jai
@@ -1,252 +1,5 @@
|
||||
HLSL_BULTIN :: #string DONE
|
||||
HLSL_BUILTIN :: #run -> string {
|
||||
// return read_entire_file("./hlsl_builtin.shd");
|
||||
return "";
|
||||
};
|
||||
|
||||
float2 :: struct {
|
||||
x : float;
|
||||
y : float;
|
||||
}
|
||||
|
||||
float3 :: struct {
|
||||
x : float;
|
||||
y : float;
|
||||
z : float;
|
||||
}
|
||||
|
||||
float4 :: struct {
|
||||
x : float;
|
||||
y : float;
|
||||
z : float;
|
||||
w : float;
|
||||
}
|
||||
|
||||
float4x4 :: struct {
|
||||
m11 : float;
|
||||
m12 : float;
|
||||
m13 : float;
|
||||
m14 : float;
|
||||
m21 : float;
|
||||
m22 : float;
|
||||
m23 : float;
|
||||
m24 : float;
|
||||
m31 : float;
|
||||
m32 : float;
|
||||
m33 : float;
|
||||
m34 : float;
|
||||
m41 : float;
|
||||
m42 : float;
|
||||
m43 : float;
|
||||
m44 : float;
|
||||
}
|
||||
|
||||
int2 :: struct {
|
||||
x : int;
|
||||
y : int;
|
||||
}
|
||||
|
||||
int3 :: struct {
|
||||
x : int;
|
||||
y : int;
|
||||
z : int;
|
||||
}
|
||||
|
||||
int4 :: struct {
|
||||
x : int;
|
||||
y : int;
|
||||
z : int;
|
||||
w : int;
|
||||
}
|
||||
|
||||
int4x4 :: struct {
|
||||
m11 : int;
|
||||
m12 : int;
|
||||
m13 : int;
|
||||
m14 : int;
|
||||
m21 : int;
|
||||
m22 : int;
|
||||
m23 : int;
|
||||
m24 : int;
|
||||
m31 : int;
|
||||
m32 : int;
|
||||
m33 : int;
|
||||
m34 : int;
|
||||
m41 : int;
|
||||
m42 : int;
|
||||
m43 : int;
|
||||
m44 : int;
|
||||
}
|
||||
|
||||
//~ nbr: Constructors
|
||||
#foreign float2 :: (float, float) -> float2;
|
||||
#foreign float3 :: (float, float, float) -> float3;
|
||||
#foreign float4 :: (float, float, float, float) -> float4;
|
||||
|
||||
//~ nbr: Vectors
|
||||
#foreign cross :: (float3, float3) -> float3;
|
||||
#foreign distance :: (float2, float2) -> float;
|
||||
#foreign distance :: (float3, float3) -> float;
|
||||
#foreign distance :: (float4, float4) -> float;
|
||||
|
||||
#foreign dot :: (float2, float2) -> float;
|
||||
#foreign dot :: (float3, float3) -> float;
|
||||
#foreign dot :: (float4, float4) -> float;
|
||||
|
||||
#foreign normalize :: (float2) -> float2;
|
||||
#foreign normalize :: (float3) -> float3;
|
||||
#foreign normalize :: (float4) -> float4;
|
||||
|
||||
#foreign transpose :: (float4x4) -> float4x4;
|
||||
|
||||
//~ nbr: Multiplies
|
||||
#foreign mul :: (float2, float2) -> float2;
|
||||
#foreign mul :: (float3, float3) -> float3;
|
||||
#foreign mul :: (float4, float4) -> float4;
|
||||
#foreign mul :: (float4x4, float4x4) -> float4x4;
|
||||
|
||||
//~ nbr: General
|
||||
#foreign abs :: (float) -> float;
|
||||
#foreign abs :: (float2) -> float2;
|
||||
#foreign abs :: (float3) -> float3;
|
||||
#foreign abs :: (float4) -> float4;
|
||||
#foreign abs :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign min :: (float) -> float;
|
||||
#foreign min :: (float2) -> float2;
|
||||
#foreign min :: (float3) -> float3;
|
||||
#foreign min :: (float4) -> float4;
|
||||
#foreign min :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign max :: (float) -> float;
|
||||
#foreign max :: (float2) -> float2;
|
||||
#foreign max :: (float3) -> float3;
|
||||
#foreign max :: (float4) -> float4;
|
||||
#foreign max :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign ceil :: (float) -> float;
|
||||
#foreign ceil :: (float2) -> float2;
|
||||
#foreign ceil :: (float3) -> float3;
|
||||
#foreign ceil :: (float4) -> float4;
|
||||
#foreign ceil :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign floor :: (float) -> float;
|
||||
#foreign floor :: (float2) -> float2;
|
||||
#foreign floor :: (float3) -> float3;
|
||||
#foreign floor :: (float4) -> float4;
|
||||
#foreign floor :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign round :: (float) -> float;
|
||||
#foreign round :: (float2) -> float2;
|
||||
#foreign round :: (float3) -> float3;
|
||||
#foreign round :: (float4) -> float4;
|
||||
#foreign round :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign clamp :: (float, float, float) -> float;
|
||||
#foreign clamp :: (float2, float2, float2) -> float2;
|
||||
#foreign clamp :: (float3, float3, float3) -> float3;
|
||||
#foreign clamp :: (float4, float4, float4) -> float4;
|
||||
#foreign clamp :: (float4x4, float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign log :: (float) -> float;
|
||||
#foreign log :: (float2) -> float2;
|
||||
#foreign log :: (float3) -> float3;
|
||||
#foreign log :: (float4) -> float4;
|
||||
#foreign log :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign log2 :: (float) -> float;
|
||||
#foreign log2 :: (float2) -> float2;
|
||||
#foreign log2 :: (float3) -> float3;
|
||||
#foreign log2 :: (float4) -> float4;
|
||||
#foreign log2 :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign log10 :: (float) -> float;
|
||||
#foreign log10 :: (float2) -> float2;
|
||||
#foreign log10 :: (float3) -> float3;
|
||||
#foreign log10 :: (float4) -> float4;
|
||||
#foreign log10 :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign pow :: (float, float, float) -> float;
|
||||
#foreign pow :: (float2, float2, float2) -> float2;
|
||||
#foreign pow :: (float3, float3, float3) -> float3;
|
||||
#foreign pow :: (float4, float4, float4) -> float4;
|
||||
#foreign pow :: (float4x4, float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign smoothstep :: (float, float, float) -> float;
|
||||
#foreign smoothstep :: (float2, float2, float2) -> float2;
|
||||
#foreign smoothstep :: (float3, float3, float3) -> float3;
|
||||
#foreign smoothstep :: (float4, float4, float4) -> float4;
|
||||
#foreign smoothstep :: (float4x4, float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign step :: (float, float) -> float;
|
||||
#foreign step :: (float2, float2) -> float2;
|
||||
#foreign step :: (float3, float3) -> float3;
|
||||
#foreign step :: (float4, float4) -> float4;
|
||||
#foreign step :: (float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign sqrt :: (float) -> float;
|
||||
#foreign sqrt :: (float2) -> float2;
|
||||
#foreign sqrt :: (float3) -> float3;
|
||||
#foreign sqrt :: (float4) -> float4;
|
||||
#foreign sqrt :: (float4x4) -> float4x4;
|
||||
|
||||
|
||||
|
||||
//~ nbr: Trigonometry
|
||||
#foreign cos :: (float) -> float;
|
||||
#foreign cos :: (float2) -> float2;
|
||||
#foreign cos :: (float3) -> float3;
|
||||
#foreign cos :: (float4) -> float4;
|
||||
#foreign cos :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign cosh :: (float) -> float;
|
||||
#foreign cosh :: (float2) -> float2;
|
||||
#foreign cosh :: (float3) -> float3;
|
||||
#foreign cosh :: (float4) -> float4;
|
||||
#foreign cosh :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign acos :: (float) -> float;
|
||||
#foreign acos :: (float2) -> float2;
|
||||
#foreign acos :: (float3) -> float3;
|
||||
#foreign acos :: (float4) -> float4;
|
||||
#foreign acos :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign sin :: (float) -> float;
|
||||
#foreign sin :: (float2) -> float2;
|
||||
#foreign sin :: (float3) -> float3;
|
||||
#foreign sin :: (float4) -> float4;
|
||||
#foreign sin :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign sinh :: (float) -> float;
|
||||
#foreign sinh :: (float2) -> float2;
|
||||
#foreign sinh :: (float3) -> float3;
|
||||
#foreign sinh :: (float4) -> float4;
|
||||
#foreign sinh :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign asin :: (float) -> float;
|
||||
#foreign asin :: (float2) -> float2;
|
||||
#foreign asin :: (float3) -> float3;
|
||||
#foreign asin :: (float4) -> float4;
|
||||
#foreign asin :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign tan :: (float) -> float;
|
||||
#foreign tan :: (float2) -> float2;
|
||||
#foreign tan :: (float3) -> float3;
|
||||
#foreign tan :: (float4) -> float4;
|
||||
#foreign tan :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign tanh :: (float) -> float;
|
||||
#foreign tanh :: (float2) -> float2;
|
||||
#foreign tanh :: (float3) -> float3;
|
||||
#foreign tanh :: (float4) -> float4;
|
||||
#foreign tanh :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign atan :: (float) -> float;
|
||||
#foreign atan :: (float2) -> float2;
|
||||
#foreign atan :: (float3) -> float3;
|
||||
#foreign atan :: (float4) -> float4;
|
||||
#foreign atan :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign atan2 :: (float, float) -> float;
|
||||
#foreign atan2 :: (float2, float2) -> float2;
|
||||
#foreign atan2 :: (float3, float3) -> float3;
|
||||
#foreign atan2 :: (float4, float4) -> float4;
|
||||
#foreign atan2 :: (float4x4, float4x4) -> float4x4;
|
||||
|
||||
DONE
|
||||
|
||||
262
hlsl_builtin.shd
Normal file
262
hlsl_builtin.shd
Normal file
@@ -0,0 +1,262 @@
|
||||
float2 :: struct {
|
||||
x : float;
|
||||
y : float;
|
||||
}
|
||||
|
||||
float3 :: struct {
|
||||
x : float;
|
||||
y : float;
|
||||
z : float;
|
||||
}
|
||||
|
||||
float4 :: struct {
|
||||
x : float;
|
||||
y : float;
|
||||
z : float;
|
||||
w : float;
|
||||
}
|
||||
|
||||
float4x4 :: struct {
|
||||
m11 : float;
|
||||
m12 : float;
|
||||
m13 : float;
|
||||
m14 : float;
|
||||
m21 : float;
|
||||
m22 : float;
|
||||
m23 : float;
|
||||
m24 : float;
|
||||
m31 : float;
|
||||
m32 : float;
|
||||
m33 : float;
|
||||
m34 : float;
|
||||
m41 : float;
|
||||
m42 : float;
|
||||
m43 : float;
|
||||
m44 : float;
|
||||
}
|
||||
|
||||
int2 :: struct {
|
||||
x : int;
|
||||
y : int;
|
||||
}
|
||||
|
||||
int3 :: struct {
|
||||
x : int;
|
||||
y : int;
|
||||
z : int;
|
||||
}
|
||||
|
||||
int4 :: struct {
|
||||
x : int;
|
||||
y : int;
|
||||
z : int;
|
||||
w : int;
|
||||
}
|
||||
|
||||
int4x4 :: struct {
|
||||
m11 : int;
|
||||
m12 : int;
|
||||
m13 : int;
|
||||
m14 : int;
|
||||
m21 : int;
|
||||
m22 : int;
|
||||
m23 : int;
|
||||
m24 : int;
|
||||
m31 : int;
|
||||
m32 : int;
|
||||
m33 : int;
|
||||
m34 : int;
|
||||
m41 : int;
|
||||
m42 : int;
|
||||
m43 : int;
|
||||
m44 : int;
|
||||
}
|
||||
|
||||
//~ nbr: Constructors
|
||||
#foreign float2 :: (float, float) -> float2;
|
||||
#foreign float3 :: (float, float, float) -> float3;
|
||||
#foreign float4 :: (float, float, float, float) -> float4;
|
||||
|
||||
//~ nbr: Vectors
|
||||
#foreign cross :: (float3, float3) -> float3;
|
||||
#foreign distance :: (float2, float2) -> float;
|
||||
#foreign distance :: (float3, float3) -> float;
|
||||
#foreign distance :: (float4, float4) -> float;
|
||||
|
||||
#foreign dot :: (float2, float2) -> float;
|
||||
#foreign dot :: (float3, float3) -> float;
|
||||
#foreign dot :: (float4, float4) -> float;
|
||||
|
||||
#foreign normalize :: (float2) -> float2;
|
||||
#foreign normalize :: (float3) -> float3;
|
||||
#foreign normalize :: (float4) -> float4;
|
||||
|
||||
#foreign transpose :: (float4x4) -> float4x4;
|
||||
|
||||
//~ nbr: Multiplies
|
||||
#foreign mul :: (float2, float2) -> float;
|
||||
#foreign mul :: (float3, float3) -> float;
|
||||
#foreign mul :: (float4, float4) -> float;
|
||||
#foreign mul :: (float4x4, float4x4) -> float4x4;
|
||||
#foreign mul :: (float, float2) -> float2;
|
||||
#foreign mul :: (float, float3) -> float3;
|
||||
#foreign mul :: (float, float4) -> float4;
|
||||
|
||||
#foreign mul :: (float, float4x4) -> float4x4;
|
||||
#foreign mul :: (float4x4, float) -> float4x4;
|
||||
#foreign mul :: (float4x4, float4) -> float4;
|
||||
#foreign mul :: (float2, float) -> float2;
|
||||
#foreign mul :: (float3, float) -> float3;
|
||||
#foreign mul :: (float4, float) -> float4;
|
||||
|
||||
#foreign mul :: (float4, float4x4) -> float4x4;
|
||||
|
||||
//~ nbr: General
|
||||
#foreign abs :: (float) -> float;
|
||||
#foreign abs :: (float2) -> float2;
|
||||
#foreign abs :: (float3) -> float3;
|
||||
#foreign abs :: (float4) -> float4;
|
||||
#foreign abs :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign min :: (float) -> float;
|
||||
#foreign min :: (float2) -> float2;
|
||||
#foreign min :: (float3) -> float3;
|
||||
#foreign min :: (float4) -> float4;
|
||||
#foreign min :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign max :: (float) -> float;
|
||||
#foreign max :: (float2) -> float2;
|
||||
#foreign max :: (float3) -> float3;
|
||||
#foreign max :: (float4) -> float4;
|
||||
#foreign max :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign ceil :: (float) -> float;
|
||||
#foreign ceil :: (float2) -> float2;
|
||||
#foreign ceil :: (float3) -> float3;
|
||||
#foreign ceil :: (float4) -> float4;
|
||||
#foreign ceil :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign floor :: (float) -> float;
|
||||
#foreign floor :: (float2) -> float2;
|
||||
#foreign floor :: (float3) -> float3;
|
||||
#foreign floor :: (float4) -> float4;
|
||||
#foreign floor :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign round :: (float) -> float;
|
||||
#foreign round :: (float2) -> float2;
|
||||
#foreign round :: (float3) -> float3;
|
||||
#foreign round :: (float4) -> float4;
|
||||
#foreign round :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign clamp :: (float, float, float) -> float;
|
||||
#foreign clamp :: (float2, float2, float2) -> float2;
|
||||
#foreign clamp :: (float3, float3, float3) -> float3;
|
||||
#foreign clamp :: (float4, float4, float4) -> float4;
|
||||
#foreign clamp :: (float4x4, float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign log :: (float) -> float;
|
||||
#foreign log :: (float2) -> float2;
|
||||
#foreign log :: (float3) -> float3;
|
||||
#foreign log :: (float4) -> float4;
|
||||
#foreign log :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign log2 :: (float) -> float;
|
||||
#foreign log2 :: (float2) -> float2;
|
||||
#foreign log2 :: (float3) -> float3;
|
||||
#foreign log2 :: (float4) -> float4;
|
||||
#foreign log2 :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign log10 :: (float) -> float;
|
||||
#foreign log10 :: (float2) -> float2;
|
||||
#foreign log10 :: (float3) -> float3;
|
||||
#foreign log10 :: (float4) -> float4;
|
||||
#foreign log10 :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign pow :: (float, float, float) -> float;
|
||||
#foreign pow :: (float2, float2, float2) -> float2;
|
||||
#foreign pow :: (float3, float3, float3) -> float3;
|
||||
#foreign pow :: (float4, float4, float4) -> float4;
|
||||
#foreign pow :: (float4x4, float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign smoothstep :: (float, float, float) -> float;
|
||||
#foreign smoothstep :: (float2, float2, float2) -> float2;
|
||||
#foreign smoothstep :: (float3, float3, float3) -> float3;
|
||||
#foreign smoothstep :: (float4, float4, float4) -> float4;
|
||||
#foreign smoothstep :: (float4x4, float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign step :: (float, float) -> float;
|
||||
#foreign step :: (float2, float2) -> float2;
|
||||
#foreign step :: (float3, float3) -> float3;
|
||||
#foreign step :: (float4, float4) -> float4;
|
||||
#foreign step :: (float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign sqrt :: (float) -> float;
|
||||
#foreign sqrt :: (float2) -> float2;
|
||||
#foreign sqrt :: (float3) -> float3;
|
||||
#foreign sqrt :: (float4) -> float4;
|
||||
#foreign sqrt :: (float4x4) -> float4x4;
|
||||
|
||||
|
||||
|
||||
//~ nbr: Trigonometry
|
||||
#foreign cos :: (float) -> float;
|
||||
#foreign cos :: (float2) -> float2;
|
||||
#foreign cos :: (float3) -> float3;
|
||||
#foreign cos :: (float4) -> float4;
|
||||
#foreign cos :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign cosh :: (float) -> float;
|
||||
#foreign cosh :: (float2) -> float2;
|
||||
#foreign cosh :: (float3) -> float3;
|
||||
#foreign cosh :: (float4) -> float4;
|
||||
#foreign cosh :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign acos :: (float) -> float;
|
||||
#foreign acos :: (float2) -> float2;
|
||||
#foreign acos :: (float3) -> float3;
|
||||
#foreign acos :: (float4) -> float4;
|
||||
#foreign acos :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign sin :: (float) -> float;
|
||||
#foreign sin :: (float2) -> float2;
|
||||
#foreign sin :: (float3) -> float3;
|
||||
#foreign sin :: (float4) -> float4;
|
||||
#foreign sin :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign sinh :: (float) -> float;
|
||||
#foreign sinh :: (float2) -> float2;
|
||||
#foreign sinh :: (float3) -> float3;
|
||||
#foreign sinh :: (float4) -> float4;
|
||||
#foreign sinh :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign asin :: (float) -> float;
|
||||
#foreign asin :: (float2) -> float2;
|
||||
#foreign asin :: (float3) -> float3;
|
||||
#foreign asin :: (float4) -> float4;
|
||||
#foreign asin :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign tan :: (float) -> float;
|
||||
#foreign tan :: (float2) -> float2;
|
||||
#foreign tan :: (float3) -> float3;
|
||||
#foreign tan :: (float4) -> float4;
|
||||
#foreign tan :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign tanh :: (float) -> float;
|
||||
#foreign tanh :: (float2) -> float2;
|
||||
#foreign tanh :: (float3) -> float3;
|
||||
#foreign tanh :: (float4) -> float4;
|
||||
#foreign tanh :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign atan :: (float) -> float;
|
||||
#foreign atan :: (float2) -> float2;
|
||||
#foreign atan :: (float3) -> float3;
|
||||
#foreign atan :: (float4) -> float4;
|
||||
#foreign atan :: (float4x4) -> float4x4;
|
||||
|
||||
#foreign atan2 :: (float, float) -> float;
|
||||
#foreign atan2 :: (float2, float2) -> float2;
|
||||
#foreign atan2 :: (float3, float3) -> float3;
|
||||
#foreign atan2 :: (float4, float4) -> float4;
|
||||
#foreign atan2 :: (float4x4, float4x4) -> float4x4;
|
||||
|
||||
#foreign sample :: (Texture2D, Sampler, float2) -> float4;
|
||||
141
module.jai
141
module.jai
@@ -56,6 +56,7 @@ Hint_Kind :: enum {
|
||||
None;
|
||||
|
||||
Position;
|
||||
UV;
|
||||
Target;
|
||||
|
||||
Custom;
|
||||
@@ -72,6 +73,7 @@ Field :: struct {
|
||||
name : string;
|
||||
|
||||
type : Field_Type;
|
||||
resource_index : u32;
|
||||
hints : [..]Field_Hint;
|
||||
}
|
||||
|
||||
@@ -111,12 +113,87 @@ Properties :: struct {
|
||||
buffer_index : u32;
|
||||
}
|
||||
|
||||
Constant_Buffer :: struct {
|
||||
register : int;
|
||||
|
||||
name : string;
|
||||
|
||||
fields : Static_Array(Property_Field, 16);
|
||||
|
||||
buffer_index : u32;
|
||||
}
|
||||
|
||||
Shader_Variant_Collection :: struct {
|
||||
properties : Properties;
|
||||
|
||||
max_constant_buffers :: 16;
|
||||
cbuffers : Static_Array(Constant_Buffer, max_constant_buffers);
|
||||
|
||||
variants : [..]Shader_Variant;
|
||||
}
|
||||
|
||||
Input_File :: struct {
|
||||
source : string;
|
||||
path : string;
|
||||
}
|
||||
|
||||
Token_Stream :: struct {
|
||||
tokens : [..]Token;
|
||||
}
|
||||
|
||||
Compiled_File :: struct {
|
||||
file : Input_File;
|
||||
tokens : Token_Stream;
|
||||
ast_root : *AST_Node;
|
||||
ast_nodes : [..]AST_Node;
|
||||
}
|
||||
|
||||
Compile_Result :: struct {
|
||||
files : [..]Compiled_File;
|
||||
|
||||
had_error : bool;
|
||||
messages : [..]Compiler_Message;
|
||||
|
||||
allocator : Allocator;
|
||||
arena : Arena;
|
||||
}
|
||||
|
||||
//@Incomplete(niels): need to consider allocation
|
||||
add_file :: (result : *Compile_Result, path : string) {
|
||||
file_string, ok := read_entire_file(path);
|
||||
|
||||
if !ok {
|
||||
// record_error(.File_Load_Failed, "Unable to load file: %", path);
|
||||
return;
|
||||
}
|
||||
|
||||
input_file : Input_File;
|
||||
|
||||
input_file.source = file_string;
|
||||
input_file.path = path;
|
||||
|
||||
compiled_file : Compiled_File;
|
||||
compiled_file.file = input_file;
|
||||
|
||||
array_add(*result.files, compiled_file);
|
||||
}
|
||||
|
||||
// @Incomplete(nb): Will we ever even use this?
|
||||
from_file :: (path : string) -> Compile_Result {
|
||||
arr : [1]string;
|
||||
arr[0] = path;
|
||||
return from_files(arr);
|
||||
}
|
||||
|
||||
from_files :: (paths : []string) -> Compile_Result {
|
||||
result : Compile_Result;
|
||||
for path : paths {
|
||||
add_file(*result, path);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Compilation_Result :: struct {
|
||||
messages : [..]Compiler_Message;
|
||||
|
||||
@@ -227,9 +304,13 @@ type_variable_to_field :: (checker : *Semantic_Checker, variable : *Type_Variabl
|
||||
}
|
||||
case .Texture2D; {
|
||||
type.kind = Field_Kind.Texture2D;
|
||||
|
||||
field.resource_index = variable.resource_index;
|
||||
}
|
||||
case .Sampler; {
|
||||
type.kind = Field_Kind.Sampler;
|
||||
|
||||
field.resource_index = variable.resource_index;
|
||||
}
|
||||
case .Struct; {
|
||||
type.kind = Field_Kind.Struct;
|
||||
@@ -239,7 +320,7 @@ type_variable_to_field :: (checker : *Semantic_Checker, variable : *Type_Variabl
|
||||
|
||||
type_var := h2tv(checker, find_result.type_variable);
|
||||
|
||||
for i : 0..type_var.child_count - 1 {
|
||||
for i : 0..type_var.children.count - 1 {
|
||||
child := type_var.children[i];
|
||||
child_field := type_variable_to_field(checker, h2tv(checker, child));
|
||||
array_add(*type.children, child_field);
|
||||
@@ -255,6 +336,8 @@ type_variable_to_field :: (checker : *Semantic_Checker, variable : *Type_Variabl
|
||||
if hint.ident_value == "position" {
|
||||
// @Incomplete(nb): Should be a lookup table somewhere
|
||||
field_hint.kind = .Position;
|
||||
} else if hint.ident_value == "uv" {
|
||||
field_hint.kind = .UV;
|
||||
} else if starts_with(hint.ident_value, "target") {
|
||||
// @Incomplete(nb): Should be a lookup table somewhere
|
||||
index_str : string;
|
||||
@@ -277,9 +360,24 @@ type_variable_to_field :: (checker : *Semantic_Checker, variable : *Type_Variabl
|
||||
return field;
|
||||
}
|
||||
|
||||
compile_file :: (compiler : *Shader_Compiler, paths : []string) -> Compile_Result {
|
||||
result : Compile_Result;
|
||||
|
||||
for path : paths {
|
||||
add_file(*result, path);
|
||||
}
|
||||
|
||||
lex(*result);
|
||||
// parse(*result);
|
||||
// check(*result);
|
||||
// codegen(*result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
compile_file :: (compiler : *Shader_Compiler, path : string) -> Compilation_Result {
|
||||
result : Compilation_Result;
|
||||
|
||||
|
||||
lexer : Lexer;
|
||||
|
||||
init_lexer_from_file(*lexer, path);
|
||||
@@ -297,7 +395,7 @@ compile_file :: (compiler : *Shader_Compiler, path : string) -> Compilation_Resu
|
||||
}
|
||||
|
||||
parse_state : Parse_State;
|
||||
init_parse_state(*parse_state, lex_result.tokens, lexer.path, context.allocator);
|
||||
init_parse_state(*parse_state, lex_result.tokens, lexer.path);
|
||||
|
||||
parse_result := parse(*parse_state);
|
||||
if parse_result.had_error {
|
||||
@@ -334,10 +432,10 @@ compile_file :: (compiler : *Shader_Compiler, path : string) -> Compilation_Resu
|
||||
variant : Shader_Variant;
|
||||
variant.text = codegen_result.result_text;
|
||||
|
||||
if checker.vertex_entry_point {
|
||||
variant.vertex_entry_point.name = checker.vertex_entry_point.name;
|
||||
if checker.result.vertex_entry_point {
|
||||
variant.vertex_entry_point.name = checker.result.vertex_entry_point.name;
|
||||
|
||||
type_variable := h2tv(*checker, checker.vertex_entry_point.type_variable);
|
||||
type_variable := h2tv(*checker, checker.result.vertex_entry_point.type_variable);
|
||||
assert(type_variable.type == .Function);
|
||||
|
||||
node := type_variable.source_node;
|
||||
@@ -347,34 +445,48 @@ compile_file :: (compiler : *Shader_Compiler, path : string) -> Compilation_Resu
|
||||
for child : field_list.children {
|
||||
tv := h2tv(*checker, child.type_variable);
|
||||
field := type_variable_to_field(*checker, tv);
|
||||
print("%\n", pretty_print_field(*field));
|
||||
array_add(*variant.vertex_entry_point.input, field);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
find_result := find_symbol(*check_result.scope_stack, "properties", xx 1);
|
||||
for buffer_variable : to_array(*check_result.constant_buffers) {
|
||||
variable := h2tv(check_result.type_variables, buffer_variable);
|
||||
|
||||
cb := array_add(*result.collection.cbuffers);
|
||||
|
||||
for i : 0..variable.children.count - 1 {
|
||||
child := variable.children[i];
|
||||
field : Property_Field;
|
||||
field.base_field = type_variable_to_field(*checker, h2tv(*checker, child));;
|
||||
array_add(*cb.fields, field);
|
||||
}
|
||||
|
||||
cb.buffer_index = variable.resource_index;
|
||||
}
|
||||
|
||||
find_result := find_symbol(*check_result.scope_stack, check_result.property_name, xx 1);
|
||||
if find_result {
|
||||
property_variable := h2tv(check_result.type_variables, find_result.type_variable);
|
||||
|
||||
for i : 0..property_variable.child_count - 1 {
|
||||
for i : 0..property_variable.children.count - 1 {
|
||||
child := property_variable.children[i];
|
||||
field := type_variable_to_field(*checker, h2tv(*checker, child));
|
||||
prop_field : Property_Field;
|
||||
prop_field.base_field = field;
|
||||
array_add(*result.collection.properties.fields, prop_field);
|
||||
}
|
||||
result.collection.properties.buffer_index = property_variable.buffer_index;
|
||||
result.collection.properties.buffer_index = property_variable.resource_index;
|
||||
}
|
||||
|
||||
if checker.pixel_entry_point {
|
||||
variant.pixel_entry_point.name = checker.pixel_entry_point.name;
|
||||
if checker.result.pixel_entry_point {
|
||||
variant.pixel_entry_point.name = checker.result.pixel_entry_point.name;
|
||||
|
||||
type_variable := h2tv(*checker, checker.pixel_entry_point.type_variable);
|
||||
type_variable := h2tv(*checker, checker.result.pixel_entry_point.type_variable);
|
||||
assert(type_variable.type == .Function);
|
||||
|
||||
field := type_variable_to_field(*checker, type_variable.return_var);
|
||||
field := type_variable_to_field(*checker, type_variable.return_type_variable);
|
||||
for hint : type_variable.source_node.hint_tokens {
|
||||
field_hint : Field_Hint;
|
||||
|
||||
@@ -399,7 +511,6 @@ compile_file :: (compiler : *Shader_Compiler, path : string) -> Compilation_Resu
|
||||
}
|
||||
|
||||
variant.pixel_entry_point.return_value = field;
|
||||
print("%\n", pretty_print_field(*field));
|
||||
}
|
||||
|
||||
array_add(*result.collection.variants, variant);
|
||||
|
||||
1
modules/ncore
Submodule
1
modules/ncore
Submodule
Submodule modules/ncore added at 9db7ff0940
5
test/arrays.shd
Normal file
5
test/arrays.shd
Normal file
@@ -0,0 +1,5 @@
|
||||
vertex main :: () -> float4 @position {
|
||||
arr : [16].float4;
|
||||
arr[0] = float4(1,1,1);
|
||||
return arr[0];
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
void vs_main()
|
||||
{
|
||||
float x = 2.0f + 5.0f;
|
||||
float x = (2.0f + 5.0f);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
cbuffer __PROPERTIES : register(b0)
|
||||
{
|
||||
float4 color;
|
||||
float4 __PROPERTIES__color;
|
||||
}
|
||||
|
||||
|
||||
float3 vs_main(float3 pos : POSITION) : SV_POSITION
|
||||
{
|
||||
return pos;
|
||||
@@ -10,6 +11,6 @@ float3 vs_main(float3 pos : POSITION) : SV_POSITION
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
return color;
|
||||
return __PROPERTIES__color;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,6 @@ void vs_main()
|
||||
{
|
||||
float x = 5.0f;
|
||||
float y = 3000.0f;
|
||||
float z = y * y + x;
|
||||
float z = ((y * y) + x);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
struct Foo;
|
||||
|
||||
struct Foo {}
|
||||
struct Foo {};
|
||||
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
cbuffer __PROPERTIES : register(b0)
|
||||
{
|
||||
float4 color;
|
||||
float4 __PROPERTIES__color;
|
||||
}
|
||||
|
||||
float3 vs_main(float3 pos : POSITION, float2 uv) : SV_POSITION
|
||||
|
||||
float3 vs_main(float3 pos : POSITION, float2 uv : TEXCOORD0) : SV_POSITION
|
||||
{
|
||||
return pos;
|
||||
}
|
||||
|
||||
float4 ps_main() : SV_TARGET
|
||||
{
|
||||
return color;
|
||||
return __PROPERTIES__color;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ int foo()
|
||||
|
||||
float bar()
|
||||
{
|
||||
return 1235.0f * 500;
|
||||
return (1235.0f * 500);
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
struct Foo;
|
||||
|
||||
float foo(Foo f);
|
||||
|
||||
struct Foo
|
||||
{
|
||||
float some_data;
|
||||
}
|
||||
};
|
||||
|
||||
float foo(Foo f)
|
||||
{
|
||||
return f.some_data * 2.0f;
|
||||
return (f.some_data * 2.0f);
|
||||
}
|
||||
|
||||
void vs_main()
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
struct Data;
|
||||
|
||||
struct Data
|
||||
{
|
||||
float4 color;
|
||||
}
|
||||
};
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
struct Foo;
|
||||
struct Bar;
|
||||
|
||||
struct Foo
|
||||
{
|
||||
float4 color;
|
||||
}
|
||||
};
|
||||
|
||||
struct Bar
|
||||
{
|
||||
Foo t;
|
||||
}
|
||||
};
|
||||
|
||||
void vs_main()
|
||||
{
|
||||
|
||||
29
test/codegen/texture_sample.golden
Normal file
29
test/codegen/texture_sample.golden
Normal file
@@ -0,0 +1,29 @@
|
||||
struct PS_Input;
|
||||
|
||||
cbuffer __PROPERTIES : register(b0)
|
||||
{
|
||||
}
|
||||
|
||||
Texture2D texture : register(t0);
|
||||
Sampler sampler : register(s0);
|
||||
|
||||
struct PS_Input
|
||||
{
|
||||
float2 uv;
|
||||
float4 pos : POSITION;
|
||||
}
|
||||
|
||||
PS_Input vs_main(float4 pos : POSITION, float2 uv)
|
||||
{
|
||||
PS_Input result;
|
||||
result.uv = uv;
|
||||
result.pos = pos;
|
||||
return result;
|
||||
}
|
||||
|
||||
float4 ps_main(PS_Input input) : SV_TARGET
|
||||
{
|
||||
float4 color = texture.sample(input.uv, sampler);
|
||||
return color;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
test/assign_arithmetic_expression.shd codegen
|
||||
test/basic_property_and_return_value.shd codegen
|
||||
test/complicated_computation.shd codegen
|
||||
test/constant_buffer.shd codegen
|
||||
test/empty_struct.shd codegen
|
||||
test/empty_vertex_main.shd codegen
|
||||
test/empty_vertex_main_with_position_parameter.shd codegen
|
||||
|
||||
14
test/constant_buffer.shd
Normal file
14
test/constant_buffer.shd
Normal file
@@ -0,0 +1,14 @@
|
||||
camera :: constant_buffer {
|
||||
projection : float4x4;
|
||||
view : float4x4;
|
||||
}
|
||||
|
||||
vertex main :: (pos : float4 @position) -> float4 @position {
|
||||
mv : float4 = mul(camera.view, pos);
|
||||
mvp : float4 = mul(camera.projection, mv);
|
||||
return mvp;
|
||||
}
|
||||
|
||||
pixel main :: () -> float4 @target {
|
||||
return float4(0.5, 0.5, 0.5, 1.0);
|
||||
}
|
||||
7
test/double_access.shd
Normal file
7
test/double_access.shd
Normal file
@@ -0,0 +1,7 @@
|
||||
p :: properties {
|
||||
v : float2;
|
||||
}
|
||||
|
||||
vertex main ::() {
|
||||
x : float = p.v.x / p.v.y;
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
vertex main :: (pos : float3) -> int {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
42
test/large_block.shd
Normal file
42
test/large_block.shd
Normal file
@@ -0,0 +1,42 @@
|
||||
p :: properties {
|
||||
color : float4;
|
||||
rect_position : float2;
|
||||
rect_scale : float2;
|
||||
resolution : float2;
|
||||
texture : Texture2D;
|
||||
sampler : Sampler;
|
||||
}
|
||||
|
||||
PS_Input :: struct {
|
||||
uv : float2 @uv;
|
||||
pos : float4 @pos;
|
||||
}
|
||||
|
||||
vertex main :: (pos : float4 @position) -> PS_Input {
|
||||
res : float2 = p.resolution;
|
||||
scale : float2 = p.rect_scale;
|
||||
rect_pos : float2 = p.rect_position;;
|
||||
|
||||
center : float2 = rect_pos;
|
||||
half_size : float2 = float2(scale.x / 2, scale.y / 2);
|
||||
dst_pos : float4 = float4(pos.x * half_size.x + center.x, pos.y * half_size.y + center.y, 0.0, 1.0);
|
||||
|
||||
result : PS_Input;
|
||||
|
||||
src_p0 : float2 = float2(0.0, 1.0);
|
||||
src_p1 : float2 = float2(1.0, 0.0);
|
||||
|
||||
src_half_size : float2 = (src_p1 - src_p0) / 2;
|
||||
src_center : float2 = (src_p1 + src_p0) / 2;
|
||||
src_pos : float2 = float2(pos.x, pos.y) * src_half_size + src_center;
|
||||
|
||||
result.uv = float2(1, 1);
|
||||
result.pos = float4(2.0 * dst_pos.x / res.x - 1, 2.0 * dst_pos.y / res.y - 1, 0.0, 1.0);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
pixel main :: (input : PS_Input) -> float4 @target0 {
|
||||
color : float4 = p.color;
|
||||
return color;
|
||||
}
|
||||
40
test/lex/arrays.golden
Normal file
40
test/lex/arrays.golden
Normal file
@@ -0,0 +1,40 @@
|
||||
{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_ARROW; ; index = 18 ; length = 2 line = 1 ; column = 18 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 21 ; length = 6 line = 1 ; column = 21 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 28 ; length = 1 line = 1 ; column = 28 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 29 ; length = 8 line = 1 ; column = 29 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 38 ; length = 1 line = 1 ; column = 38 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 42 ; length = 3 line = 2 ; column = 0 ; value ='arr'; }
|
||||
{kind = TOKEN_COLON; ; index = 46 ; length = 1 line = 2 ; column = 4 ; value =':'; }
|
||||
{kind = TOKEN_LEFTBRACKET; ; index = 48 ; length = 1 line = 2 ; column = 6 ; value ='['; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 49 ; length = 2 line = 2 ; column = 7 ; value ='16'; }
|
||||
{kind = TOKEN_RIGHTBRACKET; ; index = 51 ; length = 1 line = 2 ; column = 9 ; value =']'; }
|
||||
{kind = TOKEN_DOT; ; index = 52 ; length = 1 line = 2 ; column = 10 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 53 ; length = 6 line = 2 ; column = 11 ; value ='float4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 59 ; length = 1 line = 2 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 63 ; length = 3 line = 3 ; column = 0 ; value ='arr'; }
|
||||
{kind = TOKEN_LEFTBRACKET; ; index = 66 ; length = 1 line = 3 ; column = 3 ; value ='['; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 67 ; length = 1 line = 3 ; column = 4 ; value ='0'; }
|
||||
{kind = TOKEN_RIGHTBRACKET; ; index = 68 ; length = 1 line = 3 ; column = 5 ; value =']'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 70 ; length = 1 line = 3 ; column = 7 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 72 ; length = 6 line = 3 ; column = 9 ; value ='float4'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 78 ; length = 1 line = 3 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 79 ; length = 1 line = 3 ; column = 16 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 80 ; length = 1 line = 3 ; column = 17 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 81 ; length = 1 line = 3 ; column = 18 ; value ='1'; }
|
||||
{kind = TOKEN_COMMA; ; index = 82 ; length = 1 line = 3 ; column = 19 ; value =','; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 83 ; length = 1 line = 3 ; column = 20 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 84 ; length = 1 line = 3 ; column = 21 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 85 ; length = 1 line = 3 ; column = 22 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 89 ; length = 6 line = 4 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 96 ; length = 3 line = 4 ; column = 7 ; value ='arr'; }
|
||||
{kind = TOKEN_LEFTBRACKET; ; index = 99 ; length = 1 line = 4 ; column = 10 ; value ='['; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 100 ; length = 1 line = 4 ; column = 11 ; value ='0'; }
|
||||
{kind = TOKEN_RIGHTBRACKET; ; index = 101 ; length = 1 line = 4 ; column = 12 ; value =']'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 102 ; length = 1 line = 4 ; column = 13 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 105 ; length = 1 line = 5 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 108 ; length = 0 line = 6 ; column = 0 ; value =''; }
|
||||
@@ -1,16 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,43 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,30 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
66
test/lex/constant_buffer.golden
Normal file
66
test/lex/constant_buffer.golden
Normal file
@@ -0,0 +1,66 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 11 line = 1 ; column = 0 ; value ='Camera_Data'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 12 ; length = 2 line = 1 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_CONSTANT_BUFFER; ; index = 15 ; length = 15 line = 1 ; column = 15 ; value ='constant_buffer'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 31 ; length = 1 line = 1 ; column = 31 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 35 ; length = 10 line = 2 ; column = 0 ; value ='projection'; }
|
||||
{kind = TOKEN_COLON; ; index = 46 ; length = 1 line = 2 ; column = 11 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 48 ; length = 8 line = 2 ; column = 13 ; value ='float4x4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 56 ; length = 1 line = 2 ; column = 21 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 60 ; length = 4 line = 3 ; column = 0 ; value ='view'; }
|
||||
{kind = TOKEN_COLON; ; index = 71 ; length = 1 line = 3 ; column = 11 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 73 ; length = 8 line = 3 ; column = 13 ; value ='float4x4'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 81 ; length = 1 line = 3 ; column = 21 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 84 ; length = 1 line = 4 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 89 ; length = 6 line = 6 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 96 ; length = 4 line = 6 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 101 ; length = 2 line = 6 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 104 ; length = 1 line = 6 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 105 ; length = 3 line = 6 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 109 ; length = 1 line = 6 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 111 ; length = 6 line = 6 ; column = 22 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 118 ; length = 1 line = 6 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 119 ; length = 8 line = 6 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 127 ; length = 1 line = 6 ; column = 38 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 129 ; length = 2 line = 6 ; column = 40 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 132 ; length = 6 line = 6 ; column = 43 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 139 ; length = 1 line = 6 ; column = 50 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 140 ; length = 8 line = 6 ; column = 51 ; value ='position'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 149 ; length = 1 line = 6 ; column = 60 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 153 ; length = 6 line = 7 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 160 ; length = 3 line = 7 ; column = 7 ; value ='mul'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 163 ; length = 1 line = 7 ; column = 10 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 164 ; length = 10 line = 7 ; column = 11 ; value ='projection'; }
|
||||
{kind = TOKEN_COMMA; ; index = 174 ; length = 1 line = 7 ; column = 21 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 176 ; length = 3 line = 7 ; column = 23 ; value ='mul'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 179 ; length = 1 line = 7 ; column = 26 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 180 ; length = 4 line = 7 ; column = 27 ; value ='view'; }
|
||||
{kind = TOKEN_COMMA; ; index = 184 ; length = 1 line = 7 ; column = 31 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 186 ; length = 3 line = 7 ; column = 33 ; value ='pos'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 189 ; length = 1 line = 7 ; column = 36 ; value =')'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 190 ; length = 1 line = 7 ; column = 37 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 191 ; length = 1 line = 7 ; column = 38 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 194 ; length = 1 line = 8 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 199 ; length = 5 line = 10 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 205 ; length = 4 line = 10 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 210 ; length = 2 line = 10 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 213 ; length = 1 line = 10 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 214 ; length = 1 line = 10 ; column = 15 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 216 ; length = 2 line = 10 ; column = 17 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 219 ; length = 6 line = 10 ; column = 20 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 226 ; length = 1 line = 10 ; column = 27 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 227 ; length = 6 line = 10 ; column = 28 ; value ='target'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 234 ; length = 1 line = 10 ; column = 35 ; value ='{'; }
|
||||
{kind = TOKEN_RETURN; ; index = 238 ; length = 6 line = 11 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 245 ; length = 5 line = 11 ; column = 7 ; value ='float'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 250 ; length = 1 line = 11 ; column = 12 ; value ='('; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 251 ; length = 3 line = 11 ; column = 13 ; value ='0.5'; }
|
||||
{kind = TOKEN_COMMA; ; index = 254 ; length = 1 line = 11 ; column = 16 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 256 ; length = 3 line = 11 ; column = 18 ; value ='0.5'; }
|
||||
{kind = TOKEN_COMMA; ; index = 259 ; length = 1 line = 11 ; column = 21 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 261 ; length = 3 line = 11 ; column = 23 ; value ='0.5'; }
|
||||
{kind = TOKEN_COMMA; ; index = 264 ; length = 1 line = 11 ; column = 26 ; value =','; }
|
||||
{kind = TOKEN_FLOATLITERAL; ; index = 266 ; length = 3 line = 11 ; column = 28 ; value ='1'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 269 ; length = 1 line = 11 ; column = 31 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 270 ; length = 1 line = 11 ; column = 32 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 273 ; length = 1 line = 12 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 276 ; length = 0 line = 13 ; column = 0 ; value =''; }
|
||||
@@ -1,6 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,8 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,18 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,30 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,13 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,23 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,18 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,31 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,13 +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_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 =''; }
|
||||
{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_RETURN; ; index = 41 ; length = 6 line = 2 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_INTLITERAL; ; index = 48 ; length = 1 line = 2 ; column = 7 ; value ='0'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 49 ; length = 1 line = 2 ; column = 8 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 52 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 55 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
|
||||
@@ -1,26 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,60 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,48 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,77 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,54 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,43 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,20 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,29 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,20 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,40 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
107
test/lex/texture_sample.golden
Normal file
107
test/lex/texture_sample.golden
Normal file
@@ -0,0 +1,107 @@
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 0 ; length = 1 line = 1 ; column = 0 ; value ='p'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 2 ; length = 2 line = 1 ; column = 2 ; value ='::'; }
|
||||
{kind = TOKEN_PROPERTIES; ; index = 5 ; length = 10 line = 1 ; column = 5 ; value ='properties'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 16 ; length = 2 line = 1 ; column = 16 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 19 ; length = 1 line = 1 ; column = 19 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 23 ; length = 7 line = 2 ; column = 0 ; value ='texture'; }
|
||||
{kind = TOKEN_COLON; ; index = 31 ; length = 1 line = 2 ; column = 8 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 33 ; length = 9 line = 2 ; column = 10 ; value ='texture2D'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 42 ; length = 1 line = 2 ; column = 19 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 46 ; length = 7 line = 3 ; column = 0 ; value ='sampler'; }
|
||||
{kind = TOKEN_COLON; ; index = 54 ; length = 1 line = 3 ; column = 8 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 56 ; length = 7 line = 3 ; column = 10 ; value ='sampler'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 63 ; length = 1 line = 3 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 66 ; length = 1 line = 4 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 71 ; length = 8 line = 6 ; column = 0 ; value ='PS_Input'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 80 ; length = 2 line = 6 ; column = 9 ; value ='::'; }
|
||||
{kind = TOKEN_STRUCT; ; index = 83 ; length = 6 line = 6 ; column = 12 ; value ='struct'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 90 ; length = 1 line = 6 ; column = 19 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 94 ; length = 2 line = 7 ; column = 0 ; value ='uv'; }
|
||||
{kind = TOKEN_COLON; ; index = 98 ; length = 1 line = 7 ; column = 4 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 100 ; length = 6 line = 7 ; column = 6 ; value ='float2'; }
|
||||
{kind = TOKEN_AT; ; index = 107 ; length = 1 line = 7 ; column = 13 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 108 ; length = 2 line = 7 ; column = 14 ; value ='uv'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 110 ; length = 1 line = 7 ; column = 16 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 114 ; length = 3 line = 8 ; column = 0 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 118 ; length = 1 line = 8 ; column = 4 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 120 ; length = 6 line = 8 ; column = 6 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 127 ; length = 1 line = 8 ; column = 13 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 128 ; length = 8 line = 8 ; column = 14 ; value ='position'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 136 ; length = 1 line = 8 ; column = 22 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 139 ; length = 1 line = 9 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_VERTEX; ; index = 144 ; length = 6 line = 11 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 151 ; length = 4 line = 11 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 156 ; length = 2 line = 11 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 159 ; length = 1 line = 11 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 160 ; length = 3 line = 11 ; column = 16 ; value ='pos'; }
|
||||
{kind = TOKEN_COLON; ; index = 164 ; length = 1 line = 11 ; column = 20 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 166 ; length = 6 line = 11 ; column = 22 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 173 ; length = 1 line = 11 ; column = 29 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 174 ; length = 8 line = 11 ; column = 30 ; value ='position'; }
|
||||
{kind = TOKEN_COMMA; ; index = 182 ; length = 1 line = 11 ; column = 38 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 184 ; length = 2 line = 11 ; column = 40 ; value ='uv'; }
|
||||
{kind = TOKEN_COLON; ; index = 187 ; length = 1 line = 11 ; column = 43 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 189 ; length = 6 line = 11 ; column = 45 ; value ='float2'; }
|
||||
{kind = TOKEN_AT; ; index = 196 ; length = 1 line = 11 ; column = 52 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 197 ; length = 2 line = 11 ; column = 53 ; value ='uv'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 199 ; length = 1 line = 11 ; column = 55 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 201 ; length = 2 line = 11 ; column = 57 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 204 ; length = 8 line = 11 ; column = 60 ; value ='PS_Input'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 213 ; length = 1 line = 11 ; column = 69 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 217 ; length = 6 line = 12 ; column = 0 ; value ='result'; }
|
||||
{kind = TOKEN_COLON; ; index = 224 ; length = 1 line = 12 ; column = 7 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 226 ; length = 8 line = 12 ; column = 9 ; value ='PS_Input'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 234 ; length = 1 line = 12 ; column = 17 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 240 ; length = 6 line = 14 ; column = 0 ; value ='result'; }
|
||||
{kind = TOKEN_DOT; ; index = 246 ; length = 1 line = 14 ; column = 6 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 247 ; length = 2 line = 14 ; column = 7 ; value ='uv'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 250 ; length = 1 line = 14 ; column = 10 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 252 ; length = 2 line = 14 ; column = 12 ; value ='uv'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 254 ; length = 1 line = 14 ; column = 14 ; value =';'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 258 ; length = 6 line = 15 ; column = 0 ; value ='result'; }
|
||||
{kind = TOKEN_DOT; ; index = 264 ; length = 1 line = 15 ; column = 6 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 265 ; length = 3 line = 15 ; column = 7 ; value ='pos'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 269 ; length = 1 line = 15 ; column = 11 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 271 ; length = 3 line = 15 ; column = 13 ; value ='pos'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 274 ; length = 1 line = 15 ; column = 16 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 280 ; length = 6 line = 17 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 287 ; length = 6 line = 17 ; column = 7 ; value ='result'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 293 ; length = 1 line = 17 ; column = 13 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 296 ; length = 1 line = 18 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_PIXEL; ; index = 301 ; length = 5 line = 20 ; column = 0 ; value ='pixel'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 307 ; length = 4 line = 20 ; column = 6 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 312 ; length = 2 line = 20 ; column = 11 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 315 ; length = 1 line = 20 ; column = 14 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 316 ; length = 5 line = 20 ; column = 15 ; value ='input'; }
|
||||
{kind = TOKEN_COLON; ; index = 322 ; length = 1 line = 20 ; column = 21 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 324 ; length = 8 line = 20 ; column = 23 ; value ='PS_Input'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 332 ; length = 1 line = 20 ; column = 31 ; value =')'; }
|
||||
{kind = TOKEN_ARROW; ; index = 334 ; length = 2 line = 20 ; column = 33 ; value ='->'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 337 ; length = 6 line = 20 ; column = 36 ; value ='float4'; }
|
||||
{kind = TOKEN_AT; ; index = 344 ; length = 1 line = 20 ; column = 43 ; value ='@'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 345 ; length = 6 line = 20 ; column = 44 ; value ='target'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 352 ; length = 1 line = 20 ; column = 51 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 356 ; length = 5 line = 21 ; column = 0 ; value ='color'; }
|
||||
{kind = TOKEN_COLON; ; index = 362 ; length = 1 line = 21 ; column = 6 ; value =':'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 364 ; length = 6 line = 21 ; column = 8 ; value ='float4'; }
|
||||
{kind = TOKEN_ASSIGN; ; index = 371 ; length = 1 line = 21 ; column = 15 ; value ='='; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 373 ; length = 6 line = 21 ; column = 17 ; value ='sample'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 379 ; length = 1 line = 21 ; column = 23 ; value ='('; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 380 ; length = 1 line = 21 ; column = 24 ; value ='p'; }
|
||||
{kind = TOKEN_DOT; ; index = 381 ; length = 1 line = 21 ; column = 25 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 382 ; length = 7 line = 21 ; column = 26 ; value ='texture'; }
|
||||
{kind = TOKEN_COMMA; ; index = 389 ; length = 1 line = 21 ; column = 33 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 391 ; length = 5 line = 21 ; column = 35 ; value ='input'; }
|
||||
{kind = TOKEN_DOT; ; index = 396 ; length = 1 line = 21 ; column = 40 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 397 ; length = 2 line = 21 ; column = 41 ; value ='uv'; }
|
||||
{kind = TOKEN_COMMA; ; index = 399 ; length = 1 line = 21 ; column = 43 ; value =','; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 401 ; length = 1 line = 21 ; column = 45 ; value ='p'; }
|
||||
{kind = TOKEN_DOT; ; index = 402 ; length = 1 line = 21 ; column = 46 ; value ='.'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 403 ; length = 7 line = 21 ; column = 47 ; value ='sampler'; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 410 ; length = 1 line = 21 ; column = 54 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 411 ; length = 1 line = 21 ; column = 55 ; value =';'; }
|
||||
{kind = TOKEN_RETURN; ; index = 415 ; length = 6 line = 22 ; column = 0 ; value ='return'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 422 ; length = 5 line = 22 ; column = 7 ; value ='color'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 427 ; length = 1 line = 22 ; column = 12 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 430 ; length = 1 line = 23 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 433 ; length = 0 line = 24 ; column = 0 ; value =''; }
|
||||
@@ -1,14 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{kind = TOKEN_VERTEX; ; index = 0 ; length = 6 line = 1 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 7 ; length = 4 line = 1 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 12 ; length = 2 line = 1 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 15 ; length = 1 line = 1 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 16 ; length = 1 line = 1 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 18 ; length = 1 line = 1 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 3 line = 2 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 25 ; length = 1 line = 2 ; column = 3 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 26 ; length = 1 line = 2 ; column = 4 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 27 ; length = 1 line = 2 ; column = 5 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 30 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 33 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
{kind = TOKEN_VERTEX; ; index = 0 ; length = 6 line = 1 ; column = 0 ; value ='vertex'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 7 ; length = 4 line = 1 ; column = 7 ; value ='main'; }
|
||||
{kind = TOKEN_DOUBLECOLON; ; index = 12 ; length = 2 line = 1 ; column = 12 ; value ='::'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 15 ; length = 1 line = 1 ; column = 15 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 16 ; length = 1 line = 1 ; column = 16 ; value =')'; }
|
||||
{kind = TOKEN_LEFTBRACE; ; index = 18 ; length = 1 line = 1 ; column = 18 ; value ='{'; }
|
||||
{kind = TOKEN_IDENTIFIER; ; index = 22 ; length = 3 line = 2 ; column = 0 ; value ='foo'; }
|
||||
{kind = TOKEN_LEFTPAREN; ; index = 25 ; length = 1 line = 2 ; column = 3 ; value ='('; }
|
||||
{kind = TOKEN_RIGHTPAREN; ; index = 26 ; length = 1 line = 2 ; column = 4 ; value =')'; }
|
||||
{kind = TOKEN_SEMICOLON; ; index = 27 ; length = 1 line = 2 ; column = 5 ; value =';'; }
|
||||
{kind = TOKEN_RIGHTBRACE; ; index = 30 ; length = 1 line = 3 ; column = 0 ; value ='}'; }
|
||||
{kind = TOKEN_EOF; ; index = 33 ; length = 0 line = 4 ; column = 0 ; value =''; }
|
||||
|
||||
@@ -1,14 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,51 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,23 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,73 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,54 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,73 +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 =''; }
|
||||
{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 =''; }
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
test/assign_arithmetic_expression.shd lex
|
||||
test/basic_property_and_return_value.shd lex
|
||||
test/complicated_computation.shd lex
|
||||
test/constant_buffer.shd lex
|
||||
test/empty_struct.shd lex
|
||||
test/empty_vertex_main.shd lex
|
||||
test/empty_vertex_main_with_position_parameter.shd lex
|
||||
|
||||
6
test/parse/arrays.golden
Normal file
6
test/parse/arrays.golden
Normal file
@@ -0,0 +1,6 @@
|
||||
(program
|
||||
(fun vertex vs_main -> float4 (@position)
|
||||
[]
|
||||
(:= arr [16].float4)
|
||||
(= arr[0] (float4 1 1 1))
|
||||
(return arr[0])))
|
||||
@@ -2,4 +2,5 @@
|
||||
(fun vertex vs_main -> float4 (@position)
|
||||
[(:= pos float4 (@position))]
|
||||
(:= x float 5)
|
||||
(= x 7)))
|
||||
(= x 7)
|
||||
(return pos)))
|
||||
@@ -1,3 +1,4 @@
|
||||
(program
|
||||
(fun vertex vs_main -> int
|
||||
[(:= pos float3)]))
|
||||
[(:= pos float3)]
|
||||
(return 0)))
|
||||
21
test/parse/texture_sample.golden
Normal file
21
test/parse/texture_sample.golden
Normal file
@@ -0,0 +1,21 @@
|
||||
(program
|
||||
(properties p
|
||||
[(:= texture texture2D)
|
||||
(:= sampler sampler)])
|
||||
|
||||
(struct PS_Input
|
||||
[(:= uv float2 (@uv))
|
||||
(:= pos float4 (@position))])
|
||||
|
||||
(fun vertex vs_main -> PS_Input
|
||||
[(:= pos float4 (@position))
|
||||
(:= uv float2 (@uv))]
|
||||
(:= result PS_Input)
|
||||
(= result.uv uv)
|
||||
(= result.pos pos)
|
||||
(return result))
|
||||
|
||||
(fun pixel ps_main -> float4 (@target)
|
||||
[(:= input PS_Input)]
|
||||
(:= color float4 (sample p.texture input.uv p.sampler))
|
||||
(return color)))
|
||||
@@ -1,6 +1,7 @@
|
||||
test/assign_arithmetic_expression.shd parse
|
||||
test/basic_property_and_return_value.shd parse
|
||||
test/complicated_computation.shd parse
|
||||
test/constant_buffer.shd parse
|
||||
test/empty_struct.shd parse
|
||||
test/empty_vertex_main.shd parse
|
||||
test/empty_vertex_main_with_position_parameter.shd parse
|
||||
|
||||
15
test/semant/constant_buffer.golden
Normal file
15
test/semant/constant_buffer.golden
Normal file
@@ -0,0 +1,15 @@
|
||||
scope (global) [
|
||||
[pixel__ps_main] : () -> float4
|
||||
[vertex__vs_main] : (pos : float4) -> float4
|
||||
[camera] : {projection : float4x4, view : float4x4}
|
||||
scope (camera) [
|
||||
[projection] : float4x4
|
||||
[view] : float4x4
|
||||
]
|
||||
scope (vertex__vs_main) [
|
||||
[pos] : float4
|
||||
[mv] : float4
|
||||
[mvp] : float4
|
||||
]
|
||||
scope (pixel__ps_main) []
|
||||
]
|
||||
@@ -1,5 +1,5 @@
|
||||
scope (global) [
|
||||
[vertex__vs_main] : (pos : float4)
|
||||
[vertex__vs_main] : (pos : float4) -> float4
|
||||
scope (vertex__vs_main) [
|
||||
[x] : float
|
||||
[pos] : float4
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
scope (global) [
|
||||
[vertex__vs_main] : (pos : float3)
|
||||
[vertex__vs_main] : (pos : float3) -> int
|
||||
scope (vertex__vs_main) [
|
||||
[pos] : float3
|
||||
]
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
float
|
||||
|
||||
got:
|
||||
res : float2 = float2(2.0, 2.0)
|
||||
res : float2 = float2(2.0, 2.0);
|
||||
|
||||
[36m[37m
|
||||
@@ -7,7 +7,7 @@
|
||||
[96m color : float4 = float4(y, 1.0, 1.0, 1.0);
|
||||
^
|
||||
[97m Possible overloads:
|
||||
[96m foreign float4 :: (float, float, float, float) -> float4; (test/wrong_type_for_function.shd:79)
|
||||
[96m foreign float4 :: (float, float, float, float) -> float4; (test/wrong_type_for_function.shd:78)
|
||||
|
||||
[36m[37m[1;37mtest/wrong_type_for_function.shd:11,24: [31merror: [37mType mismatch. Expected float got float2
|
||||
[96m found:
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
test/assign_arithmetic_expression.shd semant
|
||||
test/basic_property_and_return_value.shd semant
|
||||
test/complicated_computation.shd semant
|
||||
test/constant_buffer.shd semant
|
||||
test/empty_struct.shd semant
|
||||
test/empty_vertex_main.shd semant
|
||||
test/empty_vertex_main_with_position_parameter.shd semant
|
||||
test/field_assignment.shd semant
|
||||
test/field_without_type_specifier.shd semant
|
||||
test/float_suffix.shd semant
|
||||
test/function_call.shd semant
|
||||
test/function_call_out_of_order_declaration.shd semant
|
||||
test/function_call_return.shd semant
|
||||
|
||||
14
test/simple_float2_expressions.shd
Normal file
14
test/simple_float2_expressions.shd
Normal file
@@ -0,0 +1,14 @@
|
||||
vertex main :: (pos : float4 @position) -> float4 @position {
|
||||
src_p0 : float2 = float2(0.0, 1.0);
|
||||
src_p1 : float2 = float2(1.0, 0.0);
|
||||
|
||||
src_half_size : float2 = (src_p1 - src_p0) / 2;
|
||||
src_center : float2 = (src_p1 + src_p0) / 2;
|
||||
src_pos : float2 = float2(pos.x, pos.y) * src_half_size + src_center;
|
||||
|
||||
return float4(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
pixel main :: () -> float4 @target0 {
|
||||
return float4(1, 1, 1, 1);
|
||||
}
|
||||
23
test/texture_sample.shd
Normal file
23
test/texture_sample.shd
Normal file
@@ -0,0 +1,23 @@
|
||||
p :: properties {
|
||||
texture : Texture2D;
|
||||
sampler : Sampler;
|
||||
}
|
||||
|
||||
PS_Input :: struct {
|
||||
uv : float2 @uv;
|
||||
pos : float4 @position;
|
||||
}
|
||||
|
||||
vertex main :: (pos : float4 @position, uv : float2 @uv) -> PS_Input {
|
||||
result : PS_Input;
|
||||
|
||||
result.uv = uv;
|
||||
result.pos = pos;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
pixel main :: (input : PS_Input) -> float4 @target {
|
||||
color : float4 = sample(p.texture, input.uv, p.sampler);
|
||||
return color;
|
||||
}
|
||||
Reference in New Issue
Block a user