59 lines
1.7 KiB
Text
59 lines
1.7 KiB
Text
==================================================
|
|
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<SomeType>(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<SomeType> 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)))))))))
|