// File: gioannides[P]Language_Processors/src/../include/ast/ast_node_python.cpp
// Function: PostFixExpression::print_py(std::basic_ofstream<char, std::char_traits<char>>&)
inline void PostFixExpression::print_py(std::ofstream& file)  {
		
		if(PostFixExpressionPtr !=NULL && PrimaryExpressionPtr==NULL && AssignmentExpressionPtr==NULL && OPERATOR==NULL && IDENTIFIER==NULL && ArgumentExpressionListPtr==NULL) 		{			
			for( int i(0); i<counter_py; i++) { file << "\t"; }
			PostFixExpressionPtr->print_py(file);
			file << "()";
		}
		else if( PrimaryExpressionPtr != NULL && PostFixExpressionPtr==NULL && AssignmentExpressionPtr==NULL && OPERATOR==NULL && IDENTIFIER==NULL && ArgumentExpressionListPtr==NULL) 			{		
				PrimaryExpressionPtr->print_py(file);
		}
			
		else if( PrimaryExpressionPtr == NULL && PostFixExpressionPtr!=NULL && AssignmentExpressionPtr==NULL && OPERATOR==NULL && IDENTIFIER==NULL && ArgumentExpressionListPtr!=NULL) 			{		
				for( int i(0); i<counter_py; i++) { file << "\t"; }
				PostFixExpressionPtr->print_py(file);
				file << "(";
				ArgumentExpressionListPtr->print_py(file);
				file << ")";
				function = false;
				
		}
		
			else if( OPERATOR != NULL && IDENTIFIER != NULL ) {
				file << " " << OPERATOR << " " << IDENTIFIER << " ";
			}
			else if( OPERATOR != NULL && IDENTIFIER == NULL) {
				file << " " << OPERATOR << " ";
			}
			
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, 0x20(%rax)
je 0xd95d
movq -0x20(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xd95d
movq -0x20(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xd95d
movq -0x20(%rbp), %rax
cmpq $0x0, 0x30(%rax)
jne 0xd95d
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0xd95d
movq -0x20(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0xd95d
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x8ee12(%rip), %eax     # 0x9c72c
jge 0xd937
movq -0x10(%rbp), %rdi
leaq 0x56b94(%rip), %rsi     # 0x644bb
callq 0x8400
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xd911
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0xd8b0
movq -0x10(%rbp), %rdi
leaq 0x57aa4(%rip), %rsi     # 0x653f7
callq 0x8400
jmp 0xdb39
movq -0x20(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0xd9b5
movq -0x20(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0xd9b5
movq -0x20(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xd9b5
movq -0x20(%rbp), %rax
cmpq $0x0, 0x30(%rax)
jne 0xd9b5
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0xd9b5
movq -0x20(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0xd9b5
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0xdbb0
jmp 0xdb37
movq -0x20(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xda86
movq -0x20(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0xda86
movq -0x20(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xda86
movq -0x20(%rbp), %rax
cmpq $0x0, 0x30(%rax)
jne 0xda86
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0xda86
movq -0x20(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0xda86
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl 0x8ed11(%rip), %eax     # 0x9c72c
jge 0xda38
movq -0x10(%rbp), %rdi
leaq 0x56a93(%rip), %rsi     # 0x644bb
callq 0x8400
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xda12
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0xd8b0
movq -0x10(%rbp), %rdi
leaq 0x567dc(%rip), %rsi     # 0x64230
callq 0x8400
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0xdcc0
movq -0x10(%rbp), %rdi
leaq 0x57983(%rip), %rsi     # 0x653f8
callq 0x8400
movb $0x0, 0x8eca8(%rip)     # 0x9c729
jmp 0xdb35
movq -0x20(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0xdaec
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xdaec
movq -0x10(%rbp), %rdi
leaq 0x56f16(%rip), %rsi     # 0x649bd
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0x8360
movq %rax, %rdi
leaq 0x56ef7(%rip), %rsi     # 0x649bd
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x8360
movq %rax, %rdi
leaq 0x56ed8(%rip), %rsi     # 0x649bd
callq 0x8400
jmp 0xdb33
movq -0x20(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0xdb31
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0xdb31
movq -0x10(%rbp), %rdi
leaq 0x56eb0(%rip), %rsi     # 0x649bd
callq 0x8400
movq %rax, %rdi
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0x8360
movq %rax, %rdi
leaq 0x56e91(%rip), %rsi     # 0x649bd
callq 0x8400
jmp 0xdb33
jmp 0xdb35
jmp 0xdb37
jmp 0xdb39
addq $0x20, %rsp
popq %rbp
retq
nop