(root)/
flex-2.6.4/
tests/
header_r_main.c
       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  }