130da1778Schristos /*
230da1778Schristos * This file is part of flex.
330da1778Schristos *
430da1778Schristos * Redistribution and use in source and binary forms, with or without
530da1778Schristos * modification, are permitted provided that the following conditions
630da1778Schristos * are met:
730da1778Schristos *
830da1778Schristos * 1. Redistributions of source code must retain the above copyright
930da1778Schristos * notice, this list of conditions and the following disclaimer.
1030da1778Schristos * 2. Redistributions in binary form must reproduce the above copyright
1130da1778Schristos * notice, this list of conditions and the following disclaimer in the
1230da1778Schristos * documentation and/or other materials provided with the distribution.
1330da1778Schristos *
1430da1778Schristos * Neither the name of the University nor the names of its contributors
1530da1778Schristos * may be used to endorse or promote products derived from this software
1630da1778Schristos * without specific prior written permission.
1730da1778Schristos *
1830da1778Schristos * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
1930da1778Schristos * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
2030da1778Schristos * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
2130da1778Schristos * PURPOSE.
2230da1778Schristos */
2330da1778Schristos
2430da1778Schristos %{
2530da1778Schristos /* Builds "scanner.c". */
2630da1778Schristos /* The scanner itself is a no-op. A successful compilation is all we want. */
2730da1778Schristos #include <stdio.h>
2830da1778Schristos #include <stdlib.h>
2930da1778Schristos #include "config.h"
3030da1778Schristos
3130da1778Schristos %}
3230da1778Schristos %option reentrant
3330da1778Schristos %option 8bit prefix="FOO"
3430da1778Schristos %option nounput nomain noyywrap noinput
3530da1778Schristos %option warn
3630da1778Schristos
3730da1778Schristos
3830da1778Schristos %%
3930da1778Schristos
4030da1778Schristos
4130da1778Schristos .|\n|\r {
4230da1778Schristos
4330da1778Schristos /* Compile, but do not execute the following code. */
4430da1778Schristos if( 0 ) {
4530da1778Schristos FOO_create_buffer( (FILE*)0, 0, yyscanner);
4630da1778Schristos FOO_delete_buffer( (YY_BUFFER_STATE)0, yyscanner);
4730da1778Schristos FOO_flush_buffer( (YY_BUFFER_STATE)0, yyscanner);
4830da1778Schristos FOO_init_buffer( (YY_BUFFER_STATE)0, (FILE*)0, yyscanner);
4930da1778Schristos FOO_load_buffer_state( yyscanner);
5030da1778Schristos FOO_scan_buffer( (char*)0, (yy_size_t)0, yyscanner);
5130da1778Schristos FOO_scan_bytes( (yyconst char*)0, 0, yyscanner);
5230da1778Schristos FOO_scan_string( (yyconst char*)0, yyscanner);
5330da1778Schristos FOO_switch_to_buffer( (YY_BUFFER_STATE)0, yyscanner);
5430da1778Schristos FOOrestart( (FILE*)0, (yyscan_t )0);
5530da1778Schristos
5630da1778Schristos FOOget_extra( (yyscan_t )0 );
5730da1778Schristos FOOget_in( (yyscan_t )0 );
5830da1778Schristos FOOget_leng( (yyscan_t )0 );
5930da1778Schristos FOOget_out( (yyscan_t )0 );
6030da1778Schristos FOOget_text( (yyscan_t )0 );
6130da1778Schristos FOOlex( (yyscan_t )0 );
6230da1778Schristos FOOlex_destroy( (yyscan_t )0 );
6330da1778Schristos FOOlex_init( (yyscan_t *)0 );
6430da1778Schristos FOOset_extra( (void *)0, (yyscan_t )0 );
6530da1778Schristos FOOset_in( (FILE*)0, (yyscan_t )0 );
6630da1778Schristos FOOset_out( (FILE*)0, (yyscan_t )0 );
6730da1778Schristos }
6830da1778Schristos }
6930da1778Schristos %%
7030da1778Schristos
7130da1778Schristos int main(void);
7230da1778Schristos
7330da1778Schristos int
main(void)74*56bd8546Schristos main (void)
7530da1778Schristos {
7630da1778Schristos yyscan_t scanner;
7730da1778Schristos FOOlex_init( &scanner);
7830da1778Schristos FOOlex( scanner);
7930da1778Schristos FOOlex_destroy( scanner);
8030da1778Schristos printf( "TEST RETURNING OK.\n");
8130da1778Schristos return 0;
8230da1778Schristos }
8330da1778Schristos
84