// File: /workspace/github_c_makefile_star2_O2/doublec[P]peg/peg.c
// Function: main
int main(int argc, char **argv)
{
  Node *n;
  int   c;

  output= stdout;
  input= stdin;
  lineNumber= 1;
  fileName= "<stdin>";

  while (-1 != (c= getopt(argc, argv, "Vho:v")))
    {
      switch (c)
	{
	case 'V':
	  version(basename(argv[0]));
	  exit(0);

	case 'h':
	  usage(basename(argv[0]));
	  break;

	case 'o':
	  if (!(output= fopen(optarg, "w")))
	    {
	      perror(optarg);
	      exit(1);
	    }
	  break;

	case 'v':
	  verboseFlag= 1;
	  break;

	default:
	  fprintf(stderr, "for usage try: %s -h\n", argv[0]);
	  exit(1);
	}
    }
  argc -= optind;
  argv += optind;

  if (argc)
    {
      for (;  argc;  --argc, ++argv)
	{
	  if (!strcmp(*argv, "-"))
	    {
	      input= stdin;
	      fileName= "<stdin>";
	    }
	  else
	    {
	      if (!(input= fopen(*argv, "r")))
		{
		  perror(*argv);
		  exit(1);
		}
	      fileName= *argv;
	    }
	  lineNumber= 1;
	  if (!yyparse())
	    yyerror("syntax error");
	  if (input != stdin)
	    fclose(input);
	}
    }
  else
    if (!yyparse())
      yyerror("syntax error");

  if (verboseFlag)
    for (n= rules;  n;  n= n->any.next)
      Rule_print(n);

  Rule_compile_c_header();
  if (rules) Rule_compile_c(rules);

  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movl %edi, %ebp
movq 0x7abc(%rip), %rax      # 0x8fc0
movq (%rax), %rax
leaq 0x7c92(%rip), %r13      # 0x91a0
movq %rax, (%r13)
movq 0x7aaf(%rip), %rax      # 0x8fc8
movq (%rax), %rax
movq %rax, 0x7be5(%rip)      # 0x9108
movl $0x1, 0x7c43(%rip)      # 0x9170
leaq 0x2afa(%rip), %rax      # 0x402e
movq %rax, 0x7c2d(%rip)      # 0x9168
leaq 0x2af4(%rip), %r14      # 0x4036
movq 0x7a8f(%rip), %r12      # 0x8fd8
leaq 0x2aec(%rip), %r15      # 0x403c
movl %ebp, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x1150
cmpl $0x6f, %eax
je 0x1573
cmpl $0x76, %eax
jne 0x1596
movl $0x1, 0x7b9f(%rip)      # 0x9110
jmp 0x1550
movq (%r12), %rdi
movq %r15, %rsi
callq 0x1130
movq %rax, (%r13)
testq %rax, %rax
jne 0x1550
movq (%r12), %rdi
callq 0x1140
jmp 0x17a3
cmpl $-0x1, %eax
jne 0x169d
movq 0x7a2a(%rip), %rax      # 0x8fd0
movslq (%rax), %rax
subl %eax, %ebp
movq 0x7a16(%rip), %r12      # 0x8fc8
leaq 0x2a75(%rip), %r13      # 0x402e
je 0x1640
leaq (%rbx,%rax,8), %r14
movl %ebp, %r15d
xorl %ebp, %ebp
leaq 0x2a90(%rip), %rbx      # 0x405f
cmpl %ebp, %r15d
je 0x164d
movq (%r14,%rbp,8), %rdi
cmpb $0x2d, (%rdi)
jne 0x15e3
cmpb $0x0, 0x1(%rdi)
je 0x1630
movq %rbx, %rsi
callq 0x1130
movq %rax, 0x7b16(%rip)      # 0x9108
movq (%r14,%rbp,8), %rdi
testq %rax, %rax
je 0x158c
movq %rdi, 0x7b66(%rip)      # 0x9168
movl $0x1, 0x7b64(%rip)      # 0x9170
callq 0x13c8
testl %eax, %eax
je 0x17ab
movq 0x7ae8(%rip), %rdi      # 0x9108
cmpq (%r12), %rdi
je 0x162b
callq 0x1030
incq %rbp
jmp 0x15cf
movq (%r12), %rax
movq %rax, 0x7acd(%rip)      # 0x9108
movq %r13, %rdi
jmp 0x15fb
callq 0x13c8
testl %eax, %eax
je 0x17ab
cmpl $0x0, 0x7abc(%rip)      # 0x9110
je 0x1673
leaq 0x7b2b(%rip), %rbx      # 0x9188
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x1673
movq %rbx, %rdi
callq 0x30fe
addq $0x8, %rbx
jmp 0x165d
callq 0x31b8
leaq 0x7b09(%rip), %rax      # 0x9188
movq (%rax), %rdi
testq %rdi, %rdi
je 0x168c
callq 0x330a
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x68, %eax
je 0x16c2
cmpl $0x56, %eax
jne 0x1788
movq (%rbx), %rdi
callq 0x10f0
movq %rax, %rdi
callq 0x17b7
xorl %edi, %edi
callq 0x1170
movq (%rbx), %rdi
callq 0x10f0
movq %rax, %rbx
movq %rax, %rdi
callq 0x17b7
movq 0x791c(%rip), %r14      # 0x8ff8
movq (%r14), %rdi
leaq 0x29f3(%rip), %rsi      # 0x40d9
movq %rbx, %rdx
xorl %eax, %eax
callq 0x10c0
movq (%r14), %rcx
leaq 0x2a04(%rip), %rdi      # 0x40fe
pushq $0x16
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
callq 0x1180
movq (%r14), %rcx
leaq 0x2a03(%rip), %rdi      # 0x4115
pushq $0x2a
popq %rsi
movq %rbx, %rdx
callq 0x1180
movq (%r14), %rcx
leaq 0x2a19(%rip), %rdi      # 0x4140
pushq $0x26
popq %rsi
movq %rbx, %rdx
callq 0x1180
movq (%r14), %rcx
leaq 0x2a2b(%rip), %rdi      # 0x4167
pushq $0x19
popq %rsi
movq %rbx, %rdx
callq 0x1180
movq (%r14), %rcx
leaq 0x2a30(%rip), %rdi      # 0x4181
pushq $0x2c
popq %rsi
movq %rbx, %rdx
callq 0x1180
movq (%r14), %rcx
leaq 0x2a48(%rip), %rdi      # 0x41ae
pushq $0x30
popq %rsi
movq %rbx, %rdx
callq 0x1180
movq (%r14), %rcx
leaq 0x2a64(%rip), %rdi      # 0x41df
pushq $0x34
popq %rsi
movq %rbx, %rdx
callq 0x1180
jmp 0x17a3
movq 0x7869(%rip), %rax      # 0x8ff8
movq (%rax), %rdi
movq (%rbx), %rdx
leaq 0x28a2(%rip), %rsi      # 0x403e
xorl %eax, %eax
callq 0x10c0
pushq $0x1
popq %rdi
callq 0x1170
leaq 0x28a2(%rip), %rdi      # 0x4054
callq 0x13d4