static bool is_interpolation_qualifier(const std::string &);
static bool is_precision_qualifier(const std::string &);
static bool is_qualifier(const std::string &);
- static bool is_builtin_type(const std::string &);
bool is_type(const std::string &);
bool is_identifier(const std::string &);
RefPtr<Layout> parse_layout();
template<typename T>
void parse_block(Block &, bool, RefPtr<T> (Parser::*)());
- RefPtr<Expression> parse_expression(unsigned = 0);
+ RefPtr<Expression> parse_expression(const Operator * = 0);
+ RefPtr<Literal> parse_literal();
RefPtr<BinaryExpression> parse_binary(const RefPtr<Expression> &, const Operator &);
+ RefPtr<TernaryExpression> parse_ternary(const RefPtr<Expression> &, const Operator &);
RefPtr<FunctionCall> parse_function_call(const VariableReference &);
+ RefPtr<TypeDeclaration> parse_type_declaration();
+ RefPtr<BasicTypeDeclaration> parse_basic_type_declaration();
+ RefPtr<ImageTypeDeclaration> parse_image_type_declaration();
RefPtr<StructDeclaration> parse_struct_declaration();
RefPtr<VariableDeclaration> parse_variable_declaration();
RefPtr<VariableDeclaration> parse_variable_declaration_with_layout();