test the scanner

git-svn-id: svn+ssh://svn.cprover.org/srv/svn/cbmc/trunk@5170 6afb6bc1-c8e4-404c-8f48-9ae832c5b171
This commit is contained in:
kroening 2015-02-08 14:38:36 +00:00
parent b0363b2155
commit 0e518e92bb
2 changed files with 44 additions and 1 deletions

View File

@ -30,7 +30,7 @@ include ../common
CLEANFILES = cpp$(LIBEXT)
all: cpp$(LIBEXT) cpp_parser_test$(EXEEXT)
all: cpp$(LIBEXT) cpp_parser_test$(EXEEXT) cpp_scanner_test$(EXEEXT)
###############################################################################
@ -41,3 +41,9 @@ cpp_parser_test$(EXEEX): cpp_parser_test$(OBJEXT) $(OBJ) ../util/util$(LIBEXT) \
../ansi-c/ansi-c$(LIBEXT) ../big-int/big-int$(LIBEXT) ../linking/linking$(LIBEXT) \
../langapi/langapi$(LIBEXT)
$(LINKBIN)
cpp_scanner_test$(EXEEX): cpp_scanner_test$(OBJEXT) $(OBJ) ../util/util$(LIBEXT) \
../ansi-c/ansi-c$(LIBEXT) ../big-int/big-int$(LIBEXT) ../linking/linking$(LIBEXT) \
../langapi/langapi$(LIBEXT)
$(LINKBIN)

View File

@ -0,0 +1,37 @@
#include <fstream>
#include <iostream>
#include <ansi-c/ansi_c_parser.h>
#include "cpp_parser.h"
#include "cpp_token_buffer.h"
/*******************************************************************\
Function: main
Inputs:
Outputs:
Purpose:
\*******************************************************************/
int main(int argc, const char *argv[])
{
if(argc!=2) return 1;
std::ifstream in(argv[1]);
ansi_c_parser.cpp98=true;
ansi_c_parser.cpp11=false;
ansi_c_parser.in=&in;
cpp_parser.in=&in;
cpp_tokent tk;
while(cpp_parser.token_buffer.GetToken(tk))
std::cout << tk.text << '\n';
}