// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Modex/Src/ps_graph.c
// Function: dot_leaf
void
dot_leaf(leafnode *leaf)
{
	if (!leaf) return;

DTREE	printf("N%lu -> L%lu;\n", (unsigned long) leaf, (unsigned long) leaf);
DTREE	printf("L%lu [label=\"", (unsigned long) leaf);

	switch (leaf->hdr.type) {
	case TN_IDENT:
DDEBUG		printf("%s", leaf->data.sval->str);
DTREE		printf("%s", leaf->data.sval->str);
		break;

	case TN_LABEL:
		if (leaf->hdr.tok == DEFLT)
		{
DDEBUG		printf("default:");
DTREE		printf("Default:");
		} else
		{
DDEBUG		printf("%s:", leaf->data.sval->str);
DTREE		printf("%s:", leaf->data.sval->str);
		}
		break;

	case TN_COMMENT:
DTREE		printf("/* %s */", leaf->data.str);
		break;

	case TN_STRING:
DDEBUG		printf("\'%s\'", leaf->data.str);	/* \"%s\" */
DTREE		printf("\'%s\'", leaf->data.str);	/* \"%s\" */
		break;

	case TN_TYPE:
		if (leaf->hdr.tok != TYPEDEF_NAME)
		{	/* including: leaf->hdr.tok == TYPEDEF */
DDEBUG			printf("%s", toksym(leaf->hdr.tok,1));
DTREE			printf("%s", toksym(leaf->hdr.tok,1));
		} else
		{
DDEBUG			printf("%s", leaf->data.sval->str);
DTREE			printf("%s", leaf->data.sval->str);
		}
		break;
	case TN_REAL:
DDEBUG		printf("%f", leaf->data.dval);
DTREE		printf("%f", leaf->data.dval);
		break;

	case TN_INT:
		if (leaf->hdr.tok == CHAR_CONST)
		{
DDEBUG			printf("'%c'", leaf->data.ival);
DTREE			printf("'%c'", leaf->data.ival);
		} else
		{
DDEBUG			printf("%d", leaf->data.ival);
DTREE			printf("%d", leaf->data.ival);
		}
		break;

	case TN_ELLIPSIS:
DDEBUG		printf("...");
DTREE		printf("...");
		break;

	default:
		fprintf(stderr, "%s: unexpected leaf %s\n",
			progname, name_of_node(leaf->hdr.type));
		break;
	}

DTREE	printf("\"];\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x324b8
jmp 0x326a7
movq -0x8(%rbp), %rdx
leaq 0xce31(%rip), %rdi      # 0x3f2f4
xorl %eax, %eax
movb %al, -0x11(%rbp)
movq %rdx, %rsi
callq 0x4120
movb -0x11(%rbp), %al
movq -0x8(%rbp), %rsi
leaq 0xce25(%rip), %rdi      # 0x3f303
callq 0x4120
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0xf, %eax
ja 0x32658
movq -0x10(%rbp), %rax
leaq 0xccf9(%rip), %rcx      # 0x3f200
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq 0x8(%rax), %rsi
leaq 0x329e(%rip), %rdi      # 0x357c1
movb $0x0, %al
callq 0x4120
jmp 0x32699
movq -0x8(%rbp), %rax
cmpl $0x11f, 0x18(%rax)      # imm = 0x11F
jne 0x3254c
leaq 0xcdce(%rip), %rdi      # 0x3f311
movb $0x0, %al
callq 0x4120
jmp 0x32566
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq 0x8(%rax), %rsi
leaq 0xcdbb(%rip), %rdi      # 0x3f31a
movb $0x0, %al
callq 0x4120
jmp 0x32699
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rsi
leaq 0xcda4(%rip), %rdi      # 0x3f31e
movb $0x0, %al
callq 0x4120
jmp 0x32699
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rsi
leaq 0x1df7(%rip), %rdi      # 0x3438c
movb $0x0, %al
callq 0x4120
jmp 0x32699
movq -0x8(%rbp), %rax
cmpl $0x105, 0x18(%rax)      # imm = 0x105
je 0x325d2
movq -0x8(%rbp), %rax
movl 0x18(%rax), %edi
movl $0x1, %esi
callq 0x1ab20
movq %rax, %rsi
leaq 0x31f8(%rip), %rdi      # 0x357c1
movb $0x0, %al
callq 0x4120
jmp 0x325ec
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq 0x8(%rax), %rsi
leaq 0x31dc(%rip), %rdi      # 0x357c1
movb $0x0, %al
callq 0x4120
jmp 0x32699
movq -0x8(%rbp), %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b8f(%rip), %rdi      # 0x36190
movb $0x1, %al
callq 0x4120
jmp 0x32699
movq -0x8(%rbp), %rax
cmpl $0x107, 0x18(%rax)      # imm = 0x107
jne 0x32631
movq -0x8(%rbp), %rax
movl 0x30(%rax), %esi
leaq 0xccff(%rip), %rdi      # 0x3f327
movb $0x0, %al
callq 0x4120
jmp 0x32646
movq -0x8(%rbp), %rax
movl 0x30(%rax), %esi
leaq 0xc661(%rip), %rdi      # 0x3eca0
movb $0x0, %al
callq 0x4120
jmp 0x32699
leaq 0x42ec(%rip), %rdi      # 0x3693b
movb $0x0, %al
callq 0x4120
jmp 0x32699
movq 0x12999(%rip), %rax     # 0x44ff8
movq (%rax), %rax
movq %rax, -0x28(%rbp)
leaq 0x12b03(%rip), %rax     # 0x45170
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %edi
callq 0x1bc40
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq %rax, %rcx
leaq 0xcc9a(%rip), %rsi      # 0x3f32c
movb $0x0, %al
callq 0x4190
leaq 0xcdbc(%rip), %rdi      # 0x3f45c
movb $0x0, %al
callq 0x4120
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)