1 /* 2 * This file is part of flex. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * Neither the name of the University nor the names of its contributors 15 * may be used to endorse or promote products derived from this software 16 * without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 * PURPOSE. 22 */ 23 24 #include <assert.h> 25 26 #include "header_r_scanner.h" 27 28 /* The scanner itself is not important here. 29 * We simply try to use all the functions that are exported in the 30 * header, to see if we get any compiler warnings. 31 */ 32 int 33 main ( int argc, char** argv ) 34 { 35 (void)argc; 36 (void)argv; 37 38 yyscan_t scanner; 39 FILE *fp; 40 char * extra = "EXTRA"; 41 42 testlex_init(&scanner); 43 testset_in(stdin,scanner); 44 testset_out(stdout,scanner); 45 testset_extra(extra,scanner); 46 47 fp = testget_in(scanner); 48 assert(fp == stdin); 49 fp = testget_out(scanner); 50 assert(fp == stdout); 51 52 while(testlex(scanner)) { 53 char * text; 54 int line; 55 line = testget_lineno(scanner); 56 text = testget_text(scanner); 57 58 if( (char*)testget_extra(scanner) != extra) 59 break; 60 61 if ( !text || line < 0) 62 continue; 63 } 64 testlex_destroy(scanner); 65 printf("TEST RETURNING OK.\n"); 66 return 0; 67 } 68