// File: devaigergely81[P]flex-bison-example/lex.yy.cc
// Function: yyFlexLexer::yyinput()
int yyFlexLexer::yyinput()
{
	int c;
    
	*(yy_c_buf_p) = (yy_hold_char);

	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
		{
		/* yy_c_buf_p now points to the character we want to return.
		 * If this occurs *before* the EOB characters, then it's a
		 * valid NUL; if not, then we've hit the end of the buffer.
		 */
		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
			/* This was really a NUL. */
			*(yy_c_buf_p) = '\0';

		else
			{ /* need more input */
			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
			++(yy_c_buf_p);

			switch ( yy_get_next_buffer(  ) )
				{
				case EOB_ACT_LAST_MATCH:
					/* This happens because yy_g_n_b()
					 * sees that we've accumulated a
					 * token and flags that we need to
					 * try matching the token before
					 * proceeding.  But for input(),
					 * there's no matching to consider.
					 * So convert the EOB_ACT_LAST_MATCH
					 * to EOB_ACT_END_OF_FILE.
					 */

					/* Reset buffer status. */
					yyrestart( yyin );

					/*FALLTHROUGH*/

				case EOB_ACT_END_OF_FILE:
					{
					if ( yywrap(  ) )
						return 0;

					if ( ! (yy_did_buffer_switch_on_eof) )
						YY_NEW_FILE;
#ifdef __cplusplus
					return yyinput();
#else
					return input();
#endif
					}

				case EOB_ACT_CONTINUE_SCAN:
					(yy_c_buf_p) = (yytext_ptr) + offset;
					break;
				}
			}
		}

	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
	*(yy_c_buf_p) = '\0';	/* preserve yytext */
	(yy_hold_char) = *++(yy_c_buf_p);

	if ( c == '\n' )
		
    yylineno++;
;

	return c;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movb 0x258(%rax), %dl
movq 0x260(%rax), %rcx
movb %dl, (%rcx)
movq 0x260(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x63b2
movq -0x20(%rbp), %rdx
movq 0x260(%rdx), %rax
movq 0x288(%rdx), %rcx
movq 0x278(%rdx), %rsi
movq (%rcx,%rsi,8), %rcx
movq 0x8(%rcx), %rcx
movslq 0x25c(%rdx), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x62f9
movq -0x20(%rbp), %rax
movq 0x260(%rax), %rax
movb $0x0, (%rax)
jmp 0x63b0
movq -0x20(%rbp), %rdi
movl 0x260(%rdi), %eax
movl 0x8(%rdi), %ecx
subl %ecx, %eax
movl %eax, -0x18(%rbp)
movq 0x260(%rdi), %rax
incq %rax
movq %rax, 0x260(%rdi)
callq 0x5510
movl %eax, %ecx
movl %ecx, -0x24(%rbp)
testl %eax, %eax
je 0x6398
jmp 0x632c
movl -0x24(%rbp), %eax
subl $0x1, %eax
je 0x6351
jmp 0x6336
movl -0x24(%rbp), %eax
subl $0x2, %eax
jne 0x63ae
jmp 0x6340
movq -0x20(%rbp), %rdi
movq %rdi, %rsi
addq $0x30, %rsi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x20(%rbp), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
cmpl $0x0, %eax
je 0x636c
movl $0x0, -0x4(%rbp)
jmp 0x6404
movq -0x20(%rbp), %rax
cmpl $0x0, 0x270(%rax)
jne 0x638a
movq -0x20(%rbp), %rdi
movq %rdi, %rsi
addq $0x30, %rsi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x20(%rbp), %rdi
callq 0x6280
movl %eax, -0x4(%rbp)
jmp 0x6404
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rcx
movslq -0x18(%rbp), %rdx
addq %rdx, %rcx
movq %rcx, 0x260(%rax)
jmp 0x63b0
jmp 0x63b2
movq -0x20(%rbp), %rax
movq 0x260(%rax), %rcx
movzbl (%rcx), %ecx
movl %ecx, -0x14(%rbp)
movq 0x260(%rax), %rcx
movb $0x0, (%rcx)
movq 0x260(%rax), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x260(%rax)
movb 0x1(%rcx), %cl
movb %cl, 0x258(%rax)
cmpl $0xa, -0x14(%rbp)
jne 0x63fe
movq -0x20(%rbp), %rax
movl 0x14(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x14(%rax)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)