From 14479024475d93514ff6444aeca8558f835e4609 Mon Sep 17 00:00:00 2001 From: Ken Domino Date: Wed, 19 Jul 2023 14:53:04 -0400 Subject: [PATCH] Fix #3610 (#3616) --- cpp/CPP14Parser.g4 | 22 +++++++++++-------- ...function_definitions_and_integers.cpp.tree | 2 +- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/cpp/CPP14Parser.g4 b/cpp/CPP14Parser.g4 index 45013d91f7..a5aed0d10c 100644 --- a/cpp/CPP14Parser.g4 +++ b/cpp/CPP14Parser.g4 @@ -371,19 +371,23 @@ simpleTypeSignednessModifier: simpleTypeSpecifier: nestedNameSpecifier? theTypeName | nestedNameSpecifier Template simpleTemplateId - | simpleTypeSignednessModifier - | simpleTypeSignednessModifier? simpleTypeLengthModifier+ - | simpleTypeSignednessModifier? Char - | simpleTypeSignednessModifier? Char16 - | simpleTypeSignednessModifier? Char32 - | simpleTypeSignednessModifier? Wchar + | Char + | Char16 + | Char32 + | Wchar | Bool - | simpleTypeSignednessModifier? simpleTypeLengthModifier* Int + | Short + | Int + | Long | Float - | simpleTypeLengthModifier? Double + | Signed + | Unsigned + | Float + | Double | Void | Auto - | decltypeSpecifier; + | decltypeSpecifier + ; theTypeName: className diff --git a/cpp/examples/function_definitions_and_integers.cpp.tree b/cpp/examples/function_definitions_and_integers.cpp.tree index c49de82351..53273fd198 100644 --- a/cpp/examples/function_definitions_and_integers.cpp.tree +++ b/cpp/examples/function_definitions_and_integers.cpp.tree @@ -1 +1 @@ -(translationUnit (declarationseq (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier short)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId s))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier short))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId si))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier short)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ss))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier short))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ssi))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier short)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId us))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier short))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId usi))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId i))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId s))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId si))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId u))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ui))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId l))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId li))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId sl))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId sli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ul))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId uli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ll))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId lli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId sll))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier signed))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId slli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long)))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ull))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ulli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier double))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId d))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier double))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ld))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeSignednessModifier unsigned))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int)))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier (simpleTypeLengthModifier long) (simpleTypeLengthModifier long))))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int)))))))) ))))))) ;)))) ) \ No newline at end of file +(translationUnit (declarationseq (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier short))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId s))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier short)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId si))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier short))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ss))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier short)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ssi))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier short))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId us))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier short)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId usi))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId i))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId s))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId si))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId u))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ui))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId l))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId li))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId sl))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId sli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ul))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId uli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ll))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId lli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId sll))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier signed)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId slli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ull))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ulli))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier double))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId d))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier double))))) (declarator (pointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId ld))))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier unsigned)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int)))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))))))) ))))))) ;))) (declaration (blockDeclaration (simpleDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int))))) (initDeclaratorList (initDeclarator (declarator (pointerDeclarator (noPointerDeclarator (noPointerDeclarator (declaratorid (idExpression (unqualifiedId foo)))) (parametersAndQualifiers ( (parameterDeclarationClause (parameterDeclarationList (parameterDeclaration (declSpecifierSeq (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier long)))) (declSpecifier (typeSpecifier (trailingTypeSpecifier (simpleTypeSpecifier int)))))))) ))))))) ;)))) ) \ No newline at end of file