/*
 * $Id: piryy.h 36665 2009-02-13 10:20:10Z kjs $
 * Copyright (C) 2008-2009, Parrot Foundation.
 */

/* This file declared parser/lexer related functions, so that any changes
 * need only be made once.
 */

#ifndef PARROT_PIR_PIRYY_H_GUARD
#define PARROT_PIR_PIRYY_H_GUARD

/* Just to make sure that yscan_t can be used as a type in this file.
 * These directives are taken from pirlexer.h.
 */
#ifndef YY_TYPEDEF_YY_SCANNER_T
#  define YY_TYPEDEF_YY_SCANNER_T

typedef void * yyscan_t;

#endif


int yypirparse(yyscan_t yyscanner, struct lexer_state * const lexer);

void init_scanner_state(yyscan_t yyscanner);

int yypirget_lineno(yyscan_t yyscanner);

#endif /* PARROT_PIR_PIRYY_H_GUARD */

/*
 * Local variables:
 *   c-file-style: "parrot"
 * End:
 * vim: expandtab shiftwidth=4:
 */
