================================================== function calls ================================================== int main() { printf("hello %s", "world"); } --- (translation_unit (function_definition (type_specifier (identifier)) (declarator (direct_declarator (direct_declarator (identifier)))) (function_body (compound_statement (expression_statement (call_expression (identifier) (string) (string))))))) ================================================== template function / relational expression ambiguities ================================================== int main() { someVariable < someValue > 0.0; someTemplate(0, 0); } --- (translation_unit (function_definition (type_specifier (identifier)) (declarator (direct_declarator (direct_declarator (identifier)))) (function_body (compound_statement (expression_statement (relational_expression (relational_expression (identifier) (identifier)) (number))) (expression_statement (call_expression (template_call (identifier) (type_id (type_specifier (identifier)))) (number) (number))))))) ================================================== template class / relational expression ambiguities ================================================== int main() { SomeTemplate someVariable = 1; } --- (translation_unit (function_definition (type_specifier (identifier)) (declarator (direct_declarator (direct_declarator (identifier)))) (function_body (compound_statement (simple_declaration (type_specifier (template_call (identifier) (type_id (type_specifier (identifier))))) (init_declarator (declarator (direct_declarator (identifier))) (initializer (initializer_clause (number)))))))))