1
|
BlockStmt([CommentStmt('Recursively calculates the GCD of two numbers'), FuncStmt('gcd', ['a', 'b'], [IfStmt(BinOpNode(IdentifierNode('a'), NumberNode(0), '=='), [ReturnStmt(IdentifierNode('b'))]), IfStmt(BinOpNode(IdentifierNode('b'), NumberNode(0), '=='), [ReturnStmt(IdentifierNode('a'))]), IfStmt(BinOpNode(IdentifierNode('b'), IdentifierNode('a'), '<='), [ReturnStmt(CallNode(IdentifierNode('gcd'), [BinOpNode(IdentifierNode('a'), IdentifierNode('b'), '-'), IdentifierNode('b')]))]), ReturnStmt(CallNode(IdentifierNode('gcd'), [IdentifierNode('a'), BinOpNode(IdentifierNode('b'), IdentifierNode('a'), '-')]))]), InputStmt(IdentifierNode('num1'), None), InputStmt(IdentifierNode('num2'), None), DisplayStmt(BinOpNode(BinOpNode(BinOpNode(BinOpNode(BinOpNode(StringNode('GCD of '), IdentifierNode('num1'), '+'), StringNode(' and '), '+'), IdentifierNode('num2'), '+'), StringNode(' is '), '+'), CallNode(IdentifierNode('gcd'), [IdentifierNode('num1'), IdentifierNode('num2')]), '+'))])
|