Fix lvalue/rvalue binaries. Fix structured buffer output.
This commit is contained in:
22
Parsing.jai
22
Parsing.jai
@@ -1,13 +1,3 @@
|
||||
#import "Flat_Pool";
|
||||
|
||||
// #load "qpwodkqopwkd.jai";
|
||||
|
||||
/**
|
||||
* TODO:
|
||||
* if parsing
|
||||
* for/while loop parsing
|
||||
**/
|
||||
|
||||
////////////////////////////
|
||||
//@nb - Parse_state state
|
||||
Parse_State :: struct {
|
||||
@@ -19,15 +9,6 @@ Parse_State :: struct {
|
||||
ctx : *Compiler_Context;
|
||||
}
|
||||
|
||||
////////////////////////////
|
||||
//@nb - Result and error handling
|
||||
Parse_Error_Kind :: enum {
|
||||
Parse_Error_Type_Missing;
|
||||
Parse_Error_Expected_Expression;
|
||||
Parse_Error_Empty_Block;
|
||||
Parse_Error_Unexpected_Token;
|
||||
}
|
||||
|
||||
////////////////////////////
|
||||
//@nb - Parsing helper types
|
||||
Separator_Type :: enum {
|
||||
@@ -871,6 +852,7 @@ dot :: (parse_state : *Parse_State, left : *AST_Node) -> *AST_Node {
|
||||
|
||||
node := make_node(parse_state, .Binary);
|
||||
node.token = parse_state.previous;
|
||||
node.source_location = generate_source_location_from_token(parse_state, node.token);
|
||||
add_child(node, access);
|
||||
add_child(node, expression(parse_state));
|
||||
return node;
|
||||
@@ -1439,8 +1421,6 @@ declaration :: (parse_state : *Parse_State) -> *AST_Node {
|
||||
consume(parse_state, .TOKEN_DOUBLECOLON, "Expect '::' after pixel entry point declaration.");
|
||||
|
||||
decl_node = function_declaration(parse_state, identifier, .Pixel);
|
||||
} else if check(parse_state, .TOKEN_LEFTPAREN) {
|
||||
decl_node = call(parse_state, null);
|
||||
} else if check(parse_state, .TOKEN_DIRECTIVE) {
|
||||
decl_node = directive(parse_state);
|
||||
skip_statement = true;
|
||||
|
||||
Reference in New Issue
Block a user