Skip to content
Snippets Groups Projects
Commit 8f5fa686 authored by vcday's avatar vcday
Browse files

added stemmer and fixed parserE2E test

parent 169fd448
No related branches found
No related tags found
No related merge requests found
Showing
with 1313 additions and 298 deletions
......@@ -12,3 +12,22 @@ cmake_install.cmake
eecs398_search.cbp
main
.gitignore
cmake-build-debug/CMakeCache.txt
cmake-build-debug/CMakeFiles/3.9.6/CMakeCCompiler.cmake
cmake-build-debug/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake
cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin
cmake-build-debug/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin
cmake-build-debug/CMakeFiles/3.9.6/CMakeSystem.cmake
cmake-build-debug/CMakeFiles/3.9.6/CompilerIdC/a.out
cmake-build-debug/CMakeFiles/3.9.6/CompilerIdCXX/a.out
cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake
cmake-build-debug/CMakeFiles/CMakeOutput.log
cmake-build-debug/CMakeFiles/Makefile.cmake
cmake-build-debug/CMakeFiles/Makefile2
cmake-build-debug/CMakeFiles/TargetDirectories.txt
cmake-build-debug/CMakeFiles/clion-log.txt
cmake-build-debug/CMakeFiles/cmake.check_cache
cmake-build-debug/CMakeFiles/feature_tests.bin
cmake-build-debug/CMakeFiles/feature_tests.c
cmake-build-debug/CMakeFiles/feature_tests.cxx
cmake-build-debug/CMakeFiles/progress.marks
......@@ -3,9 +3,6 @@ project(eecs398_search)
set(CMAKE_CXX_STANDARD 11)
add_executable(crawler-parser-test
main.cpp
shared/ProducerConsumerQueue.h
......@@ -19,9 +16,7 @@ add_executable(crawler-parser-test
crawler/LocalReader.h
shared/Document.cpp
parser/Parser.cpp
util/stringProcessing.cpp
)
util/stringProcessing.cpp)
add_executable(StringProcessingTest
......@@ -37,22 +32,21 @@ add_executable(StemmerTest
util/Stemmer.h
util/tests/stemmerTest.cpp)
add_executable(ParserEndToEndTest
add_executable(ParserTest
parser/Parser.cpp
shared/Document.cpp
shared/url.h
util/util.cpp
util/Tokenizer.h
util/Tokenizer.cpp
shared/ProducerConsumerQueue.h
util/stringProcessing.cpp
parser/tests/parserTest.cpp)
add_executable(URLTEST shared/url.h shared/urlTest.cpp)
add_executable(search-engine search.cpp query/Query.cpp)
find_package(OpenSSL REQUIRED)
target_link_libraries(crawler-parser-test OpenSSL::SSL pthread)
This diff is collapsed.
......@@ -7,94 +7,29 @@ set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompiler.cmake.in"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCCompilerABI.c"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCInformation.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompiler.cmake.in"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCXXInformation.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCommonLanguageInclude.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeCompilerIdDetection.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineCCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineCXXCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineCompileFeatures.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineCompilerABI.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineCompilerId.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeFindBinUtils.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeFindCodeBlocks.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeGenericSystem.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeLanguageInformation.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeParseImplicitLinkInfo.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeSystem.cmake.in"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeSystemSpecificInformation.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeSystemSpecificInitialize.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeTestCCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeTestCXXCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeTestCompilerCommon.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/CMakeUnixFindMake.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/ADSP-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/AppleClang-C-FeatureTests.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/AppleClang-C.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/AppleClang-CXX.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Borland-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Clang-CXX-TestableFeatures.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Clang-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Clang.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Cray-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/GHS-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/GNU.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/HP-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/IAR-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Intel-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/MSVC-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/PGI-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/PathScale-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/SCO-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/TI-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/Watcom-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/XL-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/FindOpenSSL.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/FindPackageMessage.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/FindPkgConfig.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Internal/FeatureTesting.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-AppleClang-C.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-AppleClang-CXX.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-Clang-C.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-Clang-CXX.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-Clang.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-Determine-CXX.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin-Initialize.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/Darwin.cmake"
"/Applications/CLion.app/Contents/bin/cmake/share/cmake-3.9/Modules/Platform/UnixPaths.cmake"
......@@ -103,8 +38,6 @@ set(CMAKE_MAKEFILE_DEPENDS
"CMakeFiles/3.9.6/CMakeCCompiler.cmake"
"CMakeFiles/3.9.6/CMakeCXXCompiler.cmake"
"CMakeFiles/3.9.6/CMakeSystem.cmake"
"CMakeFiles/feature_tests.c"
"CMakeFiles/feature_tests.cxx"
)
# The corresponding makefile is:
......@@ -115,21 +48,16 @@ set(CMAKE_MAKEFILE_OUTPUTS
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/3.9.6/CMakeSystem.cmake"
"CMakeFiles/3.9.6/CMakeCCompiler.cmake"
"CMakeFiles/3.9.6/CMakeCXXCompiler.cmake"
"CMakeFiles/3.9.6/CMakeCCompiler.cmake"
"CMakeFiles/3.9.6/CMakeCXXCompiler.cmake"
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/URLTEST.dir/DependInfo.cmake"
"CMakeFiles/StemmerTest.dir/DependInfo.cmake"
"CMakeFiles/ParserEndToEndTest.dir/DependInfo.cmake"
"CMakeFiles/TokenizerTest.dir/DependInfo.cmake"
"CMakeFiles/StringProcessingTest.dir/DependInfo.cmake"
"CMakeFiles/TokenizerTest.dir/DependInfo.cmake"
"CMakeFiles/URLTEST.dir/DependInfo.cmake"
"CMakeFiles/ParserTest.dir/DependInfo.cmake"
"CMakeFiles/search-engine.dir/DependInfo.cmake"
"CMakeFiles/crawler-parser-test.dir/DependInfo.cmake"
)
......@@ -59,43 +59,6 @@ CMAKE_SOURCE_DIR = /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-s
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
#=============================================================================
# Target rules for target CMakeFiles/URLTEST.dir
# All Build rule for target.
CMakeFiles/URLTEST.dir/all:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/depend
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=14,15 "Built target URLTEST"
.PHONY : CMakeFiles/URLTEST.dir/all
# Include target in all.
all: CMakeFiles/URLTEST.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/URLTEST.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 2
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/URLTEST.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/URLTEST.dir/rule
# Convenience name for target.
URLTEST: CMakeFiles/URLTEST.dir/rule
.PHONY : URLTEST
# clean rule for target.
CMakeFiles/URLTEST.dir/clean:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/clean
.PHONY : CMakeFiles/URLTEST.dir/clean
# clean rule for target.
clean: CMakeFiles/URLTEST.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/StemmerTest.dir
......@@ -103,7 +66,7 @@ clean: CMakeFiles/URLTEST.dir/clean
CMakeFiles/StemmerTest.dir/all:
$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/depend
$(MAKE) -f CMakeFiles/StemmerTest.dir/build.make CMakeFiles/StemmerTest.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=7,8 "Built target StemmerTest"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=8,9 "Built target StemmerTest"
.PHONY : CMakeFiles/StemmerTest.dir/all
# Include target in all.
......@@ -134,39 +97,39 @@ clean: CMakeFiles/StemmerTest.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/ParserEndToEndTest.dir
# Target rules for target CMakeFiles/StringProcessingTest.dir
# All Build rule for target.
CMakeFiles/ParserEndToEndTest.dir/all:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/depend
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6 "Built target ParserEndToEndTest"
.PHONY : CMakeFiles/ParserEndToEndTest.dir/all
CMakeFiles/StringProcessingTest.dir/all:
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/depend
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=10,11,12 "Built target StringProcessingTest"
.PHONY : CMakeFiles/StringProcessingTest.dir/all
# Include target in all.
all: CMakeFiles/ParserEndToEndTest.dir/all
all: CMakeFiles/StringProcessingTest.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/ParserEndToEndTest.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 6
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ParserEndToEndTest.dir/all
CMakeFiles/StringProcessingTest.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 3
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/StringProcessingTest.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/ParserEndToEndTest.dir/rule
.PHONY : CMakeFiles/StringProcessingTest.dir/rule
# Convenience name for target.
ParserEndToEndTest: CMakeFiles/ParserEndToEndTest.dir/rule
StringProcessingTest: CMakeFiles/StringProcessingTest.dir/rule
.PHONY : ParserEndToEndTest
.PHONY : StringProcessingTest
# clean rule for target.
CMakeFiles/ParserEndToEndTest.dir/clean:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/clean
.PHONY : CMakeFiles/ParserEndToEndTest.dir/clean
CMakeFiles/StringProcessingTest.dir/clean:
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/clean
.PHONY : CMakeFiles/StringProcessingTest.dir/clean
# clean rule for target.
clean: CMakeFiles/ParserEndToEndTest.dir/clean
clean: CMakeFiles/StringProcessingTest.dir/clean
.PHONY : clean
......@@ -177,7 +140,7 @@ clean: CMakeFiles/ParserEndToEndTest.dir/clean
CMakeFiles/TokenizerTest.dir/all:
$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/depend
$(MAKE) -f CMakeFiles/TokenizerTest.dir/build.make CMakeFiles/TokenizerTest.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=12,13 "Built target TokenizerTest"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=13,14 "Built target TokenizerTest"
.PHONY : CMakeFiles/TokenizerTest.dir/all
# Include target in all.
......@@ -208,39 +171,76 @@ clean: CMakeFiles/TokenizerTest.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/StringProcessingTest.dir
# Target rules for target CMakeFiles/URLTEST.dir
# All Build rule for target.
CMakeFiles/StringProcessingTest.dir/all:
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/depend
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=9,10,11 "Built target StringProcessingTest"
.PHONY : CMakeFiles/StringProcessingTest.dir/all
CMakeFiles/URLTEST.dir/all:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/depend
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=15,16 "Built target URLTEST"
.PHONY : CMakeFiles/URLTEST.dir/all
# Include target in all.
all: CMakeFiles/StringProcessingTest.dir/all
all: CMakeFiles/URLTEST.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/StringProcessingTest.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 3
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/StringProcessingTest.dir/all
CMakeFiles/URLTEST.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 2
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/URLTEST.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/StringProcessingTest.dir/rule
.PHONY : CMakeFiles/URLTEST.dir/rule
# Convenience name for target.
StringProcessingTest: CMakeFiles/StringProcessingTest.dir/rule
URLTEST: CMakeFiles/URLTEST.dir/rule
.PHONY : StringProcessingTest
.PHONY : URLTEST
# clean rule for target.
CMakeFiles/StringProcessingTest.dir/clean:
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/clean
.PHONY : CMakeFiles/StringProcessingTest.dir/clean
CMakeFiles/URLTEST.dir/clean:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/clean
.PHONY : CMakeFiles/URLTEST.dir/clean
# clean rule for target.
clean: CMakeFiles/StringProcessingTest.dir/clean
clean: CMakeFiles/URLTEST.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/ParserTest.dir
# All Build rule for target.
CMakeFiles/ParserTest.dir/all:
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/depend
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7 "Built target ParserTest"
.PHONY : CMakeFiles/ParserTest.dir/all
# Include target in all.
all: CMakeFiles/ParserTest.dir/all
.PHONY : all
# Build rule for subdir invocation for target.
CMakeFiles/ParserTest.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 7
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ParserTest.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles 0
.PHONY : CMakeFiles/ParserTest.dir/rule
# Convenience name for target.
ParserTest: CMakeFiles/ParserTest.dir/rule
.PHONY : ParserTest
# clean rule for target.
CMakeFiles/ParserTest.dir/clean:
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/clean
.PHONY : CMakeFiles/ParserTest.dir/clean
# clean rule for target.
clean: CMakeFiles/ParserTest.dir/clean
.PHONY : clean
......@@ -251,7 +251,7 @@ clean: CMakeFiles/StringProcessingTest.dir/clean
CMakeFiles/search-engine.dir/all:
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/depend
$(MAKE) -f CMakeFiles/search-engine.dir/build.make CMakeFiles/search-engine.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=25,26,27 "Built target search-engine"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=26,27,28 "Built target search-engine"
.PHONY : CMakeFiles/search-engine.dir/all
# Include target in all.
......@@ -288,7 +288,7 @@ clean: CMakeFiles/search-engine.dir/clean
CMakeFiles/crawler-parser-test.dir/all:
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/depend
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=16,17,18,19,20,21,22,23,24 "Built target crawler-parser-test"
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles --progress-num=17,18,19,20,21,22,23,24,25 "Built target crawler-parser-test"
.PHONY : CMakeFiles/crawler-parser-test.dir/all
# Include target in all.
......
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/edit_cache.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/URLTEST.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/rebuild_cache.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/StemmerTest.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/ParserEndToEndTest.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/TokenizerTest.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/StringProcessingTest.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/TokenizerTest.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/URLTEST.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/ParserTest.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/search-engine.dir
/Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug/CMakeFiles/crawler-parser-test.dir
/Applications/CLion.app/Contents/bin/cmake/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search
-- The C compiler identification is AppleClang 8.0.0.8000042
-- The CXX compiler identification is AppleClang 8.0.0.8000042
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenSSL: /usr/lib/libcrypto.dylib (found version "1.0.2m")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/veronicaday/Desktop/EECS398/eecs_398/project/eecs398-search/cmake-build-debug
27
28
......@@ -110,19 +110,6 @@ depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named URLTEST
# Build rule for target.
URLTEST: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 URLTEST
.PHONY : URLTEST
# fast build rule for target.
URLTEST/fast:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
.PHONY : URLTEST/fast
#=============================================================================
# Target rules for targets named StemmerTest
......@@ -137,17 +124,17 @@ StemmerTest/fast:
.PHONY : StemmerTest/fast
#=============================================================================
# Target rules for targets named ParserEndToEndTest
# Target rules for targets named StringProcessingTest
# Build rule for target.
ParserEndToEndTest: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 ParserEndToEndTest
.PHONY : ParserEndToEndTest
StringProcessingTest: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 StringProcessingTest
.PHONY : StringProcessingTest
# fast build rule for target.
ParserEndToEndTest/fast:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/build
.PHONY : ParserEndToEndTest/fast
StringProcessingTest/fast:
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/build
.PHONY : StringProcessingTest/fast
#=============================================================================
# Target rules for targets named TokenizerTest
......@@ -163,17 +150,30 @@ TokenizerTest/fast:
.PHONY : TokenizerTest/fast
#=============================================================================
# Target rules for targets named StringProcessingTest
# Target rules for targets named URLTEST
# Build rule for target.
StringProcessingTest: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 StringProcessingTest
.PHONY : StringProcessingTest
URLTEST: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 URLTEST
.PHONY : URLTEST
# fast build rule for target.
StringProcessingTest/fast:
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/build
.PHONY : StringProcessingTest/fast
URLTEST/fast:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/build
.PHONY : URLTEST/fast
#=============================================================================
# Target rules for targets named ParserTest
# Build rule for target.
ParserTest: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 ParserTest
.PHONY : ParserTest
# fast build rule for target.
ParserTest/fast:
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/build
.PHONY : ParserTest/fast
#=============================================================================
# Target rules for targets named search-engine
......@@ -315,7 +315,7 @@ parser/Parser.o: parser/Parser.cpp.o
# target to build an object file
parser/Parser.cpp.o:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/Parser.cpp.o
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.o
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.o
.PHONY : parser/Parser.cpp.o
......@@ -325,7 +325,7 @@ parser/Parser.i: parser/Parser.cpp.i
# target to preprocess a source file
parser/Parser.cpp.i:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/Parser.cpp.i
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.i
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.i
.PHONY : parser/Parser.cpp.i
......@@ -335,7 +335,7 @@ parser/Parser.s: parser/Parser.cpp.s
# target to generate assembly for a file
parser/Parser.cpp.s:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/Parser.cpp.s
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/Parser.cpp.s
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/parser/Parser.cpp.s
.PHONY : parser/Parser.cpp.s
......@@ -345,7 +345,7 @@ parser/tests/parserTest.o: parser/tests/parserTest.cpp.o
# target to build an object file
parser/tests/parserTest.cpp.o:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/tests/parserTest.cpp.o
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/tests/parserTest.cpp.o
.PHONY : parser/tests/parserTest.cpp.o
parser/tests/parserTest.i: parser/tests/parserTest.cpp.i
......@@ -354,7 +354,7 @@ parser/tests/parserTest.i: parser/tests/parserTest.cpp.i
# target to preprocess a source file
parser/tests/parserTest.cpp.i:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/tests/parserTest.cpp.i
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/tests/parserTest.cpp.i
.PHONY : parser/tests/parserTest.cpp.i
parser/tests/parserTest.s: parser/tests/parserTest.cpp.s
......@@ -363,7 +363,7 @@ parser/tests/parserTest.s: parser/tests/parserTest.cpp.s
# target to generate assembly for a file
parser/tests/parserTest.cpp.s:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/parser/tests/parserTest.cpp.s
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/parser/tests/parserTest.cpp.s
.PHONY : parser/tests/parserTest.cpp.s
query/Query.o: query/Query.cpp.o
......@@ -426,7 +426,7 @@ shared/Document.o: shared/Document.cpp.o
# target to build an object file
shared/Document.cpp.o:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/shared/Document.cpp.o
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.o
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.o
.PHONY : shared/Document.cpp.o
......@@ -436,7 +436,7 @@ shared/Document.i: shared/Document.cpp.i
# target to preprocess a source file
shared/Document.cpp.i:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/shared/Document.cpp.i
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.i
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.i
.PHONY : shared/Document.cpp.i
......@@ -446,7 +446,7 @@ shared/Document.s: shared/Document.cpp.s
# target to generate assembly for a file
shared/Document.cpp.s:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/shared/Document.cpp.s
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/shared/Document.cpp.s
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/shared/Document.cpp.s
.PHONY : shared/Document.cpp.s
......@@ -477,14 +477,41 @@ shared/urlTest.cpp.s:
$(MAKE) -f CMakeFiles/URLTEST.dir/build.make CMakeFiles/URLTEST.dir/shared/urlTest.cpp.s
.PHONY : shared/urlTest.cpp.s
util/Tokenizer.o: util/Tokenizer.cpp.o
.PHONY : util/Tokenizer.o
# target to build an object file
util/Tokenizer.cpp.o:
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Tokenizer.cpp.o
.PHONY : util/Tokenizer.cpp.o
util/Tokenizer.i: util/Tokenizer.cpp.i
.PHONY : util/Tokenizer.i
# target to preprocess a source file
util/Tokenizer.cpp.i:
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Tokenizer.cpp.i
.PHONY : util/Tokenizer.cpp.i
util/Tokenizer.s: util/Tokenizer.cpp.s
.PHONY : util/Tokenizer.s
# target to generate assembly for a file
util/Tokenizer.cpp.s:
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/Tokenizer.cpp.s
.PHONY : util/Tokenizer.cpp.s
util/stringProcessing.o: util/stringProcessing.cpp.o
.PHONY : util/stringProcessing.o
# target to build an object file
util/stringProcessing.cpp.o:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/util/stringProcessing.cpp.o
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.o
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.o
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.o
.PHONY : util/stringProcessing.cpp.o
......@@ -494,8 +521,8 @@ util/stringProcessing.i: util/stringProcessing.cpp.i
# target to preprocess a source file
util/stringProcessing.cpp.i:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/util/stringProcessing.cpp.i
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.i
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.i
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.i
.PHONY : util/stringProcessing.cpp.i
......@@ -505,8 +532,8 @@ util/stringProcessing.s: util/stringProcessing.cpp.s
# target to generate assembly for a file
util/stringProcessing.cpp.s:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/util/stringProcessing.cpp.s
$(MAKE) -f CMakeFiles/StringProcessingTest.dir/build.make CMakeFiles/StringProcessingTest.dir/util/stringProcessing.cpp.s
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/stringProcessing.cpp.s
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/stringProcessing.cpp.s
.PHONY : util/stringProcessing.cpp.s
......@@ -597,7 +624,7 @@ util/util.o: util/util.cpp.o
# target to build an object file
util/util.cpp.o:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/util/util.cpp.o
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.o
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.o
.PHONY : util/util.cpp.o
......@@ -607,7 +634,7 @@ util/util.i: util/util.cpp.i
# target to preprocess a source file
util/util.cpp.i:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/util/util.cpp.i
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.i
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.i
.PHONY : util/util.cpp.i
......@@ -617,7 +644,7 @@ util/util.s: util/util.cpp.s
# target to generate assembly for a file
util/util.cpp.s:
$(MAKE) -f CMakeFiles/ParserEndToEndTest.dir/build.make CMakeFiles/ParserEndToEndTest.dir/util/util.cpp.s
$(MAKE) -f CMakeFiles/ParserTest.dir/build.make CMakeFiles/ParserTest.dir/util/util.cpp.s
$(MAKE) -f CMakeFiles/crawler-parser-test.dir/build.make CMakeFiles/crawler-parser-test.dir/util/util.cpp.s
.PHONY : util/util.cpp.s
......@@ -628,12 +655,12 @@ help:
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... URLTEST"
@echo "... rebuild_cache"
@echo "... StemmerTest"
@echo "... ParserEndToEndTest"
@echo "... TokenizerTest"
@echo "... StringProcessingTest"
@echo "... TokenizerTest"
@echo "... URLTEST"
@echo "... ParserTest"
@echo "... search-engine"
@echo "... crawler-parser-test"
@echo "... crawler/SocketReader.o"
......@@ -666,6 +693,9 @@ help:
@echo "... shared/urlTest.o"
@echo "... shared/urlTest.i"
@echo "... shared/urlTest.s"
@echo "... util/Tokenizer.o"
@echo "... util/Tokenizer.i"
@echo "... util/Tokenizer.s"
@echo "... util/stringProcessing.o"
@echo "... util/stringProcessing.i"
@echo "... util/stringProcessing.s"
......
//
// Created by Jake Close on 3/5/18.
//
#include "Parser.h"
......
//
// Created by Veronica Day on 1/28/18.
//
// keep running count of offset, if stop word: don't incrememnt and remove stopword
// tokenizer returns pointer to document dictionary, parser puts it on the indexer's queue
//
#pragma once
#include <string>
......
//
// Created by anvia on 2/6/2018.
//
#include <string>
#include <cassert>
......@@ -52,23 +49,23 @@ void testComplex ( )
ProducerConsumerQueue < string > urlFrontierTest;
ifstream file("../tests/cats.html");
string temp;
char docString[10240];
strcpy(docString, "<title>Joe the Cat</title>\n");
strcat(docString, "<a href=\"https://www.w3schools.com/html/\">Visit our HTML tutorial</a>\n");
while(std::getline(file, temp)) {
//strcat(docString, str(temp));
string docString = "<title>Joe the Cat</title>\n";
docString += "<a href=\"https://www.w3schools.com/html/\">Visit our HTML tutorial</a>\n";
while ( std::getline ( file, temp ) )
{
docString += temp;
}
ParsedUrl url = ParsedUrl("https://www.w3schools.com/tests/cats.html");
Document document ( url, docString );
char * writable = new char[docString.size( ) + 1];
std::copy(docString.begin( ), docString.end( ), writable);
writable[ docString.size( ) ] = '\0';
Document document ( url, writable );
Parser parser ( &urlFrontierTest );
auto dictionary = parser.execute ( &document );
// cout << dictionary->size () << endl;
// for (auto p : *dictionary)
// cout << p.first << endl;
assert ( dictionary != nullptr );
assert ( dictionary->size () == 3);
......@@ -79,10 +76,7 @@ void testComplex ( )
assert ( dictionary->find ( "the" ) == dictionary->end () );
assert ( dictionary->find ( "of" ) == dictionary->end () );
// assert ( dictionary->at ( "cat" )[ 0 ] == 1 );
// assert ( dictionary->at ( "story" )[ 0 ] == 0 );
// cout << urlFrontierTest->Size () << endl;
// cout << urlFrontierTest->Pop () << endl;
delete dictionary;
delete[] writable;
}
\ No newline at end of file
//
// Created by Jake Close on 3/5/18.
//
#include "Document.h"
......
//
// Created by Veronica Day on 2/22/18.
//
#pragma once
#include <string>
#include "stringProcessing.h"
/**
* Modeled after the Porter Stemmer algorithm
* http://snowball.tartarus.org/algorithms/porter/stemmer.html
*/
class Stemmer
{
Stemmer ( )
{ }
std::string stem ( std::string word )
{
}
/**
* Number of consonant sequences
*
* <c><v> -> 0
* <c>vc<v> -> 1
* <c>vcvc<v> -> 2
* <c>vcvcvc<v> -> 3
*
* @param word
* @return
*/
int measure ( std::string word )
{
int m = 0;
int begin = 0;
unsigned long end = word.size ( ) - 1;
while ( true )
{
if ( begin > end )
{
return m;
}
if ( isConsonant ( word.begin ( ) + begin, word.begin ( ) ) )
{
break;
}
begin += 1;
}
begin += 1;
while ( true )
{
while ( true )
{
if ( begin > end )
{
return m;
}
if ( isConsonant ( word.begin ( ) + begin, word.begin ( ) ) )
{
break;
}
begin += 1;
}
begin += 1;
m += 1;
while ( true )
{
if ( begin > end )
{
return m;
}
if ( isConsonant ( word.begin ( ) + begin, word.begin ( ) ) )
{
break;
}
begin += 1;
}
begin += 1;
}
}
/**
* Check if a vowel is present in the stem
*
* @param wordBeg
* @param wordEnd
* @param word
* @return
*/
bool isVowelPresent ( string::iterator wordBeg, string::iterator wordEnd, string word )
{
while ( wordBeg != wordEnd )
{
if ( !isConsonant ( wordBeg, word.begin ( ) ) )
{
return true;
}
}
return false;
}
/**
* Return true if the wordIt points to a consonant
*
* @param wordIt
* @param wordBegin
* @return
*/
bool isConsonant ( string::iterator wordIt, string::iterator wordBegin )
{
if ( *wordIt == 'a' || *wordIt == 'e' || *wordIt == 'i' || *wordIt == 'u' )
{
return false;
}
if ( *wordIt == 'y' )
{
if ( wordIt == wordBegin )
{
return true;
}
else
{
return ( !isConsonant ( wordIt - 1, wordBegin ) );
}
}
return true;
}
/**
* Returns true if should add 'e' to end
*
* @param word
* @return
*/
bool addE ( string word )
{
// AT -> ATE
// BL -> BLE
// IZ -> IZE
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
auto substrAT = findPrev ( "at", endPtr );
auto substrBL = findPrev ( "bl", endPtr );
auto substrIZ = findPrev ( "iz", endPtr );
if ( *substrAT != '\0' || *substrBL != '\0' || *substrIZ != '\0' )
{
return true;
}
else
{
return false;
}
}
/**
* Returns true if word ends in double constant
* Not LL, SS, ZZ
* @param word
* @return
*/
bool doubleCon ( string word )
{
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
if ( word.size ( ) > 2 && *endPtr == *( endPtr - 1 ) )
{
if ( *endPtr == 'l' || *endPtr == 's' || *endPtr == 'z' )
{
return false;
}
else
{
return true;
}
}
return false;
}
/**
* Returns true if a word ends in a
* Consonant, Vowel, Consonant pattern
* Except when second C is W, X, or Y
*
* @param word
* @return
*/
bool endCVC ( std::string word )
{
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
if ( word.size ( ) > 2 )
{
// the stem ends cvc
if ( isConsonant ( endPtr, word.begin ( ) ) && !isConsonant ( endPtr - 1, word.begin ( ) ) &&
isConsonant ( endPtr - 2, word.begin ( ) ) )
{
// the second c is not W, X or Y
if ( *( endPtr - 1 ) != 'w' && *( endPtr - 1 ) != 'x' && *( endPtr - 1 ) != 'y' )
{
return true;
}
}
}
return false;
}
/**
* Stem plural words
*
* @param word
* @return
*/
std::string step_1a ( std::string word )
{
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
// check S at end
if ( word.at ( end ) == 's' )
{
string wordStem ( word.begin ( ), word.end ( ) );
auto substrSSES = findPrev ( "sses", endPtr );
auto substrIES = findPrev ( "ies", endPtr );
auto substrSS = findPrev ( "ss", endPtr );
auto substrS = findPrev ( "s", endPtr );
// sses -> ss
// caresses -> caress
if ( *substrSSES != '\0' )
{
string wordStem ( word.begin ( ), substrSSES + 1 );
}
// ies -> i
// ponies -> poni
else if ( *substrIES != '\0' )
{
string wordStem ( word.begin ( ), substrIES + 1 );
}
// ss -> ss
// caress -> caress
else if ( *substrSS != '\0' )
{
string wordStem ( word.begin ( ), word.end ( ) );
}
// s ->
// cats -> cat
else if ( *substrS != '\0' )
{
string wordStem ( word.begin ( ), substrS + 1 );
}
else
{
string wordStem ( word.begin ( ), word.end ( ) );
}
return wordStem;
}
return word;
}
/**
* Stem ED and ING
*
* @param word
* @return
*/
std::string step_1b ( std::string word )
{
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
if ( measure ( word ) > 0 )
{
string wordStem ( word.begin ( ), word.end ( ) );
auto substrEED = findPrev ( "eed", endPtr );
auto substrED = findPrev ( "ed", endPtr );
auto substrING = findPrev ( "ing", endPtr );
// check EED at end and m > 0
// feed -> feed
// agreed -> agree
if ( *substrEED != '\0' )
{
string wordStem ( word.begin ( ), substrEED + 1 );
}
// check ED at end and preceeded by substr with vowel
// plastered -> plaster
// bled -> bled
else if ( *substrED != '\0' && isVowelPresent ( word.begin ( ), substrED, word ) )
{
string wordStem ( word.begin ( ), substrED + 1 );
if ( addE ( wordStem ) )
{
wordStem += 'e';
}
else if ( doubleCon ( wordStem ) )
{
wordStem = wordStem.substr ( 0, wordStem.size ( ) - 1 );
}
else if ( measure ( wordStem ) > 1 && endCVC ( wordStem ) )
{
wordStem += 'e';
}
}
// check ING at end and proceeded by substr with vowel
// motoring -> motor
// sing -> sing
else if ( *substrING != '\0' && isVowelPresent ( word.begin ( ), substrING, word ) )
{
string wordStem ( word.begin ( ), substrING + 1 );
if ( addE ( wordStem ) )
{
wordStem += 'e';
}
}
return wordStem;
}
return word;
}
/**
* Checks for Y -> I
* @param word
* @return
*/
string step1c ( string word )
{
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
// Y -> I
// happy -> happi
// sky -> sky
if ( *endPtr == 'y' )
{
if ( isVowelPresent ( word.begin ( ), endPtr, word ) )
{
word = word.substr ( 0, word.size ( ) - 1 );
word += 'i';
}
}
return word;
}
/**
* Step 2
* @param word
* @return
*/
string step2 ( std::string word )
{
if ( measure ( word ) == 0 )
{
return word;
}
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
string wordStem ( word.begin ( ), word.end ( ) );
auto substrATIONAL = findPrev ( "ational", endPtr );
auto substrTIONAL = findPrev ( "tional", endPtr );
auto substrENCI = findPrev ( "enci", endPtr );
auto substrANCI = findPrev ( "anci", endPtr );
auto substrIZER = findPrev ( "izer", endPtr );
auto substrABLI = findPrev ( "abli", endPtr );
auto substrALLI = findPrev ( "alli", endPtr );
auto substrENTLI = findPrev ( "entli", endPtr );
auto substrELI = findPrev ( "eli", endPtr );
auto substrOUSLI = findPrev ( "ousli", endPtr );
auto substrIZATION = findPrev ( "ization", endPtr );
auto substrATION = findPrev ( "ation", endPtr );
auto substrATOR = findPrev ( "ator", endPtr );
auto substrALISM = findPrev ( "alism", endPtr );
auto substrIVENESS = findPrev ( "iveness", endPtr );
auto substrFULNESS = findPrev ( "fulness", endPtr );
auto substrOUSNESS = findPrev ( "ousness", endPtr );
auto substrALITI = findPrev ( "aliti", endPtr );
auto substrIVITI = findPrev ( "iviti", endPtr );
auto substrBILITI = findPrev ( "biliti", endPtr );
// ATIONAL -> ATE
// relational -> relate
if ( *substrATIONAL != '\0' )
{
string wordStem ( word.begin ( ), substrATIONAL + 1 );
wordStem + 'ate';
}
// TIONAL -> TION
// conditional -> condition
// rational -> rational
else if ( *substrTIONAL != '\0' )
{
string wordStem ( word.begin ( ), substrTIONAL + 1 );
wordStem += 'tion';
}
// ENCI -> ENCE
// valenci -> valence
else if ( *substrENCI != '\0' )
{
string wordStem ( word.begin ( ), substrENCI + 1 );
wordStem += 'ence';
}
// ANCI -> ANCE
// hesitanci -> hesitance
else if ( *substrANCI != '\0' )
{
string wordStem ( word.begin ( ), substrANCI + 1 );
wordStem += 'ance';
}
// IZER -> IZE
// digitizer -> digitize
else if ( *substrIZER != '\0' )
{
string wordStem ( word.begin ( ), substrIZER + 1 );
wordStem += 'ize';
}
// ABLI -> ABLE
// conformabli -> comformable
else if ( *substrABLI != '\0' )
{
string wordStem ( word.begin ( ), substrABLI + 1 );
wordStem += 'able';
}
// ALLI -> AL
// radicalli -> radical
else if ( *substrALLI != '\0' )
{
string wordStem ( word.begin ( ), substrALLI + 1 );
wordStem += 'al';
}
// ENTLI -> ENT
// differentli -> different
else if ( *substrENTLI != '\0' )
{
string wordStem ( word.begin ( ), substrENTLI + 1 );
wordStem += 'ent';
}
// ELI -> E
// vileli -> vile
else if ( *substrELI != '\0' )
{
string wordStem ( word.begin ( ), substrELI + 1 );
wordStem += 'e';
}
// OUSLI -> OUS
// analogousli -> analogous
else if ( *substrOUSLI != '\0' )
{
string wordStem ( word.begin ( ), substrOUSLI + 1 );
wordStem += 'ous';
}
// IZATION -> IZE
// vietnamization -> vietnamize
else if ( *substrIZATION != '\0' )
{
string wordStem ( word.begin ( ), substrIZATION + 1 );
wordStem += 'ize';
}
// ATION -> ATE
// predication -> predicate
else if ( *substrATION != '\0' )
{
string wordStem ( word.begin ( ), substrATION + 1 );
wordStem += 'ate';
}
// ATOR -> ATE
// predication -> predicate
else if ( *substrATOR != '\0' )
{
string wordStem ( word.begin ( ), substrATOR + 1 );
wordStem += 'ate';
}
// ALISM -> AL
// feudalism -> feudal
else if ( *substrALISM != '\0' )
{
string wordStem ( word.begin ( ), substrALISM + 1 );
wordStem += 'al';
}
// IVENESS -> IVE
// decisivenss -> decisive
else if ( *substrIVENESS != '\0' )
{
string wordStem ( word.begin ( ), substrIVENESS + 1 );
wordStem += 'ive';
}
// FULNESS -> FUL
// hopefulness -> hopeful
else if ( *substrFULNESS != '\0' )
{
string wordStem ( word.begin ( ), substrFULNESS + 1 );
wordStem += 'ful';
}
// OUSNESS -> OUS
// callousness -> callous
else if ( *substrOUSNESS != '\0' )
{
string wordStem ( word.begin ( ), substrOUSNESS + 1 );
wordStem += 'ous';
}
// ALITI -> AL
// formalit -> callous
else if ( *substrOUSNESS != '\0' )
{
string wordStem ( word.begin ( ), substrOUSNESS + 1 );
wordStem += 'al';
}
// IVITI -> IVE
// sensitiviti -> sensitive
else if ( *substrIVITI != '\0' )
{
string wordStem ( word.begin ( ), substrIVITI + 1 );
wordStem += 'ive';
}
// BILITI -> BLE
// sensibiliti -> sensible
else if ( *substrBILITI != '\0' )
{
string wordStem ( word.begin ( ), substrBILITI + 1 );
wordStem += 'ble';
}
return wordStem;
}
/**
* Step 3
*
* @param word
* @return
*/
std::string step3 ( std:: string word )
{
if ( measure ( word ) == 0 )
{
return word;
}
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
string wordStem ( word.begin ( ), word.end ( ) );
auto substrICATE = findPrev ( "icate", endPtr );
auto substrATIVE = findPrev ( "ative", endPtr );
auto substrALIZE = findPrev ( "alize", endPtr );
auto substrICITI = findPrev ( "iciti", endPtr );
auto substrICAL = findPrev ( "ical", endPtr );
auto substrFUL = findPrev ( "ful", endPtr );
auto substrNESS = findPrev ( "ness", endPtr );
// ICATE -> IC
// triplicate -> triplic
if ( *substrICATE != '\0' )
{
string wordStem ( word.begin ( ), substrICATE + 1 );
wordStem + 'ic';
}
// ATIVE ->
// formative -> form
else if ( *substrATIVE != '\0' )
{
string wordStem ( word.begin ( ), substrATIVE + 1 );
}
// ALIZE -> AL
// formalize -> formal
else if ( *substrALIZE != '\0' )
{
string wordStem ( word.begin ( ), substrALIZE + 1 );
wordStem += 'al';
}
// ICITI -> IC
// electriciti -> electric
else if ( *substrICITI != '\0' )
{
string wordStem ( word.begin ( ), substrICITI + 1 );
wordStem += 'ic';
}
// ICAL -> IC
// electrical -> electric
else if ( *substrICAL != '\0' )
{
string wordStem ( word.begin ( ), substrICAL + 1 );
wordStem += 'ic';
}
// FUL ->
// hopeful -> hope
else if ( *substrFUL != '\0' )
{
string wordStem ( word.begin ( ), substrFUL + 1 );
}
// NESS ->
// goodness -> good
else if ( *substrNESS != '\0' )
{
string wordStem ( word.begin ( ), substrNESS + 1 );
}
return wordStem;
}
/**
* Step 4
*
* @param word
* @return
*/
std::string step4( std::string word )
{
if ( measure ( word ) <= 1 )
{
return word;
}
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
string wordStem ( word.begin ( ), word.end ( ) );
auto substrAL = findPrev ( "al", endPtr );
auto substrANCE = findPrev ( "ance", endPtr );
auto substrENCE = findPrev ( "ence", endPtr );
auto substrER = findPrev ( "er", endPtr );
auto substrIC = findPrev ( "ic", endPtr );
auto substrABLE = findPrev ( "able", endPtr );
auto substrIBLE = findPrev ( "ible", endPtr );
auto substrANT = findPrev ( "ant", endPtr );
auto substrEMENT = findPrev ( "ement", endPtr );
auto substrMENT = findPrev ( "ment", endPtr );
auto substrENT = findPrev ( "ent", endPtr );
auto substrTION = findPrev ( "tion", endPtr );
auto substrOU = findPrev ( "ou", endPtr );
auto substrISM = findPrev ( "ism", endPtr );
auto substrATE = findPrev ( "ate", endPtr );
auto substrITI = findPrev ( "iti", endPtr );
auto substrOUS = findPrev ( "ous", endPtr );
auto substrIVE = findPrev ( "ive", endPtr );
auto substrIZE = findPrev ( "ize", endPtr );
// AL ->
// revival -> reviv
if ( *substrAL != '\0' )
{
string wordStem ( word.begin ( ), substrAL + 1 );
}
// ANCE ->
// allowance -> allow
else if ( *substrANCE != '\0' )
{
string wordStem ( word.begin ( ), substrANCE + 1 );
}
// ENCE ->
// inference -> infer
else if ( *substrENCE != '\0' )
{
string wordStem ( word.begin ( ), substrENCE + 1 );
}
// ER ->
// airliner -> airlin
else if ( *substrER != '\0' )
{
string wordStem ( word.begin ( ), substrER + 1 );
}
// IC ->
// gyroscopic -> gyroscope
else if ( *substrIC != '\0' )
{
string wordStem ( word.begin ( ), substrIC + 1 );
}
// ABLE ->
// adjustable -> adjust
else if ( *substrABLE != '\0' )
{
string wordStem ( word.begin ( ), substrABLE + 1 );
}
// IBLE ->
// goodness -> good
else if ( *substrIBLE != '\0' )
{
string wordStem ( word.begin ( ), substrIBLE + 1 );
}
// ANT ->
// irritant -> irrit
else if ( *substrANT != '\0' )
{
string wordStem ( word.begin ( ), substrANT + 1 );
}
// EMENT ->
// replacement -> replace
else if ( *substrEMENT != '\0' )
{
string wordStem ( word.begin ( ), substrEMENT + 1 );
}
// MENT ->
// adjustment -> adjust
else if ( *substrMENT != '\0' )
{
string wordStem ( word.begin ( ), substrMENT + 1 );
}
// ENT ->
// dependent -> depend
else if ( *substrENT != '\0' )
{
string wordStem ( word.begin ( ), substrENT + 1 );
}
// TION ->
// stem must end in 't' or 's'
// adoption -> adopt
else if ( *substrTION != '\0' && ( *( substrTION - 1) == 's' || *( substrTION - 1) == 't' ) )
{
string wordStem ( word.begin ( ), substrTION + 1 );
}
// OU ->
// homologou -> homolog
else if ( *substrOU != '\0' )
{
string wordStem ( word.begin ( ), substrOU + 1 );
}
// ISM ->
// communism -> commun
else if ( *substrISM != '\0' )
{
string wordStem ( word.begin ( ), substrISM + 1 );
}
// ATE ->
// activate -> activ
else if ( *substrATE != '\0' )
{
string wordStem ( word.begin ( ), substrATE + 1 );
}
// ITI ->
// angulariti -> angular
else if ( *substrITI != '\0' )
{
string wordStem ( word.begin ( ), substrITI + 1 );
}
// OUS ->
// homologous -> homolog
else if ( *substrOUS != '\0' )
{
string wordStem ( word.begin ( ), substrOUS + 1 );
}
// IVE ->
// effective -> effect
else if ( *substrIVE != '\0' )
{
string wordStem ( word.begin ( ), substrIVE + 1 );
}
// IZE ->
// bowdlerize -> bowdler
else if ( *substrIZE != '\0' )
{
string wordStem ( word.begin ( ), substrIZE + 1 );
}
return wordStem;
}
std::string step5a ( std::string word )
{
unsigned long end = word.size ( ) - 1;
auto endPtr = word.begin ( ) + end;
// E ->
// probabte -> probat
if ( measure ( word ) > 1 && *endPtr == 'e' )
{
word = word.substr ( 0, word.size ( ) - 1 );
return word;
}
// E ->
// cease -> cease
if ( measure ( word ) == 1 && !endCVC ( word ) && *endPtr == 'e')
{
word = word.substr ( 0, word.size ( ) - 1 );
return word;
}
return word;
}
std::string step5b ( std::string word )
{
/**
* Step 5b
(m > 1 and *d and *L) -> single letter controll -> control
roll -> roll
*/
}
};
#include "Tokenizer.h"
/**
* Tokenizer Cstor
*/
Tokenizer::Tokenizer ( )
{
docIndex = new unordered_map< string, vector< int>>;
}
/**
* Returns pointer to the docIndex dictionary
* @return pointer to unordered_map< string, vector< int>>
*/
unordered_map< string, vector< int>> *Tokenizer::get ( ) const
{
return docIndex;
}
/**
* Executes the Tokenizer
* Sends tokens to dictionary
* token -> [offsets]
* @param originalText
* @param offset
*/
void Tokenizer::execute ( string originalText, int offset )
{
vector< string > splitText = splitStr ( originalText, ' ' );
string lowerString = "";
for ( int i = 0; i < splitText.size ( ); ++i )
{
lowerString = toLower ( splitText[ i ] );
if ( !isStopWord ( lowerString ) )
{
( *docIndex )[ lowerString ].push_back ( offset );
++offset;
}
}
}
//
// Created by anvia on 1/31/2018.
//
#pragma once
#include <string>
#include <unordered_map>
......@@ -11,32 +9,15 @@ using namespace std;
class Tokenizer
{
public:
Tokenizer ( )
{
docIndex = new unordered_map< string, vector< int>>;
}
public:
Tokenizer ( );
unordered_map< string, vector< int>> *get ( ) const
{
return docIndex;
}
unordered_map< string, vector< int>> *get ( ) const;
void execute ( string originalText, int offset )
{
vector< string > splitText = splitStr ( originalText, ' ' );
string lowerString = "";
for ( int i = 0; i < splitText.size ( ); ++i )
{
lowerString = toLower ( splitText[ i ] );
if ( !isStopWord ( lowerString ) )
{
( *docIndex )[ lowerString ].push_back ( offset );
++offset;
}
}
}
void execute ( string originalText, int offset );
private:
unordered_map< string, vector< int>> *docIndex;
};
......@@ -99,6 +99,49 @@ string::iterator findNext (string needle, string::iterator haystackPointer )
return beginHaystack;
}
string::iterator findPrev ( string needle, string::iterator haystackPointer )
{
auto beginNeedle = needle.begin ( );
auto beginHaystack = haystackPointer;
while ( *beginHaystack != '\0' )
{
//keep looking for instance of a match
if ( *beginHaystack != *beginNeedle )
{
--beginHaystack;
}
else if ( *beginHaystack == *beginNeedle )
{
/* want to keep the original iterator where it is so it
can return the beginning of the matched word if found */
auto temp = beginHaystack;
while ( *temp == *beginNeedle )
{
--temp;
--beginNeedle;
//if it hits the end of the needleing, it signifies an exact match
if ( *beginNeedle == '\0' )
{
//this is pointing at the beginning of the match
return beginHaystack;
}
}
//need to reset because still has to search rest of the string for a match
beginNeedle = needle.begin ( );
//sets the original text pointer to where the last search left off
beginHaystack = temp;
}
else
{
//DO NOTHING
}
}
return beginHaystack;
}
vector< string > splitStr ( string originalText, char delim )
......
......@@ -16,12 +16,16 @@ using namespace std;
*/
static set< string > stopWords = { "a", "all", "an", "and", "any", "are", "as", "at", "be", "been", "but", "by", "few", "from",
"for", "have", "he", "her", "here", "him", "his", "how",
"i", "in", "is", "it", "its", "many ", "me", "my", "none", "of", "on", "or", "our", "she",
"some", "the", "their", "them", "there", "they", "that",
"this", "to", "us", "was", "what", "when", "where", "which", "who", "why", "will", "with",
"you", "your" };
static set< string > stopWords = { "a", "all", "an", "and", "any", "are", "as", "at", "be", "been", "but", "by", "few",
"from",
"for", "have", "he", "her", "here", "him", "his", "how",
"i", "in", "is", "it", "its", "many ", "me", "my", "none", "of", "on", "or", "our",
"she",
"some", "the", "their", "them", "there", "they", "that",
"this", "to", "us", "was", "what", "when", "where", "which", "who", "why", "will",
"with",
"you", "your" };
/**
* Finds the needle in the haystack
* returns position of first match
......@@ -29,7 +33,7 @@ using namespace std;
* @param needle
* @return string::iterator
*/
string::iterator findStr (string needle, string haystack );
string::iterator findStr ( string needle, string haystack );
/**
* Finds the next position of the needle in the string
......@@ -37,8 +41,15 @@ string::iterator findStr (string needle, string haystack );
* @param pointer
* @return string::iterator
*/
string::iterator findNext (string needle, string::iterator haystackPointer );
string::iterator findNext ( string needle, string::iterator haystackPointer );
/**
* Finds the previous position of the needle in the string
* @param needle
* @param haystackPointer
* @return
*/
string::iterator findPrev ( string needle, string::iterator haystackPointer );
/**
* Returns a vector of strings from @originalText, split by @delim
......@@ -47,12 +58,14 @@ string::iterator findNext (string needle, string::iterator haystackPointer );
* @return
*/
vector< string > splitStr ( string originalText, char delim );
/**
* Returns true if @word is a stopword
* @param word
* @return
*/
bool isStopWord ( string word );
/**
* Returns lowercase @word
* @param word
......@@ -66,5 +79,5 @@ string toLower ( string word );
* @param word
* @return
*/
string stemWord(string word);
string stemWord ( string word );
......@@ -18,6 +18,10 @@ void testToLower ( );
void testIsStopWord ( );
void testFindNext ( );
void testFindPrev ( );
int main ( )
{
......@@ -31,6 +35,8 @@ int main ( )
testSplitStr ( original );
testToLower ( );
testIsStopWord ( );
testFindNext ( );
testFindPrev ( );
cout << "\nTests passed for StringProcessing_unit :D" << endl;
......@@ -127,4 +133,48 @@ void testIsStopWord ( )
cout << "testIsStopWord passed" << endl;
}
void testFindNext ( )
{
cout << "Testing findNext..." << endl;
string racecar = "racecar";
string hello = "hello";
string blank = "";
assert ( *findNext ( "race", racecar.begin( ) ) == 'r' );
assert ( *findNext ( "race", racecar.begin( ) + 4 ) == '\0' );
assert ( *findNext ( "car", racecar.begin( ) + 4 ) == 'c' );
assert ( *findNext ( "hello", hello.begin( ) ) == 'h' );
assert ( *findNext ( "ello", hello.begin( ) ) == 'e' );
assert ( *findNext ( "ello", hello.begin( ) + 2 ) == 'e' );
assert ( *findNext ( "", blank.begin( ) ) == '\0' );
cout << "testFindNext passed" << endl;
}
void testFindPrev ( )
{
cout << "Testing findPrev..." << endl;
string racecar = "racecar";
string hello = "hello";
string blank = "";
assert ( *findNext ( "race", racecar.begin( ) ) == '\0' );
assert ( *findNext ( "race", racecar.begin( ) + 4 ) == 'r' );
assert ( *findNext ( "car", racecar.begin( ) + 4 ) == '\0' );
assert ( *findNext ( "car", racecar.begin( ) + 7 ) == 'c' );
assert ( *findNext ( "hello", hello.begin( ) ) == '\0' );
assert ( *findNext ( "ello", hello.begin( ) + 3 ) == '\0' );
assert ( *findNext ( "ello", hello.begin( ) + 5 ) == 'e' );
assert ( *findNext ( "", blank.begin( ) ) == '\0' );
cout << "testFindPrev passed" << endl;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment