forked from boostorg/regex
Initial commit of v4 of boost.regex on regex-4 branch
[SVN r18128]
This commit is contained in:
@@ -40,7 +40,7 @@ NULL=nul
|
||||
!ENDIF
|
||||
|
||||
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp
|
||||
|
||||
all : main_dir boost_regex_vc6-stlport_mss_dir ./vc6-stlport/boost_regex_vc6-stlport_mss.lib boost_regex_vc6-stlport_mssd_dir ./vc6-stlport/boost_regex_vc6-stlport_mssd.lib boost_regex_vc6-stlport_mdid_dir ./vc6-stlport/boost_regex_vc6-stlport_mdid.lib boost_regex_vc6-stlport_mdi_dir ./vc6-stlport/boost_regex_vc6-stlport_mdi.lib boost_regex_vc6-stlport_mds_dir ./vc6-stlport/boost_regex_vc6-stlport_mds.lib boost_regex_vc6-stlport_mdsd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdsd.lib boost_regex_vc6-stlport_mdidd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdidd.lib boost_regex_vc6-stlport_mssdd_dir ./vc6-stlport/boost_regex_vc6-stlport_mssdd.lib boost_regex_vc6-stlport_mdsdd_dir ./vc6-stlport/boost_regex_vc6-stlport_mdsdd.lib
|
||||
|
||||
@@ -574,4 +574,3 @@ boost_regex_vc6-stlport_mdsdd_clean :
|
||||
./vc6-stlport/boost_regex_vc6-stlport_mdsdd.lib : vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/winstances.obj
|
||||
link -lib /nologo /out:vc6-stlport/boost_regex_vc6-stlport_mdsdd.lib $(XSFLAGS) vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/c_regex_traits_common.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cpp_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/cregex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/fileiter.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/instances.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_debug.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/regex_synch.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/w32_regex_traits.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/wide_posix_api.obj vc6-stlport/boost_regex_vc6-stlport_mdsdd/winstances.obj
|
||||
|
||||
|
||||
|
||||
+1
-3
@@ -36,7 +36,7 @@ NULL=nul
|
||||
!ENDIF
|
||||
|
||||
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp
|
||||
|
||||
all : main_dir boost_regex_vc6_sss_dir ./vc6/boost_regex_vc6_sss.lib boost_regex_vc6_mss_dir ./vc6/boost_regex_vc6_mss.lib boost_regex_vc6_sssd_dir ./vc6/boost_regex_vc6_sssd.lib boost_regex_vc6_mssd_dir ./vc6/boost_regex_vc6_mssd.lib boost_regex_vc6_mdid_dir ./vc6/boost_regex_vc6_mdid.lib boost_regex_vc6_mdi_dir ./vc6/boost_regex_vc6_mdi.lib boost_regex_vc6_mds_dir ./vc6/boost_regex_vc6_mds.lib boost_regex_vc6_mdsd_dir ./vc6/boost_regex_vc6_mdsd.lib
|
||||
|
||||
@@ -510,5 +510,3 @@ boost_regex_vc6_mdsd_clean :
|
||||
./vc6/boost_regex_vc6_mdsd.lib : vc6/boost_regex_vc6_mdsd/c_regex_traits.obj vc6/boost_regex_vc6_mdsd/c_regex_traits_common.obj vc6/boost_regex_vc6_mdsd/cpp_regex_traits.obj vc6/boost_regex_vc6_mdsd/cregex.obj vc6/boost_regex_vc6_mdsd/fileiter.obj vc6/boost_regex_vc6_mdsd/instances.obj vc6/boost_regex_vc6_mdsd/posix_api.obj vc6/boost_regex_vc6_mdsd/regex.obj vc6/boost_regex_vc6_mdsd/regex_debug.obj vc6/boost_regex_vc6_mdsd/regex_synch.obj vc6/boost_regex_vc6_mdsd/w32_regex_traits.obj vc6/boost_regex_vc6_mdsd/wide_posix_api.obj vc6/boost_regex_vc6_mdsd/winstances.obj
|
||||
link -lib /nologo /out:vc6/boost_regex_vc6_mdsd.lib $(XSFLAGS) vc6/boost_regex_vc6_mdsd/c_regex_traits.obj vc6/boost_regex_vc6_mdsd/c_regex_traits_common.obj vc6/boost_regex_vc6_mdsd/cpp_regex_traits.obj vc6/boost_regex_vc6_mdsd/cregex.obj vc6/boost_regex_vc6_mdsd/fileiter.obj vc6/boost_regex_vc6_mdsd/instances.obj vc6/boost_regex_vc6_mdsd/posix_api.obj vc6/boost_regex_vc6_mdsd/regex.obj vc6/boost_regex_vc6_mdsd/regex_debug.obj vc6/boost_regex_vc6_mdsd/regex_synch.obj vc6/boost_regex_vc6_mdsd/w32_regex_traits.obj vc6/boost_regex_vc6_mdsd/wide_posix_api.obj vc6/boost_regex_vc6_mdsd/winstances.obj
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,576 @@
|
||||
#
|
||||
# auto generated makefile for VC6+STLPort
|
||||
#
|
||||
# usage:
|
||||
# make
|
||||
# brings libraries up to date
|
||||
# make install
|
||||
# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
|
||||
#
|
||||
|
||||
#
|
||||
# Add additional compiler options here:
|
||||
#
|
||||
CXXFLAGS=
|
||||
#
|
||||
# Add additional include directories here:
|
||||
#
|
||||
INCLUDES=
|
||||
#
|
||||
# add additional linker flags here:
|
||||
#
|
||||
XLFLAGS=
|
||||
#
|
||||
# add additional static-library creation flags here:
|
||||
#
|
||||
XSFLAGS=
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(MSVCDIR)" == ""
|
||||
!ERROR Variable MSVCDIR not set.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(STLPORT_PATH)" == ""
|
||||
!ERROR Variable STLPORT_PATH not set.
|
||||
!ENDIF
|
||||
|
||||
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp
|
||||
|
||||
all : main_dir boost_regex_vc7-stlport_mss_dir ./vc7-stlport/boost_regex_vc7-stlport_mss.lib boost_regex_vc7-stlport_mssd_dir ./vc7-stlport/boost_regex_vc7-stlport_mssd.lib boost_regex_vc7-stlport_mdid_dir ./vc7-stlport/boost_regex_vc7-stlport_mdid.lib boost_regex_vc7-stlport_mdi_dir ./vc7-stlport/boost_regex_vc7-stlport_mdi.lib boost_regex_vc7-stlport_mds_dir ./vc7-stlport/boost_regex_vc7-stlport_mds.lib boost_regex_vc7-stlport_mdsd_dir ./vc7-stlport/boost_regex_vc7-stlport_mdsd.lib boost_regex_vc7-stlport_mdidd_dir ./vc7-stlport/boost_regex_vc7-stlport_mdidd.lib boost_regex_vc7-stlport_mssdd_dir ./vc7-stlport/boost_regex_vc7-stlport_mssdd.lib boost_regex_vc7-stlport_mdsdd_dir ./vc7-stlport/boost_regex_vc7-stlport_mdsdd.lib
|
||||
|
||||
clean : boost_regex_vc7-stlport_mss_clean boost_regex_vc7-stlport_mssd_clean boost_regex_vc7-stlport_mdid_clean boost_regex_vc7-stlport_mdi_clean boost_regex_vc7-stlport_mds_clean boost_regex_vc7-stlport_mdsd_clean boost_regex_vc7-stlport_mdidd_clean boost_regex_vc7-stlport_mssdd_clean boost_regex_vc7-stlport_mdsdd_clean
|
||||
|
||||
install : stlport_check all
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mss.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mssd.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdid.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdid.dll "$(MSVCDIR)\bin"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdi.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdi.dll "$(MSVCDIR)\bin"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mds.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdsd.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdidd.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdidd.dll "$(MSVCDIR)\bin"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdidd.pdb "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mssdd.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mssdd.pdb "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdsdd.lib "$(MSVCDIR)\lib"
|
||||
copy vc7-stlport\boost_regex_vc7-stlport_mdsdd.pdb "$(MSVCDIR)\lib"
|
||||
|
||||
main_dir :
|
||||
@if not exist "vc7-stlport\$(NULL)" mkdir vc7-stlport
|
||||
|
||||
stlport_check : $(STLPORT_PATH)\stlport\string
|
||||
echo
|
||||
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mss.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mss/boost_regex_vc7-stlport_mss.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mss/ -Fdvc7-stlport/boost_regex_vc7-stlport_mss.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mss_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mss\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mss
|
||||
|
||||
boost_regex_vc7-stlport_mss_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mss\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mss\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mss\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mss\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mss.lib : vc7-stlport/boost_regex_vc7-stlport_mss/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mss/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mss/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mss/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mss/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mss/instances.obj vc7-stlport/boost_regex_vc7-stlport_mss/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mss/regex.obj vc7-stlport/boost_regex_vc7-stlport_mss/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mss/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mss/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mss/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mss/winstances.obj
|
||||
link -lib /nologo /out:vc7-stlport/boost_regex_vc7-stlport_mss.lib $(XSFLAGS) vc7-stlport/boost_regex_vc7-stlport_mss/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mss/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mss/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mss/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mss/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mss/instances.obj vc7-stlport/boost_regex_vc7-stlport_mss/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mss/regex.obj vc7-stlport/boost_regex_vc7-stlport_mss/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mss/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mss/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mss/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mss/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mssd.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssd/boost_regex_vc7-stlport_mssd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mssd_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mssd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mssd
|
||||
|
||||
boost_regex_vc7-stlport_mssd_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssd\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssd\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssd\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssd\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mssd.lib : vc7-stlport/boost_regex_vc7-stlport_mssd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mssd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mssd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mssd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mssd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mssd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mssd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mssd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssd/winstances.obj
|
||||
link -lib /nologo /out:vc7-stlport/boost_regex_vc7-stlport_mssd.lib $(XSFLAGS) vc7-stlport/boost_regex_vc7-stlport_mssd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mssd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mssd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mssd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mssd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mssd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mssd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mssd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mdid.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdid/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdid/boost_regex_vc7-stlport_mdid.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdid/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdid.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mdid_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mdid\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mdid
|
||||
|
||||
boost_regex_vc7-stlport_mdid_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdid\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdid\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdid\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdid\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mdid.lib : vc7-stlport/boost_regex_vc7-stlport_mdid/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdid/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdid/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdid/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdid/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdid/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdid/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdid/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdid/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdid/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdid/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdid/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdid/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex_vc7-stlport_mdid.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex_vc7-stlport_mdid.dll" /implib:"vc7-stlport/boost_regex_vc7-stlport_mdid.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex_vc7-stlport_mdid/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdid/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdid/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdid/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdid/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdid/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdid/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdid/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdid/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdid/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdid/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdid/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdid/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mdi.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdi/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdi/boost_regex_vc7-stlport_mdi.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdi/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdi.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mdi_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mdi\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mdi
|
||||
|
||||
boost_regex_vc7-stlport_mdi_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdi\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdi\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdi\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdi\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mdi.lib : vc7-stlport/boost_regex_vc7-stlport_mdi/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdi/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdi/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdi/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdi/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdi/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdi/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdi/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdi/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdi/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdi/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdi/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdi/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex_vc7-stlport_mdi.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex_vc7-stlport_mdi.dll" /implib:"vc7-stlport/boost_regex_vc7-stlport_mdi.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex_vc7-stlport_mdi/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdi/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdi/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdi/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdi/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdi/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdi/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdi/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdi/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdi/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdi/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdi/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdi/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mds.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mds/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mds/boost_regex_vc7-stlport_mds.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mds/ -Fdvc7-stlport/boost_regex_vc7-stlport_mds.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mds_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mds\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mds
|
||||
|
||||
boost_regex_vc7-stlport_mds_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mds\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mds\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mds\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mds\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mds.lib : vc7-stlport/boost_regex_vc7-stlport_mds/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mds/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mds/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mds/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mds/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mds/instances.obj vc7-stlport/boost_regex_vc7-stlport_mds/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mds/regex.obj vc7-stlport/boost_regex_vc7-stlport_mds/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mds/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mds/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mds/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mds/winstances.obj
|
||||
link -lib /nologo /out:vc7-stlport/boost_regex_vc7-stlport_mds.lib $(XSFLAGS) vc7-stlport/boost_regex_vc7-stlport_mds/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mds/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mds/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mds/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mds/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mds/instances.obj vc7-stlport/boost_regex_vc7-stlport_mds/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mds/regex.obj vc7-stlport/boost_regex_vc7-stlport_mds/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mds/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mds/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mds/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mds/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mdsd.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsd/boost_regex_vc7-stlport_mdsd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mdsd_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mdsd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mdsd
|
||||
|
||||
boost_regex_vc7-stlport_mdsd_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsd\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsd\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsd\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsd\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mdsd.lib : vc7-stlport/boost_regex_vc7-stlport_mdsd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/winstances.obj
|
||||
link -lib /nologo /out:vc7-stlport/boost_regex_vc7-stlport_mdsd.lib $(XSFLAGS) vc7-stlport/boost_regex_vc7-stlport_mdsd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mdidd.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdidd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdidd/boost_regex_vc7-stlport_mdidd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdidd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdidd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mdidd_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mdidd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mdidd
|
||||
|
||||
boost_regex_vc7-stlport_mdidd_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdidd\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdidd\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdidd\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdidd\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mdidd.lib : vc7-stlport/boost_regex_vc7-stlport_mdidd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/boost_regex_vc7-stlport_mdidd.pdb" /debug /machine:I386 /out:"vc7-stlport/boost_regex_vc7-stlport_mdidd.dll" /implib:"vc7-stlport/boost_regex_vc7-stlport_mdidd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/boost_regex_vc7-stlport_mdidd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdidd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mssdd.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mssdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mssdd/boost_regex_vc7-stlport_mssdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mssdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mssdd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mssdd_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mssdd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mssdd
|
||||
|
||||
boost_regex_vc7-stlport_mssdd_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssdd\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssdd\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssdd\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mssdd\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mssdd.lib : vc7-stlport/boost_regex_vc7-stlport_mssdd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/winstances.obj
|
||||
link -lib /nologo /out:vc7-stlport/boost_regex_vc7-stlport_mssdd.lib $(XSFLAGS) vc7-stlport/boost_regex_vc7-stlport_mssdd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mssdd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc7-stlport_mdsdd.lib
|
||||
#
|
||||
########################################################
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/cregex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/instances.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/regex.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc7-stlport/boost_regex_vc7-stlport_mdsdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc7-stlport/boost_regex_vc7-stlport_mdsdd/boost_regex_vc7-stlport_mdsdd.pch -Fo./vc7-stlport/boost_regex_vc7-stlport_mdsdd/ -Fdvc7-stlport/boost_regex_vc7-stlport_mdsdd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc7-stlport_mdsdd_dir :
|
||||
@if not exist "vc7-stlport\boost_regex_vc7-stlport_mdsdd\$(NULL)" mkdir vc7-stlport\boost_regex_vc7-stlport_mdsdd
|
||||
|
||||
boost_regex_vc7-stlport_mdsdd_clean :
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsdd\*.obj
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsdd\*.idb
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsdd\*.exp
|
||||
del vc7-stlport\boost_regex_vc7-stlport_mdsdd\*.pch
|
||||
|
||||
./vc7-stlport/boost_regex_vc7-stlport_mdsdd.lib : vc7-stlport/boost_regex_vc7-stlport_mdsdd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/winstances.obj
|
||||
link -lib /nologo /out:vc7-stlport/boost_regex_vc7-stlport_mdsdd.lib $(XSFLAGS) vc7-stlport/boost_regex_vc7-stlport_mdsdd/c_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/c_regex_traits_common.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/cpp_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/cregex.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/fileiter.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/instances.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex_debug.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/regex_synch.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/w32_regex_traits.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/wide_posix_api.obj vc7-stlport/boost_regex_vc7-stlport_mdsdd/winstances.obj
|
||||
|
||||
+1
-2
@@ -36,7 +36,7 @@ NULL=nul
|
||||
!ENDIF
|
||||
|
||||
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp
|
||||
|
||||
all : main_dir boost_regex_vc7_sss_dir ./vc7/boost_regex_vc7_sss.lib boost_regex_vc7_mss_dir ./vc7/boost_regex_vc7_mss.lib boost_regex_vc7_sssd_dir ./vc7/boost_regex_vc7_sssd.lib boost_regex_vc7_mssd_dir ./vc7/boost_regex_vc7_mssd.lib boost_regex_vc7_mdid_dir ./vc7/boost_regex_vc7_mdid.lib boost_regex_vc7_mdi_dir ./vc7/boost_regex_vc7_mdi.lib boost_regex_vc7_mds_dir ./vc7/boost_regex_vc7_mds.lib boost_regex_vc7_mdsd_dir ./vc7/boost_regex_vc7_mdsd.lib
|
||||
|
||||
@@ -510,4 +510,3 @@ boost_regex_vc7_mdsd_clean :
|
||||
./vc7/boost_regex_vc7_mdsd.lib : vc7/boost_regex_vc7_mdsd/c_regex_traits.obj vc7/boost_regex_vc7_mdsd/c_regex_traits_common.obj vc7/boost_regex_vc7_mdsd/cpp_regex_traits.obj vc7/boost_regex_vc7_mdsd/cregex.obj vc7/boost_regex_vc7_mdsd/fileiter.obj vc7/boost_regex_vc7_mdsd/instances.obj vc7/boost_regex_vc7_mdsd/posix_api.obj vc7/boost_regex_vc7_mdsd/regex.obj vc7/boost_regex_vc7_mdsd/regex_debug.obj vc7/boost_regex_vc7_mdsd/regex_synch.obj vc7/boost_regex_vc7_mdsd/w32_regex_traits.obj vc7/boost_regex_vc7_mdsd/wide_posix_api.obj vc7/boost_regex_vc7_mdsd/winstances.obj
|
||||
link -lib /nologo /out:vc7/boost_regex_vc7_mdsd.lib $(XSFLAGS) vc7/boost_regex_vc7_mdsd/c_regex_traits.obj vc7/boost_regex_vc7_mdsd/c_regex_traits_common.obj vc7/boost_regex_vc7_mdsd/cpp_regex_traits.obj vc7/boost_regex_vc7_mdsd/cregex.obj vc7/boost_regex_vc7_mdsd/fileiter.obj vc7/boost_regex_vc7_mdsd/instances.obj vc7/boost_regex_vc7_mdsd/posix_api.obj vc7/boost_regex_vc7_mdsd/regex.obj vc7/boost_regex_vc7_mdsd/regex_debug.obj vc7/boost_regex_vc7_mdsd/regex_synch.obj vc7/boost_regex_vc7_mdsd/w32_regex_traits.obj vc7/boost_regex_vc7_mdsd/wide_posix_api.obj vc7/boost_regex_vc7_mdsd/winstances.obj
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,576 @@
|
||||
#
|
||||
# auto generated makefile for VC6+STLPort
|
||||
#
|
||||
# usage:
|
||||
# make
|
||||
# brings libraries up to date
|
||||
# make install
|
||||
# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
|
||||
#
|
||||
|
||||
#
|
||||
# Add additional compiler options here:
|
||||
#
|
||||
CXXFLAGS=
|
||||
#
|
||||
# Add additional include directories here:
|
||||
#
|
||||
INCLUDES=
|
||||
#
|
||||
# add additional linker flags here:
|
||||
#
|
||||
XLFLAGS=
|
||||
#
|
||||
# add additional static-library creation flags here:
|
||||
#
|
||||
XSFLAGS=
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(MSVCDIR)" == ""
|
||||
!ERROR Variable MSVCDIR not set.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(STLPORT_PATH)" == ""
|
||||
!ERROR Variable STLPORT_PATH not set.
|
||||
!ENDIF
|
||||
|
||||
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp
|
||||
|
||||
all : main_dir boost_regex_vc71-stlport_mss_dir ./vc71-stlport/boost_regex_vc71-stlport_mss.lib boost_regex_vc71-stlport_mssd_dir ./vc71-stlport/boost_regex_vc71-stlport_mssd.lib boost_regex_vc71-stlport_mdid_dir ./vc71-stlport/boost_regex_vc71-stlport_mdid.lib boost_regex_vc71-stlport_mdi_dir ./vc71-stlport/boost_regex_vc71-stlport_mdi.lib boost_regex_vc71-stlport_mds_dir ./vc71-stlport/boost_regex_vc71-stlport_mds.lib boost_regex_vc71-stlport_mdsd_dir ./vc71-stlport/boost_regex_vc71-stlport_mdsd.lib boost_regex_vc71-stlport_mdidd_dir ./vc71-stlport/boost_regex_vc71-stlport_mdidd.lib boost_regex_vc71-stlport_mssdd_dir ./vc71-stlport/boost_regex_vc71-stlport_mssdd.lib boost_regex_vc71-stlport_mdsdd_dir ./vc71-stlport/boost_regex_vc71-stlport_mdsdd.lib
|
||||
|
||||
clean : boost_regex_vc71-stlport_mss_clean boost_regex_vc71-stlport_mssd_clean boost_regex_vc71-stlport_mdid_clean boost_regex_vc71-stlport_mdi_clean boost_regex_vc71-stlport_mds_clean boost_regex_vc71-stlport_mdsd_clean boost_regex_vc71-stlport_mdidd_clean boost_regex_vc71-stlport_mssdd_clean boost_regex_vc71-stlport_mdsdd_clean
|
||||
|
||||
install : stlport_check all
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mss.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mssd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdid.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdid.dll "$(MSVCDIR)\bin"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdi.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdi.dll "$(MSVCDIR)\bin"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mds.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdsd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdidd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdidd.dll "$(MSVCDIR)\bin"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdidd.pdb "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mssdd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mssdd.pdb "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdsdd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71-stlport\boost_regex_vc71-stlport_mdsdd.pdb "$(MSVCDIR)\lib"
|
||||
|
||||
main_dir :
|
||||
@if not exist "vc71-stlport\$(NULL)" mkdir vc71-stlport
|
||||
|
||||
stlport_check : $(STLPORT_PATH)\stlport\string
|
||||
echo
|
||||
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mss.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mss/boost_regex_vc71-stlport_mss.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mss/ -Fdvc71-stlport/boost_regex_vc71-stlport_mss.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mss_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mss\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mss
|
||||
|
||||
boost_regex_vc71-stlport_mss_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mss\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mss\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mss\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mss\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mss.lib : vc71-stlport/boost_regex_vc71-stlport_mss/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mss/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mss/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mss/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mss/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mss/instances.obj vc71-stlport/boost_regex_vc71-stlport_mss/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mss/regex.obj vc71-stlport/boost_regex_vc71-stlport_mss/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mss/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mss/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mss/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mss/winstances.obj
|
||||
link -lib /nologo /out:vc71-stlport/boost_regex_vc71-stlport_mss.lib $(XSFLAGS) vc71-stlport/boost_regex_vc71-stlport_mss/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mss/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mss/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mss/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mss/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mss/instances.obj vc71-stlport/boost_regex_vc71-stlport_mss/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mss/regex.obj vc71-stlport/boost_regex_vc71-stlport_mss/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mss/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mss/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mss/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mss/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mssd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssd/boost_regex_vc71-stlport_mssd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mssd_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mssd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mssd
|
||||
|
||||
boost_regex_vc71-stlport_mssd_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssd\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssd\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssd\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssd\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mssd.lib : vc71-stlport/boost_regex_vc71-stlport_mssd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mssd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mssd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mssd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mssd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mssd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mssd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mssd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssd/winstances.obj
|
||||
link -lib /nologo /out:vc71-stlport/boost_regex_vc71-stlport_mssd.lib $(XSFLAGS) vc71-stlport/boost_regex_vc71-stlport_mssd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mssd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mssd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mssd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mssd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mssd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mssd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mssd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mdid.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdid/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdid/boost_regex_vc71-stlport_mdid.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdid/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdid.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mdid_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mdid\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mdid
|
||||
|
||||
boost_regex_vc71-stlport_mdid_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdid\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdid\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdid\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdid\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mdid.lib : vc71-stlport/boost_regex_vc71-stlport_mdid/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdid/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdid/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdid/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdid/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdid/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdid/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdid/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdid/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdid/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdid/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdid/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdid/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex_vc71-stlport_mdid.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex_vc71-stlport_mdid.dll" /implib:"vc71-stlport/boost_regex_vc71-stlport_mdid.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex_vc71-stlport_mdid/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdid/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdid/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdid/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdid/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdid/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdid/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdid/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdid/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdid/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdid/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdid/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdid/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mdi.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdi/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdi/boost_regex_vc71-stlport_mdi.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdi/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdi.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mdi_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mdi\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mdi
|
||||
|
||||
boost_regex_vc71-stlport_mdi_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdi\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdi\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdi\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdi\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mdi.lib : vc71-stlport/boost_regex_vc71-stlport_mdi/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdi/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdi/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdi/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdi/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdi/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdi/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdi/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdi/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdi/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdi/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdi/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdi/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex_vc71-stlport_mdi.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex_vc71-stlport_mdi.dll" /implib:"vc71-stlport/boost_regex_vc71-stlport_mdi.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex_vc71-stlport_mdi/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdi/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdi/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdi/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdi/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdi/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdi/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdi/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdi/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdi/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdi/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdi/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdi/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mds.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mds/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mds/boost_regex_vc71-stlport_mds.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mds/ -Fdvc71-stlport/boost_regex_vc71-stlport_mds.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mds_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mds\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mds
|
||||
|
||||
boost_regex_vc71-stlport_mds_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mds\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mds\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mds\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mds\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mds.lib : vc71-stlport/boost_regex_vc71-stlport_mds/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mds/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mds/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mds/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mds/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mds/instances.obj vc71-stlport/boost_regex_vc71-stlport_mds/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mds/regex.obj vc71-stlport/boost_regex_vc71-stlport_mds/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mds/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mds/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mds/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mds/winstances.obj
|
||||
link -lib /nologo /out:vc71-stlport/boost_regex_vc71-stlport_mds.lib $(XSFLAGS) vc71-stlport/boost_regex_vc71-stlport_mds/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mds/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mds/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mds/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mds/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mds/instances.obj vc71-stlport/boost_regex_vc71-stlport_mds/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mds/regex.obj vc71-stlport/boost_regex_vc71-stlport_mds/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mds/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mds/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mds/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mds/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mdsd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsd/boost_regex_vc71-stlport_mdsd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mdsd_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mdsd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mdsd
|
||||
|
||||
boost_regex_vc71-stlport_mdsd_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsd\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsd\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsd\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsd\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mdsd.lib : vc71-stlport/boost_regex_vc71-stlport_mdsd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/winstances.obj
|
||||
link -lib /nologo /out:vc71-stlport/boost_regex_vc71-stlport_mdsd.lib $(XSFLAGS) vc71-stlport/boost_regex_vc71-stlport_mdsd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mdidd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdidd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdidd/boost_regex_vc71-stlport_mdidd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdidd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdidd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mdidd_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mdidd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mdidd
|
||||
|
||||
boost_regex_vc71-stlport_mdidd_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdidd\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdidd\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdidd\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdidd\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mdidd.lib : vc71-stlport/boost_regex_vc71-stlport_mdidd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/boost_regex_vc71-stlport_mdidd.pdb" /debug /machine:I386 /out:"vc71-stlport/boost_regex_vc71-stlport_mdidd.dll" /implib:"vc71-stlport/boost_regex_vc71-stlport_mdidd.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/boost_regex_vc71-stlport_mdidd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdidd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mssdd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mssdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mssdd/boost_regex_vc71-stlport_mssdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mssdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mssdd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mssdd_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mssdd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mssdd
|
||||
|
||||
boost_regex_vc71-stlport_mssdd_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssdd\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssdd\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssdd\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mssdd\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mssdd.lib : vc71-stlport/boost_regex_vc71-stlport_mssdd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/winstances.obj
|
||||
link -lib /nologo /out:vc71-stlport/boost_regex_vc71-stlport_mssdd.lib $(XSFLAGS) vc71-stlport/boost_regex_vc71-stlport_mssdd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mssdd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71-stlport_mdsdd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/instances.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/regex.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71-stlport/boost_regex_vc71-stlport_mdsdd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I../../../ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GZ /c $(CXXFLAGS) -Fpvc71-stlport/boost_regex_vc71-stlport_mdsdd/boost_regex_vc71-stlport_mdsdd.pch -Fo./vc71-stlport/boost_regex_vc71-stlport_mdsdd/ -Fdvc71-stlport/boost_regex_vc71-stlport_mdsdd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71-stlport_mdsdd_dir :
|
||||
@if not exist "vc71-stlport\boost_regex_vc71-stlport_mdsdd\$(NULL)" mkdir vc71-stlport\boost_regex_vc71-stlport_mdsdd
|
||||
|
||||
boost_regex_vc71-stlport_mdsdd_clean :
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsdd\*.obj
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsdd\*.idb
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsdd\*.exp
|
||||
del vc71-stlport\boost_regex_vc71-stlport_mdsdd\*.pch
|
||||
|
||||
./vc71-stlport/boost_regex_vc71-stlport_mdsdd.lib : vc71-stlport/boost_regex_vc71-stlport_mdsdd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/winstances.obj
|
||||
link -lib /nologo /out:vc71-stlport/boost_regex_vc71-stlport_mdsdd.lib $(XSFLAGS) vc71-stlport/boost_regex_vc71-stlport_mdsdd/c_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/c_regex_traits_common.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/cpp_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/cregex.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/fileiter.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/instances.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex_debug.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/regex_synch.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/w32_regex_traits.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/wide_posix_api.obj vc71-stlport/boost_regex_vc71-stlport_mdsdd/winstances.obj
|
||||
|
||||
+512
@@ -0,0 +1,512 @@
|
||||
#
|
||||
# auto generated makefile for VC6 compiler
|
||||
#
|
||||
# usage:
|
||||
# make
|
||||
# brings libraries up to date
|
||||
# make install
|
||||
# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
|
||||
#
|
||||
|
||||
#
|
||||
# Add additional compiler options here:
|
||||
#
|
||||
CXXFLAGS=
|
||||
#
|
||||
# Add additional include directories here:
|
||||
#
|
||||
INCLUDES=
|
||||
#
|
||||
# add additional linker flags here:
|
||||
#
|
||||
XLFLAGS=
|
||||
#
|
||||
# add additional static-library creation flags here:
|
||||
#
|
||||
XSFLAGS=
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(MSVCDIR)" == ""
|
||||
!ERROR Variable MSVCDIR not set.
|
||||
!ENDIF
|
||||
|
||||
|
||||
ALL_HEADER= ../../../boost/regex/config.hpp ../../../boost/regex/pattern_except.hpp ../../../boost/regex/regex_traits.hpp ../../../boost/regex/user.hpp ../../../boost/regex/v3/cregex.hpp ../../../boost/regex/v3/fileiter.hpp ../../../boost/regex/v3/instances.hpp ../../../boost/regex/v3/regex.hpp ../../../boost/regex/v3/regex_compile.hpp ../../../boost/regex/v3/regex_cstring.hpp ../../../boost/regex/v3/regex_format.hpp ../../../boost/regex/v3/regex_fwd.hpp ../../../boost/regex/v3/regex_kmp.hpp ../../../boost/regex/v3/regex_library_include.hpp ../../../boost/regex/v3/regex_match.hpp ../../../boost/regex/v3/regex_raw_buffer.hpp ../../../boost/regex/v3/regex_split.hpp ../../../boost/regex/v3/regex_stack.hpp ../../../boost/regex/v3/regex_synch.hpp ../../../boost/regex/v3/regex_traits.hpp
|
||||
|
||||
all : main_dir boost_regex_vc71_sss_dir ./vc71/boost_regex_vc71_sss.lib boost_regex_vc71_mss_dir ./vc71/boost_regex_vc71_mss.lib boost_regex_vc71_sssd_dir ./vc71/boost_regex_vc71_sssd.lib boost_regex_vc71_mssd_dir ./vc71/boost_regex_vc71_mssd.lib boost_regex_vc71_mdid_dir ./vc71/boost_regex_vc71_mdid.lib boost_regex_vc71_mdi_dir ./vc71/boost_regex_vc71_mdi.lib boost_regex_vc71_mds_dir ./vc71/boost_regex_vc71_mds.lib boost_regex_vc71_mdsd_dir ./vc71/boost_regex_vc71_mdsd.lib
|
||||
|
||||
clean : boost_regex_vc71_sss_clean boost_regex_vc71_mss_clean boost_regex_vc71_sssd_clean boost_regex_vc71_mssd_clean boost_regex_vc71_mdid_clean boost_regex_vc71_mdi_clean boost_regex_vc71_mds_clean boost_regex_vc71_mdsd_clean
|
||||
|
||||
install : all
|
||||
copy vc71\boost_regex_vc71_sss.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mss.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_sssd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_sssd.pdb "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mssd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mssd.pdb "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mdid.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mdid.dll "$(MSVCDIR)\bin"
|
||||
copy vc71\boost_regex_vc71_mdid.pdb "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mdi.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mdi.dll "$(MSVCDIR)\bin"
|
||||
copy vc71\boost_regex_vc71_mds.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mdsd.lib "$(MSVCDIR)\lib"
|
||||
copy vc71\boost_regex_vc71_mdsd.pdb "$(MSVCDIR)\lib"
|
||||
|
||||
main_dir :
|
||||
@if not exist "vc71\$(NULL)" mkdir vc71
|
||||
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_sss.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_sss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sss/boost_regex_vc71_sss.pch -Fo./vc71/boost_regex_vc71_sss/ -Fdvc71/boost_regex_vc71_sss.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_sss_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_sss\$(NULL)" mkdir vc71\boost_regex_vc71_sss
|
||||
|
||||
boost_regex_vc71_sss_clean :
|
||||
del vc71\boost_regex_vc71_sss\*.obj
|
||||
del vc71\boost_regex_vc71_sss\*.idb
|
||||
del vc71\boost_regex_vc71_sss\*.exp
|
||||
del vc71\boost_regex_vc71_sss\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_sss.lib : vc71/boost_regex_vc71_sss/c_regex_traits.obj vc71/boost_regex_vc71_sss/c_regex_traits_common.obj vc71/boost_regex_vc71_sss/cpp_regex_traits.obj vc71/boost_regex_vc71_sss/cregex.obj vc71/boost_regex_vc71_sss/fileiter.obj vc71/boost_regex_vc71_sss/instances.obj vc71/boost_regex_vc71_sss/posix_api.obj vc71/boost_regex_vc71_sss/regex.obj vc71/boost_regex_vc71_sss/regex_debug.obj vc71/boost_regex_vc71_sss/regex_synch.obj vc71/boost_regex_vc71_sss/w32_regex_traits.obj vc71/boost_regex_vc71_sss/wide_posix_api.obj vc71/boost_regex_vc71_sss/winstances.obj
|
||||
link -lib /nologo /out:vc71/boost_regex_vc71_sss.lib $(XSFLAGS) vc71/boost_regex_vc71_sss/c_regex_traits.obj vc71/boost_regex_vc71_sss/c_regex_traits_common.obj vc71/boost_regex_vc71_sss/cpp_regex_traits.obj vc71/boost_regex_vc71_sss/cregex.obj vc71/boost_regex_vc71_sss/fileiter.obj vc71/boost_regex_vc71_sss/instances.obj vc71/boost_regex_vc71_sss/posix_api.obj vc71/boost_regex_vc71_sss/regex.obj vc71/boost_regex_vc71_sss/regex_debug.obj vc71/boost_regex_vc71_sss/regex_synch.obj vc71/boost_regex_vc71_sss/w32_regex_traits.obj vc71/boost_regex_vc71_sss/wide_posix_api.obj vc71/boost_regex_vc71_sss/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_mss.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_mss/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mss/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mss/boost_regex_vc71_mss.pch -Fo./vc71/boost_regex_vc71_mss/ -Fdvc71/boost_regex_vc71_mss.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_mss_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_mss\$(NULL)" mkdir vc71\boost_regex_vc71_mss
|
||||
|
||||
boost_regex_vc71_mss_clean :
|
||||
del vc71\boost_regex_vc71_mss\*.obj
|
||||
del vc71\boost_regex_vc71_mss\*.idb
|
||||
del vc71\boost_regex_vc71_mss\*.exp
|
||||
del vc71\boost_regex_vc71_mss\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_mss.lib : vc71/boost_regex_vc71_mss/c_regex_traits.obj vc71/boost_regex_vc71_mss/c_regex_traits_common.obj vc71/boost_regex_vc71_mss/cpp_regex_traits.obj vc71/boost_regex_vc71_mss/cregex.obj vc71/boost_regex_vc71_mss/fileiter.obj vc71/boost_regex_vc71_mss/instances.obj vc71/boost_regex_vc71_mss/posix_api.obj vc71/boost_regex_vc71_mss/regex.obj vc71/boost_regex_vc71_mss/regex_debug.obj vc71/boost_regex_vc71_mss/regex_synch.obj vc71/boost_regex_vc71_mss/w32_regex_traits.obj vc71/boost_regex_vc71_mss/wide_posix_api.obj vc71/boost_regex_vc71_mss/winstances.obj
|
||||
link -lib /nologo /out:vc71/boost_regex_vc71_mss.lib $(XSFLAGS) vc71/boost_regex_vc71_mss/c_regex_traits.obj vc71/boost_regex_vc71_mss/c_regex_traits_common.obj vc71/boost_regex_vc71_mss/cpp_regex_traits.obj vc71/boost_regex_vc71_mss/cregex.obj vc71/boost_regex_vc71_mss/fileiter.obj vc71/boost_regex_vc71_mss/instances.obj vc71/boost_regex_vc71_mss/posix_api.obj vc71/boost_regex_vc71_mss/regex.obj vc71/boost_regex_vc71_mss/regex_debug.obj vc71/boost_regex_vc71_mss/regex_synch.obj vc71/boost_regex_vc71_mss/w32_regex_traits.obj vc71/boost_regex_vc71_mss/wide_posix_api.obj vc71/boost_regex_vc71_mss/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_sssd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_sssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_sssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_sssd/boost_regex_vc71_sssd.pch -Fo./vc71/boost_regex_vc71_sssd/ -Fdvc71/boost_regex_vc71_sssd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_sssd_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_sssd\$(NULL)" mkdir vc71\boost_regex_vc71_sssd
|
||||
|
||||
boost_regex_vc71_sssd_clean :
|
||||
del vc71\boost_regex_vc71_sssd\*.obj
|
||||
del vc71\boost_regex_vc71_sssd\*.idb
|
||||
del vc71\boost_regex_vc71_sssd\*.exp
|
||||
del vc71\boost_regex_vc71_sssd\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_sssd.lib : vc71/boost_regex_vc71_sssd/c_regex_traits.obj vc71/boost_regex_vc71_sssd/c_regex_traits_common.obj vc71/boost_regex_vc71_sssd/cpp_regex_traits.obj vc71/boost_regex_vc71_sssd/cregex.obj vc71/boost_regex_vc71_sssd/fileiter.obj vc71/boost_regex_vc71_sssd/instances.obj vc71/boost_regex_vc71_sssd/posix_api.obj vc71/boost_regex_vc71_sssd/regex.obj vc71/boost_regex_vc71_sssd/regex_debug.obj vc71/boost_regex_vc71_sssd/regex_synch.obj vc71/boost_regex_vc71_sssd/w32_regex_traits.obj vc71/boost_regex_vc71_sssd/wide_posix_api.obj vc71/boost_regex_vc71_sssd/winstances.obj
|
||||
link -lib /nologo /out:vc71/boost_regex_vc71_sssd.lib $(XSFLAGS) vc71/boost_regex_vc71_sssd/c_regex_traits.obj vc71/boost_regex_vc71_sssd/c_regex_traits_common.obj vc71/boost_regex_vc71_sssd/cpp_regex_traits.obj vc71/boost_regex_vc71_sssd/cregex.obj vc71/boost_regex_vc71_sssd/fileiter.obj vc71/boost_regex_vc71_sssd/instances.obj vc71/boost_regex_vc71_sssd/posix_api.obj vc71/boost_regex_vc71_sssd/regex.obj vc71/boost_regex_vc71_sssd/regex_debug.obj vc71/boost_regex_vc71_sssd/regex_synch.obj vc71/boost_regex_vc71_sssd/w32_regex_traits.obj vc71/boost_regex_vc71_sssd/wide_posix_api.obj vc71/boost_regex_vc71_sssd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_mssd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_mssd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mssd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mssd/boost_regex_vc71_mssd.pch -Fo./vc71/boost_regex_vc71_mssd/ -Fdvc71/boost_regex_vc71_mssd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_mssd_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_mssd\$(NULL)" mkdir vc71\boost_regex_vc71_mssd
|
||||
|
||||
boost_regex_vc71_mssd_clean :
|
||||
del vc71\boost_regex_vc71_mssd\*.obj
|
||||
del vc71\boost_regex_vc71_mssd\*.idb
|
||||
del vc71\boost_regex_vc71_mssd\*.exp
|
||||
del vc71\boost_regex_vc71_mssd\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_mssd.lib : vc71/boost_regex_vc71_mssd/c_regex_traits.obj vc71/boost_regex_vc71_mssd/c_regex_traits_common.obj vc71/boost_regex_vc71_mssd/cpp_regex_traits.obj vc71/boost_regex_vc71_mssd/cregex.obj vc71/boost_regex_vc71_mssd/fileiter.obj vc71/boost_regex_vc71_mssd/instances.obj vc71/boost_regex_vc71_mssd/posix_api.obj vc71/boost_regex_vc71_mssd/regex.obj vc71/boost_regex_vc71_mssd/regex_debug.obj vc71/boost_regex_vc71_mssd/regex_synch.obj vc71/boost_regex_vc71_mssd/w32_regex_traits.obj vc71/boost_regex_vc71_mssd/wide_posix_api.obj vc71/boost_regex_vc71_mssd/winstances.obj
|
||||
link -lib /nologo /out:vc71/boost_regex_vc71_mssd.lib $(XSFLAGS) vc71/boost_regex_vc71_mssd/c_regex_traits.obj vc71/boost_regex_vc71_mssd/c_regex_traits_common.obj vc71/boost_regex_vc71_mssd/cpp_regex_traits.obj vc71/boost_regex_vc71_mssd/cregex.obj vc71/boost_regex_vc71_mssd/fileiter.obj vc71/boost_regex_vc71_mssd/instances.obj vc71/boost_regex_vc71_mssd/posix_api.obj vc71/boost_regex_vc71_mssd/regex.obj vc71/boost_regex_vc71_mssd/regex_debug.obj vc71/boost_regex_vc71_mssd/regex_synch.obj vc71/boost_regex_vc71_mssd/w32_regex_traits.obj vc71/boost_regex_vc71_mssd/wide_posix_api.obj vc71/boost_regex_vc71_mssd/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_mdid.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_mdid/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdid/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdid/boost_regex_vc71_mdid.pch -Fo./vc71/boost_regex_vc71_mdid/ -Fdvc71/boost_regex_vc71_mdid.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_mdid_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_mdid\$(NULL)" mkdir vc71\boost_regex_vc71_mdid
|
||||
|
||||
boost_regex_vc71_mdid_clean :
|
||||
del vc71\boost_regex_vc71_mdid\*.obj
|
||||
del vc71\boost_regex_vc71_mdid\*.idb
|
||||
del vc71\boost_regex_vc71_mdid\*.exp
|
||||
del vc71\boost_regex_vc71_mdid\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_mdid.lib : vc71/boost_regex_vc71_mdid/c_regex_traits.obj vc71/boost_regex_vc71_mdid/c_regex_traits_common.obj vc71/boost_regex_vc71_mdid/cpp_regex_traits.obj vc71/boost_regex_vc71_mdid/cregex.obj vc71/boost_regex_vc71_mdid/fileiter.obj vc71/boost_regex_vc71_mdid/instances.obj vc71/boost_regex_vc71_mdid/posix_api.obj vc71/boost_regex_vc71_mdid/regex.obj vc71/boost_regex_vc71_mdid/regex_debug.obj vc71/boost_regex_vc71_mdid/regex_synch.obj vc71/boost_regex_vc71_mdid/w32_regex_traits.obj vc71/boost_regex_vc71_mdid/wide_posix_api.obj vc71/boost_regex_vc71_mdid/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex_vc71_mdid.pdb" /debug /machine:I386 /out:"vc71/boost_regex_vc71_mdid.dll" /implib:"vc71/boost_regex_vc71_mdid.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/boost_regex_vc71_mdid/c_regex_traits.obj vc71/boost_regex_vc71_mdid/c_regex_traits_common.obj vc71/boost_regex_vc71_mdid/cpp_regex_traits.obj vc71/boost_regex_vc71_mdid/cregex.obj vc71/boost_regex_vc71_mdid/fileiter.obj vc71/boost_regex_vc71_mdid/instances.obj vc71/boost_regex_vc71_mdid/posix_api.obj vc71/boost_regex_vc71_mdid/regex.obj vc71/boost_regex_vc71_mdid/regex_debug.obj vc71/boost_regex_vc71_mdid/regex_synch.obj vc71/boost_regex_vc71_mdid/w32_regex_traits.obj vc71/boost_regex_vc71_mdid/wide_posix_api.obj vc71/boost_regex_vc71_mdid/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_mdi.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_mdi/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdi/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdi/boost_regex_vc71_mdi.pch -Fo./vc71/boost_regex_vc71_mdi/ -Fdvc71/boost_regex_vc71_mdi.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_mdi_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_mdi\$(NULL)" mkdir vc71\boost_regex_vc71_mdi
|
||||
|
||||
boost_regex_vc71_mdi_clean :
|
||||
del vc71\boost_regex_vc71_mdi\*.obj
|
||||
del vc71\boost_regex_vc71_mdi\*.idb
|
||||
del vc71\boost_regex_vc71_mdi\*.exp
|
||||
del vc71\boost_regex_vc71_mdi\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_mdi.lib : vc71/boost_regex_vc71_mdi/c_regex_traits.obj vc71/boost_regex_vc71_mdi/c_regex_traits_common.obj vc71/boost_regex_vc71_mdi/cpp_regex_traits.obj vc71/boost_regex_vc71_mdi/cregex.obj vc71/boost_regex_vc71_mdi/fileiter.obj vc71/boost_regex_vc71_mdi/instances.obj vc71/boost_regex_vc71_mdi/posix_api.obj vc71/boost_regex_vc71_mdi/regex.obj vc71/boost_regex_vc71_mdi/regex_debug.obj vc71/boost_regex_vc71_mdi/regex_synch.obj vc71/boost_regex_vc71_mdi/w32_regex_traits.obj vc71/boost_regex_vc71_mdi/wide_posix_api.obj vc71/boost_regex_vc71_mdi/winstances.obj
|
||||
link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/boost_regex_vc71_mdi.pdb" /debug /machine:I386 /out:"vc71/boost_regex_vc71_mdi.dll" /implib:"vc71/boost_regex_vc71_mdi.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/boost_regex_vc71_mdi/c_regex_traits.obj vc71/boost_regex_vc71_mdi/c_regex_traits_common.obj vc71/boost_regex_vc71_mdi/cpp_regex_traits.obj vc71/boost_regex_vc71_mdi/cregex.obj vc71/boost_regex_vc71_mdi/fileiter.obj vc71/boost_regex_vc71_mdi/instances.obj vc71/boost_regex_vc71_mdi/posix_api.obj vc71/boost_regex_vc71_mdi/regex.obj vc71/boost_regex_vc71_mdi/regex_debug.obj vc71/boost_regex_vc71_mdi/regex_synch.obj vc71/boost_regex_vc71_mdi/w32_regex_traits.obj vc71/boost_regex_vc71_mdi/wide_posix_api.obj vc71/boost_regex_vc71_mdi/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_mds.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_mds/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mds/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I../../../ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /YX /FD /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mds/boost_regex_vc71_mds.pch -Fo./vc71/boost_regex_vc71_mds/ -Fdvc71/boost_regex_vc71_mds.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_mds_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_mds\$(NULL)" mkdir vc71\boost_regex_vc71_mds
|
||||
|
||||
boost_regex_vc71_mds_clean :
|
||||
del vc71\boost_regex_vc71_mds\*.obj
|
||||
del vc71\boost_regex_vc71_mds\*.idb
|
||||
del vc71\boost_regex_vc71_mds\*.exp
|
||||
del vc71\boost_regex_vc71_mds\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_mds.lib : vc71/boost_regex_vc71_mds/c_regex_traits.obj vc71/boost_regex_vc71_mds/c_regex_traits_common.obj vc71/boost_regex_vc71_mds/cpp_regex_traits.obj vc71/boost_regex_vc71_mds/cregex.obj vc71/boost_regex_vc71_mds/fileiter.obj vc71/boost_regex_vc71_mds/instances.obj vc71/boost_regex_vc71_mds/posix_api.obj vc71/boost_regex_vc71_mds/regex.obj vc71/boost_regex_vc71_mds/regex_debug.obj vc71/boost_regex_vc71_mds/regex_synch.obj vc71/boost_regex_vc71_mds/w32_regex_traits.obj vc71/boost_regex_vc71_mds/wide_posix_api.obj vc71/boost_regex_vc71_mds/winstances.obj
|
||||
link -lib /nologo /out:vc71/boost_regex_vc71_mds.lib $(XSFLAGS) vc71/boost_regex_vc71_mds/c_regex_traits.obj vc71/boost_regex_vc71_mds/c_regex_traits_common.obj vc71/boost_regex_vc71_mds/cpp_regex_traits.obj vc71/boost_regex_vc71_mds/cregex.obj vc71/boost_regex_vc71_mds/fileiter.obj vc71/boost_regex_vc71_mds/instances.obj vc71/boost_regex_vc71_mds/posix_api.obj vc71/boost_regex_vc71_mds/regex.obj vc71/boost_regex_vc71_mds/regex_debug.obj vc71/boost_regex_vc71_mds/regex_synch.obj vc71/boost_regex_vc71_mds/w32_regex_traits.obj vc71/boost_regex_vc71_mds/wide_posix_api.obj vc71/boost_regex_vc71_mds/winstances.obj
|
||||
|
||||
########################################################
|
||||
#
|
||||
# section for boost_regex_vc71_mdsd.lib
|
||||
#
|
||||
########################################################
|
||||
vc71/boost_regex_vc71_mdsd/c_regex_traits.obj: ../src/c_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/c_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/c_regex_traits_common.obj: ../src/c_regex_traits_common.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/c_regex_traits_common.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/cpp_regex_traits.obj: ../src/cpp_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/cpp_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/cregex.obj: ../src/cregex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/cregex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/fileiter.obj: ../src/fileiter.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/fileiter.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/instances.obj: ../src/instances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/instances.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/posix_api.obj: ../src/posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/regex.obj: ../src/regex.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/regex.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/regex_debug.obj: ../src/regex_debug.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/regex_debug.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/regex_synch.obj: ../src/regex_synch.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/regex_synch.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/w32_regex_traits.obj: ../src/w32_regex_traits.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/w32_regex_traits.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/wide_posix_api.obj: ../src/wide_posix_api.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/wide_posix_api.cpp
|
||||
|
||||
vc71/boost_regex_vc71_mdsd/winstances.obj: ../src/winstances.cpp $(ALL_HEADER)
|
||||
cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I../../../ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /YX /FD /GZ /c $(CXXFLAGS) -Fpvc71/boost_regex_vc71_mdsd/boost_regex_vc71_mdsd.pch -Fo./vc71/boost_regex_vc71_mdsd/ -Fdvc71/boost_regex_vc71_mdsd.pdb ../src/winstances.cpp
|
||||
|
||||
boost_regex_vc71_mdsd_dir :
|
||||
@if not exist "vc71\boost_regex_vc71_mdsd\$(NULL)" mkdir vc71\boost_regex_vc71_mdsd
|
||||
|
||||
boost_regex_vc71_mdsd_clean :
|
||||
del vc71\boost_regex_vc71_mdsd\*.obj
|
||||
del vc71\boost_regex_vc71_mdsd\*.idb
|
||||
del vc71\boost_regex_vc71_mdsd\*.exp
|
||||
del vc71\boost_regex_vc71_mdsd\*.pch
|
||||
|
||||
./vc71/boost_regex_vc71_mdsd.lib : vc71/boost_regex_vc71_mdsd/c_regex_traits.obj vc71/boost_regex_vc71_mdsd/c_regex_traits_common.obj vc71/boost_regex_vc71_mdsd/cpp_regex_traits.obj vc71/boost_regex_vc71_mdsd/cregex.obj vc71/boost_regex_vc71_mdsd/fileiter.obj vc71/boost_regex_vc71_mdsd/instances.obj vc71/boost_regex_vc71_mdsd/posix_api.obj vc71/boost_regex_vc71_mdsd/regex.obj vc71/boost_regex_vc71_mdsd/regex_debug.obj vc71/boost_regex_vc71_mdsd/regex_synch.obj vc71/boost_regex_vc71_mdsd/w32_regex_traits.obj vc71/boost_regex_vc71_mdsd/wide_posix_api.obj vc71/boost_regex_vc71_mdsd/winstances.obj
|
||||
link -lib /nologo /out:vc71/boost_regex_vc71_mdsd.lib $(XSFLAGS) vc71/boost_regex_vc71_mdsd/c_regex_traits.obj vc71/boost_regex_vc71_mdsd/c_regex_traits_common.obj vc71/boost_regex_vc71_mdsd/cpp_regex_traits.obj vc71/boost_regex_vc71_mdsd/cregex.obj vc71/boost_regex_vc71_mdsd/fileiter.obj vc71/boost_regex_vc71_mdsd/instances.obj vc71/boost_regex_vc71_mdsd/posix_api.obj vc71/boost_regex_vc71_mdsd/regex.obj vc71/boost_regex_vc71_mdsd/regex_debug.obj vc71/boost_regex_vc71_mdsd/regex_synch.obj vc71/boost_regex_vc71_mdsd/w32_regex_traits.obj vc71/boost_regex_vc71_mdsd/wide_posix_api.obj vc71/boost_regex_vc71_mdsd/winstances.obj
|
||||
|
||||
@@ -362,6 +362,27 @@ out="vc7.mak"
|
||||
no_single="no"
|
||||
subdir="vc7"
|
||||
vc6_gen
|
||||
#
|
||||
# generate vc7-stlport makefile:
|
||||
is_stlport="yes"
|
||||
out="vc7-stlport.mak"
|
||||
no_single="yes"
|
||||
subdir="vc7-stlport"
|
||||
vc6_stlp_gen
|
||||
#
|
||||
# generate vc71 makefile:
|
||||
is_stlport="no"
|
||||
out="vc71.mak"
|
||||
no_single="no"
|
||||
subdir="vc71"
|
||||
vc6_gen
|
||||
#
|
||||
# generate vc71-stlport makefile:
|
||||
is_stlport="yes"
|
||||
out="vc71-stlport.mak"
|
||||
no_single="yes"
|
||||
subdir="vc71-stlport"
|
||||
vc6_stlp_gen
|
||||
|
||||
|
||||
#
|
||||
@@ -372,3 +393,4 @@ rm -f $tout $iout
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+32
-15
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <algorithm>
|
||||
#include <boost/regex.hpp>
|
||||
#ifdef JM_OLD_IOSTREAM
|
||||
#include <iostream.h>
|
||||
@@ -33,7 +34,11 @@ using std::endl;
|
||||
# pragma hrdstop
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/fileiter.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/fileiter.hpp>
|
||||
#endif
|
||||
|
||||
#include "jgrep.h"
|
||||
|
||||
@@ -47,10 +52,10 @@ class ogrep_predicate
|
||||
unsigned int& lines;
|
||||
const char* filename;
|
||||
unsigned int last_line;
|
||||
iterator end_of_storage;
|
||||
iterator end_of_storage, last_line_start;
|
||||
public:
|
||||
ogrep_predicate(unsigned int& i, const char* p, iterator e) : lines(i), filename(p), last_line(-1), end_of_storage(e) {}
|
||||
ogrep_predicate(const ogrep_predicate& o) : lines(o.lines), filename(o.filename), last_line(o.last_line), end_of_storage(o.end_of_storage) {}
|
||||
ogrep_predicate(unsigned int& i, const char* p, iterator start, iterator end) : lines(i), filename(p), last_line(-1), end_of_storage(end), last_line_start(start) {}
|
||||
ogrep_predicate(const ogrep_predicate& o) : lines(o.lines), filename(o.filename), last_line(o.last_line), end_of_storage(o.end_of_storage), last_line_start(o.last_line_start) {}
|
||||
bool operator () (const boost::match_results<iterator, Allocator>& i);
|
||||
};
|
||||
|
||||
@@ -63,42 +68,54 @@ public:
|
||||
template <class iterator, class Allocator>
|
||||
bool ogrep_predicate<iterator, Allocator>::operator()(const boost::match_results<iterator, Allocator>& i)
|
||||
{
|
||||
// if we haven't printed the filename yet, then do it now:
|
||||
if(last_line == (unsigned int)-1)
|
||||
{
|
||||
cout << "File " << filename << ":" << endl;
|
||||
if(last_line != i.line())
|
||||
last_line = 0;
|
||||
}
|
||||
// calculate which line we are on, by adding the number of newlines
|
||||
// we've skipped in the last search:
|
||||
int current_line = last_line + std::count(last_line_start, end_of_storage, '\n');
|
||||
// if we haven't already printed this line out, then do it now:
|
||||
if(last_line != current_line)
|
||||
{
|
||||
++lines;
|
||||
last_line = i.line();
|
||||
last_line = current_line;
|
||||
if(count_only == 0)
|
||||
{
|
||||
if(show_lines)
|
||||
cout << i.line() << "\t";
|
||||
iterator ptr = i.line_start();
|
||||
while((ptr != end_of_storage) && (*ptr != '\n'))++ptr;
|
||||
iterator pos = i.line_start();
|
||||
while(pos != ptr)
|
||||
cout << current_line << "\t";
|
||||
const char* nls = "\n";
|
||||
iterator ptr = std::find_end(last_line_start, i[0].first, nls, nls+1);
|
||||
++ptr;
|
||||
iterator ptr2 = ptr;
|
||||
while((ptr2 != end_of_storage) && (*ptr2 != '\n'))++ptr2;
|
||||
while(ptr != ptr2)
|
||||
{
|
||||
cout.put(*pos);
|
||||
++pos;
|
||||
cout.put(*ptr);
|
||||
++ptr;
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
}
|
||||
// set the last line seen to the start of the current match:
|
||||
last_line_start = i[0].first;
|
||||
return true;
|
||||
}
|
||||
|
||||
using namespace boost;
|
||||
|
||||
void process_grep(const char* file)
|
||||
{
|
||||
try{
|
||||
using namespace boost;
|
||||
mapfile f(file);
|
||||
unsigned int count = 0;
|
||||
ogrep_predicate<mapfile::iterator, allocator_type> oi(count, file, f.end());
|
||||
ogrep_predicate<mapfile::iterator, boost::match_results<mapfile::iterator>::allocator_type> oi(count, file, f.begin(), f.end());
|
||||
if(files_only)
|
||||
{
|
||||
bool ok;
|
||||
boost::match_results<mapfile::iterator, allocator_type> m;
|
||||
boost::match_results<mapfile::iterator> m;
|
||||
ok = regex_search(f.begin(), f.end(), m, e, match_not_dot_newline | match_not_dot_null);
|
||||
if(ok)
|
||||
cout << "File " << file << endl;
|
||||
|
||||
@@ -34,7 +34,11 @@ using std::endl;
|
||||
# pragma hrdstop
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/fileiter.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/fileiter.hpp>
|
||||
#endif
|
||||
#include "jgrep.h"
|
||||
|
||||
#ifndef JM_ALGO_INCLUDED
|
||||
@@ -165,6 +169,8 @@ void parse_switch(const char* flag)
|
||||
}
|
||||
}
|
||||
|
||||
using namespace boost;
|
||||
|
||||
void HandleFile(const char* wild)
|
||||
{
|
||||
using namespace boost;
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
// and searches for all the C++ class definitions, storing
|
||||
// their locations in a map of strings/int's
|
||||
|
||||
typedef std::map<std::string, int, std::less<std::string> > map_type;
|
||||
typedef std::map<std::string, std::string::difference_type, std::less<std::string> > map_type;
|
||||
|
||||
const char* re =
|
||||
// possibly leading whitespace:
|
||||
@@ -61,7 +61,7 @@ class IndexClassesPred
|
||||
std::string::const_iterator base;
|
||||
public:
|
||||
IndexClassesPred(map_type& a, std::string::const_iterator b) : m(a), base(b) {}
|
||||
bool operator()(const boost::match_results<std::string::const_iterator, boost::regex::allocator_type>& what)
|
||||
bool operator()(const boost::match_results<std::string::const_iterator>& what)
|
||||
{
|
||||
// what[0] contains the whole string
|
||||
// what[5] contains the class name.
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
// and searches for all the C++ class definitions, storing
|
||||
// their locations in a map of strings/int's
|
||||
|
||||
typedef std::map<std::string, int, std::less<std::string> > map_type;
|
||||
typedef std::map<std::string, std::string::difference_type, std::less<std::string> > map_type;
|
||||
|
||||
const char* re =
|
||||
// possibly leading whitespace:
|
||||
@@ -59,7 +59,7 @@ boost::regex expression(re);
|
||||
map_type class_index;
|
||||
std::string::const_iterator base;
|
||||
|
||||
bool grep_callback(const boost::match_results<std::string::const_iterator, boost::regex::allocator_type>& what)
|
||||
bool grep_callback(const boost::match_results<std::string::const_iterator>& what)
|
||||
{
|
||||
// what[0] contains the whole string
|
||||
// what[5] contains the class name.
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
// and searches for all the C++ class definitions, storing
|
||||
// their locations in a map of strings/int's
|
||||
|
||||
typedef std::map<std::string, int, std::less<std::string> > map_type;
|
||||
typedef std::map<std::string, std::string::difference_type, std::less<std::string> > map_type;
|
||||
|
||||
const char* re =
|
||||
// possibly leading whitespace:
|
||||
@@ -62,7 +62,7 @@ class class_index
|
||||
map_type index;
|
||||
std::string::const_iterator base;
|
||||
|
||||
bool grep_callback(boost::match_results<std::string::const_iterator, boost::regex::allocator_type> what);
|
||||
bool grep_callback(boost::match_results<std::string::const_iterator> what);
|
||||
public:
|
||||
map_type& get_map() { return index; }
|
||||
void IndexClasses(const std::string& file);
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
{}
|
||||
};
|
||||
|
||||
bool class_index::grep_callback(boost::match_results<std::string::const_iterator, boost::regex::allocator_type> what)
|
||||
bool class_index::grep_callback(boost::match_results<std::string::const_iterator> what)
|
||||
{
|
||||
// what[0] contains the whole string
|
||||
// what[5] contains the class name.
|
||||
|
||||
@@ -63,9 +63,9 @@ class class_index
|
||||
boost::regex expression;
|
||||
map_type index;
|
||||
std::string::const_iterator base;
|
||||
typedef boost::match_results<std::string::const_iterator, boost::regex::allocator_type> arg_type;
|
||||
typedef boost::match_results<std::string::const_iterator> arg_type;
|
||||
|
||||
bool grep_callback(const boost::match_results<std::string::const_iterator, boost::regex::allocator_type>& what);
|
||||
bool grep_callback(const boost::match_results<std::string::const_iterator>& what);
|
||||
public:
|
||||
map_type& get_map() { return index; }
|
||||
typedef bool (__closure* grep_callback_type)(const arg_type&);
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
{}
|
||||
};
|
||||
|
||||
bool class_index::grep_callback(const boost::match_results<std::string::const_iterator, boost::regex::allocator_type>& what)
|
||||
bool class_index::grep_callback(const boost::match_results<std::string::const_iterator>& what)
|
||||
{
|
||||
// what[0] contains the whole string
|
||||
// what[5] contains the class name.
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
// and searches for all the C++ class definitions, storing
|
||||
// their locations in a map of strings/int's
|
||||
|
||||
typedef std::map<std::string, int, std::less<std::string> > map_type;
|
||||
typedef std::map<std::string, std::string::difference_type, std::less<std::string> > map_type;
|
||||
|
||||
const char* re =
|
||||
// possibly leading whitespace:
|
||||
@@ -62,7 +62,7 @@ void IndexClasses(map_type& m, const std::string& file)
|
||||
start = file.begin();
|
||||
end = file.end();
|
||||
boost::match_results<std::string::const_iterator> what;
|
||||
unsigned int flags = boost::match_default;
|
||||
boost::match_flag_type flags = boost::match_default;
|
||||
while(boost::regex_search(start, end, what, expression, flags))
|
||||
{
|
||||
// what[0] contains the whole string
|
||||
|
||||
@@ -24,7 +24,15 @@
|
||||
#ifndef BOOST_RE_CREGEX_HPP
|
||||
#define BOOST_RE_CREGEX_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/cregex.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/cregex.hpp>
|
||||
#endif
|
||||
|
||||
#endif // include guard
|
||||
|
||||
|
||||
@@ -28,7 +28,15 @@
|
||||
#ifndef BOOST_RE_REGEX_HPP
|
||||
#define BOOST_RE_REGEX_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex.hpp>
|
||||
#endif
|
||||
|
||||
#endif // include
|
||||
|
||||
|
||||
+103
-193
@@ -27,44 +27,7 @@
|
||||
// this has to go *before* we include any std lib headers:
|
||||
//
|
||||
#if defined(__BORLANDC__)
|
||||
# if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
|
||||
// problems with std::basic_string and dll RTL:
|
||||
# if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE)
|
||||
# ifdef BOOST_REGEX_BUILD_DLL
|
||||
# error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL
|
||||
# else
|
||||
# pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!")
|
||||
# endif
|
||||
# endif
|
||||
# ifndef _RTLDLL
|
||||
// this is harmless for a staic link:
|
||||
# define _RWSTD_COMPILE_INSTANTIATE
|
||||
# endif
|
||||
# endif
|
||||
# if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL)
|
||||
// C++ Builder 4 and earlier, we can't tell whether we should be using
|
||||
// the VCL runtime or not, do a static link instead:
|
||||
# define BOOST_REGEX_STATIC_LINK
|
||||
# endif
|
||||
//
|
||||
// VCL support:
|
||||
// if we're building a console app then there can't be any VCL (can there?)
|
||||
# if !defined(__CONSOLE__) && !defined(_NO_VCL)
|
||||
# define BOOST_REGEX_USE_VCL
|
||||
# endif
|
||||
//
|
||||
// if this isn't Win32 then don't automatically select link
|
||||
// libraries:
|
||||
//
|
||||
# ifndef _Windows
|
||||
# ifndef BOOST_REGEX_NO_LIB
|
||||
# define BOOST_REGEX_NO_LIB
|
||||
# endif
|
||||
# ifndef BOOST_REGEX_STATIC_LINK
|
||||
# define BOOST_REGEX_STATIC_LINK
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# include <boost/regex/config/borland.hpp>
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -83,17 +46,18 @@
|
||||
|
||||
# include <cstdlib>
|
||||
# include <cstddef>
|
||||
# include <cstring>
|
||||
# include <cctype>
|
||||
# include <cstdio>
|
||||
# include <clocale>
|
||||
# include <cassert>
|
||||
# include <string>
|
||||
# include <stdexcept>
|
||||
# include <iterator>
|
||||
# include <iosfwd>
|
||||
# include <vector>
|
||||
# include <boost/config.hpp>
|
||||
# include <boost/cstdint.hpp>
|
||||
# include <boost/detail/allocator.hpp>
|
||||
# include <boost/regex/config/cstring.hpp>
|
||||
#else
|
||||
//
|
||||
// C build,
|
||||
@@ -130,7 +94,7 @@
|
||||
# define BOOST_NO_WREGEX
|
||||
# endif
|
||||
#else
|
||||
# if defined(__sgi) && defined(__SGI_STL_PORT)
|
||||
# if defined(__sgi) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
|
||||
// STLPort on IRIX is misconfigured: <cwctype> does not compile
|
||||
// as a temporary fix include <wctype.h> instead and prevent inclusion
|
||||
// of STLPort version of <cwctype>
|
||||
@@ -140,8 +104,7 @@
|
||||
# endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
# include <cwchar>
|
||||
# include <cwctype>
|
||||
# include <boost/regex/config/cwchar.hpp>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -259,7 +222,7 @@ using std::distance;
|
||||
#endif
|
||||
|
||||
#if (defined(BOOST_MSVC) || defined(__BORLANDC__)) && !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE)
|
||||
# include <boost/regex/v3/regex_library_include.hpp>
|
||||
# include <boost/regex/config/regex_library_include.hpp>
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -327,6 +290,9 @@ using std::distance;
|
||||
# define BOOST_REGEX_MAX_PATH 200
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_REGEX_MAX_STATE_COUNT
|
||||
# define BOOST_REGEX_MAX_STATE_COUNT 100000000
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -340,15 +306,13 @@ using std::distance;
|
||||
// If there are no exceptions then we must report critical-errors
|
||||
// the only way we know how; by terminating.
|
||||
//
|
||||
#ifdef __BORLANDC__
|
||||
// <cstdio> seems not to make stderr usable with Borland:
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
# define BOOST_REGEX_NOEH_ASSERT(x)\
|
||||
if(0 == (x))\
|
||||
{\
|
||||
std::fprintf(stderr, "Error: critical regex++ failure in \"%s\"", #x);\
|
||||
std::abort();\
|
||||
std::string s("Error: critical regex++ failure in: ");\
|
||||
s.append(#x);\
|
||||
std::runtime_error e(s);\
|
||||
boost::throw_exception(e);\
|
||||
}
|
||||
#else
|
||||
//
|
||||
@@ -416,6 +380,95 @@ public:
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Stack protection under MS Windows:
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if !defined(BOOST_REGEX_NO_W32) && !defined(BOOST_REGEX_V3)
|
||||
# if(defined(_WIN32) || defined(_WIN64) || defined(_WINCE)) && !defined(__GNUC__)
|
||||
# define BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
# endif
|
||||
#elif defined(BOOST_REGEX_HAS_MS_STACK_GUARD)
|
||||
# undef BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus) && defined(BOOST_REGEX_HAS_MS_STACK_GUARD)
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Error handling:
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_regex_exception(const std::string& s);
|
||||
|
||||
template <class traits>
|
||||
void raise_error(const traits& t, unsigned code)
|
||||
{
|
||||
(void)t; // warning suppression
|
||||
raise_regex_exception(t.error_string(code));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Algorithm selection and configuration:
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if !defined(BOOST_REGEX_RECURSIVE) && !defined(BOOST_REGEX_NON_RECURSIVE)
|
||||
# ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
# define BOOST_REGEX_RECURSIVE
|
||||
# else
|
||||
# define BOOST_REGEX_NON_RECURSIVE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_NON_RECURSIVE
|
||||
# ifdef BOOST_REGEX_RECURSIVE
|
||||
# error "Can't set both BOOST_REGEX_RECURSIVE and BOOST_REGEX_NON_RECURSIVE"
|
||||
# endif
|
||||
# ifndef BOOST_REGEX_BLOCKSIZE
|
||||
# define BOOST_REGEX_BLOCKSIZE 4096
|
||||
# endif
|
||||
# if BOOST_REGEX_BLOCKSIZE < 512
|
||||
# error "BOOST_REGEX_BLOCKSIZE must be at least 512"
|
||||
# endif
|
||||
# ifndef BOOST_REGEX_MAX_BLOCKS
|
||||
# define BOOST_REGEX_MAX_BLOCKS 1024
|
||||
# endif
|
||||
# ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
# undef BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
# endif
|
||||
namespace boost{ namespace re_detail{
|
||||
BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block();
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL release_mem_block(void*);
|
||||
} }
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Fix broken compilers that wrongly #define some symbols:
|
||||
@@ -424,120 +477,16 @@ public:
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#ifdef BOOST_NO_CTYPE_FUNCTIONS
|
||||
|
||||
// Make functions out of the macros.
|
||||
// Use parentheses so the macros don't screw us up.
|
||||
inline int (isalpha)(int c) { return isalpha(c); }
|
||||
inline int (iscntrl)(int c) { return iscntrl(c); }
|
||||
inline int (isdigit)(int c) { return isdigit(c); }
|
||||
inline int (islower)(int c) { return islower(c); }
|
||||
inline int (ispunct)(int c) { return ispunct(c); }
|
||||
inline int (isspace)(int c) { return isspace(c); }
|
||||
inline int (isupper)(int c) { return isupper(c); }
|
||||
inline int (isxdigit)(int c) { return isxdigit(c); }
|
||||
|
||||
#endif
|
||||
|
||||
// the following may be defined as macros; this is
|
||||
// incompatable with std::something syntax, we have
|
||||
// no choice but to undef them?
|
||||
|
||||
#ifdef memcpy
|
||||
#undef memcpy
|
||||
#endif
|
||||
#ifdef memmove
|
||||
#undef memmove
|
||||
#endif
|
||||
#ifdef memset
|
||||
#undef memset
|
||||
#endif
|
||||
#ifdef sprintf
|
||||
#undef sprintf
|
||||
#endif
|
||||
#ifdef strcat
|
||||
#undef strcat
|
||||
#endif
|
||||
#ifdef strcmp
|
||||
#undef strcmp
|
||||
#endif
|
||||
#ifdef strcpy
|
||||
#undef strcpy
|
||||
#endif
|
||||
#ifdef strlen
|
||||
#undef strlen
|
||||
#endif
|
||||
#ifdef swprintf
|
||||
#undef swprintf
|
||||
#endif
|
||||
#ifdef wcslen
|
||||
#undef wcslen
|
||||
#endif
|
||||
#ifdef wcscpy
|
||||
#undef wcscpy
|
||||
#endif
|
||||
#ifdef wcscmp
|
||||
#undef wcscmp
|
||||
#endif
|
||||
#ifdef isalpha
|
||||
#undef isalpha
|
||||
#endif
|
||||
#ifdef iscntrl
|
||||
#undef iscntrl
|
||||
#endif
|
||||
#ifdef isdigit
|
||||
#undef isdigit
|
||||
#endif
|
||||
#ifdef islower
|
||||
#undef islower
|
||||
#endif
|
||||
#ifdef isupper
|
||||
#undef isupper
|
||||
#endif
|
||||
#ifdef ispunct
|
||||
#undef ispunct
|
||||
#endif
|
||||
#ifdef isspace
|
||||
#undef isspace
|
||||
#endif
|
||||
#ifdef isxdigit
|
||||
#undef isxdigit
|
||||
#endif
|
||||
|
||||
#ifdef tolower
|
||||
#undef tolower
|
||||
#endif
|
||||
#ifdef iswalpha
|
||||
#undef iswalpha
|
||||
#endif
|
||||
#ifdef iswcntrl
|
||||
#undef iswcntrl
|
||||
#endif
|
||||
#ifdef iswdigit
|
||||
#undef iswdigit
|
||||
#endif
|
||||
#ifdef iswlower
|
||||
#undef iswlower
|
||||
#endif
|
||||
#ifdef iswpunct
|
||||
#undef iswpunct
|
||||
#endif
|
||||
#ifdef iswspace
|
||||
#undef iswspace
|
||||
#endif
|
||||
#ifdef iswupper
|
||||
#undef iswupper
|
||||
#endif
|
||||
#ifdef iswxdigit
|
||||
#undef iswxdigit
|
||||
#endif
|
||||
#ifdef towlower
|
||||
#undef towlower
|
||||
#endif
|
||||
#ifdef wcsxfrm
|
||||
#undef wcsxfrm
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -551,44 +500,13 @@ inline int (isxdigit)(int c) { return isxdigit(c); }
|
||||
namespace std{
|
||||
using ::ptrdiff_t;
|
||||
using ::size_t;
|
||||
using ::memcpy;
|
||||
using ::memmove;
|
||||
using ::memset;
|
||||
using ::memcmp;
|
||||
using ::sprintf;
|
||||
using ::strcat;
|
||||
using ::strcmp;
|
||||
using ::strcpy;
|
||||
using ::strlen;
|
||||
using ::strxfrm;
|
||||
using ::isalpha;
|
||||
using ::iscntrl;
|
||||
using ::isdigit;
|
||||
using ::islower;
|
||||
using ::isupper;
|
||||
using ::ispunct;
|
||||
using ::isspace;
|
||||
using ::isxdigit;
|
||||
using ::tolower;
|
||||
using ::abs;
|
||||
using ::setlocale;
|
||||
# ifndef BOOST_NO_WREGEX
|
||||
# ifndef BOOST_NO_SWPRINTF
|
||||
using ::swprintf;
|
||||
# endif
|
||||
using ::wcslen;
|
||||
using ::wcscpy;
|
||||
using ::wcscmp;
|
||||
using ::iswalpha;
|
||||
using ::iswcntrl;
|
||||
using ::iswdigit;
|
||||
using ::iswlower;
|
||||
using ::iswpunct;
|
||||
using ::iswspace;
|
||||
using ::iswupper;
|
||||
using ::iswxdigit;
|
||||
using ::towlower;
|
||||
using ::wcsxfrm;
|
||||
using ::wcstombs;
|
||||
using ::mbstowcs;
|
||||
# if !defined(BOOST_NO_STD_LOCALE) && !defined (__STL_NO_NATIVE_MBSTATE_T) && !defined(_STLP_NO_NATIVE_MBSTATE_T)
|
||||
@@ -640,11 +558,3 @@ inline void pointer_construct(T* p, const T& t)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE boost/regex/config/borland.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: regex borland-specific config setup.
|
||||
*/
|
||||
|
||||
|
||||
#if defined(__BORLANDC__)
|
||||
# if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
|
||||
// problems with std::basic_string and dll RTL:
|
||||
# if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE)
|
||||
# ifdef BOOST_REGEX_BUILD_DLL
|
||||
# error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL
|
||||
# else
|
||||
# pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!")
|
||||
# endif
|
||||
# endif
|
||||
# ifndef _RTLDLL
|
||||
// this is harmless for a staic link:
|
||||
# define _RWSTD_COMPILE_INSTANTIATE
|
||||
# endif
|
||||
# endif
|
||||
# if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL)
|
||||
// C++ Builder 4 and earlier, we can't tell whether we should be using
|
||||
// the VCL runtime or not, do a static link instead:
|
||||
# define BOOST_REGEX_STATIC_LINK
|
||||
# endif
|
||||
//
|
||||
// VCL support:
|
||||
// if we're building a console app then there can't be any VCL (can there?)
|
||||
# if !defined(__CONSOLE__) && !defined(_NO_VCL)
|
||||
# define BOOST_REGEX_USE_VCL
|
||||
# endif
|
||||
//
|
||||
// if this isn't Win32 then don't automatically select link
|
||||
// libraries:
|
||||
//
|
||||
# ifndef _Windows
|
||||
# ifndef BOOST_REGEX_NO_LIB
|
||||
# define BOOST_REGEX_NO_LIB
|
||||
# endif
|
||||
# ifndef BOOST_REGEX_STATIC_LINK
|
||||
# define BOOST_REGEX_STATIC_LINK
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,226 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE boost/regex/config/cstring.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: regex narrow character string fixes.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_CSTRING_HPP
|
||||
#define BOOST_REGEX_CONFIG_CSTRING_HPP
|
||||
|
||||
#include <cstring>
|
||||
#include <cctype>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
namespace std{
|
||||
|
||||
#ifndef BOOST_NO_STDC_NAMESPACE
|
||||
extern "C"{
|
||||
#endif
|
||||
|
||||
// Any function that is a macro is converted into an inline function:
|
||||
#ifdef memcmp
|
||||
inline int (memcmp)(const void * p1, const void * p2, size_t s)
|
||||
{ return memcmp(p1, p2, s); }
|
||||
#undef memcmp
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::memcmp;
|
||||
#endif
|
||||
|
||||
#ifdef memcpy
|
||||
inline void *(memcpy)(void * p1, const void *p2, size_t s)
|
||||
{ return memcpy(p1, p2, s); }
|
||||
#undef memcpy
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::memcpy;
|
||||
#endif
|
||||
|
||||
#ifdef memmove
|
||||
inline void *(memmove)(void *, const void *, size_t)
|
||||
{ return memmove(p1,p2,s); }
|
||||
#undef memmove
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::memmove;
|
||||
#endif
|
||||
|
||||
#ifdef memset
|
||||
inline void *(memset)(void *p, int a, size_t b)
|
||||
{ return memset(p,a,b); }
|
||||
#undef memset
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::memset;
|
||||
#endif
|
||||
|
||||
#ifdef strcat
|
||||
inline char *(strcat)(char *p1, const char *p2)
|
||||
{ return strcat(p1,p2); }
|
||||
#undef strcat
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::strcat;
|
||||
#endif
|
||||
|
||||
#ifdef strcmp
|
||||
inline int (strcmp)(const char *p1, const char *p2)
|
||||
{ return strcmp(p1,p2); }
|
||||
#undef strcmp
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::strcmp;
|
||||
#endif
|
||||
|
||||
#ifdef strcoll
|
||||
inline int (strcoll)(const char *p1, const char *p2)
|
||||
{ return strcoll(p1,p2); }
|
||||
#undef strcoll
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::strcoll;
|
||||
#endif
|
||||
|
||||
#ifdef strcpy
|
||||
inline char *(strcpy)(char *p1, const char *p2)
|
||||
{ return strcpy(p1,p2); }
|
||||
#undef strcpy
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::strcpy;
|
||||
#endif
|
||||
|
||||
#ifdef strlen
|
||||
inline size_t (strlen)(const char *p)
|
||||
{ return strlen(p); }
|
||||
#undef strlen
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::strlen;
|
||||
#endif
|
||||
|
||||
#ifdef strxfrm
|
||||
inline size_t (strxfrm)(char *p1, const char *p2, size_t s)
|
||||
{ return strxfrm(p1,p2,s); }
|
||||
#undef strxfrm
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::strxfrm;
|
||||
#endif
|
||||
|
||||
#ifdef isalnum
|
||||
inline int (isalnum)(int i)
|
||||
{ return isalnum(i); }
|
||||
#undef isalnum
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isalnum;
|
||||
#endif
|
||||
|
||||
#ifdef isalpha
|
||||
inline int (isalpha)(int i)
|
||||
{ return isalpha(i); }
|
||||
#undef isalpha
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isalpha;
|
||||
#endif
|
||||
|
||||
#ifdef iscntrl
|
||||
inline int (iscntrl)(int i)
|
||||
{ return iscntrl(i); }
|
||||
#undef iscntrl
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iscntrl;
|
||||
#endif
|
||||
|
||||
#ifdef isdigit
|
||||
inline int (isdigit)(int i)
|
||||
{ return isdigit(i); }
|
||||
#undef isdigit
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isdigit;
|
||||
#endif
|
||||
|
||||
#ifdef isgraph
|
||||
inline int (isgraph)(int i)
|
||||
{ return isgraph(i); }
|
||||
#undef isgraph
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isgraph;
|
||||
#endif
|
||||
|
||||
#ifdef islower
|
||||
inline int (islower)(int i)
|
||||
{ return islower(i); }
|
||||
#undef islower
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::islower;
|
||||
#endif
|
||||
|
||||
#ifdef isprint
|
||||
inline int (isprint)(int i)
|
||||
{ return isprint(i); }
|
||||
#undef isprint
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isprint;
|
||||
#endif
|
||||
|
||||
#ifdef ispunct
|
||||
inline int (ispunct)(int i)
|
||||
{ return ispunct(i); }
|
||||
#undef ispunct
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::ispunct;
|
||||
#endif
|
||||
|
||||
#ifdef isspace
|
||||
inline int (isspace)(int i)
|
||||
{ return isspace(i); }
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isspace;
|
||||
#endif
|
||||
|
||||
#ifdef isupper
|
||||
inline int (isupper)(int i)
|
||||
{ return isupper(i); }
|
||||
#undef isupper
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isupper;
|
||||
#endif
|
||||
|
||||
#ifdef isxdigit
|
||||
inline int (isxdigit)(int i)
|
||||
{ return isxdigit(i); }
|
||||
#undef isxdigit
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::isxdigit;
|
||||
#endif
|
||||
|
||||
#ifdef tolower
|
||||
inline int (tolower)(int i)
|
||||
{ return tolower(i); }
|
||||
#undef tolower
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::tolower;
|
||||
#endif
|
||||
|
||||
#ifdef toupper
|
||||
inline int (toupper)(int i)
|
||||
{ return toupper(i); }
|
||||
#undef toupper
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::toupper;
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_NO_STDC_NAMESPACE
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,187 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE boost/regex/config/cwchar.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: regex wide character string fixes.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP
|
||||
#define BOOST_REGEX_CONFIG_CWCHAR_HPP
|
||||
|
||||
#include <cwchar>
|
||||
#include <cwctype>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
namespace std{
|
||||
|
||||
#ifndef BOOST_NO_STDC_NAMESPACE
|
||||
extern "C"{
|
||||
#endif
|
||||
|
||||
#ifdef iswalnum
|
||||
inline int (iswalnum)(wint_t i)
|
||||
{ return iswalnum(i); }
|
||||
#undef iswalnum
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswalnum;
|
||||
#endif
|
||||
|
||||
#ifdef iswalpha
|
||||
inline int (iswalpha)(wint_t i)
|
||||
{ return iswalpha(i); }
|
||||
#undef iswalpha
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswalpha;
|
||||
#endif
|
||||
|
||||
#ifdef iswcntrl
|
||||
inline int (iswcntrl)(wint_t i)
|
||||
{ return iswcntrl(i); }
|
||||
#undef iswcntrl
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswcntrl;
|
||||
#endif
|
||||
|
||||
#ifdef iswdigit
|
||||
inline int (iswdigit)(wint_t i)
|
||||
{ return iswdigit(i); }
|
||||
#undef iswdigit
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswdigit;
|
||||
#endif
|
||||
|
||||
#ifdef iswgraph
|
||||
inline int (iswgraph)(wint_t i)
|
||||
{ return iswgraph(i); }
|
||||
#undef iswgraph
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswgraph;
|
||||
#endif
|
||||
|
||||
#ifdef iswlower
|
||||
inline int (iswlower)(wint_t i)
|
||||
{ return iswlower(i); }
|
||||
#undef iswlower
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswlower;
|
||||
#endif
|
||||
|
||||
#ifdef iswprint
|
||||
inline int (iswprint)(wint_t i)
|
||||
{ return iswprint(i); }
|
||||
#undef iswprint
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswprint;
|
||||
#endif
|
||||
|
||||
#ifdef iswpunct
|
||||
inline int (iswpunct)(wint_t i)
|
||||
{ return iswpunct(i); }
|
||||
#undef iswpunct
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswpunct;
|
||||
#endif
|
||||
|
||||
#ifdef iswspace
|
||||
inline int (iswspace)(wint_t i)
|
||||
{ return iswspace(i); }
|
||||
#undef iswspace
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswspace;
|
||||
#endif
|
||||
|
||||
#ifdef iswupper
|
||||
inline int (iswupper)(wint_t i)
|
||||
{ return iswupper(i); }
|
||||
#undef iswupper
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswupper;
|
||||
#endif
|
||||
|
||||
#ifdef iswxdigit
|
||||
inline int (iswxdigit)(wint_t i)
|
||||
{ return iswxdigit(i); }
|
||||
#undef iswxdigit
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::iswxdigit;
|
||||
#endif
|
||||
|
||||
#ifdef towlower
|
||||
inline wint_t (towlower)(wint_t i)
|
||||
{ return towlower(i); }
|
||||
#undef towlower
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::towlower;
|
||||
#endif
|
||||
|
||||
#ifdef towupper
|
||||
inline wint_t (towupper)(wint_t i)
|
||||
{ return towupper(i); }
|
||||
#undef towupper
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using :: towupper;
|
||||
#endif
|
||||
|
||||
#ifdef wcscmp
|
||||
inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2)
|
||||
{ return wcscmp(p1,p2); }
|
||||
#undef wcscmp
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::wcscmp;
|
||||
#endif
|
||||
|
||||
#ifdef wcscoll
|
||||
inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2)
|
||||
{ return wcscoll(p1,p2); }
|
||||
#undef wcscoll
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::wcscoll;
|
||||
#endif
|
||||
|
||||
#ifdef wcscpy
|
||||
inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2)
|
||||
{ return wcscpy(p1,p2); }
|
||||
#undef wcscpy
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::wcscpy;
|
||||
#endif
|
||||
|
||||
#ifdef wcslen
|
||||
inline size_t (wcslen)(const wchar_t *p)
|
||||
{ return wcslen(p); }
|
||||
#undef wcslen
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::wcslen;
|
||||
#endif
|
||||
|
||||
#ifdef wcsxfrm
|
||||
size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s)
|
||||
{ return wcsxfrm(p1,p2,s); }
|
||||
#undef wcsxfrm
|
||||
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
||||
using ::wcsxfrm;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef BOOST_NO_STDC_NAMESPACE
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,202 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_libary_include.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
Libraries for Borland and Microsoft compilers are automatically
|
||||
selected here, the name of the lib is selected according to the following
|
||||
formula:
|
||||
|
||||
BOOST_LIB_NAME
|
||||
+ "_"
|
||||
+ BOOST_LIB_TOOLSET
|
||||
+ "_"
|
||||
+ BOOST_LIB_THREAD_OPT
|
||||
+ BOOST_LIB_RT_OPT
|
||||
+ BOOST_LIB_LINK_OPT
|
||||
+ BOOST_LIB_DEBUG_OPT
|
||||
|
||||
These are defined as:
|
||||
|
||||
BOOST_LIB_NAME: The base name of the lib (boost_regex).
|
||||
|
||||
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
|
||||
|
||||
BOOST_LIB_THREAD_OPT: "s" for single thread builds,
|
||||
"m" for multithread builds.
|
||||
|
||||
BOOST_LIB_RT_OPT: "s" for static runtime,
|
||||
"d" for dynamic runtime.
|
||||
|
||||
BOOST_LIB_LINK_OPT: "s" for static link,
|
||||
"i" for dynamic link.
|
||||
|
||||
BOOST_LIB_DEBUG_OPT: nothing for release builds,
|
||||
"d" for debug builds,
|
||||
"dd" for debug-diagnostic builds (_STLP_DEBUG).
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#if !defined(BOOST_REGEX_LIBRARY_INCLUDE_HPP) && !defined(BOOST_REGEX_NO_LIB)
|
||||
#define BOOST_REGEX_LIBRARY_INCLUDE_HPP
|
||||
|
||||
#define BOOST_LIB_NAME "boost_regex"
|
||||
|
||||
//
|
||||
// select toolset:
|
||||
//
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
|
||||
|
||||
// vc6-stlport:
|
||||
# define BOOST_LIB_TOOLSET "vc6-stlport"
|
||||
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1200)
|
||||
|
||||
// vc6:
|
||||
# define BOOST_LIB_TOOLSET "vc6"
|
||||
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
|
||||
|
||||
// vc6-stlport:
|
||||
# define BOOST_LIB_TOOLSET "vc7-stlport"
|
||||
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
|
||||
|
||||
// vc7:
|
||||
# define BOOST_LIB_TOOLSET "vc7"
|
||||
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1310) && (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
|
||||
|
||||
// vc71-stlport:
|
||||
# define BOOST_LIB_TOOLSET "vc71-stlport"
|
||||
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1310)
|
||||
|
||||
// vc71:
|
||||
# define BOOST_LIB_TOOLSET "vc71"
|
||||
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x560)
|
||||
|
||||
// CBuilder 6:
|
||||
# define BOOST_LIB_TOOLSET "bcb6"
|
||||
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
|
||||
|
||||
// CBuilder 6:
|
||||
# define BOOST_LIB_TOOLSET "bcb5"
|
||||
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x540)
|
||||
|
||||
// CBuilder 6:
|
||||
# define BOOST_LIB_TOOLSET "bcb4"
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// select thread opt:
|
||||
//
|
||||
#if defined(_MT) || defined(__MT__)
|
||||
# define BOOST_LIB_THREAD_OPT "m"
|
||||
#else
|
||||
# define BOOST_LIB_THREAD_OPT "s"
|
||||
#endif
|
||||
|
||||
//
|
||||
// select runtime opt:
|
||||
//
|
||||
#if defined(_DLL) || defined(_RTLDLL)
|
||||
# define BOOST_LIB_RT_OPT "d"
|
||||
#else
|
||||
# define BOOST_LIB_RT_OPT "s"
|
||||
#endif
|
||||
|
||||
//
|
||||
// select linkage opt:
|
||||
//
|
||||
#if (defined(_DLL) || defined(_RTLDLL)) && !defined(BOOST_REGEX_STATIC_LINK)
|
||||
# define BOOST_LIB_LINK_OPT "i"
|
||||
#else
|
||||
# define BOOST_LIB_LINK_OPT "s"
|
||||
#endif
|
||||
|
||||
//
|
||||
// select debug opt:
|
||||
//
|
||||
#if defined(BOOST_MSVC) && defined(_DEBUG) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG))
|
||||
# define BOOST_LIB_DEBUG_OPT "dd"
|
||||
#elif defined(BOOST_MSVC) && defined(_DEBUG)
|
||||
# define BOOST_LIB_DEBUG_OPT "d"
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ == 0x560) && (defined(_STLP_DEBUG) || defined(__STL_DEBUG))
|
||||
# define BOOST_LIB_DEBUG_OPT "dd"
|
||||
#else
|
||||
# define BOOST_LIB_DEBUG_OPT
|
||||
#endif
|
||||
|
||||
//
|
||||
// now include the lib:
|
||||
//
|
||||
#if defined(BOOST_LIB_NAME) \
|
||||
&& defined(BOOST_LIB_TOOLSET) \
|
||||
&& defined(BOOST_LIB_THREAD_OPT) \
|
||||
&& defined(BOOST_LIB_RT_OPT) \
|
||||
&& defined(BOOST_LIB_LINK_OPT) \
|
||||
&& defined(BOOST_LIB_DEBUG_OPT)
|
||||
|
||||
# pragma comment(lib, BOOST_LIB_NAME "_" BOOST_LIB_TOOLSET "_" BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_LINK_OPT BOOST_LIB_DEBUG_OPT ".lib")
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// finally undef any macros we may have set:
|
||||
//
|
||||
#if defined(BOOST_LIB_NAME)
|
||||
# undef BOOST_LIB_NAME
|
||||
#endif
|
||||
#if defined(BOOST_LIB_TOOLSET)
|
||||
# undef BOOST_LIB_TOOLSET
|
||||
#endif
|
||||
#if defined(BOOST_LIB_THREAD_OPT)
|
||||
# undef BOOST_LIB_THREAD_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_RT_OPT)
|
||||
# undef BOOST_LIB_RT_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_LINK_OPT)
|
||||
# undef BOOST_LIB_LINK_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_DEBUG_OPT)
|
||||
# undef BOOST_LIB_DEBUG_OPT
|
||||
#endif
|
||||
|
||||
|
||||
#endif // BOOST_REGEX_LIBRARY_INCLUDE_HPP
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,9 @@
|
||||
#ifndef BOOST_RE_PAT_EXCEPT_HPP
|
||||
#define BOOST_RE_PAT_EXCEPT_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
|
||||
@@ -23,8 +23,18 @@
|
||||
#ifndef BOOST_REGEX_TRAITS_HPP
|
||||
#define BOOST_REGEX_TRAITS_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED
|
||||
#include <boost/regex/v3/regex_traits.hpp>
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
# include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
# ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED
|
||||
# include <boost/regex/v3/regex_traits.hpp>
|
||||
# endif
|
||||
#else
|
||||
# ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED
|
||||
# include <boost/regex/v4/regex_traits.hpp>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif // include
|
||||
|
||||
@@ -53,5 +53,27 @@
|
||||
// cause more problems than they are worth:
|
||||
// #define BOOST_REGEX_NO_FWD
|
||||
|
||||
// define this if your compiler can't cope with the new
|
||||
// version 4 regex code.
|
||||
// #define BOOST_REGEX_V3
|
||||
|
||||
// define this if your compiler supports MS Windows structured
|
||||
// exception handling.
|
||||
// #define BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
|
||||
// define this if you want to use the recursive algorithm
|
||||
// even if BOOST_REGEX_HAS_MS_STACK_GUARD is not defined.
|
||||
// #define BOOST_REGEX_RECURSIVE
|
||||
|
||||
// define this if you want to use the non-recursive
|
||||
// algorithm, even if the recursive version would be the default.
|
||||
// #define BOOST_REGEX_NON_RECURSIVE
|
||||
|
||||
// define this if you want to set the size of the memory blocks
|
||||
// used by the non-recursive algorithm.
|
||||
// #define BOOST_REGEX_BLOCKSIZE 4096
|
||||
|
||||
// define this if you want to set the maximum number of memory blocks
|
||||
// used by the non-recursive algorithm.
|
||||
// #define BOOST_REGEX_MAX_BLOCKS 1024
|
||||
|
||||
|
||||
@@ -182,6 +182,7 @@ enum match_flags
|
||||
match_max = match_all
|
||||
};
|
||||
|
||||
typedef unsigned long match_flag_type;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
@@ -254,29 +255,29 @@ public:
|
||||
//
|
||||
// now matching operators:
|
||||
//
|
||||
bool Match(const char* p, unsigned int flags = match_default);
|
||||
bool Match(const std::string& s, unsigned int flags = match_default) { return Match(s.c_str(), flags); }
|
||||
bool Search(const char* p, unsigned int flags = match_default);
|
||||
bool Search(const std::string& s, unsigned int flags = match_default) { return Search(s.c_str(), flags); }
|
||||
unsigned int Grep(GrepCallback cb, const char* p, unsigned int flags = match_default);
|
||||
unsigned int Grep(GrepCallback cb, const std::string& s, unsigned int flags = match_default) { return Grep(cb, s.c_str(), flags); }
|
||||
unsigned int Grep(std::vector<std::string>& v, const char* p, unsigned int flags = match_default);
|
||||
unsigned int Grep(std::vector<std::string>& v, const std::string& s, unsigned int flags = match_default) { return Grep(v, s.c_str(), flags); }
|
||||
unsigned int Grep(std::vector<std::size_t>& v, const char* p, unsigned int flags = match_default);
|
||||
unsigned int Grep(std::vector<std::size_t>& v, const std::string& s, unsigned int flags = match_default) { return Grep(v, s.c_str(), flags); }
|
||||
bool Match(const char* p, match_flag_type flags = match_default);
|
||||
bool Match(const std::string& s, match_flag_type flags = match_default) { return Match(s.c_str(), flags); }
|
||||
bool Search(const char* p, match_flag_type flags = match_default);
|
||||
bool Search(const std::string& s, match_flag_type flags = match_default) { return Search(s.c_str(), flags); }
|
||||
unsigned int Grep(GrepCallback cb, const char* p, match_flag_type flags = match_default);
|
||||
unsigned int Grep(GrepCallback cb, const std::string& s, match_flag_type flags = match_default) { return Grep(cb, s.c_str(), flags); }
|
||||
unsigned int Grep(std::vector<std::string>& v, const char* p, match_flag_type flags = match_default);
|
||||
unsigned int Grep(std::vector<std::string>& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); }
|
||||
unsigned int Grep(std::vector<std::size_t>& v, const char* p, match_flag_type flags = match_default);
|
||||
unsigned int Grep(std::vector<std::size_t>& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); }
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, unsigned int flags = match_default);
|
||||
unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, unsigned int flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); }
|
||||
unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, unsigned int flags = match_default);
|
||||
unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, unsigned int flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); }
|
||||
unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default);
|
||||
unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); }
|
||||
unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default);
|
||||
unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); }
|
||||
#endif
|
||||
|
||||
std::string Merge(const std::string& in, const std::string& fmt,
|
||||
bool copy = true, unsigned int flags = match_default);
|
||||
bool copy = true, match_flag_type flags = match_default);
|
||||
std::string Merge(const char* in, const char* fmt,
|
||||
bool copy = true, unsigned int flags = match_default);
|
||||
bool copy = true, match_flag_type flags = match_default);
|
||||
|
||||
std::size_t Split(std::vector<std::string>& v, std::string& s, unsigned flags = match_default, unsigned max_count = ~0);
|
||||
std::size_t Split(std::vector<std::string>& v, std::string& s, match_flag_type flags = match_default, unsigned max_count = ~0);
|
||||
//
|
||||
// now operators for returning what matched in more detail:
|
||||
//
|
||||
|
||||
@@ -215,11 +215,7 @@ public:
|
||||
}
|
||||
void estimate_max_state_count(iterator a, iterator b, std::size_t states, std::random_access_iterator_tag*)
|
||||
{
|
||||
#ifndef BOOST_NO_STD_DISTANCE
|
||||
difference_type dist = std::distance(a,b);
|
||||
#else
|
||||
difference_type dist = b - a;
|
||||
#endif
|
||||
difference_type dist = boost::re_detail::distance(a,b);
|
||||
states *= states;
|
||||
difference_type lim = std::numeric_limits<difference_type>::max() - 1000 - states;
|
||||
if(dist > (difference_type)(lim / states))
|
||||
|
||||
@@ -626,6 +626,8 @@ public:
|
||||
cpp_regex_traits();
|
||||
~cpp_regex_traits();
|
||||
|
||||
void swap(cpp_regex_traits&);
|
||||
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::strlen(p);
|
||||
@@ -764,6 +766,7 @@ public:
|
||||
locale_type BOOST_REGEX_CALL imbue(locale_type l);
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; }
|
||||
std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2)const;
|
||||
void swap(cpp_regex_traits&);
|
||||
|
||||
struct sentry
|
||||
{
|
||||
|
||||
@@ -0,0 +1,395 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE basic_regex.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares template class basic_regex (note that member function
|
||||
* bodies are in regex_compile.hpp).
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
|
||||
#define BOOST_REGEX_V4_BASIC_REGEX_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
//
|
||||
// class reg_expression
|
||||
// represents the compiled
|
||||
// regular expression:
|
||||
//
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4251 4231 4660)
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_NO_FWD
|
||||
template <class charT, class traits = regex_traits<charT>, class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) >
|
||||
#else
|
||||
template <class charT, class traits, class Allocator >
|
||||
#endif
|
||||
class reg_expression : public regbase
|
||||
{
|
||||
public:
|
||||
// typedefs:
|
||||
typedef typename traits::size_type traits_size_type;
|
||||
typedef typename traits::uchar_type traits_uchar_type;
|
||||
typedef typename traits::string_type traits_string_type;
|
||||
typedef charT char_type;
|
||||
typedef traits traits_type;
|
||||
|
||||
typedef charT value_type;
|
||||
typedef charT& reference;
|
||||
typedef const charT& const_reference;
|
||||
typedef const charT* const_iterator;
|
||||
typedef const_iterator iterator;
|
||||
typedef typename Allocator::difference_type difference_type;
|
||||
typedef typename Allocator::size_type size_type;
|
||||
typedef Allocator allocator_type;
|
||||
typedef Allocator alloc_type;
|
||||
typedef regbase::flag_type flag_type;
|
||||
// locale_type
|
||||
// placeholder for actual locale type used by the
|
||||
// traits class to localise *this.
|
||||
typedef typename traits::locale_type locale_type;
|
||||
|
||||
public:
|
||||
explicit reg_expression(const Allocator& a = Allocator());
|
||||
explicit reg_expression(const charT* p, flag_type f = regbase::normal, const Allocator& a = Allocator());
|
||||
reg_expression(const charT* p1, const charT* p2, flag_type f = regbase::normal, const Allocator& a = Allocator());
|
||||
reg_expression(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator());
|
||||
reg_expression(const reg_expression&);
|
||||
~reg_expression();
|
||||
reg_expression& BOOST_REGEX_CALL operator=(const reg_expression&);
|
||||
reg_expression& BOOST_REGEX_CALL operator=(const charT* ptr)
|
||||
{
|
||||
set_expression(ptr, regbase::normal | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
|
||||
//
|
||||
// assign:
|
||||
reg_expression& assign(const reg_expression& that)
|
||||
{ return *this = that; }
|
||||
reg_expression& assign(const charT* ptr, flag_type f = regbase::normal)
|
||||
{
|
||||
set_expression(ptr, f | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
|
||||
reg_expression& assign(const charT* first,
|
||||
const charT* last,
|
||||
flag_type f = regbase::normal)
|
||||
{
|
||||
set_expression(first, last, f | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !(defined(__IBMCPP__) && (__IBMCPP__ <= 502))
|
||||
|
||||
template <class ST, class SA>
|
||||
unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regbase::normal)
|
||||
{ return set_expression(p.data(), p.data() + p.size(), f); }
|
||||
|
||||
template <class ST, class SA>
|
||||
explicit reg_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regbase::normal, const Allocator& a = Allocator())
|
||||
: data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0) { set_expression(p, f | regbase::use_except); }
|
||||
|
||||
template <class I>
|
||||
reg_expression(I first, I last, flag_type f = regbase::normal, const Allocator& al = Allocator())
|
||||
: data(al), pkmp(0), error_code_(REG_EMPTY), _expression(0)
|
||||
{
|
||||
size_type len = last-first;
|
||||
scoped_array<charT> a(new charT[len]);
|
||||
std::copy(first, last, a.get());
|
||||
set_expression(a.get(), a.get() + len, f | regbase::use_except);
|
||||
}
|
||||
|
||||
template <class ST, class SA>
|
||||
reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string<charT, ST, SA>& p)
|
||||
{
|
||||
set_expression(p.c_str(), p.c_str() + p.size(), regbase::normal | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <class string_traits, class A>
|
||||
reg_expression& BOOST_REGEX_CALL assign(
|
||||
const std::basic_string<charT, string_traits, A>& s,
|
||||
flag_type f = regbase::normal)
|
||||
{
|
||||
set_expression(s.c_str(), s.c_str() + s.size(), f | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
|
||||
template <class fwd_iterator>
|
||||
reg_expression& BOOST_REGEX_CALL assign(fwd_iterator first,
|
||||
fwd_iterator last,
|
||||
flag_type f = regbase::normal)
|
||||
{
|
||||
size_type len = last-first;
|
||||
scoped_array<charT> a(new charT[len]);
|
||||
std::copy(first, last, a.get());
|
||||
set_expression(a.get(), a.get() + len, f | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
#else
|
||||
unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT>& p, flag_type f = regbase::normal)
|
||||
{ return set_expression(p.data(), p.data() + p.size(), f | regbase::use_except); }
|
||||
|
||||
reg_expression(const std::basic_string<charT>& p, flag_type f = regbase::normal, const Allocator& a = Allocator())
|
||||
: data(a), pkmp(0) { set_expression(p, f | regbase::use_except); }
|
||||
|
||||
reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string<charT>& p)
|
||||
{
|
||||
set_expression(p.c_str(), p.c_str() + p.size(), regbase::normal | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
|
||||
reg_expression& BOOST_REGEX_CALL assign(
|
||||
const std::basic_string<charT>& s,
|
||||
flag_type f = regbase::normal)
|
||||
{
|
||||
set_expression(s.c_str(), s.c_str() + s.size(), f | regbase::use_except);
|
||||
return *this;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// allocator access:
|
||||
Allocator BOOST_REGEX_CALL get_allocator()const;
|
||||
//
|
||||
// locale:
|
||||
locale_type BOOST_REGEX_CALL imbue(locale_type l){ return traits_inst.imbue(l); }
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return traits_inst.getloc(); }
|
||||
//
|
||||
// flags:
|
||||
flag_type BOOST_REGEX_CALL getflags()const
|
||||
{ return flags(); }
|
||||
//
|
||||
// str:
|
||||
std::basic_string<charT> BOOST_REGEX_CALL str()const
|
||||
{
|
||||
std::basic_string<charT> result;
|
||||
if(this->error_code() == 0)
|
||||
result = std::basic_string<charT>(_expression, _expression_len);
|
||||
return result;
|
||||
}
|
||||
//
|
||||
// begin, end:
|
||||
const_iterator BOOST_REGEX_CALL begin()const
|
||||
{ return (this->error_code() ? 0 : _expression); }
|
||||
const_iterator BOOST_REGEX_CALL end()const
|
||||
{ return (this->error_code() ? 0 : _expression + _expression_len); }
|
||||
//
|
||||
// swap:
|
||||
void BOOST_REGEX_CALL swap(reg_expression&)throw();
|
||||
//
|
||||
// size:
|
||||
size_type BOOST_REGEX_CALL size()const
|
||||
{ return (this->error_code() ? 0 : _expression_len); }
|
||||
//
|
||||
// max_size:
|
||||
size_type BOOST_REGEX_CALL max_size()const
|
||||
{ return UINT_MAX; }
|
||||
//
|
||||
// empty:
|
||||
bool BOOST_REGEX_CALL empty()const
|
||||
{ return 0 != this->error_code(); }
|
||||
|
||||
unsigned BOOST_REGEX_CALL mark_count()const { return (this->error_code() ? 0 : marks); }
|
||||
int BOOST_REGEX_CALL compare(const reg_expression&) const;
|
||||
bool BOOST_REGEX_CALL operator==(const reg_expression& e)const
|
||||
{ return compare(e) == 0; }
|
||||
bool operator != (const basic_regex<charT, traits, Allocator>& e)
|
||||
{ return compare(e) != 0; }
|
||||
bool BOOST_REGEX_CALL operator<(const reg_expression& e)const
|
||||
{ return compare(e) < 0; }
|
||||
bool BOOST_REGEX_CALL operator>(const reg_expression& e)const
|
||||
{ return compare(e) > 0; }
|
||||
bool BOOST_REGEX_CALL operator<=(const reg_expression& e)const
|
||||
{ return compare(e) <= 0; }
|
||||
bool BOOST_REGEX_CALL operator>=(const reg_expression& e)const
|
||||
{ return compare(e) >= 0; }
|
||||
|
||||
//
|
||||
// The following are deprecated as public interfaces
|
||||
// but are available for compatibility with earlier versions.
|
||||
allocator_type BOOST_REGEX_CALL allocator()const;
|
||||
const charT* BOOST_REGEX_CALL expression()const { return (this->error_code() ? 0 : _expression); }
|
||||
unsigned int BOOST_REGEX_CALL set_expression(const charT* p, const charT* end, flag_type f = regbase::normal);
|
||||
unsigned int BOOST_REGEX_CALL set_expression(const charT* p, flag_type f = regbase::normal) { return set_expression(p, p + traits_type::length(p), f); }
|
||||
//
|
||||
// this should be private but template friends don't work:
|
||||
const traits_type& get_traits()const { return traits_inst; }
|
||||
unsigned int BOOST_REGEX_CALL error_code()const
|
||||
{
|
||||
return error_code_;
|
||||
}
|
||||
|
||||
private:
|
||||
traits_type traits_inst; // traits class in use
|
||||
re_detail::raw_storage<Allocator> data; // our state machine
|
||||
unsigned _restart_type; // search method to use
|
||||
unsigned marks; // number of marked sub-expressions
|
||||
int repeats; // number of repeats
|
||||
unsigned char* startmap; // characters that can match the first state(s) in the machine
|
||||
std::size_t _expression_len; // length of the expression
|
||||
std::size_t _leading_len; // length of any leading literal
|
||||
const charT* _leading_string; // leading literal string
|
||||
std::size_t _leading_string_len; // and it's length
|
||||
re_detail::kmp_info<charT>* pkmp; // pointer to Knuth Morris Pratt state machine when available
|
||||
unsigned error_code_; // our current status
|
||||
charT* _expression; // the expression we just compiled if any
|
||||
|
||||
void BOOST_REGEX_CALL compile_maps();
|
||||
void BOOST_REGEX_CALL compile_map(re_detail::re_syntax_base* node, unsigned char* _map, unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal = 0)const;
|
||||
bool BOOST_REGEX_CALL probe_start(re_detail::re_syntax_base* node, charT c, re_detail::re_syntax_base* terminal)const;
|
||||
bool BOOST_REGEX_CALL probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const;
|
||||
void BOOST_REGEX_CALL fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces);
|
||||
void BOOST_REGEX_CALL move_offsets(re_detail::re_syntax_base* j, unsigned size);
|
||||
re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set(const charT*& first, const charT* last);
|
||||
re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<boost::uint_fast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_narrow_type&);
|
||||
re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_aux(re_detail::jstack<traits_string_type, Allocator>& singles, re_detail::jstack<traits_string_type, Allocator>& ranges, re_detail::jstack<boost::uint_fast32_t, Allocator>& classes, re_detail::jstack<traits_string_type, Allocator>& equivalents, bool isnot, const re_detail::_wide_type&);
|
||||
re_detail::re_syntax_base* BOOST_REGEX_CALL compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot = false);
|
||||
unsigned int BOOST_REGEX_CALL parse_inner_set(const charT*& first, const charT* last);
|
||||
|
||||
re_detail::re_syntax_base* BOOST_REGEX_CALL add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size = sizeof(re_detail::re_syntax_base));
|
||||
re_detail::re_syntax_base* BOOST_REGEX_CALL add_literal(re_detail::re_syntax_base* dat, charT c);
|
||||
charT BOOST_REGEX_CALL parse_escape(const charT*& first, const charT* last);
|
||||
void BOOST_REGEX_CALL parse_range(const charT*& first, const charT* last, unsigned& min, unsigned& max);
|
||||
bool BOOST_REGEX_CALL skip_space(const charT*& first, const charT* last);
|
||||
unsigned int BOOST_REGEX_CALL probe_restart(re_detail::re_syntax_base* dat);
|
||||
unsigned int BOOST_REGEX_CALL fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end);
|
||||
void BOOST_REGEX_CALL fail(unsigned int err);
|
||||
|
||||
protected:
|
||||
static int BOOST_REGEX_CALL repeat_count(const reg_expression& e)
|
||||
{ return e.repeats; }
|
||||
static unsigned int BOOST_REGEX_CALL restart_type(const reg_expression& e)
|
||||
{ return e._restart_type; }
|
||||
static const re_detail::re_syntax_base* BOOST_REGEX_CALL first(const reg_expression& e)
|
||||
{ return (const re_detail::re_syntax_base*)e.data.data(); }
|
||||
static const unsigned char* BOOST_REGEX_CALL get_map(const reg_expression& e)
|
||||
{ return e.startmap; }
|
||||
static std::size_t BOOST_REGEX_CALL leading_length(const reg_expression& e)
|
||||
{ return e._leading_len; }
|
||||
static const re_detail::kmp_info<charT>* get_kmp(const reg_expression& e)
|
||||
{ return e.pkmp; }
|
||||
static bool BOOST_REGEX_CALL can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_wide_type&);
|
||||
static bool BOOST_REGEX_CALL can_start(charT c, const unsigned char* _map, unsigned char mask, const re_detail::_narrow_type&);
|
||||
};
|
||||
|
||||
template <class charT, class traits, class Allocator >
|
||||
void swap(reg_expression<charT, traits, Allocator>& a, reg_expression<charT, traits, Allocator>& b)
|
||||
{
|
||||
a.swap(b);
|
||||
}
|
||||
|
||||
#ifndef BOOST_NO_STD_LOCALE
|
||||
template <class charT, class traits, class traits2, class Allocator>
|
||||
std::basic_ostream<charT, traits>&
|
||||
operator << (std::basic_ostream<charT, traits>& os,
|
||||
const reg_expression<charT, traits2, Allocator>& e)
|
||||
{
|
||||
return (os << e.str());
|
||||
}
|
||||
#else
|
||||
template <class traits, class Allocator>
|
||||
std::ostream& operator << (std::ostream& os, const reg_expression<char, traits, Allocator>& e)
|
||||
{
|
||||
return (os << e.str());
|
||||
}
|
||||
#endif
|
||||
|
||||
//
|
||||
// We want to rename reg_expression basic_regex but maintain
|
||||
// backwards compatibility, so class basic_regex is just a thin
|
||||
// wrapper around reg_expression:
|
||||
//
|
||||
#ifdef BOOST_REGEX_NO_FWD
|
||||
template <class charT, class traits = regex_traits<charT>, class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) >
|
||||
#else
|
||||
template <class charT, class traits, class Allocator >
|
||||
#endif
|
||||
class basic_regex : public reg_expression<charT, traits, Allocator>
|
||||
{
|
||||
public:
|
||||
typedef typename reg_expression<charT, traits, Allocator>::flag_type flag_type;
|
||||
typedef typename reg_expression<charT, traits, Allocator>::size_type size_type;
|
||||
explicit basic_regex(const Allocator& a = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(a){}
|
||||
explicit basic_regex(const charT* p, flag_type f = regbase::normal, const Allocator& a = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(p,f,a){}
|
||||
basic_regex(const charT* p1, const charT* p2, flag_type f = regbase::normal, const Allocator& a = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(p1,p2,f,a){}
|
||||
basic_regex(const charT* p, size_type len, flag_type f, const Allocator& a = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(p,len,f,a){}
|
||||
basic_regex(const basic_regex& that)
|
||||
: reg_expression<charT, traits, Allocator>(that){}
|
||||
~basic_regex(){}
|
||||
basic_regex& BOOST_REGEX_CALL operator=(const basic_regex& that)
|
||||
{
|
||||
this->assign(that);
|
||||
return *this;
|
||||
}
|
||||
basic_regex& BOOST_REGEX_CALL operator=(const charT* ptr)
|
||||
{
|
||||
this->assign(ptr);
|
||||
return *this;
|
||||
}
|
||||
#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !(defined(__IBMCPP__) && (__IBMCPP__ <= 502))
|
||||
template <class ST, class SA>
|
||||
explicit basic_regex(const std::basic_string<charT, ST, SA>& p, flag_type f = regbase::normal, const Allocator& a = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(p,f,a){}
|
||||
|
||||
template <class I>
|
||||
basic_regex(I first, I last, flag_type f = regbase::normal, const Allocator& al = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(first, last, f, a){}
|
||||
|
||||
template <class ST, class SA>
|
||||
basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string<charT, ST, SA>& p)
|
||||
{
|
||||
this->assign(p);
|
||||
return *this;
|
||||
}
|
||||
#else
|
||||
basic_regex(const std::basic_string<charT>& p, flag_type f = regbase::normal, const Allocator& a = Allocator())
|
||||
: reg_expression<charT, traits, Allocator>(p,f,a){}
|
||||
|
||||
basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string<charT>& p)
|
||||
{
|
||||
this->assign(p);
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning (pop)
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE char_regex_traits.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares deprecated traits classes char_regex_traits<>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
|
||||
#define BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
namespace deprecated{
|
||||
//
|
||||
// class char_regex_traits_i
|
||||
// provides case insensitive traits classes (deprecated):
|
||||
template <class charT>
|
||||
class char_regex_traits_i : public regex_traits<charT> {};
|
||||
|
||||
template<>
|
||||
class char_regex_traits_i<char> : public regex_traits<char>
|
||||
{
|
||||
public:
|
||||
typedef char char_type;
|
||||
typedef unsigned char uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef regex_traits<char> base_type;
|
||||
|
||||
char BOOST_REGEX_CALL translate(char c, bool)const
|
||||
{
|
||||
return static_cast<const regex_traits<char>*>(this)->translate(c, true);
|
||||
}
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
template<>
|
||||
class char_regex_traits_i<wchar_t> : public regex_traits<wchar_t>
|
||||
{
|
||||
public:
|
||||
typedef wchar_t char_type;
|
||||
typedef unsigned short uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef regex_traits<wchar_t> base_type;
|
||||
|
||||
wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool)const
|
||||
{
|
||||
return static_cast<const regex_traits<wchar_t>*>(this)->translate(c, true);
|
||||
}
|
||||
boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const
|
||||
{
|
||||
boost::uint_fast32_t result = static_cast<const regex_traits<wchar_t>*>(this)->lookup_classname(first, last);
|
||||
if((result & base_type::char_class_upper) == base_type::char_class_upper)
|
||||
result |= base_type::char_class_alpha;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
} // namespace deprecated
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif // include
|
||||
@@ -0,0 +1,293 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE cregex.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares POSIX API functions
|
||||
* + boost::RegEx high level wrapper.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_RE_CREGEX_HPP_INCLUDED
|
||||
#define BOOST_RE_CREGEX_HPP_INCLUDED
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
#include <boost/regex/v4/match_flags.hpp>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
/* include these defs only for POSIX compatablity */
|
||||
#ifdef __cplusplus
|
||||
namespace boost{
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus) && !defined(BOOST_NO_STDC_NAMESPACE)
|
||||
typedef std::ptrdiff_t regoff_t;
|
||||
typedef std::size_t regsize_t;
|
||||
#else
|
||||
typedef ptrdiff_t regoff_t;
|
||||
typedef size_t regsize_t;
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int re_magic;
|
||||
unsigned int re_nsub; /* number of parenthesized subexpressions */
|
||||
const char* re_endp; /* end pointer for REG_PEND */
|
||||
void* guts; /* none of your business :-) */
|
||||
match_flag_type eflags; /* none of your business :-) */
|
||||
} regex_tA;
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
typedef struct
|
||||
{
|
||||
unsigned int re_magic;
|
||||
unsigned int re_nsub; /* number of parenthesized subexpressions */
|
||||
const wchar_t* re_endp; /* end pointer for REG_PEND */
|
||||
void* guts; /* none of your business :-) */
|
||||
match_flag_type eflags; /* none of your business :-) */
|
||||
} regex_tW;
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
regoff_t rm_so; /* start of match */
|
||||
regoff_t rm_eo; /* end of match */
|
||||
} regmatch_t;
|
||||
|
||||
/* regcomp() flags */
|
||||
typedef enum{
|
||||
REG_BASIC = 0000,
|
||||
REG_EXTENDED = 0001,
|
||||
REG_ICASE = 0002,
|
||||
REG_NOSUB = 0004,
|
||||
REG_NEWLINE = 0010,
|
||||
REG_NOSPEC = 0020,
|
||||
REG_PEND = 0040,
|
||||
REG_DUMP = 0200,
|
||||
REG_NOCOLLATE = 0400,
|
||||
REG_ESCAPE_IN_LISTS = 01000,
|
||||
REG_NEWLINE_ALT = 02000,
|
||||
REG_PERLEX = 04000,
|
||||
|
||||
REG_PERL = REG_EXTENDED | REG_NOCOLLATE | REG_ESCAPE_IN_LISTS | REG_PERLEX,
|
||||
REG_AWK = REG_EXTENDED | REG_ESCAPE_IN_LISTS,
|
||||
REG_GREP = REG_BASIC | REG_NEWLINE_ALT,
|
||||
REG_EGREP = REG_EXTENDED | REG_NEWLINE_ALT,
|
||||
|
||||
REG_ASSERT = 15,
|
||||
REG_INVARG = 16,
|
||||
REG_ATOI = 255, /* convert name to number (!) */
|
||||
REG_ITOA = 0400 /* convert number to name (!) */
|
||||
} reg_comp_flags;
|
||||
|
||||
/* regexec() flags */
|
||||
typedef enum{
|
||||
REG_NOTBOL = 00001,
|
||||
REG_NOTEOL = 00002,
|
||||
REG_STARTEND = 00004
|
||||
} reg_exec_flags;
|
||||
|
||||
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA*, const char*, int);
|
||||
BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorA(int, const regex_tA*, char*, regsize_t);
|
||||
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA*, const char*, regsize_t, regmatch_t*, int);
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeA(regex_tA*);
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW*, const wchar_t*, int);
|
||||
BOOST_REGEX_DECL regsize_t BOOST_REGEX_CCALL regerrorW(int, const regex_tW*, wchar_t*, regsize_t);
|
||||
BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW*, const wchar_t*, regsize_t, regmatch_t*, int);
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CCALL regfreeW(regex_tW*);
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define regcomp regcompW
|
||||
#define regerror regerrorW
|
||||
#define regexec regexecW
|
||||
#define regfree regfreeW
|
||||
#define regex_t regex_tW
|
||||
#else
|
||||
#define regcomp regcompA
|
||||
#define regerror regerrorA
|
||||
#define regexec regexecA
|
||||
#define regfree regfreeA
|
||||
#define regex_t regex_tA
|
||||
#endif
|
||||
|
||||
/* regerror() flags */
|
||||
typedef enum
|
||||
{
|
||||
REG_NOERROR = 0, /* Success. */
|
||||
REG_NOMATCH = 1, /* Didn't find a match (for regexec). */
|
||||
|
||||
/* POSIX regcomp return error codes. (In the order listed in the
|
||||
standard.) */
|
||||
REG_BADPAT = 2, /* Invalid pattern. */
|
||||
REG_ECOLLATE = 3, /* Undefined collating element. */
|
||||
REG_ECTYPE = 4, /* Invalid character class name. */
|
||||
REG_EESCAPE = 5, /* Trailing backslash. */
|
||||
REG_ESUBREG = 6, /* Invalid back reference. */
|
||||
REG_EBRACK = 7, /* Unmatched left bracket. */
|
||||
REG_EPAREN = 8, /* Parenthesis imbalance. */
|
||||
REG_EBRACE = 9, /* Unmatched \{. */
|
||||
REG_BADBR = 10, /* Invalid contents of \{\}. */
|
||||
REG_ERANGE = 11, /* Invalid range end. */
|
||||
REG_ESPACE = 12, /* Ran out of memory. */
|
||||
REG_BADRPT = 13, /* No preceding re for repetition op. */
|
||||
REG_EEND = 14, /* unexpected end of expression */
|
||||
REG_ESIZE = 15, /* expression too big */
|
||||
REG_ERPAREN = 16, /* unmatched right parenthesis */
|
||||
REG_EMPTY = 17, /* empty expression */
|
||||
REG_E_MEMORY = REG_ESIZE, /* out of memory */
|
||||
REG_E_UNKNOWN = 18 /* unknown error */
|
||||
} reg_errcode_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
} // namespace
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#if __BORLANDC__ > 0x520
|
||||
#pragma option pop
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// C++ high level wrapper goes here:
|
||||
//
|
||||
#if defined(__cplusplus)
|
||||
#include <string>
|
||||
#include <vector>
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#if __BORLANDC__ == 0x530
|
||||
#pragma option push -a4 -b
|
||||
#elif __BORLANDC__ > 0x530
|
||||
#pragma option push -a8 -b
|
||||
#endif
|
||||
#endif
|
||||
|
||||
class RegEx;
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
class RegExData;
|
||||
struct pred1;
|
||||
struct pred2;
|
||||
struct pred3;
|
||||
struct pred4;
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
#if defined(BOOST_MSVC) || defined(__BORLANDC__)
|
||||
typedef bool (__cdecl *GrepCallback)(const RegEx& expression);
|
||||
typedef bool (__cdecl *GrepFileCallback)(const char* file, const RegEx& expression);
|
||||
typedef bool (__cdecl *FindFilesCallback)(const char* file);
|
||||
#else
|
||||
typedef bool (*GrepCallback)(const RegEx& expression);
|
||||
typedef bool (*GrepFileCallback)(const char* file, const RegEx& expression);
|
||||
typedef bool (*FindFilesCallback)(const char* file);
|
||||
#endif
|
||||
|
||||
class BOOST_REGEX_DECL RegEx
|
||||
{
|
||||
private:
|
||||
re_detail::RegExData* pdata;
|
||||
public:
|
||||
RegEx();
|
||||
RegEx(const RegEx& o);
|
||||
~RegEx();
|
||||
explicit RegEx(const char* c, bool icase = false);
|
||||
explicit RegEx(const std::string& s, bool icase = false);
|
||||
RegEx& operator=(const RegEx& o);
|
||||
RegEx& operator=(const char* p);
|
||||
RegEx& operator=(const std::string& s){ return this->operator=(s.c_str()); }
|
||||
unsigned int SetExpression(const char* p, bool icase = false);
|
||||
unsigned int SetExpression(const std::string& s, bool icase = false){ return SetExpression(s.c_str(), icase); }
|
||||
std::string Expression()const;
|
||||
unsigned int error_code()const;
|
||||
//
|
||||
// now matching operators:
|
||||
//
|
||||
bool Match(const char* p, match_flag_type flags = match_default);
|
||||
bool Match(const std::string& s, match_flag_type flags = match_default) { return Match(s.c_str(), flags); }
|
||||
bool Search(const char* p, match_flag_type flags = match_default);
|
||||
bool Search(const std::string& s, match_flag_type flags = match_default) { return Search(s.c_str(), flags); }
|
||||
unsigned int Grep(GrepCallback cb, const char* p, match_flag_type flags = match_default);
|
||||
unsigned int Grep(GrepCallback cb, const std::string& s, match_flag_type flags = match_default) { return Grep(cb, s.c_str(), flags); }
|
||||
unsigned int Grep(std::vector<std::string>& v, const char* p, match_flag_type flags = match_default);
|
||||
unsigned int Grep(std::vector<std::string>& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); }
|
||||
unsigned int Grep(std::vector<std::size_t>& v, const char* p, match_flag_type flags = match_default);
|
||||
unsigned int Grep(std::vector<std::size_t>& v, const std::string& s, match_flag_type flags = match_default) { return Grep(v, s.c_str(), flags); }
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
unsigned int GrepFiles(GrepFileCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default);
|
||||
unsigned int GrepFiles(GrepFileCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return GrepFiles(cb, files.c_str(), recurse, flags); }
|
||||
unsigned int FindFiles(FindFilesCallback cb, const char* files, bool recurse = false, match_flag_type flags = match_default);
|
||||
unsigned int FindFiles(FindFilesCallback cb, const std::string& files, bool recurse = false, match_flag_type flags = match_default) { return FindFiles(cb, files.c_str(), recurse, flags); }
|
||||
#endif
|
||||
|
||||
std::string Merge(const std::string& in, const std::string& fmt,
|
||||
bool copy = true, match_flag_type flags = match_default);
|
||||
std::string Merge(const char* in, const char* fmt,
|
||||
bool copy = true, match_flag_type flags = match_default);
|
||||
|
||||
std::size_t Split(std::vector<std::string>& v, std::string& s, match_flag_type flags = match_default, unsigned max_count = ~0);
|
||||
//
|
||||
// now operators for returning what matched in more detail:
|
||||
//
|
||||
std::size_t Position(int i = 0)const;
|
||||
std::size_t Length(int i = 0)const;
|
||||
bool Matched(int i = 0)const;
|
||||
unsigned int Marks()const;
|
||||
std::string What(int i = 0)const;
|
||||
std::string operator[](int i)const { return What(i); }
|
||||
|
||||
static const unsigned int npos;
|
||||
|
||||
friend struct re_detail::pred1;
|
||||
friend struct re_detail::pred2;
|
||||
friend struct re_detail::pred3;
|
||||
friend struct re_detail::pred4;
|
||||
};
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
#endif // include guard
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,456 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE fileiter.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares various platform independent file and
|
||||
* directory iterators, plus binary file input in
|
||||
* the form of class map_file.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_RE_FILEITER_HPP_INCLUDED
|
||||
#define BOOST_RE_FILEITER_HPP_INCLUDED
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
|
||||
#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(BOOST_REGEX_NO_W32)
|
||||
#error "Sorry, can't mix <windows.h> with STL code and gcc compiler: if you ran configure, try again with configure --disable-ms-windows"
|
||||
#define BOOST_REGEX_FI_WIN32_MAP
|
||||
#define BOOST_REGEX_FI_POSIX_DIR
|
||||
#elif (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32)
|
||||
#define BOOST_REGEX_FI_WIN32_MAP
|
||||
#define BOOST_REGEX_FI_WIN32_DIR
|
||||
#else
|
||||
#define BOOST_REGEX_FI_POSIX_MAP
|
||||
#define BOOST_REGEX_FI_POSIX_DIR
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_REGEX_FI_WIN32_MAP)||defined(BOOST_REGEX_FI_WIN32_DIR)
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_REGEX_FI_WIN32_DIR)
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
typedef WIN32_FIND_DATAA _fi_find_data;
|
||||
typedef HANDLE _fi_find_handle;
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#define _fi_invalid_handle INVALID_HANDLE_VALUE
|
||||
#define _fi_dir FILE_ATTRIBUTE_DIRECTORY
|
||||
|
||||
#elif defined(BOOST_REGEX_FI_POSIX_DIR)
|
||||
|
||||
#include <cstdio>
|
||||
#include <cctype>
|
||||
#include <iterator>
|
||||
#include <list>
|
||||
#include <cassert>
|
||||
#include <dirent.h>
|
||||
|
||||
#if defined(__SUNPRO_CC)
|
||||
using std::list;
|
||||
#endif
|
||||
|
||||
#ifndef MAX_PATH
|
||||
#define MAX_PATH 256
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
struct _fi_find_data
|
||||
{
|
||||
unsigned dwFileAttributes;
|
||||
char cFileName[MAX_PATH];
|
||||
};
|
||||
|
||||
struct _fi_priv_data;
|
||||
|
||||
typedef _fi_priv_data* _fi_find_handle;
|
||||
#define _fi_invalid_handle 0
|
||||
#define _fi_dir 1
|
||||
|
||||
_fi_find_handle _fi_FindFirstFile(const char* lpFileName, _fi_find_data* lpFindFileData);
|
||||
bool _fi_FindNextFile(_fi_find_handle hFindFile, _fi_find_data* lpFindFileData);
|
||||
bool _fi_FindClose(_fi_find_handle hFindFile);
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#if __BORLANDC__ > 0x520
|
||||
#pragma option pop
|
||||
#endif
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#ifdef FindFirstFile
|
||||
#undef FindFirstFile
|
||||
#endif
|
||||
#ifdef FindNextFile
|
||||
#undef FindNextFile
|
||||
#endif
|
||||
#ifdef FindClose
|
||||
#undef FindClose
|
||||
#endif
|
||||
|
||||
#define FindFirstFileA _fi_FindFirstFile
|
||||
#define FindNextFileA _fi_FindNextFile
|
||||
#define FindClose _fi_FindClose
|
||||
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#if __BORLANDC__ == 0x530
|
||||
#pragma option push -a4 -b
|
||||
#elif __BORLANDC__ > 0x530
|
||||
#pragma option push -a8 -b
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_FI_WIN32_MAP // win32 mapfile
|
||||
|
||||
class BOOST_REGEX_DECL mapfile
|
||||
{
|
||||
HANDLE hfile;
|
||||
HANDLE hmap;
|
||||
const char* _first;
|
||||
const char* _last;
|
||||
public:
|
||||
|
||||
typedef const char* iterator;
|
||||
|
||||
mapfile(){ hfile = hmap = 0; _first = _last = 0; }
|
||||
mapfile(const char* file){ hfile = hmap = 0; _first = _last = 0; open(file); }
|
||||
~mapfile(){ close(); }
|
||||
void open(const char* file);
|
||||
void close();
|
||||
const char* begin(){ return _first; }
|
||||
const char* end(){ return _last; }
|
||||
size_t size(){ return _last - _first; }
|
||||
bool valid(){ return (hfile != 0) && (hfile != INVALID_HANDLE_VALUE); }
|
||||
};
|
||||
|
||||
|
||||
#else
|
||||
|
||||
class BOOST_REGEX_DECL mapfile_iterator;
|
||||
|
||||
class BOOST_REGEX_DECL mapfile
|
||||
{
|
||||
typedef char* pointer;
|
||||
std::FILE* hfile;
|
||||
long int _size;
|
||||
pointer* _first;
|
||||
pointer* _last;
|
||||
mutable std::list<pointer*> condemed;
|
||||
enum sizes
|
||||
{
|
||||
buf_size = 4096
|
||||
};
|
||||
void lock(pointer* node)const;
|
||||
void unlock(pointer* node)const;
|
||||
public:
|
||||
|
||||
typedef mapfile_iterator iterator;
|
||||
|
||||
mapfile(){ hfile = 0; _size = 0; _first = _last = 0; }
|
||||
mapfile(const char* file){ hfile = 0; _size = 0; _first = _last = 0; open(file); }
|
||||
~mapfile(){ close(); }
|
||||
void open(const char* file);
|
||||
void close();
|
||||
iterator begin()const;
|
||||
iterator end()const;
|
||||
unsigned long size()const{ return _size; }
|
||||
bool valid()const{ return hfile != 0; }
|
||||
friend class mapfile_iterator;
|
||||
};
|
||||
|
||||
class BOOST_REGEX_DECL mapfile_iterator
|
||||
#if !defined(BOOST_NO_STD_ITERATOR) || defined(BOOST_MSVC_STD_ITERATOR)
|
||||
: public std::iterator<std::random_access_iterator_tag, char>
|
||||
#endif
|
||||
{
|
||||
typedef mapfile::pointer internal_pointer;
|
||||
internal_pointer* node;
|
||||
const mapfile* file;
|
||||
unsigned long offset;
|
||||
long position()const
|
||||
{
|
||||
return file ? ((node - file->_first) * mapfile::buf_size + offset) : 0;
|
||||
}
|
||||
void position(long pos)
|
||||
{
|
||||
if(file)
|
||||
{
|
||||
node = file->_first + (pos / mapfile::buf_size);
|
||||
offset = pos % mapfile::buf_size;
|
||||
}
|
||||
}
|
||||
public:
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef char value_type;
|
||||
typedef const char* pointer;
|
||||
typedef const char& reference;
|
||||
typedef std::random_access_iterator_tag iterator_category;
|
||||
|
||||
mapfile_iterator() { node = 0; file = 0; offset = 0; }
|
||||
mapfile_iterator(const mapfile* f, long position)
|
||||
{
|
||||
file = f;
|
||||
node = f->_first + position / mapfile::buf_size;
|
||||
offset = position % mapfile::buf_size;
|
||||
if(file)
|
||||
file->lock(node);
|
||||
}
|
||||
mapfile_iterator(const mapfile_iterator& i)
|
||||
{
|
||||
file = i.file;
|
||||
node = i.node;
|
||||
offset = i.offset;
|
||||
if(file)
|
||||
file->lock(node);
|
||||
}
|
||||
~mapfile_iterator()
|
||||
{
|
||||
if(file && node)
|
||||
file->unlock(node);
|
||||
}
|
||||
mapfile_iterator& operator = (const mapfile_iterator& i);
|
||||
char operator* ()const
|
||||
{
|
||||
assert(node >= file->_first);
|
||||
assert(node < file->_last);
|
||||
return file ? *(*node + sizeof(int) + offset) : char(0);
|
||||
}
|
||||
char operator[] (long off)const
|
||||
{
|
||||
mapfile_iterator tmp(*this);
|
||||
tmp += off;
|
||||
return *tmp;
|
||||
}
|
||||
mapfile_iterator& operator++ ();
|
||||
mapfile_iterator operator++ (int);
|
||||
mapfile_iterator& operator-- ();
|
||||
mapfile_iterator operator-- (int);
|
||||
|
||||
mapfile_iterator& operator += (long off)
|
||||
{
|
||||
position(position() + off);
|
||||
return *this;
|
||||
}
|
||||
mapfile_iterator& operator -= (long off)
|
||||
{
|
||||
position(position() - off);
|
||||
return *this;
|
||||
}
|
||||
|
||||
friend inline bool operator==(const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return (i.file == j.file) && (i.node == j.node) && (i.offset == j.offset);
|
||||
}
|
||||
|
||||
friend inline bool operator!=(const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return !(i == j);
|
||||
}
|
||||
|
||||
friend inline bool operator<(const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return i.position() < j.position();
|
||||
}
|
||||
friend inline bool operator>(const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return i.position() > j.position();
|
||||
}
|
||||
friend inline bool operator<=(const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return i.position() <= j.position();
|
||||
}
|
||||
friend inline bool operator>=(const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return i.position() >= j.position();
|
||||
}
|
||||
|
||||
friend mapfile_iterator operator + (const mapfile_iterator& i, long off);
|
||||
friend mapfile_iterator operator + (long off, const mapfile_iterator& i)
|
||||
{
|
||||
mapfile_iterator tmp(i);
|
||||
return tmp += off;
|
||||
}
|
||||
friend mapfile_iterator operator - (const mapfile_iterator& i, long off);
|
||||
friend inline long operator - (const mapfile_iterator& i, const mapfile_iterator& j)
|
||||
{
|
||||
return i.position() - j.position();
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
// _fi_sep determines the directory separator, either '\\' or '/'
|
||||
BOOST_REGEX_DECL extern const char* _fi_sep;
|
||||
|
||||
struct file_iterator_ref
|
||||
{
|
||||
_fi_find_handle hf;
|
||||
_fi_find_data _data;
|
||||
long count;
|
||||
};
|
||||
|
||||
|
||||
class BOOST_REGEX_DECL file_iterator
|
||||
{
|
||||
char* _root;
|
||||
char* _path;
|
||||
char* ptr;
|
||||
file_iterator_ref* ref;
|
||||
|
||||
public:
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef const char* value_type;
|
||||
typedef const char** pointer;
|
||||
typedef const char*& reference;
|
||||
typedef std::input_iterator_tag iterator_category;
|
||||
|
||||
file_iterator();
|
||||
file_iterator(const char* wild);
|
||||
~file_iterator();
|
||||
file_iterator(const file_iterator&);
|
||||
file_iterator& operator=(const file_iterator&);
|
||||
const char* root()const { return _root; }
|
||||
const char* path()const { return _path; }
|
||||
const char* name()const { return ptr; }
|
||||
_fi_find_data* data() { return &(ref->_data); }
|
||||
void next();
|
||||
file_iterator& operator++() { next(); return *this; }
|
||||
file_iterator operator++(int);
|
||||
const char* operator*() { return path(); }
|
||||
|
||||
friend inline bool operator == (const file_iterator& f1, const file_iterator& f2)
|
||||
{
|
||||
return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle));
|
||||
}
|
||||
|
||||
friend inline bool operator != (const file_iterator& f1, const file_iterator& f2)
|
||||
{
|
||||
return !(f1 == f2);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// dwa 9/13/00 - suppress unused parameter warning
|
||||
inline bool operator < (const file_iterator&, const file_iterator&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
class BOOST_REGEX_DECL directory_iterator
|
||||
{
|
||||
char* _root;
|
||||
char* _path;
|
||||
char* ptr;
|
||||
file_iterator_ref* ref;
|
||||
|
||||
public:
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef const char* value_type;
|
||||
typedef const char** pointer;
|
||||
typedef const char*& reference;
|
||||
typedef std::input_iterator_tag iterator_category;
|
||||
|
||||
directory_iterator();
|
||||
directory_iterator(const char* wild);
|
||||
~directory_iterator();
|
||||
directory_iterator(const directory_iterator& other);
|
||||
directory_iterator& operator=(const directory_iterator& other);
|
||||
|
||||
const char* root()const { return _root; }
|
||||
const char* path()const { return _path; }
|
||||
const char* name()const { return ptr; }
|
||||
_fi_find_data* data() { return &(ref->_data); }
|
||||
void next();
|
||||
directory_iterator& operator++() { next(); return *this; }
|
||||
directory_iterator operator++(int);
|
||||
const char* operator*() { return path(); }
|
||||
|
||||
static const char* separator() { return _fi_sep; }
|
||||
|
||||
friend inline bool operator == (const directory_iterator& f1, const directory_iterator& f2)
|
||||
{
|
||||
return ((f1.ref->hf == _fi_invalid_handle) && (f2.ref->hf == _fi_invalid_handle));
|
||||
}
|
||||
|
||||
|
||||
friend inline bool operator != (const directory_iterator& f1, const directory_iterator& f2)
|
||||
{
|
||||
return !(f1 == f2);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
inline bool operator < (const directory_iterator&, const directory_iterator&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
|
||||
} // namespace re_detail
|
||||
using boost::re_detail::directory_iterator;
|
||||
using boost::re_detail::file_iterator;
|
||||
using boost::re_detail::mapfile;
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_NO_FILEITER
|
||||
#endif // BOOST_RE_FILEITER_HPP
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE instances.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Defines those template instances that are placed in the
|
||||
* library rather than in the users object files.
|
||||
*/
|
||||
|
||||
//
|
||||
// note no include guard, we may include this multiple times:
|
||||
//
|
||||
#ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
||||
|
||||
namespace boost{
|
||||
|
||||
//
|
||||
// this header can be included multiple times, each time with
|
||||
// a different character type, BOOST_REGEX_CHAR_T must be defined
|
||||
// first:
|
||||
//
|
||||
#ifndef BOOST_REGEX_CHAR_T
|
||||
# error "BOOST_REGEX_CHAR_T not defined"
|
||||
#endif
|
||||
|
||||
//
|
||||
// what follows is compiler specific:
|
||||
//
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
|
||||
# ifndef BOOST_REGEX_INSTANTIATE
|
||||
# pragma option push -Jgx
|
||||
# endif
|
||||
|
||||
template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
|
||||
|
||||
# ifndef BOOST_REGEX_INSTANTIATE
|
||||
# pragma option pop
|
||||
# endif
|
||||
|
||||
#pragma option pop
|
||||
|
||||
#elif defined(BOOST_MSVC)
|
||||
|
||||
# ifndef BOOST_REGEX_INSTANTIATE
|
||||
# define template extern template
|
||||
# endif
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4251 4231 4660)
|
||||
|
||||
template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
# ifdef template
|
||||
# undef template
|
||||
# endif
|
||||
|
||||
#elif !defined(BOOST_REGEX_HAS_DLL_RUNTIME)
|
||||
|
||||
//
|
||||
// for each [member] function declare a full specialisation of that
|
||||
// [member] function, then instantiate it in one translation unit.
|
||||
// This is not guarenteed to work according to the standard, but in
|
||||
// practice it should work for all compilers (unless they use a realy
|
||||
// perverse name mangling convention). Unfortunately this approach
|
||||
// does *not* work for Win32 style import/export, because that can
|
||||
// alter the class layout.
|
||||
//
|
||||
|
||||
# ifndef BOOST_REGEX_INSTANTIATE
|
||||
# define template template<>
|
||||
# endif
|
||||
|
||||
template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression(const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)&);
|
||||
template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression(const BOOST_REGEX_CHAR_T* p, reg_expression<BOOST_REGEX_CHAR_T>::flag_type f, const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)& a);
|
||||
template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression(const BOOST_REGEX_CHAR_T* p, size_type len, reg_expression<BOOST_REGEX_CHAR_T>::flag_type f, const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)&);
|
||||
template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression(const reg_expression<BOOST_REGEX_CHAR_T>&);
|
||||
template reg_expression<BOOST_REGEX_CHAR_T>::~reg_expression();
|
||||
template reg_expression<BOOST_REGEX_CHAR_T>& BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::operator=(const reg_expression&);
|
||||
template BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::get_allocator()const;
|
||||
template bool BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::operator==(const reg_expression<BOOST_REGEX_CHAR_T>&)const;
|
||||
template bool BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::operator<(const reg_expression<BOOST_REGEX_CHAR_T>&)const;
|
||||
template BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::allocator()const;
|
||||
template unsigned int BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::set_expression(const BOOST_REGEX_CHAR_T* p, const BOOST_REGEX_CHAR_T* end, reg_expression<BOOST_REGEX_CHAR_T>::flag_type f);
|
||||
template void BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::compile_maps();
|
||||
template void BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::compile_map(re_detail::re_syntax_base* node, unsigned char* _map, unsigned int* pnull, unsigned char mask, re_detail::re_syntax_base* terminal)const;
|
||||
template bool BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::probe_start(re_detail::re_syntax_base* node, BOOST_REGEX_CHAR_T c, re_detail::re_syntax_base* terminal)const;
|
||||
template bool BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::probe_start_null(re_detail::re_syntax_base* node, re_detail::re_syntax_base* terminal)const;
|
||||
template void BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces);
|
||||
template void BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::move_offsets(re_detail::re_syntax_base* j, unsigned size);
|
||||
template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::compile_set(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last);
|
||||
template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::compile_set_aux(re_detail::jstack<reg_expression<BOOST_REGEX_CHAR_T>::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& singles, re_detail::jstack<reg_expression<BOOST_REGEX_CHAR_T>::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& ranges, re_detail::jstack<boost::uint_fast32_t, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& classes, re_detail::jstack<reg_expression<BOOST_REGEX_CHAR_T>::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& equivalents, bool isnot, const re_detail::_narrow_type&);
|
||||
template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::compile_set_aux(re_detail::jstack<reg_expression<BOOST_REGEX_CHAR_T>::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& singles, re_detail::jstack<reg_expression<BOOST_REGEX_CHAR_T>::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& ranges, re_detail::jstack<boost::uint_fast32_t, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& classes, re_detail::jstack<reg_expression<BOOST_REGEX_CHAR_T>::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& equivalents, bool isnot, const re_detail::_wide_type&);
|
||||
template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot);
|
||||
template unsigned int BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::parse_inner_set(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last);
|
||||
template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size);
|
||||
template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::add_literal(re_detail::re_syntax_base* dat, BOOST_REGEX_CHAR_T c);
|
||||
template BOOST_REGEX_CHAR_T BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::parse_escape(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last);
|
||||
template void BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::parse_range(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last, unsigned& min, unsigned& max);
|
||||
template bool BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::skip_space(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last);
|
||||
template unsigned int BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::probe_restart(re_detail::re_syntax_base* dat);
|
||||
template unsigned int BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::fixup_leading_rep(re_detail::re_syntax_base* dat, re_detail::re_syntax_base* end);
|
||||
template void BOOST_REGEX_CALL reg_expression<BOOST_REGEX_CHAR_T>::fail(unsigned int err);
|
||||
|
||||
# ifdef template
|
||||
# undef template
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_match.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Iterator traits for selecting an iterator type as
|
||||
* an integral constant expression.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef BOOST_REGEX_ITERATOR_CATEGORY_HPP
|
||||
#define BOOST_REGEX_ITERATOR_CATEGORY_HPP
|
||||
|
||||
#include <iterator>
|
||||
#include <boost/type_traits/is_convertible.hpp>
|
||||
#include <boost/type_traits/is_pointer.hpp>
|
||||
|
||||
namespace boost{
|
||||
namespace detail{
|
||||
|
||||
template <class I>
|
||||
struct is_random_imp
|
||||
{
|
||||
private:
|
||||
typedef typename std::iterator_traits<I>::iterator_category cat;
|
||||
public:
|
||||
BOOST_STATIC_CONSTANT(bool, value = (::boost::is_convertible<cat*, std::random_access_iterator_tag*>::value));
|
||||
};
|
||||
|
||||
template <class I>
|
||||
struct is_random_pointer_imp
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value = true);
|
||||
};
|
||||
|
||||
template <bool is_pointer_type>
|
||||
struct is_random_imp_selector
|
||||
{
|
||||
template <class I>
|
||||
struct rebind
|
||||
{
|
||||
typedef is_random_imp<I> type;
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_random_imp_selector<true>
|
||||
{
|
||||
template <class I>
|
||||
struct rebind
|
||||
{
|
||||
typedef is_random_pointer_imp<I> type;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
template <class I>
|
||||
struct is_random_access_iterator
|
||||
{
|
||||
private:
|
||||
typedef detail::is_random_imp_selector< ::boost::is_pointer<I>::value> selector;
|
||||
typedef typename selector::template rebind<I> bound_type;
|
||||
typedef typename bound_type::type answer;
|
||||
public:
|
||||
BOOST_STATIC_CONSTANT(bool, value = answer::value);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE iterator_traits.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares iterator traits workarounds.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
|
||||
#define BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
||||
template <class T>
|
||||
struct regex_iterator_traits
|
||||
{
|
||||
typedef typename T::iterator_category iterator_category;
|
||||
typedef typename T::value_type value_type;
|
||||
#if !defined(BOOST_NO_STD_ITERATOR)
|
||||
typedef typename T::difference_type difference_type;
|
||||
typedef typename T::pointer pointer;
|
||||
typedef typename T::reference reference;
|
||||
#else
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef value_type* pointer;
|
||||
typedef value_type& reference;
|
||||
#endif
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct pointer_iterator_traits
|
||||
{
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T& reference;
|
||||
typedef std::random_access_iterator_tag iterator_category;
|
||||
};
|
||||
template <class T>
|
||||
struct const_pointer_iterator_traits
|
||||
{
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef const T* pointer;
|
||||
typedef const T& reference;
|
||||
typedef std::random_access_iterator_tag iterator_category;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct regex_iterator_traits<char*> : pointer_iterator_traits<char>{};
|
||||
template<>
|
||||
struct regex_iterator_traits<const char*> : const_pointer_iterator_traits<char>{};
|
||||
template<>
|
||||
struct regex_iterator_traits<wchar_t*> : pointer_iterator_traits<wchar_t>{};
|
||||
template<>
|
||||
struct regex_iterator_traits<const wchar_t*> : const_pointer_iterator_traits<wchar_t>{};
|
||||
|
||||
#if defined(__SGI_STL_PORT) && defined(__STL_DEBUG)
|
||||
template<>
|
||||
struct regex_iterator_traits<std::string::iterator> : pointer_iterator_traits<char>{};
|
||||
template<>
|
||||
struct regex_iterator_traits<std::string::const_iterator> : const_pointer_iterator_traits<char>{};
|
||||
#ifndef BOOST_NO_STD_WSTRING
|
||||
template<>
|
||||
struct regex_iterator_traits<std::wstring::iterator> : pointer_iterator_traits<wchar_t>{};
|
||||
template<>
|
||||
struct regex_iterator_traits<std::wstring::const_iterator> : const_pointer_iterator_traits<wchar_t>{};
|
||||
#endif // BOOST_NO_WSTRING
|
||||
#endif // stport
|
||||
|
||||
#else
|
||||
|
||||
template <class T>
|
||||
struct regex_iterator_traits : public std::iterator_traits<T> {};
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE match_flags.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares match_flags type.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_MATCH_FLAGS
|
||||
#define BOOST_REGEX_V4_MATCH_FLAGS
|
||||
|
||||
#ifdef __cplusplus
|
||||
# include <boost/cstdint.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace boost{
|
||||
#endif
|
||||
|
||||
typedef enum _match_flags
|
||||
{
|
||||
match_default = 0,
|
||||
match_not_bol = 1, // first is not start of line
|
||||
match_not_eol = match_not_bol << 1, // last is not end of line
|
||||
match_not_bob = match_not_eol << 1, // first is not start of buffer
|
||||
match_not_eob = match_not_bob << 1, // last is not end of buffer
|
||||
match_not_bow = match_not_eob << 1, // first is not start of word
|
||||
match_not_eow = match_not_bow << 1, // last is not end of word
|
||||
match_not_dot_newline = match_not_eow << 1, // \n is not matched by '.'
|
||||
match_not_dot_null = match_not_dot_newline << 1, // '\0' is not matched by '.'
|
||||
match_prev_avail = match_not_dot_null << 1, // *--first is a valid expression
|
||||
match_init = match_prev_avail << 1, // internal use
|
||||
match_any = match_init << 1, // don't care what we match
|
||||
match_not_null = match_any << 1, // string can't be null
|
||||
match_continuous = match_not_null << 1, // each grep match must continue from
|
||||
// uninterupted from the previous one
|
||||
match_partial = match_continuous << 1, // find partial matches
|
||||
|
||||
match_stop = match_partial << 1, // stop after first match (grep)
|
||||
match_all = match_stop << 1, // must find the whole of input even if match_any is set
|
||||
match_perl = match_all << 1, // Use perl matching rules
|
||||
match_posix = match_perl << 1, // Use POSIX matching rules
|
||||
match_max = match_posix,
|
||||
|
||||
format_all = 0, // enable all extentions to sytax
|
||||
format_sed = match_max << 1, // sed style replacement.
|
||||
format_perl = format_sed << 1, // perl style replacement.
|
||||
format_no_copy = format_perl << 1, // don't copy non-matching segments.
|
||||
format_first_only = format_no_copy << 1, // Only replace first occurance.
|
||||
format_is_if = format_first_only << 1 // internal use only.
|
||||
|
||||
} match_flags;
|
||||
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1200)
|
||||
typedef unsigned long match_flag_type;
|
||||
} // namespace boost
|
||||
#else
|
||||
typedef match_flags match_flag_type;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
inline match_flags operator&(match_flags m1, match_flags m2)
|
||||
{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) & static_cast<boost::int32_t>(m2)); }
|
||||
inline match_flags operator|(match_flags m1, match_flags m2)
|
||||
{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) | static_cast<boost::int32_t>(m2)); }
|
||||
inline match_flags operator^(match_flags m1, match_flags m2)
|
||||
{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) ^ static_cast<boost::int32_t>(m2)); }
|
||||
inline match_flags operator~(match_flags m1)
|
||||
{ return static_cast<match_flags>(~static_cast<boost::int32_t>(m1)); }
|
||||
inline match_flags& operator&=(match_flags& m1, match_flags m2)
|
||||
{ m1 = m1&m2; return m1; }
|
||||
inline match_flags& operator|=(match_flags& m1, match_flags m2)
|
||||
{ m1 = m1|m2; return m1; }
|
||||
inline match_flags& operator^=(match_flags& m1, match_flags m2)
|
||||
{ m1 = m1^m2; return m1; }
|
||||
|
||||
|
||||
} // namespace boost
|
||||
#endif // __cplusplus
|
||||
#endif // BOOST_MSVC
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,316 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE match_results.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares template class match_results.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
|
||||
#define BOOST_REGEX_V4_MATCH_RESULTS_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
template <class RandomAccessIterator
|
||||
, class Allocator = BOOST_DEFAULT_ALLOCATOR(sub_match<RandomAccessIterator> )
|
||||
>
|
||||
class match_results
|
||||
{
|
||||
private:
|
||||
#ifndef BOOST_NO_STD_ALLOCATOR
|
||||
typedef std::vector<sub_match<RandomAccessIterator>, Allocator> vector_type;
|
||||
#else
|
||||
typedef std::vector<sub_match<RandomAccessIterator> > vector_type;
|
||||
#endif
|
||||
public:
|
||||
typedef sub_match<RandomAccessIterator> value_type;
|
||||
typedef const value_type& const_reference;
|
||||
typedef const_reference reference;
|
||||
typedef typename vector_type::const_iterator const_iterator;
|
||||
typedef const_iterator iterator;
|
||||
typedef typename re_detail::regex_iterator_traits<
|
||||
RandomAccessIterator>::difference_type difference_type;
|
||||
typedef typename Allocator::size_type size_type;
|
||||
typedef Allocator allocator_type;
|
||||
typedef typename re_detail::regex_iterator_traits<
|
||||
RandomAccessIterator>::value_type char_type;
|
||||
typedef std::basic_string<char_type> string_type;
|
||||
|
||||
// construct/copy/destroy:
|
||||
explicit match_results(const Allocator& a = Allocator())
|
||||
#ifndef BOOST_NO_STD_ALLOCATOR
|
||||
: m_subs(a), m_base() {}
|
||||
#else
|
||||
: m_subs(), m_base() { (void)a; }
|
||||
#endif
|
||||
match_results(const match_results& m)
|
||||
: m_subs(m.m_subs), m_base(m.m_base) {}
|
||||
match_results& operator=(const match_results& m)
|
||||
{
|
||||
m_subs = m.m_subs;
|
||||
m_base = m.m_base;
|
||||
return *this;
|
||||
}
|
||||
~match_results(){}
|
||||
|
||||
// size:
|
||||
size_type size() const
|
||||
{ return m_subs.size() - 2; }
|
||||
size_type max_size() const
|
||||
{ return m_subs.max_size(); }
|
||||
bool empty() const
|
||||
{ return m_subs.size() < 2; }
|
||||
// element access:
|
||||
difference_type length(int sub = 0) const
|
||||
{
|
||||
sub += 2;
|
||||
if((sub < (int)m_subs.size()) && (sub > 0))
|
||||
return m_subs[sub].length();
|
||||
return 0;
|
||||
}
|
||||
difference_type position(unsigned int sub = 0) const
|
||||
{
|
||||
sub += 2;
|
||||
if(sub < m_subs.size())
|
||||
{
|
||||
const sub_match<RandomAccessIterator>& s = m_subs[sub];
|
||||
if(s.matched)
|
||||
{
|
||||
return boost::re_detail::distance((RandomAccessIterator)(m_base), (RandomAccessIterator)(s.first));
|
||||
}
|
||||
}
|
||||
return ~static_cast<difference_type>(0);
|
||||
}
|
||||
string_type str(int sub = 0) const
|
||||
{
|
||||
sub += 2;
|
||||
string_type result;
|
||||
if(sub < m_subs.size() && (sub > 0))
|
||||
{
|
||||
const sub_match<RandomAccessIterator>& s = m_subs[sub];
|
||||
if(s.matched)
|
||||
{
|
||||
result = s;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
const_reference operator[](int sub) const
|
||||
{
|
||||
sub += 2;
|
||||
if(sub < (int)m_subs.size() && (sub >= 0))
|
||||
{
|
||||
return m_subs[sub];
|
||||
}
|
||||
assert(0);
|
||||
// we should never get here:
|
||||
return m_subs[0];
|
||||
}
|
||||
|
||||
const_reference prefix() const
|
||||
{
|
||||
return (*this)[-1];
|
||||
}
|
||||
|
||||
const_reference suffix() const
|
||||
{
|
||||
return (*this)[-2];
|
||||
}
|
||||
const_iterator begin() const
|
||||
{
|
||||
return (m_subs.size() > 2) ? (m_subs.begin() + 2) : m_subs.end();
|
||||
}
|
||||
const_iterator end() const
|
||||
{
|
||||
m_subs.end();
|
||||
}
|
||||
// format:
|
||||
template <class OutputIterator>
|
||||
OutputIterator format(OutputIterator out,
|
||||
const string_type& fmt,
|
||||
match_flag_type flags = format_default) const
|
||||
{
|
||||
return regex_format(out, *this, fmt, flags);
|
||||
}
|
||||
string_type format(const string_type& fmt,
|
||||
match_flag_type flags = format_default) const
|
||||
{
|
||||
return regex_format(*this, fmt, flags);
|
||||
}
|
||||
|
||||
allocator_type get_allocator() const
|
||||
{
|
||||
return m_subs.get_allocator();
|
||||
}
|
||||
void swap(match_results& that)
|
||||
{
|
||||
std::swap(m_subs, that.m_subs);
|
||||
std::swap(m_base, that.m_base);
|
||||
}
|
||||
bool operator==(const match_results& that)const
|
||||
{
|
||||
return (m_subs == that.m_subs) && (m_base == that.m_base);
|
||||
}
|
||||
bool operator!=(const match_results& that)const
|
||||
{ return !(*this == that); }
|
||||
|
||||
//
|
||||
// private access functions:
|
||||
void BOOST_REGEX_CALL set_second(RandomAccessIterator i)
|
||||
{
|
||||
assert(m_subs.size() > 2);
|
||||
m_subs[2].second = i;
|
||||
m_subs[2].matched = true;
|
||||
m_subs[0].first = i;
|
||||
m_subs[0].matched = (m_subs[0].first != m_subs[0].second);
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL set_second(RandomAccessIterator i, size_type pos, bool m = true)
|
||||
{
|
||||
pos += 2;
|
||||
assert(m_subs.size() > pos);
|
||||
m_subs[pos].second = i;
|
||||
m_subs[pos].matched = m;
|
||||
if(pos == 2)
|
||||
{
|
||||
m_subs[0].first = i;
|
||||
m_subs[0].matched = (m_subs[0].first != m_subs[0].second);
|
||||
}
|
||||
}
|
||||
void BOOST_REGEX_CALL set_size(size_type n, RandomAccessIterator i, RandomAccessIterator j)
|
||||
{
|
||||
value_type v(j);
|
||||
size_type len = m_subs.size();
|
||||
if(len > n + 2)
|
||||
{
|
||||
m_subs.erase(m_subs.begin()+n+2);
|
||||
std::fill(m_subs.begin(), m_subs.end(), v);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::fill(m_subs.begin(), m_subs.end(), v);
|
||||
if(n+2 != len)
|
||||
m_subs.insert(m_subs.end(), n+2-len, v);
|
||||
}
|
||||
m_subs[1].first = i;
|
||||
}
|
||||
void BOOST_REGEX_CALL set_base(RandomAccessIterator pos)
|
||||
{
|
||||
m_base = pos;
|
||||
}
|
||||
void BOOST_REGEX_CALL set_first(RandomAccessIterator i)
|
||||
{
|
||||
// set up prefix:
|
||||
m_subs[1].second = i;
|
||||
m_subs[1].matched = (m_subs[1].first != i);
|
||||
// set up $0:
|
||||
m_subs[2].first = i;
|
||||
// zero out everything else:
|
||||
for(size_type n = 3; n < m_subs.size(); ++n)
|
||||
{
|
||||
m_subs[n].first = m_subs[n].second = m_subs[0].second;
|
||||
m_subs[n].matched = false;
|
||||
}
|
||||
}
|
||||
void BOOST_REGEX_CALL set_first(RandomAccessIterator i, size_type pos)
|
||||
{
|
||||
assert(pos+2 < m_subs.size());
|
||||
if(pos)
|
||||
m_subs[pos+2].first = i;
|
||||
else
|
||||
set_first(i);
|
||||
}
|
||||
void BOOST_REGEX_CALL maybe_assign(const match_results<RandomAccessIterator, Allocator>& m);
|
||||
|
||||
|
||||
private:
|
||||
vector_type m_subs; // subexpressions
|
||||
RandomAccessIterator m_base; // where the search started from
|
||||
};
|
||||
|
||||
template <class RandomAccessIterator, class Allocator>
|
||||
void BOOST_REGEX_CALL match_results<RandomAccessIterator, Allocator>::maybe_assign(const match_results<RandomAccessIterator, Allocator>& m)
|
||||
{
|
||||
const_iterator p1, p2;
|
||||
p1 = begin();
|
||||
p2 = m.begin();
|
||||
RandomAccessIterator base = (*this)[-1].first;
|
||||
std::size_t len1 = 0;
|
||||
std::size_t len2 = 0;
|
||||
std::size_t base1 = 0;
|
||||
std::size_t base2 = 0;
|
||||
std::size_t i;
|
||||
for(i = 0; i < size(); ++i)
|
||||
{
|
||||
//
|
||||
// leftmost takes priority over longest:
|
||||
base1 = boost::re_detail::distance(base, p1->first);
|
||||
base2 = boost::re_detail::distance(base, p2->first);
|
||||
if(base1 < base2) return;
|
||||
if(base2 < base1) break;
|
||||
|
||||
len1 = boost::re_detail::distance(p1->first, p1->second);
|
||||
len2 = boost::re_detail::distance(p2->first, p2->second);
|
||||
if((len1 != len2) || ((p1->matched == false) && (p2->matched == true)))
|
||||
break;
|
||||
if((p1->matched == true) && (p2->matched == false))
|
||||
return;
|
||||
++p1;
|
||||
++p2;
|
||||
}
|
||||
if(i == size())
|
||||
return;
|
||||
if(base2 < base1)
|
||||
*this = m;
|
||||
else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) )
|
||||
*this = m;
|
||||
}
|
||||
|
||||
template <class RandomAccessIterator, class Allocator>
|
||||
void swap(match_results<RandomAccessIterator, Allocator>& a, match_results<RandomAccessIterator, Allocator>& b)
|
||||
{
|
||||
a.swap(b);
|
||||
}
|
||||
|
||||
#ifndef BOOST_NO_STD_LOCALE
|
||||
template <class charT, class traits, class RandomAccessIterator, class Allocator>
|
||||
std::basic_ostream<charT, traits>&
|
||||
operator << (std::basic_ostream<charT, traits>& os,
|
||||
const match_results<RandomAccessIterator, Allocator>& s)
|
||||
{
|
||||
return (os << s.str());
|
||||
}
|
||||
#else
|
||||
template <class RandomAccessIterator, class Allocator>
|
||||
std::ostream& operator << (std::ostream& os,
|
||||
const match_results<RandomAccessIterator, Allocator>& s)
|
||||
{
|
||||
return (os << s.str());
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE mem_block_cache.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Definitions of perl_matcher member functions that are
|
||||
* specific to the non-recursive implementation.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP
|
||||
#define BOOST_REGEX_V4_MEM_BLOCK_CACHE_HPP
|
||||
|
||||
#include <new>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
struct mem_block_node
|
||||
{
|
||||
mem_block_node* next;
|
||||
};
|
||||
|
||||
struct mem_block_cache
|
||||
{
|
||||
mem_block_node* next;
|
||||
|
||||
~mem_block_cache()
|
||||
{
|
||||
while(next)
|
||||
{
|
||||
mem_block_node* old = next;
|
||||
next = next->next;
|
||||
::operator delete(old);
|
||||
}
|
||||
}
|
||||
void* get()
|
||||
{
|
||||
if(next)
|
||||
{
|
||||
mem_block_node* result = next;
|
||||
next = next->next;
|
||||
return result;
|
||||
}
|
||||
return ::operator new(BOOST_REGEX_BLOCKSIZE);
|
||||
}
|
||||
void put(void* p)
|
||||
{
|
||||
mem_block_node* old = static_cast<mem_block_node*>(p);
|
||||
old->next = next;
|
||||
next = old;
|
||||
}
|
||||
};
|
||||
|
||||
extern mem_block_cache block_cache;
|
||||
|
||||
}
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,425 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_MATCHER_HPP
|
||||
#define BOOST_REGEX_MATCHER_HPP
|
||||
|
||||
#include <boost/regex/v4/iterator_category.hpp>
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
//
|
||||
// Unfortunately Rogue Waves standard library appears to have a bug
|
||||
// in std::basic_string::compare that results in eroneous answers
|
||||
// in some cases (tested with Borland C++ 5.1, Rogue Wave lib version
|
||||
// 0x020101) the test case was:
|
||||
// {39135,0} < {0xff,0}
|
||||
// which succeeds when it should not.
|
||||
//
|
||||
#ifndef _RWSTD_VER
|
||||
# define STR_COMP(s,p) s.compare(p)
|
||||
#else
|
||||
template <class C, class T, class A>
|
||||
inline int string_compare(const std::basic_string<C,T,A>& s, const C* p)
|
||||
{ return s.compare(p); }
|
||||
inline int string_compare(const std::string& s, const char* p)
|
||||
{ return std::strcmp(s.c_str(), p); }
|
||||
# ifndef BOOST_NO_WREGEX
|
||||
inline int string_compare(const std::wstring& s, const wchar_t* p)
|
||||
{ return std::wcscmp(s.c_str(), p); }
|
||||
#endif
|
||||
# define STR_COMP(s,p) string_compare(s,p)
|
||||
#endif
|
||||
|
||||
template<class charT>
|
||||
inline const charT* re_skip_past_null(const charT* p)
|
||||
{
|
||||
while (*p != 0) ++p;
|
||||
return ++p;
|
||||
}
|
||||
|
||||
template <class iterator, class charT, class traits_type, class Allocator>
|
||||
iterator BOOST_REGEX_CALL re_is_set_member(iterator next,
|
||||
iterator last,
|
||||
const re_set_long* set_,
|
||||
const reg_expression<charT, traits_type, Allocator>& e)
|
||||
{
|
||||
const charT* p = reinterpret_cast<const charT*>(set_+1);
|
||||
iterator ptr;
|
||||
unsigned int i;
|
||||
bool icase = e.flags() & regbase::icase;
|
||||
|
||||
if(next == last) return next;
|
||||
|
||||
typedef typename traits_type::string_type traits_string_type;
|
||||
const traits_type& traits_inst = e.get_traits();
|
||||
|
||||
// dwa 9/13/00 suppress incorrect MSVC warning - it claims this is never
|
||||
// referenced
|
||||
(void)traits_inst;
|
||||
|
||||
// try and match a single character, could be a multi-character
|
||||
// collating element...
|
||||
for(i = 0; i < set_->csingles; ++i)
|
||||
{
|
||||
ptr = next;
|
||||
if(*p == 0)
|
||||
{
|
||||
// treat null string as special case:
|
||||
if(traits_inst.translate(*ptr, icase) != *p)
|
||||
{
|
||||
while(*p == 0)++p;
|
||||
continue;
|
||||
}
|
||||
return set_->isnot ? next : (ptr == next) ? ++next : ptr;
|
||||
}
|
||||
else
|
||||
{
|
||||
while(*p && (ptr != last))
|
||||
{
|
||||
if(traits_inst.translate(*ptr, icase) != *p)
|
||||
break;
|
||||
++p;
|
||||
++ptr;
|
||||
}
|
||||
|
||||
if(*p == 0) // if null we've matched
|
||||
return set_->isnot ? next : (ptr == next) ? ++next : ptr;
|
||||
|
||||
p = re_skip_past_null(p); // skip null
|
||||
}
|
||||
}
|
||||
|
||||
charT col = traits_inst.translate(*next, icase);
|
||||
|
||||
|
||||
if(set_->cranges || set_->cequivalents)
|
||||
{
|
||||
traits_string_type s2(1, col);
|
||||
traits_string_type s1;
|
||||
//
|
||||
// try and match a range, NB only a single character can match
|
||||
if(set_->cranges)
|
||||
{
|
||||
if(e.flags() & regbase::nocollate)
|
||||
s1 = s2;
|
||||
else
|
||||
traits_inst.transform(s1, s2);
|
||||
for(i = 0; i < set_->cranges; ++i)
|
||||
{
|
||||
if(STR_COMP(s1, p) <= 0)
|
||||
{
|
||||
while(*p)++p;
|
||||
++p;
|
||||
if(STR_COMP(s1, p) >= 0)
|
||||
return set_->isnot ? next : ++next;
|
||||
}
|
||||
else
|
||||
{
|
||||
// skip first string
|
||||
while(*p)++p;
|
||||
++p;
|
||||
}
|
||||
// skip second string
|
||||
while(*p)++p;
|
||||
++p;
|
||||
}
|
||||
}
|
||||
//
|
||||
// try and match an equivalence class, NB only a single character can match
|
||||
if(set_->cequivalents)
|
||||
{
|
||||
traits_inst.transform_primary(s1, s2);
|
||||
for(i = 0; i < set_->cequivalents; ++i)
|
||||
{
|
||||
if(STR_COMP(s1, p) == 0)
|
||||
return set_->isnot ? next : ++next;
|
||||
// skip string
|
||||
while(*p)++p;
|
||||
++p;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(traits_inst.is_class(col, set_->cclasses) == true)
|
||||
return set_->isnot ? next : ++next;
|
||||
return set_->isnot ? ++next : next;
|
||||
}
|
||||
|
||||
template <class charT, class traits, class Allocator>
|
||||
struct access_t : public reg_expression<charT, traits, Allocator>
|
||||
{
|
||||
typedef typename is_byte<charT>::width_type width_type;
|
||||
typedef reg_expression<charT, traits, Allocator> base_type;
|
||||
typedef charT char_type;
|
||||
typedef traits traits_type;
|
||||
typedef Allocator alloc_type;
|
||||
|
||||
static int repeat_count(const base_type& b)
|
||||
{ return base_type::repeat_count(b); }
|
||||
static unsigned int restart_type(const base_type& b)
|
||||
{ return base_type::restart_type(b); }
|
||||
static const re_syntax_base* first(const base_type& b)
|
||||
{ return base_type::first(b); }
|
||||
static const unsigned char* get_map(const base_type& b)
|
||||
{ return base_type::get_map(b); }
|
||||
static std::size_t leading_length(const base_type& b)
|
||||
{ return base_type::leading_length(b); }
|
||||
static const kmp_info<charT>* get_kmp(const base_type& b)
|
||||
{ return base_type::get_kmp(b); }
|
||||
static bool can_start(char_type c, const unsigned char* _map, unsigned char mask)
|
||||
{
|
||||
return reg_expression<char_type, traits_type, alloc_type>::can_start(c, _map, mask, width_type());
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
template <class BidiIterator>
|
||||
class repeater_count
|
||||
{
|
||||
repeater_count** stack;
|
||||
repeater_count* next;
|
||||
int id;
|
||||
unsigned count; // the number of iterations so far
|
||||
BidiIterator start_pos; // where the last repeat started
|
||||
public:
|
||||
repeater_count(repeater_count** s)
|
||||
{
|
||||
stack = s;
|
||||
next = 0;
|
||||
id = -1;
|
||||
count = 0;
|
||||
}
|
||||
repeater_count(int i, repeater_count** s, BidiIterator start)
|
||||
: start_pos(start)
|
||||
{
|
||||
id = i;
|
||||
stack = s;
|
||||
next = *stack;
|
||||
*stack = this;
|
||||
if(id > next->id)
|
||||
count = 0;
|
||||
else
|
||||
{
|
||||
repeater_count* p = next;
|
||||
while(p->id != id)
|
||||
p = p->next;
|
||||
count = p->count;
|
||||
start_pos = p->start_pos;
|
||||
}
|
||||
}
|
||||
~repeater_count()
|
||||
{
|
||||
*stack = next;
|
||||
}
|
||||
unsigned get_count() { return count; }
|
||||
int get_id() { return id; }
|
||||
int operator++() { return ++count; }
|
||||
bool check_null_repeat(const BidiIterator& pos, unsigned max)
|
||||
{
|
||||
// this is called when we are about to start a new repeat,
|
||||
// if the last one was NULL move our count to max,
|
||||
// otherwise save the current position.
|
||||
bool result = (count == 0) ? false : (pos == start_pos);
|
||||
if(result)
|
||||
count = max;
|
||||
else
|
||||
start_pos = pos;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
struct saved_state;
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
class perl_matcher
|
||||
{
|
||||
public:
|
||||
typedef typename boost::re_detail::regex_iterator_traits<BidiIterator>::value_type char_type;
|
||||
typedef perl_matcher<BidiIterator, Allocator, traits, Allocator2> self_type;
|
||||
typedef bool (self_type::*matcher_proc_type)(void);
|
||||
typedef access_t<char_type, traits, Allocator2> access;
|
||||
typedef typename traits::size_type traits_size_type;
|
||||
typedef typename traits::uchar_type traits_uchar_type;
|
||||
typedef typename is_byte<char_type>::width_type width_type;
|
||||
typedef typename regex_iterator_traits<BidiIterator>::difference_type difference_type;
|
||||
|
||||
perl_matcher(BidiIterator first, BidiIterator end,
|
||||
match_results<BidiIterator, Allocator>& what,
|
||||
const reg_expression<char_type, traits, Allocator2>& e,
|
||||
match_flag_type f);
|
||||
|
||||
bool match();
|
||||
bool find();
|
||||
|
||||
void setf(match_flag_type f)
|
||||
{ m_match_flags |= f; }
|
||||
void unsetf(match_flag_type f)
|
||||
{ m_match_flags &= ~f; }
|
||||
|
||||
private:
|
||||
void estimate_max_state_count(std::random_access_iterator_tag*);
|
||||
void estimate_max_state_count(void*);
|
||||
bool match_prefix();
|
||||
bool match_all_states();
|
||||
|
||||
// match procs, stored in s_match_vtable:
|
||||
bool match_startmark();
|
||||
bool match_endmark();
|
||||
bool match_literal();
|
||||
bool match_start_line();
|
||||
bool match_end_line();
|
||||
bool match_wild();
|
||||
bool match_match();
|
||||
bool match_word_boundary();
|
||||
bool match_within_word();
|
||||
bool match_word_start();
|
||||
bool match_word_end();
|
||||
bool match_buffer_start();
|
||||
bool match_buffer_end();
|
||||
bool match_backref();
|
||||
bool match_long_set();
|
||||
bool match_set();
|
||||
bool match_jump();
|
||||
bool match_alt();
|
||||
bool match_rep();
|
||||
bool match_combining();
|
||||
bool match_soft_buffer_end();
|
||||
bool match_restart_continue();
|
||||
bool match_long_set_repeat();
|
||||
bool match_set_repeat();
|
||||
bool match_char_repeat();
|
||||
bool match_dot_repeat_fast();
|
||||
bool match_dot_repeat_slow();
|
||||
bool backtrack_till_match(unsigned count);
|
||||
|
||||
// find procs stored in s_find_vtable:
|
||||
bool find_restart_any();
|
||||
bool find_restart_word();
|
||||
bool find_restart_line();
|
||||
bool find_restart_buf();
|
||||
bool find_restart_lit();
|
||||
|
||||
private:
|
||||
// final result structure to be filled in:
|
||||
match_results<BidiIterator, Allocator>& m_result;
|
||||
// temporary result for POSIX matches:
|
||||
scoped_ptr<match_results<BidiIterator, Allocator> > m_temp_match;
|
||||
// pointer to actual result structure to fill in:
|
||||
match_results<BidiIterator, Allocator>* m_presult;
|
||||
// start of sequence being searched:
|
||||
BidiIterator base;
|
||||
// end of sequence being searched:
|
||||
BidiIterator last;
|
||||
// current character being examined:
|
||||
BidiIterator position;
|
||||
// where to restart next search after failed match attempt:
|
||||
BidiIterator restart;
|
||||
// where the current search started from, acts as base for $` during grep:
|
||||
BidiIterator search_base;
|
||||
// the expression being examined:
|
||||
const reg_expression<char_type, traits, Allocator2>& re;
|
||||
// the expression's traits class:
|
||||
const traits& traits_inst;
|
||||
// the next state in the machine being matched:
|
||||
const re_syntax_base* pstate;
|
||||
// matching flags in use:
|
||||
match_flag_type m_match_flags;
|
||||
// how many states we have examined so far:
|
||||
difference_type state_count;
|
||||
// max number of states to examine before giving up:
|
||||
difference_type max_state_count;
|
||||
// whether we should ignore case or not:
|
||||
bool icase;
|
||||
// set to true when (position == last), indicates that we may have a partial match:
|
||||
bool m_has_partial_match;
|
||||
// set to true whenever we get a match:
|
||||
bool m_has_found_match;
|
||||
// the current repeat being examined:
|
||||
repeater_count<BidiIterator>* next_count;
|
||||
// the first repeat being examined (top of linked list):
|
||||
repeater_count<BidiIterator> rep_obj;
|
||||
|
||||
// table of functions to match states:
|
||||
static const matcher_proc_type s_match_vtable[];
|
||||
// table of functions to search for matching attempt start:
|
||||
static const matcher_proc_type s_find_vtable[];
|
||||
|
||||
|
||||
#ifdef BOOST_REGEX_NON_RECURSIVE
|
||||
//
|
||||
// additional members for non-recursive version:
|
||||
//
|
||||
typedef bool (self_type::*unwind_proc_type)(bool);
|
||||
|
||||
void extend_stack();
|
||||
bool unwind(bool);
|
||||
bool unwind_end(bool);
|
||||
bool unwind_paren(bool);
|
||||
bool unwind_recursion_stopper(bool);
|
||||
bool unwind_assertion(bool);
|
||||
bool unwind_alt(bool);
|
||||
bool unwind_repeater_counter(bool);
|
||||
bool unwind_extra_block(bool);
|
||||
void push_matched_paren(int index, const sub_match<BidiIterator>& sub);
|
||||
void push_recursion_stopper();
|
||||
void push_assertion(const re_syntax_base* ps, bool positive);
|
||||
void push_alt(const re_syntax_base* ps);
|
||||
void push_repeater_count(int i, repeater_count<BidiIterator>** s);
|
||||
|
||||
// pointer to base of stack:
|
||||
saved_state* m_stack_base;
|
||||
// pointer to current stack position:
|
||||
saved_state* m_backup_state;
|
||||
// determines what value to return when unwinding from recursion,
|
||||
// allows for mixed recursive/non-recursive algorithm:
|
||||
bool m_recursive_result;
|
||||
// how many memory blocks have we used up?:
|
||||
unsigned used_block_count;
|
||||
// table of pointers to unwind proceedures:
|
||||
static const unwind_proc_type s_unwind_table[];
|
||||
#endif
|
||||
|
||||
// these operations aren't allowed, so are declared private:
|
||||
perl_matcher& operator=(const perl_matcher&);
|
||||
perl_matcher(const perl_matcher&);
|
||||
};
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
} // namespace boost
|
||||
|
||||
//
|
||||
// include the implementation of perl_matcher:
|
||||
//
|
||||
#ifdef BOOST_REGEX_RECURSIVE
|
||||
#include <boost/regex/v4/perl_matcher_recursive.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/mem_block_cache.hpp>
|
||||
#include <boost/regex/v4/perl_matcher_non_recursive.hpp>
|
||||
#endif
|
||||
// this one has to be last:
|
||||
#include <boost/regex/v4/perl_matcher_common.hpp>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,527 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE perl_matcher_common.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Definitions of perl_matcher member functions that are
|
||||
* specific to the non-recursive implementation.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP
|
||||
#define BOOST_REGEX_V4_PERL_MATCHER_NON_RECURSIVE_HPP
|
||||
|
||||
#include <new>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
template <class T>
|
||||
inline void destroy(T* p)
|
||||
{
|
||||
(void)p; // warning suppression
|
||||
p->~T();
|
||||
}
|
||||
|
||||
enum saved_state_type
|
||||
{
|
||||
saved_type_end = 0,
|
||||
saved_type_paren = 1,
|
||||
saved_type_recurse = 2,
|
||||
saved_type_assertion = 3,
|
||||
saved_state_alt = 4,
|
||||
saved_state_repeater_count = 5,
|
||||
saved_state_extra_block = 6
|
||||
};
|
||||
|
||||
struct saved_state
|
||||
{
|
||||
unsigned int id;
|
||||
saved_state(unsigned i) : id(i) {}
|
||||
};
|
||||
|
||||
template <class BidiIterator>
|
||||
struct saved_matched_paren : public saved_state
|
||||
{
|
||||
int index;
|
||||
sub_match<BidiIterator> sub;
|
||||
saved_matched_paren(int i, const sub_match<BidiIterator>& s) : saved_state(1), index(i), sub(s){};
|
||||
};
|
||||
|
||||
template <class BidiIterator>
|
||||
struct saved_position : public saved_state
|
||||
{
|
||||
const re_syntax_base* pstate;
|
||||
BidiIterator position;
|
||||
saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){};
|
||||
};
|
||||
|
||||
template <class BidiIterator>
|
||||
struct saved_assertion : public saved_position<BidiIterator>
|
||||
{
|
||||
bool positive;
|
||||
saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos)
|
||||
: saved_position<BidiIterator>(ps, pos, saved_type_assertion), positive(p){};
|
||||
};
|
||||
|
||||
template <class BidiIterator>
|
||||
struct saved_repeater : public saved_state
|
||||
{
|
||||
repeater_count<BidiIterator> count;
|
||||
saved_repeater(int i, repeater_count<BidiIterator>** s, BidiIterator start)
|
||||
: saved_state(saved_state_repeater_count), count(i,s,start){}
|
||||
};
|
||||
|
||||
struct saved_extra_block : public saved_state
|
||||
{
|
||||
saved_state *base, *end;
|
||||
saved_extra_block(saved_state* b, saved_state* e)
|
||||
: saved_state(saved_state_extra_block), base(b), end(e) {}
|
||||
};
|
||||
|
||||
struct save_state_init
|
||||
{
|
||||
saved_state** stack;
|
||||
save_state_init(saved_state** base, saved_state** end)
|
||||
: stack(base)
|
||||
{
|
||||
*base = static_cast<saved_state*>(block_cache.get());
|
||||
*end = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(*base)+BOOST_REGEX_BLOCKSIZE);
|
||||
--(*end);
|
||||
new (*end)saved_state(0);
|
||||
assert(*end > *base);
|
||||
}
|
||||
~save_state_init()
|
||||
{
|
||||
block_cache.put(*stack);
|
||||
*stack = 0;
|
||||
}
|
||||
};
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_all_states()
|
||||
{
|
||||
if(state_count > max_state_count)
|
||||
raise_error(traits_inst, REG_ESPACE);
|
||||
push_recursion_stopper();
|
||||
do{
|
||||
while(pstate)
|
||||
{
|
||||
matcher_proc_type proc = s_match_vtable[pstate->type];
|
||||
++state_count;
|
||||
if(!(this->*proc)())
|
||||
{
|
||||
if((m_match_flags & match_partial) && (position == last))
|
||||
m_has_partial_match = true;
|
||||
if(false == unwind(false))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}while(unwind(true));
|
||||
return m_recursive_result;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
void perl_matcher<BidiIterator, Allocator, traits, Allocator2>::extend_stack()
|
||||
{
|
||||
if(used_block_count)
|
||||
{
|
||||
--used_block_count;
|
||||
saved_state* stack_base;
|
||||
saved_state* backup_state;
|
||||
stack_base = static_cast<saved_state*>(block_cache.get());
|
||||
backup_state = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(stack_base)+BOOST_REGEX_BLOCKSIZE);
|
||||
saved_extra_block* block = static_cast<saved_extra_block*>(backup_state);
|
||||
--block;
|
||||
new (block) saved_extra_block(m_stack_base, m_backup_state);
|
||||
m_stack_base = stack_base;
|
||||
m_backup_state = block;
|
||||
}
|
||||
else
|
||||
raise_error(traits_inst, REG_E_MEMORY);
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
inline void perl_matcher<BidiIterator, Allocator, traits, Allocator2>::push_matched_paren(int index, const sub_match<BidiIterator>& sub)
|
||||
{
|
||||
assert(index);
|
||||
saved_matched_paren<BidiIterator>* pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
if(pmp < m_stack_base)
|
||||
{
|
||||
extend_stack();
|
||||
pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
}
|
||||
new (pmp)saved_matched_paren<BidiIterator>(index, sub);
|
||||
m_backup_state = pmp;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
inline void perl_matcher<BidiIterator, Allocator, traits, Allocator2>::push_recursion_stopper()
|
||||
{
|
||||
saved_state* pmp = m_backup_state;
|
||||
--pmp;
|
||||
if(pmp < m_stack_base)
|
||||
{
|
||||
extend_stack();
|
||||
pmp = m_backup_state;
|
||||
--pmp;
|
||||
}
|
||||
new (pmp)saved_state(saved_type_recurse);
|
||||
m_backup_state = pmp;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
inline void perl_matcher<BidiIterator, Allocator, traits, Allocator2>::push_assertion(const re_syntax_base* ps, bool positive)
|
||||
{
|
||||
saved_assertion<BidiIterator>* pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
if(pmp < m_stack_base)
|
||||
{
|
||||
extend_stack();
|
||||
pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
}
|
||||
new (pmp)saved_assertion<BidiIterator>(positive, ps, position);
|
||||
m_backup_state = pmp;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
inline void perl_matcher<BidiIterator, Allocator, traits, Allocator2>::push_alt(const re_syntax_base* ps)
|
||||
{
|
||||
saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
if(pmp < m_stack_base)
|
||||
{
|
||||
extend_stack();
|
||||
pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
}
|
||||
new (pmp)saved_position<BidiIterator>(ps, position, saved_state_alt);
|
||||
m_backup_state = pmp;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
inline void perl_matcher<BidiIterator, Allocator, traits, Allocator2>::push_repeater_count(int i, repeater_count<BidiIterator>** s)
|
||||
{
|
||||
saved_repeater<BidiIterator>* pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
if(pmp < m_stack_base)
|
||||
{
|
||||
extend_stack();
|
||||
pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);
|
||||
--pmp;
|
||||
}
|
||||
new (pmp)saved_repeater<BidiIterator>(i, s, position);
|
||||
m_backup_state = pmp;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_startmark()
|
||||
{
|
||||
int index = static_cast<const re_brace*>(pstate)->index;
|
||||
switch(index)
|
||||
{
|
||||
case 0:
|
||||
pstate = pstate->next.p;
|
||||
break;
|
||||
case -1:
|
||||
case -2:
|
||||
{
|
||||
// forward lookahead assert:
|
||||
const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
|
||||
pstate = pstate->next.p->next.p;
|
||||
push_assertion(next_pstate, index == -1);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
assert(index > 0);
|
||||
push_matched_paren(index, (*m_presult)[index]);
|
||||
m_presult->set_first(position, index);
|
||||
pstate = pstate->next.p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_alt()
|
||||
{
|
||||
bool take_first, take_second;
|
||||
const re_jump* jmp = static_cast<const re_jump*>(pstate);
|
||||
|
||||
// find out which of these two alternatives we need to take:
|
||||
if(position == last)
|
||||
{
|
||||
take_first = jmp->can_be_null & mask_take;
|
||||
take_second = jmp->can_be_null & mask_skip;
|
||||
}
|
||||
else
|
||||
{
|
||||
take_first = access::can_start(*position, jmp->_map, (unsigned char)mask_take);
|
||||
take_second = access::can_start(*position, jmp->_map, (unsigned char)mask_skip);
|
||||
}
|
||||
|
||||
if(take_first)
|
||||
{
|
||||
// we can take the first alternative,
|
||||
// see if we need to push next alternative:
|
||||
if(take_second)
|
||||
{
|
||||
push_alt(jmp->alt.p);
|
||||
}
|
||||
pstate = pstate->next.p;
|
||||
return true;
|
||||
}
|
||||
if(take_second)
|
||||
{
|
||||
pstate = jmp->alt.p;
|
||||
return true;
|
||||
}
|
||||
return false; // neither option is possible
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_rep()
|
||||
{
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4127 4244)
|
||||
#endif
|
||||
const re_repeat* rep = static_cast<const re_repeat*>(pstate);
|
||||
|
||||
// find out which of these two alternatives we need to take:
|
||||
bool take_first, take_second;
|
||||
if(position == last)
|
||||
{
|
||||
take_first = rep->can_be_null & mask_take;
|
||||
take_second = rep->can_be_null & mask_skip;
|
||||
}
|
||||
else
|
||||
{
|
||||
take_first = access::can_start(*position, rep->_map, (unsigned char)mask_take);
|
||||
take_second = access::can_start(*position, rep->_map, (unsigned char)mask_skip);
|
||||
}
|
||||
|
||||
if(take_first || (next_count->get_id() != rep->id))
|
||||
{
|
||||
// we're moving to a different repeat from the last
|
||||
// one, so set up a counter object:
|
||||
push_repeater_count(rep->id, &next_count);
|
||||
}
|
||||
//
|
||||
// If we've had at least one repeat already, and the last one
|
||||
// matched the NULL string then set the repeat count to
|
||||
// maximum:
|
||||
//
|
||||
next_count->check_null_repeat(position, rep->max);
|
||||
|
||||
if(next_count->get_count() < rep->min)
|
||||
{
|
||||
// we must take the repeat:
|
||||
if(take_first)
|
||||
{
|
||||
// increase the counter:
|
||||
++(*next_count);
|
||||
pstate = rep->next.p;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if(rep->greedy)
|
||||
{
|
||||
// try and take the repeat if we can:
|
||||
if((next_count->get_count() < rep->max) && take_first)
|
||||
{
|
||||
if(take_second)
|
||||
{
|
||||
// store position in case we fail:
|
||||
push_alt(rep->alt.p);
|
||||
}
|
||||
// increase the counter:
|
||||
++(*next_count);
|
||||
pstate = rep->next.p;
|
||||
return true;
|
||||
}
|
||||
else if(take_second)
|
||||
{
|
||||
pstate = rep->alt.p;
|
||||
return true;
|
||||
}
|
||||
return false; // can't take anything, fail...
|
||||
}
|
||||
else // non-greedy
|
||||
{
|
||||
// try and skip the repeat if we can:
|
||||
if(take_second)
|
||||
{
|
||||
// store position in case we fail:
|
||||
BidiIterator pos = position;
|
||||
pstate = rep->alt.p;
|
||||
if(match_all_states())
|
||||
return true;
|
||||
// failed alternative, reset posistion and fall through for repeat:
|
||||
position = pos;
|
||||
}
|
||||
if((next_count->get_count() < rep->max) && take_first)
|
||||
{
|
||||
// increase the counter:
|
||||
++(*next_count);
|
||||
pstate = rep->next.p;
|
||||
return match_all_states();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
Unwind and associated proceedures follow, these perform what normal stack
|
||||
unwinding does in the recursive implementation.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind(bool have_match)
|
||||
{
|
||||
m_recursive_result = have_match;
|
||||
unwind_proc_type unwinder;
|
||||
bool cont;
|
||||
//
|
||||
// keep unwinding our stack until we have something to do:
|
||||
//
|
||||
do
|
||||
{
|
||||
unwinder = s_unwind_table[m_backup_state->id];
|
||||
cont = (this->*unwinder)(m_recursive_result);
|
||||
}while(cont);
|
||||
//
|
||||
// return true if we have more states to try:
|
||||
//
|
||||
return pstate ? true : false;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_end(bool)
|
||||
{
|
||||
pstate = 0; // nothing left to search
|
||||
return false; // end of stack nothing more to search
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_paren(bool have_match)
|
||||
{
|
||||
saved_matched_paren<BidiIterator>* pmp = static_cast<saved_matched_paren<BidiIterator>*>(m_backup_state);
|
||||
// restore previous values if no match was found:
|
||||
if(have_match == false)
|
||||
{
|
||||
m_presult->set_first(pmp->sub.first, pmp->index);
|
||||
m_presult->set_second(pmp->sub.second, pmp->index, pmp->sub.matched);
|
||||
}
|
||||
// unwind stack:
|
||||
m_backup_state = pmp+1;
|
||||
destroy(pmp);
|
||||
return true; // keep looking
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_recursion_stopper(bool)
|
||||
{
|
||||
destroy(m_backup_state++);
|
||||
pstate = 0; // nothing left to search
|
||||
return false; // end of stack nothing more to search
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_assertion(bool r)
|
||||
{
|
||||
saved_assertion<BidiIterator>* pmp = static_cast<saved_assertion<BidiIterator>*>(m_backup_state);
|
||||
pstate = pmp->pstate;
|
||||
position = pmp->position;
|
||||
bool result = (r == pmp->positive);
|
||||
m_recursive_result = pmp->positive ? r : !r;
|
||||
destroy(pmp++);
|
||||
m_backup_state = pmp;
|
||||
return !result; // return false if the assertion was matched to stop search.
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_alt(bool r)
|
||||
{
|
||||
saved_position<BidiIterator>* pmp = static_cast<saved_position<BidiIterator>*>(m_backup_state);
|
||||
if(!r)
|
||||
{
|
||||
pstate = pmp->pstate;
|
||||
position = pmp->position;
|
||||
}
|
||||
destroy(pmp++);
|
||||
m_backup_state = pmp;
|
||||
return r;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_repeater_counter(bool)
|
||||
{
|
||||
saved_repeater<BidiIterator>* pmp = static_cast<saved_repeater<BidiIterator>*>(m_backup_state);
|
||||
destroy(pmp++);
|
||||
m_backup_state = pmp;
|
||||
return true; // keep looking
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_extra_block(bool)
|
||||
{
|
||||
saved_extra_block* pmp = static_cast<saved_extra_block*>(m_backup_state);
|
||||
void* condemmed = m_stack_base;
|
||||
m_stack_base = pmp->base;
|
||||
m_backup_state = pmp->end;
|
||||
destroy(pmp);
|
||||
block_cache.put(condemmed);
|
||||
return true; // keep looking
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
typename perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_proc_type const
|
||||
perl_matcher<BidiIterator, Allocator, traits, Allocator2>::s_unwind_table[] =
|
||||
{
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_end,
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_paren,
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_recursion_stopper,
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_assertion,
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_alt,
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_repeater_counter,
|
||||
&perl_matcher<BidiIterator, Allocator, traits, Allocator2>::unwind_extra_block,
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,260 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE perl_matcher_common.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Definitions of perl_matcher member functions that are
|
||||
* specific to the recursive implementation.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP
|
||||
#define BOOST_REGEX_V4_PERL_MATCHER_RECURSIVE_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
template <class BidiIterator>
|
||||
class backup_subex
|
||||
{
|
||||
int index;
|
||||
sub_match<BidiIterator> sub;
|
||||
public:
|
||||
template <class A>
|
||||
backup_subex(const match_results<BidiIterator, A>& w, int i)
|
||||
: index(i), sub(w[i]) {}
|
||||
template <class A>
|
||||
void restore(match_results<BidiIterator, A>& w)
|
||||
{
|
||||
w.set_first(sub.first, index);
|
||||
w.set_second(sub.second, index, sub.matched);
|
||||
}
|
||||
};
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_all_states()
|
||||
{
|
||||
if(state_count > max_state_count)
|
||||
raise_error(traits_inst, REG_ESPACE);
|
||||
while(pstate)
|
||||
{
|
||||
matcher_proc_type proc = s_match_vtable[pstate->type];
|
||||
++state_count;
|
||||
if(!(this->*proc)())
|
||||
{
|
||||
if((m_match_flags & match_partial) && (position == last))
|
||||
m_has_partial_match = true;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_startmark()
|
||||
{
|
||||
int index = static_cast<const re_brace*>(pstate)->index;
|
||||
bool r = true;
|
||||
switch(index)
|
||||
{
|
||||
case 0:
|
||||
pstate = pstate->next.p;
|
||||
break;
|
||||
case -1:
|
||||
case -2:
|
||||
{
|
||||
// forward lookahead assert:
|
||||
BidiIterator old_position(position);
|
||||
const re_syntax_base* next_pstate = static_cast<const re_jump*>(pstate->next.p)->alt.p->next.p;
|
||||
pstate = pstate->next.p->next.p;
|
||||
r = match_all_states();
|
||||
pstate = next_pstate;
|
||||
position = old_position;
|
||||
if((r && (index != -1)) || (!r && (index != -2)))
|
||||
r = false;
|
||||
else
|
||||
r = true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
assert(index > 0);
|
||||
backup_subex<BidiIterator> sub(*m_presult, index);
|
||||
m_presult->set_first(position, index);
|
||||
pstate = pstate->next.p;
|
||||
r = match_all_states();
|
||||
if(r == false)
|
||||
sub.restore(*m_presult);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_alt()
|
||||
{
|
||||
bool take_first, take_second;
|
||||
const re_jump* jmp = static_cast<const re_jump*>(pstate);
|
||||
|
||||
// find out which of these two alternatives we need to take:
|
||||
if(position == last)
|
||||
{
|
||||
take_first = jmp->can_be_null & mask_take;
|
||||
take_second = jmp->can_be_null & mask_skip;
|
||||
}
|
||||
else
|
||||
{
|
||||
take_first = access::can_start(*position, jmp->_map, (unsigned char)mask_take);
|
||||
take_second = access::can_start(*position, jmp->_map, (unsigned char)mask_skip);
|
||||
}
|
||||
|
||||
if(take_first)
|
||||
{
|
||||
// we can take the first alternative,
|
||||
// see if we need to push next alternative:
|
||||
if(take_second)
|
||||
{
|
||||
BidiIterator oldposition(position);
|
||||
const re_syntax_base* old_pstate = jmp->alt.p;
|
||||
pstate = pstate->next.p;
|
||||
if(!match_all_states())
|
||||
{
|
||||
pstate = old_pstate;
|
||||
position = oldposition;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
pstate = pstate->next.p;
|
||||
return true;
|
||||
}
|
||||
if(take_second)
|
||||
{
|
||||
pstate = jmp->alt.p;
|
||||
return true;
|
||||
}
|
||||
return false; // neither option is possible
|
||||
}
|
||||
|
||||
template <class BidiIterator, class Allocator, class traits, class Allocator2>
|
||||
bool perl_matcher<BidiIterator, Allocator, traits, Allocator2>::match_rep()
|
||||
{
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4127 4244)
|
||||
#endif
|
||||
const re_repeat* rep = static_cast<const re_repeat*>(pstate);
|
||||
if(next_count->get_id() != rep->id)
|
||||
{
|
||||
// we're moving to a different repeat from the last
|
||||
// one, so set up a counter object and recurse:
|
||||
repeater_count<BidiIterator> r(rep->id, &next_count, position);
|
||||
return match_rep();
|
||||
}
|
||||
//
|
||||
// If we've had at least one repeat already, and the last one
|
||||
// matched the NULL string then set the repeat count to
|
||||
// maximum:
|
||||
//
|
||||
next_count->check_null_repeat(position, rep->max);
|
||||
|
||||
// find out which of these two alternatives we need to take:
|
||||
bool take_first, take_second;
|
||||
if(position == last)
|
||||
{
|
||||
take_first = rep->can_be_null & mask_take;
|
||||
take_second = rep->can_be_null & mask_skip;
|
||||
}
|
||||
else
|
||||
{
|
||||
take_first = access::can_start(*position, rep->_map, (unsigned char)mask_take);
|
||||
take_second = access::can_start(*position, rep->_map, (unsigned char)mask_skip);
|
||||
}
|
||||
|
||||
if(next_count->get_count() < rep->min)
|
||||
{
|
||||
// we must take the repeat:
|
||||
if(take_first)
|
||||
{
|
||||
// increase the counter:
|
||||
++(*next_count);
|
||||
pstate = rep->next.p;
|
||||
return match_all_states();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if(rep->greedy)
|
||||
{
|
||||
// try and take the repeat if we can:
|
||||
if((next_count->get_count() < rep->max) && take_first)
|
||||
{
|
||||
// store position in case we fail:
|
||||
BidiIterator pos = position;
|
||||
// increase the counter:
|
||||
++(*next_count);
|
||||
pstate = rep->next.p;
|
||||
if(match_all_states())
|
||||
return true;
|
||||
// failed repeat, reset posistion and fall through for alternative:
|
||||
position = pos;
|
||||
}
|
||||
if(take_second)
|
||||
{
|
||||
pstate = rep->alt.p;
|
||||
return true;
|
||||
}
|
||||
return false; // can't take anything, fail...
|
||||
}
|
||||
else // non-greedy
|
||||
{
|
||||
// try and skip the repeat if we can:
|
||||
if(take_second)
|
||||
{
|
||||
// store position in case we fail:
|
||||
BidiIterator pos = position;
|
||||
pstate = rep->alt.p;
|
||||
if(match_all_states())
|
||||
return true;
|
||||
// failed alternative, reset posistion and fall through for repeat:
|
||||
position = pos;
|
||||
}
|
||||
if((next_count->get_count() < rep->max) && take_first)
|
||||
{
|
||||
// increase the counter:
|
||||
++(*next_count);
|
||||
pstate = rep->next.p;
|
||||
return match_all_states();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regbase.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares class regbase.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_REGBASE_HPP
|
||||
#define BOOST_REGEX_V4_REGBASE_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
//
|
||||
// class regbase
|
||||
// handles error codes and flags
|
||||
//
|
||||
class BOOST_REGEX_DECL regbase
|
||||
{
|
||||
public:
|
||||
enum flag_type_
|
||||
{
|
||||
escape_in_lists = 1, // '\' special inside [...]
|
||||
char_classes = escape_in_lists << 1, // [[:CLASS:]] allowed
|
||||
intervals = char_classes << 1, // {x,y} allowed
|
||||
limited_ops = intervals << 1, // all of + ? and | are normal characters
|
||||
newline_alt = limited_ops << 1, // \n is the same as |
|
||||
bk_plus_qm = newline_alt << 1, // uses \+ and \?
|
||||
bk_braces = bk_plus_qm << 1, // uses \{ and \}
|
||||
bk_parens = bk_braces << 1, // uses \( and \)
|
||||
bk_refs = bk_parens << 1, // \d allowed
|
||||
bk_vbar = bk_refs << 1, // uses \|
|
||||
|
||||
use_except = bk_vbar << 1, // exception on error
|
||||
failbit = use_except << 1, // error flag
|
||||
literal = failbit << 1, // all characters are literals
|
||||
icase = literal << 1, // characters are matched regardless of case
|
||||
nocollate = icase << 1, // don't use locale specific collation
|
||||
perlex = nocollate << 1, // perl extensions
|
||||
|
||||
basic = char_classes | intervals | limited_ops | bk_braces | bk_parens | bk_refs,
|
||||
extended = char_classes | intervals | bk_refs,
|
||||
normal = perlex | escape_in_lists | char_classes | intervals | bk_refs | nocollate,
|
||||
emacs = bk_braces | bk_parens | bk_refs | bk_vbar,
|
||||
awk = extended | escape_in_lists,
|
||||
grep = basic | newline_alt,
|
||||
egrep = extended | newline_alt,
|
||||
sed = basic,
|
||||
perl = normal
|
||||
};
|
||||
typedef unsigned int flag_type;
|
||||
|
||||
enum restart_info
|
||||
{
|
||||
restart_any = 0,
|
||||
restart_word = 1,
|
||||
restart_line = 2,
|
||||
restart_buf = 3,
|
||||
restart_continue = 4,
|
||||
restart_lit = 5,
|
||||
restart_fixed_lit = 6
|
||||
};
|
||||
|
||||
flag_type BOOST_REGEX_CALL flags()const
|
||||
{
|
||||
return _flags;
|
||||
}
|
||||
|
||||
regbase();
|
||||
regbase(const regbase& b);
|
||||
void swap(regbase& that)
|
||||
{ std::swap(_flags, that._flags); }
|
||||
protected:
|
||||
flag_type _flags;
|
||||
};
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,187 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares boost::reg_expression<> and associated
|
||||
* functions and classes. This header is the main
|
||||
* entry point for the template regex code.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_RE_REGEX_HPP_INCLUDED
|
||||
#define BOOST_RE_REGEX_HPP_INCLUDED
|
||||
|
||||
#ifndef BOOST_RE_CREGEX_HPP
|
||||
#include <boost/cregex.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
// what follows is all C++ don't include in C builds!!
|
||||
|
||||
#ifdef BOOST_REGEX_DEBUG
|
||||
# include <iosfwd>
|
||||
#endif
|
||||
|
||||
#include <new>
|
||||
#include <cstring>
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_FWD_HPP
|
||||
#include <boost/regex_fwd.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_STACK_HPP
|
||||
#include <boost/regex/v4/regex_stack.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_RAW_BUFFER_HPP
|
||||
#include <boost/regex/v4/regex_raw_buffer.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_KMP_HPP
|
||||
#include <boost/regex/v4/regex_kmp.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_RE_PAT_EXCEPT_HPP
|
||||
#include <boost/regex/pattern_except.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_TRAITS_HPP
|
||||
#include <boost/regex/regex_traits.hpp>
|
||||
#endif
|
||||
#include <boost/type_traits/remove_cv.hpp>
|
||||
#include <boost/scoped_array.hpp>
|
||||
|
||||
#ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
|
||||
#include <boost/regex/v4/char_regex_traits.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_STATES_HPP
|
||||
#include <boost/regex/v4/states.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_REGBASE_HPP
|
||||
#include <boost/regex/v4/regbase.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
|
||||
#include <boost/regex/v4/iterator_traits.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
|
||||
#include <boost/regex/v4/iterator_traits.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
|
||||
#include <boost/regex/v4/basic_regex.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
|
||||
#include <boost/regex/v4/sub_match.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_FORMAT_HPP
|
||||
#include <boost/regex/v4/regex_format.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
|
||||
#include <boost/regex/v4/match_results.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_COMPILE_HPP
|
||||
#include <boost/regex/v4/regex_compile.hpp>
|
||||
#endif
|
||||
|
||||
//
|
||||
// template instances:
|
||||
//
|
||||
#define BOOST_REGEX_CHAR_T char
|
||||
#ifdef BOOST_REGEX_NARROW_INSTANTIATE
|
||||
# define BOOST_REGEX_INSTANTIATE
|
||||
#endif
|
||||
#include <boost/regex/v4/instances.hpp>
|
||||
#undef BOOST_REGEX_CHAR_T
|
||||
#ifdef BOOST_REGEX_INSTANTIATE
|
||||
# undef BOOST_REGEX_INSTANTIATE
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
#define BOOST_REGEX_CHAR_T wchar_t
|
||||
#ifdef BOOST_REGEX_WIDE_INSTANTIATE
|
||||
# define BOOST_REGEX_INSTANTIATE
|
||||
#endif
|
||||
#include <boost/regex/v4/instances.hpp>
|
||||
#undef BOOST_REGEX_CHAR_T
|
||||
#ifdef BOOST_REGEX_INSTANTIATE
|
||||
# undef BOOST_REGEX_INSTANTIATE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
namespace boost{
|
||||
#ifdef BOOST_REGEX_NO_FWD
|
||||
typedef reg_expression<char, regex_traits<char>, BOOST_DEFAULT_ALLOCATOR(char)> regex;
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
typedef reg_expression<wchar_t, regex_traits<wchar_t>, BOOST_DEFAULT_ALLOCATOR(wchar_t)> wregex;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef match_results<const char*> cmatch;
|
||||
typedef match_results<std::string::const_iterator> smatch;
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
typedef match_results<const wchar_t*> wcmatch;
|
||||
typedef match_results<std::wstring::const_iterator> wsmatch;
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
#ifndef BOOST_REGEX_MATCH_HPP
|
||||
#include <boost/regex/v4/regex_match.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP
|
||||
#include <boost/regex/v4/regex_search.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP
|
||||
#include <boost/regex/v4/regex_grep.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
|
||||
#include <boost/regex/v4/regex_merge.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_SPLIT_HPP
|
||||
#include <boost/regex/v4/regex_split.hpp>
|
||||
#endif
|
||||
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // include
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_cstring.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: This is an internal header file, do not include directly.
|
||||
* String support and helper functions, for regular
|
||||
* expression library.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_CSTRING_HPP
|
||||
#define BOOST_REGEX_CSTRING_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#include <cstring>
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
//
|
||||
// start by defining some template function aliases for C API functions:
|
||||
//
|
||||
|
||||
template <class charT>
|
||||
std::size_t BOOST_REGEX_CALL re_strlen(const charT *s)
|
||||
{
|
||||
std::size_t len = 0;
|
||||
while(*s)
|
||||
{
|
||||
++s;
|
||||
++len;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
inline std::size_t BOOST_REGEX_CALL re_strlen(const char *s)
|
||||
{
|
||||
return std::strlen(s);
|
||||
}
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
|
||||
inline std::size_t BOOST_REGEX_CALL re_strlen(const wchar_t *s)
|
||||
{
|
||||
return std::wcslen(s);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in);
|
||||
#endif
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL re_transform(std::string& out, const std::string& in);
|
||||
|
||||
template <class charT>
|
||||
void BOOST_REGEX_CALL re_trunc_primary(std::basic_string<charT>& s)
|
||||
{
|
||||
for(unsigned int i = 0; i < s.size(); ++i)
|
||||
{
|
||||
if(s[i] <= 1)
|
||||
{
|
||||
s.erase(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline char* BOOST_REGEX_CALL re_strcpy(char *s1, const char *s2)
|
||||
{
|
||||
#if defined(__BORLANDC__) && defined(strcpy)
|
||||
return ::strcpy(s1, s2);
|
||||
#else
|
||||
return std::strcpy(s1, s2);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
|
||||
inline wchar_t* BOOST_REGEX_CALL re_strcpy(wchar_t *s1, const wchar_t *s2)
|
||||
{
|
||||
return std::wcscpy(s1, s2);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
template <class charT>
|
||||
charT* BOOST_REGEX_CALL re_strdup(const charT* p)
|
||||
{
|
||||
charT* buf = new charT[re_strlen(p) + 1];
|
||||
re_strcpy(buf, p);
|
||||
return buf;
|
||||
}
|
||||
|
||||
template <class charT>
|
||||
inline void BOOST_REGEX_CALL re_strfree(charT* p)
|
||||
{
|
||||
delete[] p;
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_CSTRING_HPP
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,534 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_format.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Provides formatting output routines for search and replace
|
||||
* operations. Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_FORMAT_HPP
|
||||
#define BOOST_REGEX_FORMAT_HPP
|
||||
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8037
|
||||
#endif
|
||||
|
||||
//
|
||||
// Forward declaration:
|
||||
//
|
||||
template <class RandomAccessIterator, class Allocator>
|
||||
class match_results;
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
template <class O, class I>
|
||||
O BOOST_REGEX_CALL re_copy_out(O out, I first, I last)
|
||||
{
|
||||
while(first != last)
|
||||
{
|
||||
*out = *first;
|
||||
++out;
|
||||
++first;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
template <class charT, class traits_type>
|
||||
void BOOST_REGEX_CALL re_skip_format(const charT*& fmt, const traits_type& traits_inst)
|
||||
{
|
||||
// dwa 9/13/00 - suppress incorrect unused parameter warning for MSVC
|
||||
(void)traits_inst;
|
||||
|
||||
typedef typename traits_type::size_type traits_size_type;
|
||||
typedef typename traits_type::uchar_type traits_uchar_type;
|
||||
typedef typename traits_type::string_type traits_string_type;
|
||||
|
||||
unsigned int parens = 0;
|
||||
unsigned int c;
|
||||
while(*fmt)
|
||||
{
|
||||
c = traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt));
|
||||
if((c == traits_type::syntax_colon) && (parens == 0))
|
||||
{
|
||||
++fmt;
|
||||
return;
|
||||
}
|
||||
else if(c == traits_type::syntax_close_bracket)
|
||||
{
|
||||
if(parens == 0)
|
||||
{
|
||||
++fmt;
|
||||
return;
|
||||
}
|
||||
--parens;
|
||||
}
|
||||
else if(c == traits_type::syntax_open_bracket)
|
||||
++parens;
|
||||
else if(c == traits_type::syntax_slash)
|
||||
{
|
||||
++fmt;
|
||||
if(*fmt == 0)
|
||||
return;
|
||||
}
|
||||
++fmt;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
|
||||
|
||||
//
|
||||
// ugly hack for buggy output iterators
|
||||
|
||||
template <class T>
|
||||
inline void oi_assign(T* p, T v)
|
||||
{
|
||||
::boost::re_detail::pointer_destroy(p);
|
||||
pointer_construct(p, v);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
template <class T>
|
||||
inline void oi_assign(T* p, T v)
|
||||
{
|
||||
//
|
||||
// if you get a compile time error in here then you either
|
||||
// need to rewrite your output iterator to make it assignable
|
||||
// (as is required by the standard), or define
|
||||
// BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN to use the ugly hack above
|
||||
*p = v;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE)
|
||||
//
|
||||
// Ugly ugly hack,
|
||||
// template don't merge if they contain switch statements so declare these
|
||||
// templates in unnamed namespace (ie with internal linkage), each translation
|
||||
// unit then gets its own local copy, it works seemlessly but bloats the app.
|
||||
namespace{
|
||||
#endif
|
||||
|
||||
//
|
||||
// algorithm reg_format:
|
||||
// takes the result of a match and a format string
|
||||
// and merges them to produce a new string which
|
||||
// is sent to an OutputIterator,
|
||||
// _reg_format_aux does the actual work:
|
||||
//
|
||||
template <class OutputIterator, class Iterator, class Allocator, class charT, class traits_type>
|
||||
OutputIterator BOOST_REGEX_CALL _reg_format_aux(OutputIterator out,
|
||||
const match_results<Iterator, Allocator>& m,
|
||||
const charT*& fmt,
|
||||
match_flag_type flags, const traits_type& traits_inst)
|
||||
{
|
||||
const charT* fmt_end = fmt;
|
||||
while(*fmt_end) ++ fmt_end;
|
||||
|
||||
typedef typename traits_type::size_type traits_size_type;
|
||||
typedef typename traits_type::uchar_type traits_uchar_type;
|
||||
typedef typename traits_type::string_type traits_string_type;
|
||||
|
||||
while(*fmt)
|
||||
{
|
||||
switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)))
|
||||
{
|
||||
case traits_type::syntax_dollar:
|
||||
if(flags & format_sed)
|
||||
{
|
||||
// no perl style replacement,
|
||||
// $ is an ordinary character:
|
||||
goto default_opt;
|
||||
}
|
||||
++fmt;
|
||||
if(*fmt == 0) // oops trailing $
|
||||
{
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
return out;
|
||||
}
|
||||
switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)))
|
||||
{
|
||||
case traits_type::syntax_start_buffer:
|
||||
oi_assign(&out, re_copy_out(out, Iterator(m[-1].first), Iterator(m[-1].second)));
|
||||
++fmt;
|
||||
continue;
|
||||
case traits_type::syntax_end_buffer:
|
||||
oi_assign(&out, re_copy_out(out, Iterator(m[-2].first), Iterator(m[-2].second)));
|
||||
++fmt;
|
||||
continue;
|
||||
case traits_type::syntax_digit:
|
||||
{
|
||||
expand_sub:
|
||||
unsigned int index = traits_inst.toi(fmt, fmt_end, 10);
|
||||
if(index < m.size())
|
||||
oi_assign(&out, re_copy_out(out, Iterator(m[index].first), Iterator(m[index].second)));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
// anything else:
|
||||
if(*fmt == '&')
|
||||
{
|
||||
oi_assign(&out, re_copy_out(out, Iterator(m[0].first), Iterator(m[0].second)));
|
||||
++fmt;
|
||||
}
|
||||
else
|
||||
{
|
||||
// probably an error, treat as a literal '$'
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
}
|
||||
continue;
|
||||
case traits_type::syntax_slash:
|
||||
{
|
||||
// escape sequence:
|
||||
++fmt;
|
||||
charT c(*fmt);
|
||||
if(*fmt == 0)
|
||||
{
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
return out;
|
||||
}
|
||||
switch(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)))
|
||||
{
|
||||
case traits_type::syntax_a:
|
||||
c = '\a';
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_f:
|
||||
c = '\f';
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_n:
|
||||
c = '\n';
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_r:
|
||||
c = '\r';
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_t:
|
||||
c = '\t';
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_v:
|
||||
c = '\v';
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_x:
|
||||
++fmt;
|
||||
if(fmt == fmt_end)
|
||||
{
|
||||
*out = *--fmt;
|
||||
++out;
|
||||
return out;
|
||||
}
|
||||
// maybe have \x{ddd}
|
||||
if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) == traits_type::syntax_open_brace)
|
||||
{
|
||||
++fmt;
|
||||
if(fmt == fmt_end)
|
||||
{
|
||||
fmt -= 2;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
if(traits_inst.is_class(*fmt, traits_type::char_class_xdigit) == false)
|
||||
{
|
||||
fmt -= 2;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
c = (charT)traits_inst.toi(fmt, fmt_end, -16);
|
||||
if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) != traits_type::syntax_close_brace)
|
||||
{
|
||||
while(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*fmt)) != traits_type::syntax_slash)
|
||||
--fmt;
|
||||
++fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
++fmt;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(traits_inst.is_class(*fmt, traits_type::char_class_xdigit) == false)
|
||||
{
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
c = (charT)traits_inst.toi(fmt, fmt_end, -16);
|
||||
}
|
||||
break;
|
||||
case traits_type::syntax_c:
|
||||
++fmt;
|
||||
if(fmt == fmt_end)
|
||||
{
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
return out;
|
||||
}
|
||||
if(((typename traits_type::uchar_type)(*fmt) < (typename traits_type::uchar_type)'@')
|
||||
|| ((typename traits_type::uchar_type)(*fmt) > (typename traits_type::uchar_type)127) )
|
||||
{
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
break;
|
||||
}
|
||||
c = (charT)((typename traits_type::uchar_type)(*fmt) - (typename traits_type::uchar_type)'@');
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_e:
|
||||
c = (charT)27;
|
||||
++fmt;
|
||||
break;
|
||||
case traits_type::syntax_digit:
|
||||
if(flags & format_sed)
|
||||
goto expand_sub;
|
||||
else
|
||||
c = (charT)traits_inst.toi(fmt, fmt_end, -8);
|
||||
break;
|
||||
default:
|
||||
//c = *fmt;
|
||||
++fmt;
|
||||
}
|
||||
*out = c;
|
||||
++out;
|
||||
continue;
|
||||
}
|
||||
case traits_type::syntax_open_bracket:
|
||||
if(flags & (format_sed|format_perl))
|
||||
{
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
++fmt; // recurse
|
||||
oi_assign(&out, _reg_format_aux(out, m, fmt, flags, traits_inst));
|
||||
continue;
|
||||
}
|
||||
case traits_type::syntax_close_bracket:
|
||||
if(flags & (format_sed|format_perl))
|
||||
{
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
++fmt; // return from recursion
|
||||
return out;
|
||||
}
|
||||
case traits_type::syntax_colon:
|
||||
if(flags & format_is_if)
|
||||
{
|
||||
++fmt;
|
||||
return out;
|
||||
}
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
case traits_type::syntax_question:
|
||||
{
|
||||
if(flags & (format_sed|format_perl))
|
||||
{
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
++fmt;
|
||||
if(*fmt == 0)
|
||||
{
|
||||
--fmt;
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
return out;
|
||||
}
|
||||
unsigned int id = traits_inst.toi(fmt, fmt_end, 10);
|
||||
if(m[id].matched)
|
||||
{
|
||||
oi_assign(&out, _reg_format_aux(out, m, fmt, flags | format_is_if, traits_inst));
|
||||
if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*(fmt-1))) == traits_type::syntax_colon)
|
||||
re_skip_format(fmt, traits_inst);
|
||||
}
|
||||
else
|
||||
{
|
||||
re_skip_format(fmt, traits_inst);
|
||||
if(traits_inst.syntax_type((traits_size_type)(traits_uchar_type)(*(fmt-1))) == traits_type::syntax_colon)
|
||||
oi_assign(&out, _reg_format_aux(out, m, fmt, flags | format_is_if, traits_inst));
|
||||
}
|
||||
return out;
|
||||
}
|
||||
}
|
||||
default:
|
||||
default_opt:
|
||||
if((flags & format_sed) && (*fmt == '&'))
|
||||
{
|
||||
oi_assign(&out, re_copy_out(out, Iterator(m[0].first), Iterator(m[0].second)));
|
||||
++fmt;
|
||||
continue;
|
||||
}
|
||||
*out = *fmt;
|
||||
++out;
|
||||
++fmt;
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
#if defined(BOOST_REGEX_NO_TEMPLATE_SWITCH_MERGE)
|
||||
} // namespace
|
||||
#endif
|
||||
|
||||
template <class S>
|
||||
class string_out_iterator
|
||||
{
|
||||
S* out;
|
||||
public:
|
||||
string_out_iterator(S& s) : out(&s) {}
|
||||
string_out_iterator& operator++() { return *this; }
|
||||
string_out_iterator& operator++(int) { return *this; }
|
||||
string_out_iterator& operator*() { return *this; }
|
||||
string_out_iterator& operator=(typename S::value_type v)
|
||||
{
|
||||
out->append(1, v);
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
template <class OutputIterator, class Iterator, class charT, class Allocator, class traits_type>
|
||||
class merge_out_predicate
|
||||
{
|
||||
OutputIterator* out;
|
||||
Iterator* last;
|
||||
const charT* fmt;
|
||||
match_flag_type flags;
|
||||
const traits_type* pt;
|
||||
// rebind allocator to correct type:
|
||||
typedef typename detail::rebind_allocator<sub_match<Iterator>, Allocator>::type alloc_type;
|
||||
|
||||
public:
|
||||
merge_out_predicate(OutputIterator& o, Iterator& pi, const charT* f, match_flag_type format_flags, const traits_type& p)
|
||||
: out(&o), last(&pi), fmt(f), flags(format_flags), pt(&p){}
|
||||
|
||||
~merge_out_predicate() {}
|
||||
bool BOOST_REGEX_CALL operator()(const boost::match_results<Iterator, alloc_type>& m)
|
||||
{
|
||||
const charT* f = fmt;
|
||||
if(0 == (flags & format_no_copy))
|
||||
oi_assign(out, re_copy_out(*out, Iterator(m[-1].first), Iterator(m[-1].second)));
|
||||
oi_assign(out, _reg_format_aux(*out, m, f, flags, *pt));
|
||||
*last = m[-2].first;
|
||||
return flags & format_first_only ? false : true;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
template <class OutputIterator, class Iterator, class Allocator, class charT>
|
||||
OutputIterator regex_format(OutputIterator out,
|
||||
const match_results<Iterator, Allocator>& m,
|
||||
const charT* fmt,
|
||||
match_flag_type flags = format_all
|
||||
)
|
||||
{
|
||||
regex_traits<charT> t;
|
||||
return re_detail::_reg_format_aux(out, m, fmt, flags, t);
|
||||
}
|
||||
|
||||
template <class OutputIterator, class Iterator, class Allocator, class charT>
|
||||
OutputIterator regex_format(OutputIterator out,
|
||||
const match_results<Iterator, Allocator>& m,
|
||||
const std::basic_string<charT>& fmt,
|
||||
match_flag_type flags = format_all
|
||||
)
|
||||
{
|
||||
regex_traits<charT> t;
|
||||
const charT* start = fmt.c_str();
|
||||
return re_detail::_reg_format_aux(out, m, start, flags, t);
|
||||
}
|
||||
|
||||
template <class Iterator, class Allocator, class charT>
|
||||
std::basic_string<charT> regex_format(const match_results<Iterator, Allocator>& m,
|
||||
const charT* fmt,
|
||||
match_flag_type flags = format_all)
|
||||
{
|
||||
std::basic_string<charT> result;
|
||||
re_detail::string_out_iterator<std::basic_string<charT> > i(result);
|
||||
regex_format(i, m, fmt, flags);
|
||||
return result;
|
||||
}
|
||||
|
||||
template <class Iterator, class Allocator, class charT>
|
||||
std::basic_string<charT> regex_format(const match_results<Iterator, Allocator>& m,
|
||||
const std::basic_string<charT>& fmt,
|
||||
match_flag_type flags = format_all)
|
||||
{
|
||||
std::basic_string<charT> result;
|
||||
re_detail::string_out_iterator<std::basic_string<charT> > i(result);
|
||||
regex_format(i, m, fmt.c_str(), flags);
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_FORMAT_HPP
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_fwd.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Forward declares boost::reg_expression<> and
|
||||
* associated typedefs.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_FWD_HPP_INCLUDED
|
||||
#define BOOST_REGEX_FWD_HPP_INCLUDED
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/config.hpp>
|
||||
#endif
|
||||
#include <boost/detail/allocator.hpp>
|
||||
|
||||
//
|
||||
// define BOOST_REGEX_NO_FWD if this
|
||||
// header doesn't work!
|
||||
//
|
||||
#ifdef BOOST_REGEX_NO_FWD
|
||||
# ifndef BOOST_RE_REGEX_HPP
|
||||
# include <boost/regex.hpp>
|
||||
# endif
|
||||
#else
|
||||
|
||||
//
|
||||
// If there isn't good enough wide character support then there will
|
||||
// be no wide character regular expressions:
|
||||
//
|
||||
#if (defined(BOOST_NO_CWCHAR) || defined(BOOST_NO_CWCTYPE) || defined(BOOST_NO_STD_WSTRING)) && !defined(BOOST_NO_WREGEX)
|
||||
# define BOOST_NO_WREGEX
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
template <class charT>
|
||||
class regex_traits;
|
||||
|
||||
template <class charT, class traits = regex_traits<charT>, class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) >
|
||||
class reg_expression;
|
||||
template <class charT, class traits = regex_traits<charT>, class Allocator = BOOST_DEFAULT_ALLOCATOR(charT) >
|
||||
class basic_regex;
|
||||
|
||||
typedef basic_regex<char, regex_traits<char>, BOOST_DEFAULT_ALLOCATOR(char) > regex;
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
typedef basic_regex<wchar_t, regex_traits<wchar_t>, BOOST_DEFAULT_ALLOCATOR(wchar_t) > wregex;
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_NO_FWD
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_grep.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Provides regex_grep implementation.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_REGEX_GREP_HPP
|
||||
#define BOOST_REGEX_V4_REGEX_GREP_HPP
|
||||
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8037
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// regex_grep:
|
||||
// find all non-overlapping matches within the sequence first last:
|
||||
//
|
||||
template <class Predicate, class BidiIterator, class charT, class traits, class Allocator>
|
||||
inline unsigned int regex_grep(Predicate foo,
|
||||
BidiIterator first,
|
||||
BidiIterator last,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
if(e.flags() & regbase::failbit)
|
||||
return false;
|
||||
typedef detail::rebind_allocator<sub_match<BidiIterator>, Allocator> binder;
|
||||
typedef typename binder::type match_allocator_type;
|
||||
//typedef Allocator match_allocator_type;
|
||||
|
||||
match_results<BidiIterator, match_allocator_type> m;
|
||||
re_detail::perl_matcher<BidiIterator, match_allocator_type, traits, Allocator> matcher(first, last, m, e, flags);
|
||||
unsigned int count = 0;
|
||||
while(matcher.find())
|
||||
{
|
||||
++count;
|
||||
if(0 == foo(m))
|
||||
return count; // caller doesn't want to go on
|
||||
if(m[0].second == last)
|
||||
return count; // we've reached the end, don't try and find an extra null match.
|
||||
if(m.length() == 0)
|
||||
{
|
||||
// we found a NULL-match, now try to find
|
||||
// a non-NULL one at the same position:
|
||||
BidiIterator last_end(m[0].second);
|
||||
if(last_end == last)
|
||||
return count;
|
||||
matcher.setf(match_not_null | match_continuous);
|
||||
if(matcher.find())
|
||||
{
|
||||
++count;
|
||||
last_end = m[0].second;
|
||||
if(0 == foo(m))
|
||||
return count;
|
||||
}
|
||||
else
|
||||
{
|
||||
// reset match back to where it was:
|
||||
m.set_second(last_end);
|
||||
}
|
||||
matcher.unsetf((match_not_null | match_continuous) & ~flags);
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
//
|
||||
// regex_grep convenience interfaces:
|
||||
#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
//
|
||||
// this isn't really a partial specialisation, but template function
|
||||
// overloading - if the compiler doesn't support partial specialisation
|
||||
// then it really won't support this either:
|
||||
template <class Predicate, class charT, class Allocator, class traits>
|
||||
inline unsigned int regex_grep(Predicate foo, const charT* str,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_grep(foo, str, str + traits::length(str), e, flags);
|
||||
}
|
||||
|
||||
template <class Predicate, class ST, class SA, class Allocator, class charT, class traits>
|
||||
inline unsigned int regex_grep(Predicate foo, const std::basic_string<charT, ST, SA>& s,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_grep(foo, s.begin(), s.end(), e, flags);
|
||||
}
|
||||
#else // partial specialisation
|
||||
inline unsigned int regex_grep(bool (*foo)(const cmatch&), const char* str,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_grep(foo, str, str + regex::traits_type::length(str), e, flags);
|
||||
}
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
inline unsigned int regex_grep(bool (*foo)(const wcmatch&), const wchar_t* str,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_grep(foo, str, str + wregex::traits_type::length(str), e, flags);
|
||||
}
|
||||
#endif
|
||||
inline unsigned int regex_grep(bool (*foo)(const match_results<std::string::const_iterator>&), const std::string& s,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_grep(foo, s.begin(), s.end(), e, flags);
|
||||
}
|
||||
#if !defined(BOOST_NO_WREGEX)
|
||||
inline unsigned int regex_grep(bool (*foo)(const match_results<std::basic_string<wchar_t>::const_iterator>&),
|
||||
const std::basic_string<wchar_t>& s,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_grep(foo, s.begin(), s.end(), e, flags);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_V4_REGEX_GREP_HPP
|
||||
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_kmp.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Provides Knuth Morris Pratt search operations.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_KMP_HPP
|
||||
#define BOOST_REGEX_KMP_HPP
|
||||
|
||||
#ifdef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
template <class charT>
|
||||
struct kmp_info
|
||||
{
|
||||
unsigned int size;
|
||||
unsigned int len;
|
||||
const charT* pstr;
|
||||
int kmp_next[1];
|
||||
};
|
||||
|
||||
template <class charT, class Allocator>
|
||||
void kmp_free(kmp_info<charT>* pinfo, const Allocator& a)
|
||||
{
|
||||
typedef typename boost::detail::rebind_allocator<char, Allocator>::type atype;
|
||||
atype(a).deallocate(reinterpret_cast<char*>(pinfo), pinfo->size);
|
||||
}
|
||||
|
||||
template <class iterator, class charT, class Trans, class Allocator>
|
||||
kmp_info<charT>* kmp_compile(iterator first, iterator last, charT, Trans translate, const Allocator& a)
|
||||
{
|
||||
typedef typename boost::detail::rebind_allocator<char, Allocator>::type atype;
|
||||
int i, j, m;
|
||||
i = 0;
|
||||
m = static_cast<int>(boost::re_detail::distance(first, last));
|
||||
++m;
|
||||
unsigned int size = sizeof(kmp_info<charT>) + sizeof(int)*m + sizeof(charT)*m;
|
||||
--m;
|
||||
//
|
||||
// allocate struct and fill it in:
|
||||
//
|
||||
kmp_info<charT>* pinfo = reinterpret_cast<kmp_info<charT>*>(atype(a).allocate(size));
|
||||
BOOST_REGEX_NOEH_ASSERT(pinfo)
|
||||
pinfo->size = size;
|
||||
pinfo->len = m;
|
||||
charT* p = reinterpret_cast<charT*>(reinterpret_cast<char*>(pinfo) + sizeof(kmp_info<charT>) + sizeof(int)*(m+1));
|
||||
pinfo->pstr = p;
|
||||
while(first != last)
|
||||
{
|
||||
*p = translate(*first);
|
||||
++first;
|
||||
++p;
|
||||
}
|
||||
*p = 0;
|
||||
//
|
||||
// finally do regular kmp compile:
|
||||
//
|
||||
j = pinfo->kmp_next[0] = -1;
|
||||
while (i < m)
|
||||
{
|
||||
while ((j > -1) && (pinfo->pstr[i] != pinfo->pstr[j]))
|
||||
j = pinfo->kmp_next[j];
|
||||
++i;
|
||||
++j;
|
||||
if (pinfo->pstr[i] == pinfo->pstr[j])
|
||||
pinfo->kmp_next[i] = pinfo->kmp_next[j];
|
||||
else
|
||||
pinfo->kmp_next[i] = j;
|
||||
}
|
||||
|
||||
return pinfo;
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namepsace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_KMP_HPP
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_match.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Regular expression matching algorithms.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef BOOST_REGEX_MATCH_HPP
|
||||
#define BOOST_REGEX_MATCH_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_MAX_STATE_COUNT
|
||||
# define BOOST_REGEX_MAX_STATE_COUNT 100000000
|
||||
#endif
|
||||
|
||||
#include <boost/limits.hpp>
|
||||
#include <boost/regex/v4/perl_matcher.hpp>
|
||||
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8026 -w-8027
|
||||
#endif
|
||||
|
||||
//
|
||||
// proc regex_match
|
||||
// returns true if the specified regular expression matches
|
||||
// the whole of the input. Fills in what matched in m.
|
||||
//
|
||||
template <class BidiIterator, class Allocator, class charT, class traits, class Allocator2>
|
||||
bool regex_match(BidiIterator first, BidiIterator last,
|
||||
match_results<BidiIterator, Allocator>& m,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
re_detail::perl_matcher<BidiIterator, Allocator, traits, Allocator2> matcher(first, last, m, e, flags);
|
||||
return matcher.match();
|
||||
}
|
||||
template <class iterator, class charT, class traits, class Allocator2>
|
||||
bool regex_match(iterator first, iterator last,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
match_results<iterator> m;
|
||||
return regex_match(first, last, m, e, flags);
|
||||
}
|
||||
//
|
||||
// query_match convenience interfaces:
|
||||
#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
//
|
||||
// this isn't really a partial specialisation, but template function
|
||||
// overloading - if the compiler doesn't support partial specialisation
|
||||
// then it really won't support this either:
|
||||
template <class charT, class Allocator, class traits, class Allocator2>
|
||||
inline bool regex_match(const charT* str,
|
||||
match_results<const charT*, Allocator>& m,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_match(str, str + traits::length(str), m, e, flags);
|
||||
}
|
||||
|
||||
template <class ST, class SA, class Allocator, class charT, class traits, class Allocator2>
|
||||
inline bool regex_match(const std::basic_string<charT, ST, SA>& s,
|
||||
match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_match(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
template <class charT, class traits, class Allocator2>
|
||||
inline bool regex_match(const charT* str,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
match_results<const charT*> m;
|
||||
return regex_match(str, str + traits::length(str), m, e, flags);
|
||||
}
|
||||
|
||||
template <class ST, class SA, class charT, class traits, class Allocator2>
|
||||
inline bool regex_match(const std::basic_string<charT, ST, SA>& s,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
typedef typename std::basic_string<charT, ST, SA>::const_iterator iterator;
|
||||
match_results<iterator> m;
|
||||
return regex_match(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
#else // partial ordering
|
||||
inline bool regex_match(const char* str,
|
||||
cmatch& m,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
|
||||
}
|
||||
inline bool regex_match(const char* str,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
match_results<const char*> m;
|
||||
return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
|
||||
}
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
inline bool regex_match(const wchar_t* str,
|
||||
wcmatch& m,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
|
||||
}
|
||||
inline bool regex_match(const wchar_t* str,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
match_results<const wchar_t*> m;
|
||||
return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
|
||||
}
|
||||
#endif
|
||||
inline bool regex_match(const std::string& s,
|
||||
match_results<std::string::const_iterator, regex::allocator_type>& m,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_match(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
inline bool regex_match(const std::string& s,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
match_results<std::string::const_iterator, regex::allocator_type> m;
|
||||
return regex_match(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
#if !defined(BOOST_NO_WREGEX)
|
||||
inline bool regex_match(const std::basic_string<wchar_t>& s,
|
||||
match_results<std::basic_string<wchar_t>::const_iterator, wregex::allocator_type>& m,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_match(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
inline bool regex_match(const std::basic_string<wchar_t>& s,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
match_results<std::basic_string<wchar_t>::const_iterator, wregex::allocator_type> m;
|
||||
return regex_match(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_MATCH_HPP
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_format.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Provides formatting output routines for search and replace
|
||||
* operations. Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
|
||||
#define BOOST_REGEX_V4_REGEX_MERGE_HPP
|
||||
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8037
|
||||
#endif
|
||||
|
||||
template <class OutputIterator, class Iterator, class traits, class Allocator, class charT>
|
||||
OutputIterator regex_merge(OutputIterator out,
|
||||
Iterator first,
|
||||
Iterator last,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
const charT* fmt,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
Iterator l = first;
|
||||
re_detail::merge_out_predicate<OutputIterator, Iterator, charT, Allocator, traits> oi(out, l, fmt, flags, e.get_traits());
|
||||
regex_grep(oi, first, last, e, flags);
|
||||
return (flags & format_no_copy) ? out : re_detail::re_copy_out(out, l, last);
|
||||
}
|
||||
|
||||
template <class OutputIterator, class Iterator, class traits, class Allocator, class charT>
|
||||
inline OutputIterator regex_merge(OutputIterator out,
|
||||
Iterator first,
|
||||
Iterator last,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
const std::basic_string<charT>& fmt,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_merge(out, first, last, e, fmt.c_str(), flags);
|
||||
}
|
||||
|
||||
template <class traits, class Allocator, class charT>
|
||||
std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
const charT* fmt,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
std::basic_string<charT> result;
|
||||
re_detail::string_out_iterator<std::basic_string<charT> > i(result);
|
||||
regex_merge(i, s.begin(), s.end(), e, fmt, flags);
|
||||
return result;
|
||||
}
|
||||
|
||||
template <class traits, class Allocator, class charT>
|
||||
std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
|
||||
const reg_expression<charT, traits, Allocator>& e,
|
||||
const std::basic_string<charT>& fmt,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
std::basic_string<charT> result;
|
||||
re_detail::string_out_iterator<std::basic_string<charT> > i(result);
|
||||
regex_merge(i, s.begin(), s.end(), e, fmt.c_str(), flags);
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_V4_REGEX_MERGE_HPP
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_raw_buffer.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Raw character buffer for regex code.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_RAW_BUFFER_HPP
|
||||
#define BOOST_REGEX_RAW_BUFFER_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
struct empty_padding{};
|
||||
|
||||
union padding
|
||||
{
|
||||
void* p;
|
||||
unsigned int i;
|
||||
};
|
||||
|
||||
template <int N>
|
||||
struct padding3
|
||||
{
|
||||
enum{
|
||||
padding_size = 8,
|
||||
padding_mask = 7
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct padding3<2>
|
||||
{
|
||||
enum{
|
||||
padding_size = 2,
|
||||
padding_mask = 1
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct padding3<4>
|
||||
{
|
||||
enum{
|
||||
padding_size = 4,
|
||||
padding_mask = 3
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct padding3<8>
|
||||
{
|
||||
enum{
|
||||
padding_size = 8,
|
||||
padding_mask = 7
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct padding3<16>
|
||||
{
|
||||
enum{
|
||||
padding_size = 16,
|
||||
padding_mask = 15
|
||||
};
|
||||
};
|
||||
|
||||
enum{
|
||||
padding_size = padding3<sizeof(padding)>::padding_size,
|
||||
padding_mask = padding3<sizeof(padding)>::padding_mask
|
||||
};
|
||||
|
||||
//
|
||||
// class raw_storage
|
||||
// basically this is a simplified vector<unsigned char>
|
||||
// this is used by reg_expression for expression storage
|
||||
//
|
||||
|
||||
template <class Allocator>
|
||||
class raw_storage
|
||||
{
|
||||
public:
|
||||
typedef Allocator allocator_type;
|
||||
typedef typename boost::detail::rebind_allocator<unsigned char, allocator_type>::type alloc_inst_type;
|
||||
typedef typename alloc_inst_type::size_type size_type;
|
||||
typedef typename alloc_inst_type::pointer pointer;
|
||||
private:
|
||||
//
|
||||
// empty member optimisation:
|
||||
struct alloc_data : public alloc_inst_type
|
||||
{
|
||||
typename alloc_inst_type::pointer last;
|
||||
alloc_data(const Allocator& a) : alloc_inst_type(a){}
|
||||
} alloc_inst;
|
||||
pointer start, end;
|
||||
public:
|
||||
|
||||
raw_storage(const Allocator& a = Allocator());
|
||||
raw_storage(size_type n, const Allocator& a = Allocator());
|
||||
|
||||
~raw_storage()
|
||||
{
|
||||
alloc_inst.deallocate(start, (alloc_inst.last - start));
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL resize(size_type n);
|
||||
|
||||
void* BOOST_REGEX_CALL extend(size_type n)
|
||||
{
|
||||
if(size_type(alloc_inst.last - end) < n)
|
||||
resize(n + (end - start));
|
||||
register void* result = end;
|
||||
end += n;
|
||||
return result;
|
||||
}
|
||||
|
||||
void* BOOST_REGEX_CALL insert(size_type pos, size_type n);
|
||||
|
||||
size_type BOOST_REGEX_CALL size()
|
||||
{
|
||||
return end - start;
|
||||
}
|
||||
|
||||
size_type BOOST_REGEX_CALL capacity()
|
||||
{
|
||||
return alloc_inst.last - start;
|
||||
}
|
||||
|
||||
void* BOOST_REGEX_CALL data()const
|
||||
{
|
||||
return start;
|
||||
}
|
||||
|
||||
size_type BOOST_REGEX_CALL index(void* ptr)
|
||||
{
|
||||
return reinterpret_cast<unsigned char*>(ptr) - reinterpret_cast<unsigned char*>(data());
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL clear()
|
||||
{
|
||||
end = start;
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL align()
|
||||
{
|
||||
// move end up to a boundary:
|
||||
end = reinterpret_cast<unsigned char*>(start) + (((reinterpret_cast<unsigned char*>(end) - reinterpret_cast<unsigned char*>(start)) + padding_mask) & ~padding_mask);
|
||||
}
|
||||
|
||||
Allocator BOOST_REGEX_CALL allocator()const;
|
||||
void swap(raw_storage& that)
|
||||
{
|
||||
std::swap(start, that.start);
|
||||
std::swap(end, that.end);
|
||||
std::swap(alloc_inst.last, that.alloc_inst.last);
|
||||
std::swap(static_cast<alloc_inst_type&>(alloc_inst), static_cast<alloc_inst_type&>(that.alloc_inst));
|
||||
}
|
||||
};
|
||||
|
||||
template <class Allocator>
|
||||
raw_storage<Allocator>::raw_storage(const Allocator& a)
|
||||
: alloc_inst(a)
|
||||
{
|
||||
start = end = alloc_inst.allocate(1024);
|
||||
BOOST_REGEX_NOEH_ASSERT(start)
|
||||
alloc_inst.last = start + 1024;
|
||||
}
|
||||
|
||||
template <class Allocator>
|
||||
raw_storage<Allocator>::raw_storage(size_type n, const Allocator& a)
|
||||
: alloc_inst(a)
|
||||
{
|
||||
start = end = alloc_inst.allocate(n);
|
||||
BOOST_REGEX_NOEH_ASSERT(start)
|
||||
alloc_inst.last = start + n;
|
||||
}
|
||||
|
||||
template <class Allocator>
|
||||
Allocator BOOST_REGEX_CALL raw_storage<Allocator>::allocator()const
|
||||
{
|
||||
return alloc_inst;
|
||||
}
|
||||
|
||||
template <class Allocator>
|
||||
void BOOST_REGEX_CALL raw_storage<Allocator>::resize(size_type n)
|
||||
{
|
||||
register size_type newsize = (alloc_inst.last - start) * 2;
|
||||
register size_type datasize = end - start;
|
||||
if(newsize < n)
|
||||
newsize = n;
|
||||
// extend newsize to WORD/DWORD boundary:
|
||||
newsize = (newsize + padding_mask) & ~(padding_mask);
|
||||
|
||||
// allocate and copy data:
|
||||
register unsigned char* ptr = alloc_inst.allocate(newsize);
|
||||
BOOST_REGEX_NOEH_ASSERT(ptr)
|
||||
std::memcpy(ptr, start, datasize);
|
||||
|
||||
// get rid of old buffer:
|
||||
alloc_inst.deallocate(start, (alloc_inst.last - start));
|
||||
|
||||
// and set up pointers:
|
||||
start = ptr;
|
||||
end = ptr + datasize;
|
||||
alloc_inst.last = ptr + newsize;
|
||||
}
|
||||
|
||||
template <class Allocator>
|
||||
void* BOOST_REGEX_CALL raw_storage<Allocator>::insert(size_type pos, size_type n)
|
||||
{
|
||||
jm_assert(pos <= size_type(end - start));
|
||||
if(size_type(alloc_inst.last - end) < n)
|
||||
resize(n + (end - start));
|
||||
register void* result = start + pos;
|
||||
std::memmove(start + pos + n, start + pos, (end - start) - pos);
|
||||
end += n;
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_search.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Provides regex_search implementation.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP
|
||||
#define BOOST_REGEX_V4_REGEX_SEARCH_HPP
|
||||
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc -w-8037
|
||||
#endif
|
||||
|
||||
template <class BidiIterator, class Allocator, class charT, class traits, class Allocator2>
|
||||
bool regex_search(BidiIterator first, BidiIterator last,
|
||||
match_results<BidiIterator, Allocator>& m,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
if(e.flags() & regbase::failbit)
|
||||
return false;
|
||||
|
||||
re_detail::perl_matcher<BidiIterator, Allocator, traits, Allocator2> matcher(first, last, m, e, flags);
|
||||
return matcher.find();
|
||||
}
|
||||
|
||||
//
|
||||
// regex_search convenience interfaces:
|
||||
#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
//
|
||||
// this isn't really a partial specialisation, but template function
|
||||
// overloading - if the compiler doesn't support partial specialisation
|
||||
// then it really won't support this either:
|
||||
template <class charT, class Allocator, class traits, class Allocator2>
|
||||
inline bool regex_search(const charT* str,
|
||||
match_results<const charT*, Allocator>& m,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_search(str, str + traits::length(str), m, e, flags);
|
||||
}
|
||||
|
||||
template <class ST, class SA, class Allocator, class charT, class traits, class Allocator2>
|
||||
inline bool regex_search(const std::basic_string<charT, ST, SA>& s,
|
||||
match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
|
||||
const reg_expression<charT, traits, Allocator2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_search(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
#else // partial specialisation
|
||||
inline bool regex_search(const char* str,
|
||||
cmatch& m,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_search(str, str + regex::traits_type::length(str), m, e, flags);
|
||||
}
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
inline bool regex_search(const wchar_t* str,
|
||||
wcmatch& m,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_search(str, str + wregex::traits_type::length(str), m, e, flags);
|
||||
}
|
||||
#endif
|
||||
inline bool regex_search(const std::string& s,
|
||||
smatch& m,
|
||||
const regex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_search(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
#if !defined(BOOST_NO_WREGEX)
|
||||
inline bool regex_search(const std::basic_string<wchar_t>& s,
|
||||
wsmatch& m,
|
||||
const wregex& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_search(s.begin(), s.end(), m, e, flags);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_REGEX_V4_REGEX_SEARCH_HPP
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_split.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Implements regex_split and associated functions.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_SPLIT_HPP
|
||||
#define BOOST_REGEX_SPLIT_HPP
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
template <class charT>
|
||||
const reg_expression<charT>& get_default_expression(charT)
|
||||
{
|
||||
static const charT expression_text[] = { '\\', 's', '+', '\00', };
|
||||
static const reg_expression<charT> e(expression_text);
|
||||
return e;
|
||||
}
|
||||
|
||||
template <class OutputIterator, class charT, class Traits1, class Alloc1, class Alloc2>
|
||||
class split_pred
|
||||
{
|
||||
typedef std::basic_string<charT, Traits1, Alloc1> string_type;
|
||||
typedef typename string_type::const_iterator iterator_type;
|
||||
iterator_type* p_last;
|
||||
OutputIterator* p_out;
|
||||
std::size_t* p_max;
|
||||
std::size_t initial_max;
|
||||
public:
|
||||
split_pred(iterator_type* a, OutputIterator* b, std::size_t* c)
|
||||
: p_last(a), p_out(b), p_max(c), initial_max(*c) {}
|
||||
|
||||
bool operator()(const match_results<iterator_type, Alloc2>& what);
|
||||
};
|
||||
|
||||
template <class OutputIterator, class charT, class Traits1, class Alloc1, class Alloc2>
|
||||
bool split_pred<OutputIterator, charT, Traits1, Alloc1, Alloc2>::operator()
|
||||
(const match_results<iterator_type, Alloc2>& what)
|
||||
{
|
||||
*p_last = what[0].second;
|
||||
if(what.size() > 1)
|
||||
{
|
||||
// output sub-expressions only:
|
||||
for(unsigned i = 1; i < what.size(); ++i)
|
||||
{
|
||||
*(*p_out) = static_cast<string_type>(what[i]);
|
||||
++(*p_out);
|
||||
if(0 == --*p_max) return false;
|
||||
}
|
||||
return *p_max != 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// output $` only if it's not-null or not at the start of the input:
|
||||
const sub_match<iterator_type>& sub = what[-1];
|
||||
if((sub.first != sub.second) || (*p_max != initial_max))
|
||||
{
|
||||
*(*p_out) = static_cast<string_type>(sub);
|
||||
++(*p_out);
|
||||
return --*p_max;
|
||||
}
|
||||
}
|
||||
//
|
||||
// initial null, do nothing:
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2, class Alloc2>
|
||||
std::size_t regex_split(OutputIterator out,
|
||||
std::basic_string<charT, Traits1, Alloc1>& s,
|
||||
const reg_expression<charT, Traits2, Alloc2>& e,
|
||||
match_flag_type flags,
|
||||
std::size_t max_split)
|
||||
{
|
||||
typedef typename std::basic_string<charT, Traits1, Alloc1>::const_iterator ci_t;
|
||||
typedef typename detail::rebind_allocator<sub_match<ci_t>, Alloc2>::type match_allocator;
|
||||
ci_t last = s.begin();
|
||||
std::size_t init_size = max_split;
|
||||
re_detail::split_pred<OutputIterator, charT, Traits1, Alloc1, match_allocator> pred(&last, &out, &max_split);
|
||||
ci_t i, j;
|
||||
i = s.begin();
|
||||
j = s.end();
|
||||
regex_grep(pred, i, j, e, flags);
|
||||
//
|
||||
// if there is still input left, do a final push as long as max_split
|
||||
// is not exhausted, and we're not splitting sub-expressions rather
|
||||
// than whitespace:
|
||||
if(max_split && (last != s.end()) && (e.mark_count() == 1))
|
||||
{
|
||||
*out = std::basic_string<charT, Traits1, Alloc1>((ci_t)last, (ci_t)s.end());
|
||||
++out;
|
||||
last = s.end();
|
||||
--max_split;
|
||||
}
|
||||
//
|
||||
// delete from the string everything that has been processed so far:
|
||||
s.erase(0, last - s.begin());
|
||||
//
|
||||
// return the number of new records pushed:
|
||||
return init_size - max_split;
|
||||
}
|
||||
|
||||
template <class OutputIterator, class charT, class Traits1, class Alloc1, class Traits2, class Alloc2>
|
||||
inline std::size_t regex_split(OutputIterator out,
|
||||
std::basic_string<charT, Traits1, Alloc1>& s,
|
||||
const reg_expression<charT, Traits2, Alloc2>& e,
|
||||
match_flag_type flags = match_default)
|
||||
{
|
||||
return regex_split(out, s, e, flags, UINT_MAX);
|
||||
}
|
||||
|
||||
template <class OutputIterator, class charT, class Traits1, class Alloc1>
|
||||
inline std::size_t regex_split(OutputIterator out,
|
||||
std::basic_string<charT, Traits1, Alloc1>& s)
|
||||
{
|
||||
return regex_split(out, s, re_detail::get_default_expression(charT(0)), match_default, UINT_MAX);
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_stack.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Implements customised internal regex stacks.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_STACK_HPP
|
||||
#define BOOST_REGEX_STACK_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_RAW_BUFFER_HPP
|
||||
#include <boost/regex/v4/regex_raw_buffer.hpp>
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
//
|
||||
// class jstack
|
||||
// simplified stack optimised for push/peek/pop
|
||||
// operations, we could use std::stack<std::vector<T>> instead...
|
||||
//
|
||||
template <class T, class Allocator = BOOST_DEFAULT_ALLOCATOR(T) >
|
||||
class jstack
|
||||
{
|
||||
private:
|
||||
typedef typename boost::detail::rebind_allocator<unsigned char, Allocator>::type allocator_type;
|
||||
typedef typename boost::detail::rebind_allocator<T, Allocator>::type T_alloc_type;
|
||||
typedef typename T_alloc_type::size_type size_type;
|
||||
typedef T value_type;
|
||||
struct node
|
||||
{
|
||||
node* next;
|
||||
T* start; // first item
|
||||
T* end; // last item
|
||||
T* last; // end of storage
|
||||
};
|
||||
|
||||
//
|
||||
// empty base member optimisation:
|
||||
struct data : public allocator_type
|
||||
{
|
||||
padding buf[(sizeof(T) * 16 + sizeof(padding) - 1) / sizeof(padding)];
|
||||
data(const Allocator& a) : allocator_type(a){}
|
||||
};
|
||||
|
||||
data alloc_inst;
|
||||
mutable node* m_stack;
|
||||
mutable node* unused;
|
||||
node base;
|
||||
size_type block_size;
|
||||
|
||||
void BOOST_REGEX_CALL pop_aux()const;
|
||||
void BOOST_REGEX_CALL push_aux();
|
||||
|
||||
public:
|
||||
jstack(size_type n = 64, const Allocator& a = Allocator());
|
||||
|
||||
~jstack();
|
||||
|
||||
node* BOOST_REGEX_CALL get_node()
|
||||
{
|
||||
node* new_stack = reinterpret_cast<node*>(alloc_inst.allocate(sizeof(node) + sizeof(T) * block_size));
|
||||
BOOST_REGEX_NOEH_ASSERT(new_stack)
|
||||
new_stack->last = reinterpret_cast<T*>(new_stack+1);
|
||||
new_stack->start = new_stack->end = new_stack->last + block_size;
|
||||
new_stack->next = 0;
|
||||
return new_stack;
|
||||
}
|
||||
|
||||
bool BOOST_REGEX_CALL empty()
|
||||
{
|
||||
return (m_stack->start == m_stack->end) && (m_stack->next == 0);
|
||||
}
|
||||
|
||||
bool BOOST_REGEX_CALL good()
|
||||
{
|
||||
return (m_stack->start != m_stack->end) || (m_stack->next != 0);
|
||||
}
|
||||
|
||||
T& BOOST_REGEX_CALL peek()
|
||||
{
|
||||
if(m_stack->start == m_stack->end)
|
||||
pop_aux();
|
||||
return *m_stack->end;
|
||||
}
|
||||
|
||||
const T& BOOST_REGEX_CALL peek()const
|
||||
{
|
||||
if(m_stack->start == m_stack->end)
|
||||
pop_aux();
|
||||
return *m_stack->end;
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL pop()
|
||||
{
|
||||
if(m_stack->start == m_stack->end)
|
||||
pop_aux();
|
||||
::boost::re_detail::pointer_destroy(m_stack->end);
|
||||
++(m_stack->end);
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL pop(T& t)
|
||||
{
|
||||
if(m_stack->start == m_stack->end)
|
||||
pop_aux();
|
||||
t = *m_stack->end;
|
||||
::boost::re_detail::pointer_destroy(m_stack->end);
|
||||
++(m_stack->end);
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL push(const T& t)
|
||||
{
|
||||
if(m_stack->end == m_stack->last)
|
||||
push_aux();
|
||||
--(m_stack->end);
|
||||
pointer_construct(m_stack->end, t);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
template <class T, class Allocator>
|
||||
jstack<T, Allocator>::jstack(size_type n, const Allocator& a)
|
||||
: alloc_inst(a)
|
||||
{
|
||||
unused = 0;
|
||||
block_size = n;
|
||||
m_stack = &base;
|
||||
base.last = reinterpret_cast<T*>(alloc_inst.buf);
|
||||
base.end = base.start = base.last + 16;
|
||||
base.next = 0;
|
||||
}
|
||||
|
||||
template <class T, class Allocator>
|
||||
void BOOST_REGEX_CALL jstack<T, Allocator>::push_aux()
|
||||
{
|
||||
// make sure we have spare space on TOS:
|
||||
register node* new_node;
|
||||
if(unused)
|
||||
{
|
||||
new_node = unused;
|
||||
unused = new_node->next;
|
||||
new_node->next = m_stack;
|
||||
m_stack = new_node;
|
||||
}
|
||||
else
|
||||
{
|
||||
new_node = get_node();
|
||||
new_node->next = m_stack;
|
||||
m_stack = new_node;
|
||||
}
|
||||
}
|
||||
|
||||
template <class T, class Allocator>
|
||||
void BOOST_REGEX_CALL jstack<T, Allocator>::pop_aux()const
|
||||
{
|
||||
// make sure that we have a valid item
|
||||
// on TOS:
|
||||
jm_assert(m_stack->next);
|
||||
register node* p = m_stack;
|
||||
m_stack = p->next;
|
||||
p->next = unused;
|
||||
unused = p;
|
||||
}
|
||||
|
||||
template <class T, class Allocator>
|
||||
jstack<T, Allocator>::~jstack()
|
||||
{
|
||||
node* condemned;
|
||||
while(good())
|
||||
pop();
|
||||
while(unused)
|
||||
{
|
||||
condemned = unused;
|
||||
unused = unused->next;
|
||||
alloc_inst.deallocate(reinterpret_cast<unsigned char*>(condemned), sizeof(node) + sizeof(T) * block_size);
|
||||
}
|
||||
while(m_stack != &base)
|
||||
{
|
||||
condemned = m_stack;
|
||||
m_stack = m_stack->next;
|
||||
alloc_inst.deallocate(reinterpret_cast<unsigned char*>(condemned), sizeof(node) + sizeof(T) * block_size);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,213 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_synch.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Thread synchronisation for regex code.
|
||||
* Note this is an internal header file included
|
||||
* by regex.hpp, do not include on its own.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_SYNCH_HPP
|
||||
#define BOOST_REGEX_SYNCH_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_HAS_THREADS)
|
||||
# if defined(BOOST_HAS_WINTHREADS)
|
||||
# include <windows.h>
|
||||
# elif defined(BOOST_HAS_BETHREADS)
|
||||
# include <OS.h>
|
||||
# include <cassert>
|
||||
# elif defined(BOOST_HAS_PTHREADS)
|
||||
# include <pthread.h>
|
||||
# else
|
||||
# error "Unknown threading API"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
void BOOST_REGEX_CALL re_init_threads();
|
||||
void BOOST_REGEX_CALL re_free_threads();
|
||||
|
||||
#ifdef BOOST_HAS_THREADS
|
||||
|
||||
# ifdef BOOST_HAS_BETHREADS
|
||||
|
||||
typedef sem_id CRITICAL_SECTION;
|
||||
|
||||
inline void BOOST_REGEX_CALL InitializeCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
*ps = create_sem(1, "regex++");
|
||||
assert(*ps > 0);
|
||||
}
|
||||
|
||||
inline void BOOST_REGEX_CALL DeleteCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
int t = delete_sem(*ps);
|
||||
assert(t == B_NO_ERROR);
|
||||
}
|
||||
|
||||
inline void BOOST_REGEX_CALL EnterCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
status_t t = acquire_sem(*ps);
|
||||
assert(t == B_NO_ERROR);
|
||||
}
|
||||
|
||||
inline void BOOST_REGEX_CALL LeaveCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
status_t t = release_sem(*ps);
|
||||
assert(t == B_NO_ERROR);
|
||||
}
|
||||
|
||||
# elif defined(BOOST_HAS_PTHREADS)
|
||||
|
||||
typedef pthread_mutex_t CRITICAL_SECTION;
|
||||
|
||||
inline void BOOST_REGEX_CALL InitializeCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
pthread_mutex_init(ps, 0);
|
||||
}
|
||||
|
||||
inline void BOOST_REGEX_CALL DeleteCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
pthread_mutex_destroy(ps);
|
||||
}
|
||||
|
||||
inline void BOOST_REGEX_CALL EnterCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
pthread_mutex_lock(ps);
|
||||
}
|
||||
|
||||
inline void BOOST_REGEX_CALL LeaveCriticalSection(CRITICAL_SECTION* ps)
|
||||
{
|
||||
pthread_mutex_unlock(ps);
|
||||
}
|
||||
|
||||
# elif !defined(BOOST_HAS_WINTHREADS)
|
||||
# error "Unknown threading API"
|
||||
# endif
|
||||
|
||||
template <class Lock>
|
||||
class lock_guard
|
||||
{
|
||||
typedef Lock lock_type;
|
||||
public:
|
||||
lock_guard(lock_type& m, bool aq = true)
|
||||
: mut(m), owned(false){ acquire(aq); }
|
||||
|
||||
~lock_guard()
|
||||
{ acquire(false); }
|
||||
|
||||
void BOOST_REGEX_CALL acquire(bool aq = true)
|
||||
{
|
||||
if(aq && !owned)
|
||||
{
|
||||
mut.acquire(true);
|
||||
owned = true;
|
||||
}
|
||||
else if(!aq && owned)
|
||||
{
|
||||
mut.acquire(false);
|
||||
owned = false;
|
||||
}
|
||||
}
|
||||
private:
|
||||
lock_type& mut;
|
||||
bool owned;
|
||||
// VC6 warning suppression:
|
||||
lock_guard& operator=(const lock_guard&);
|
||||
};
|
||||
|
||||
|
||||
class critical_section
|
||||
{
|
||||
public:
|
||||
critical_section()
|
||||
{ InitializeCriticalSection(&hmutex);}
|
||||
|
||||
critical_section(const critical_section&)
|
||||
{ InitializeCriticalSection(&hmutex);}
|
||||
|
||||
const critical_section& BOOST_REGEX_CALL operator=(const critical_section&)
|
||||
{return *this;}
|
||||
|
||||
~critical_section()
|
||||
{DeleteCriticalSection(&hmutex);}
|
||||
|
||||
private:
|
||||
|
||||
void BOOST_REGEX_CALL acquire(bool aq)
|
||||
{ if(aq) EnterCriticalSection(&hmutex);
|
||||
else LeaveCriticalSection(&hmutex);
|
||||
}
|
||||
|
||||
CRITICAL_SECTION hmutex;
|
||||
|
||||
public:
|
||||
typedef lock_guard<critical_section> ro_guard;
|
||||
typedef lock_guard<critical_section> rw_guard;
|
||||
|
||||
friend class lock_guard<critical_section>;
|
||||
};
|
||||
|
||||
inline bool BOOST_REGEX_CALL operator==(const critical_section&, const critical_section&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool BOOST_REGEX_CALL operator<(const critical_section&, const critical_section&)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
typedef lock_guard<critical_section> cs_guard;
|
||||
|
||||
BOOST_REGEX_DECL extern critical_section* p_re_lock;
|
||||
BOOST_REGEX_DECL extern unsigned int re_lock_count;
|
||||
|
||||
#define BOOST_REGEX_GUARD(inst) boost::re_detail::critical_section::rw_guard g(inst);
|
||||
|
||||
#else // BOOST_HAS_THREADS
|
||||
|
||||
#define BOOST_REGEX_GUARD(inst)
|
||||
|
||||
#endif // BOOST_HAS_THREADS
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
} // namespace boost
|
||||
|
||||
#endif // sentry
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,822 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE regex_traits.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares regular expression traits classes.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_TRAITS_HPP_INCLUDED
|
||||
#define BOOST_REGEX_TRAITS_HPP_INCLUDED
|
||||
|
||||
#ifndef BOOST_RE_CREGEX_HPP
|
||||
#include <boost/cregex.hpp>
|
||||
#endif
|
||||
#ifndef BOOST_REGEX_CSTRING_HPP
|
||||
#include <boost/regex/v4/regex_cstring.hpp>
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a8 -b -Vx -Ve -pc
|
||||
#endif
|
||||
|
||||
template <class charT>
|
||||
class c_regex_traits;
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
struct mss
|
||||
{
|
||||
unsigned int id;
|
||||
const char* what;
|
||||
};
|
||||
|
||||
BOOST_REGEX_DECL bool BOOST_REGEX_CALL re_lookup_def_collate_name(std::string& buf, const char* name);
|
||||
BOOST_REGEX_DECL std::size_t BOOST_REGEX_CALL re_get_default_message(char* buf, std::size_t len, std::size_t id);
|
||||
extern BOOST_REGEX_DECL const char *re_default_error_messages[];
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
extern BOOST_REGEX_DECL wchar_t wide_lower_case_map[];
|
||||
extern BOOST_REGEX_DECL unsigned short wide_unicode_classes[];
|
||||
BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining(wchar_t c);
|
||||
#endif
|
||||
|
||||
|
||||
struct BOOST_REGEX_DECL regex_traits_base
|
||||
{
|
||||
enum char_syntax_type
|
||||
{
|
||||
syntax_char = 0,
|
||||
syntax_open_bracket = 1, // (
|
||||
syntax_close_bracket = 2, // )
|
||||
syntax_dollar = 3, // $
|
||||
syntax_caret = 4, // ^
|
||||
syntax_dot = 5, // .
|
||||
syntax_star = 6, // *
|
||||
syntax_plus = 7, // +
|
||||
syntax_question = 8, // ?
|
||||
syntax_open_set = 9, // [
|
||||
syntax_close_set = 10, // ]
|
||||
syntax_or = 11, // |
|
||||
syntax_slash = 12, //
|
||||
syntax_hash = 13, // #
|
||||
syntax_dash = 14, // -
|
||||
syntax_open_brace = 15, // {
|
||||
syntax_close_brace = 16, // }
|
||||
syntax_digit = 17, // 0-9
|
||||
syntax_b = 18, // for \b
|
||||
syntax_B = 19, // for \B
|
||||
syntax_left_word = 20, // for \<
|
||||
syntax_right_word = 21, // for \>
|
||||
syntax_w = 22, // for \w
|
||||
syntax_W = 23, // for \W
|
||||
syntax_start_buffer = 24, // for \`
|
||||
syntax_end_buffer = 25, // for \'
|
||||
syntax_newline = 26, // for newline alt
|
||||
syntax_comma = 27, // for {x,y}
|
||||
|
||||
syntax_a = 28, // for \a
|
||||
syntax_f = 29, // for \f
|
||||
syntax_n = 30, // for \n
|
||||
syntax_r = 31, // for \r
|
||||
syntax_t = 32, // for \t
|
||||
syntax_v = 33, // for \v
|
||||
syntax_x = 34, // for \xdd
|
||||
syntax_c = 35, // for \cx
|
||||
syntax_colon = 36, // for [:...:]
|
||||
syntax_equal = 37, // for [=...=]
|
||||
|
||||
// perl ops:
|
||||
syntax_e = 38, // for \e
|
||||
syntax_l = 39, // for \l
|
||||
syntax_L = 40, // for \L
|
||||
syntax_u = 41, // for \u
|
||||
syntax_U = 42, // for \U
|
||||
syntax_s = 43, // for \s
|
||||
syntax_S = 44, // for \S
|
||||
syntax_d = 45, // for \d
|
||||
syntax_D = 46, // for \D
|
||||
syntax_E = 47, // for \Q\E
|
||||
syntax_Q = 48, // for \Q\E
|
||||
syntax_X = 49, // for \X
|
||||
syntax_C = 50, // for \C
|
||||
syntax_Z = 51, // for \Z
|
||||
syntax_G = 52, // for \G
|
||||
|
||||
// new extentions:
|
||||
syntax_not = 53, // for (?!...)
|
||||
|
||||
syntax_max = 54
|
||||
};
|
||||
#ifdef __BORLANDC__
|
||||
private:
|
||||
char dummy_member;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct BOOST_REGEX_DECL c_traits_base : public regex_traits_base
|
||||
{
|
||||
public:
|
||||
enum{
|
||||
char_class_none = 0,
|
||||
char_class_alpha = 0x0001,
|
||||
char_class_cntrl = 0x0002,
|
||||
char_class_digit = 0x0004,
|
||||
char_class_lower = 0x0008,
|
||||
char_class_punct = 0x0010,
|
||||
char_class_space = 0x0020,
|
||||
char_class_upper = 0x0040,
|
||||
char_class_xdigit = 0x0080,
|
||||
char_class_blank = 0x0100,
|
||||
char_class_underscore = 0x4000,
|
||||
char_class_unicode = 0x8000,
|
||||
|
||||
char_class_alnum = char_class_alpha | char_class_digit,
|
||||
char_class_graph = char_class_alpha | char_class_digit | char_class_punct | char_class_underscore,
|
||||
char_class_print = char_class_alpha | char_class_digit | char_class_punct | char_class_underscore | char_class_blank,
|
||||
char_class_word = char_class_alpha | char_class_digit | char_class_underscore
|
||||
};
|
||||
static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s);
|
||||
protected:
|
||||
#if defined(__MWERKS__) && __MWERKS__ <= 0x6000
|
||||
friend class c_regex_traits<char>;
|
||||
friend class c_regex_traits<wchar_t>;
|
||||
#endif
|
||||
|
||||
static char regex_message_catalogue[BOOST_REGEX_MAX_PATH];
|
||||
enum syntax_map_size
|
||||
{
|
||||
map_size = UCHAR_MAX + 1
|
||||
};
|
||||
|
||||
static unsigned char syntax_map[map_size];
|
||||
static unsigned short class_map[map_size];
|
||||
static char lower_case_map[map_size];
|
||||
|
||||
static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const char* p);
|
||||
static bool BOOST_REGEX_CALL do_lookup_collate(std::string& buf, const char* p);
|
||||
static void BOOST_REGEX_CALL do_update_ctype();
|
||||
static void BOOST_REGEX_CALL do_update_collate();
|
||||
public:
|
||||
static std::string BOOST_REGEX_CALL error_string(unsigned id);
|
||||
static char* BOOST_REGEX_CALL get_catalogue() { return regex_message_catalogue; }
|
||||
};
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
|
||||
template<>
|
||||
class BOOST_REGEX_DECL c_regex_traits<char> : public re_detail::c_traits_base
|
||||
{
|
||||
typedef re_detail::c_traits_base base_type;
|
||||
public:
|
||||
typedef char char_type;
|
||||
typedef unsigned char uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef std::string string_type;
|
||||
typedef int locale_type;
|
||||
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::strlen(p);
|
||||
}
|
||||
static unsigned int BOOST_REGEX_CALL syntax_type(size_type c)
|
||||
{
|
||||
return syntax_map[c];
|
||||
}
|
||||
static char BOOST_REGEX_CALL translate(char c, bool icase)
|
||||
{
|
||||
return icase ? lower_case_map[(size_type)(uchar_type)c] : c;
|
||||
}
|
||||
static void BOOST_REGEX_CALL transform(std::string& out, const std::string& in);
|
||||
|
||||
static void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in);
|
||||
|
||||
static bool BOOST_REGEX_CALL is_separator(char c)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r'));
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_combining(char)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f);
|
||||
}
|
||||
|
||||
static int BOOST_REGEX_CALL toi(char c);
|
||||
static int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix);
|
||||
|
||||
static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last)
|
||||
{
|
||||
std::string s(first, last);
|
||||
return do_lookup_class(s.c_str());
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL lookup_collatename(std::string& buf, const char* first, const char* last)
|
||||
{
|
||||
std::string s(first, last);
|
||||
return do_lookup_collate(buf, s.c_str());
|
||||
}
|
||||
|
||||
static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; }
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); }
|
||||
void swap(c_regex_traits&){}
|
||||
|
||||
c_regex_traits()
|
||||
{
|
||||
init();
|
||||
}
|
||||
~c_regex_traits()
|
||||
{
|
||||
m_free();
|
||||
}
|
||||
struct sentry
|
||||
{
|
||||
sentry(const c_regex_traits<char>&)
|
||||
{ c_regex_traits<char>::update(); }
|
||||
operator void*() { return this; }
|
||||
};
|
||||
static void BOOST_REGEX_CALL update();
|
||||
private:
|
||||
static void BOOST_REGEX_CALL init();
|
||||
static void BOOST_REGEX_CALL m_free();
|
||||
static c_regex_traits<char> i;
|
||||
|
||||
static unsigned sort_type;
|
||||
static char sort_delim;
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
template<>
|
||||
class BOOST_REGEX_DECL c_regex_traits<wchar_t> : public re_detail::c_traits_base
|
||||
{
|
||||
typedef re_detail::c_traits_base base_type;
|
||||
public:
|
||||
typedef wchar_t char_type;
|
||||
typedef unsigned short uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef std::basic_string<wchar_t> string_type;
|
||||
typedef int locale_type;
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::wcslen(p);
|
||||
}
|
||||
static unsigned int BOOST_REGEX_CALL syntax_type(size_type c);
|
||||
static wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase)
|
||||
{
|
||||
return icase ? ((c < 256) ? re_detail::wide_lower_case_map[(uchar_type)c] : std::towlower(c)) : c;
|
||||
}
|
||||
|
||||
static void BOOST_REGEX_CALL transform(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in);
|
||||
|
||||
static void BOOST_REGEX_CALL transform_primary(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in);
|
||||
|
||||
static bool BOOST_REGEX_CALL is_separator(wchar_t c)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029));
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_combining(wchar_t c)
|
||||
{ return re_detail::is_combining(c); }
|
||||
|
||||
static bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL(((uchar_type)c < 256) ? (re_detail::wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f));
|
||||
}
|
||||
|
||||
static int BOOST_REGEX_CALL toi(wchar_t c);
|
||||
static int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix);
|
||||
|
||||
static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last);
|
||||
|
||||
static bool BOOST_REGEX_CALL lookup_collatename(std::basic_string<wchar_t>& s, const wchar_t* first, const wchar_t* last);
|
||||
|
||||
static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; }
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); }
|
||||
void swap(c_regex_traits&){}
|
||||
c_regex_traits<wchar_t>()
|
||||
{ init(); }
|
||||
~c_regex_traits<wchar_t>()
|
||||
{ m_free(); }
|
||||
struct sentry
|
||||
{
|
||||
sentry(const c_regex_traits<wchar_t>&)
|
||||
{ c_regex_traits<wchar_t>::update(); }
|
||||
operator void*() { return this; }
|
||||
};
|
||||
static void BOOST_REGEX_CALL update();
|
||||
static std::size_t BOOST_REGEX_CALL strnarrow(char *s1, std::size_t len, const wchar_t *s2);
|
||||
static std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2);
|
||||
private:
|
||||
static bool BOOST_REGEX_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f);
|
||||
static void BOOST_REGEX_CALL m_free();
|
||||
static void BOOST_REGEX_CALL init();
|
||||
static bool BOOST_REGEX_CALL do_lookup_collate(std::basic_string<wchar_t>& out, const wchar_t* first, const wchar_t* last);
|
||||
static c_regex_traits<wchar_t> init_;
|
||||
|
||||
static unsigned sort_type;
|
||||
static wchar_t sort_delim;
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
struct BOOST_REGEX_DECL w32_traits_base : public regex_traits_base
|
||||
{
|
||||
enum{
|
||||
char_class_none = 0,
|
||||
char_class_alnum = C1_ALPHA | C1_DIGIT,
|
||||
char_class_alpha = C1_ALPHA,
|
||||
char_class_cntrl = C1_CNTRL,
|
||||
char_class_digit = C1_DIGIT,
|
||||
char_class_graph = C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_ALPHA,
|
||||
char_class_lower = C1_LOWER,
|
||||
char_class_print = C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_BLANK | C1_ALPHA,
|
||||
char_class_punct = C1_PUNCT,
|
||||
char_class_space = C1_SPACE,
|
||||
char_class_upper = C1_UPPER,
|
||||
char_class_xdigit = C1_XDIGIT,
|
||||
char_class_blank = C1_BLANK,
|
||||
char_class_underscore = 0x4000,
|
||||
char_class_word = C1_ALPHA | C1_DIGIT | char_class_underscore,
|
||||
char_class_unicode = 0x8000,
|
||||
char_class_win = 0x01FF
|
||||
};
|
||||
|
||||
|
||||
public:
|
||||
static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s);
|
||||
protected:
|
||||
static char regex_message_catalogue[BOOST_REGEX_MAX_PATH];
|
||||
enum syntax_map_size
|
||||
{
|
||||
map_size = UCHAR_MAX + 1
|
||||
};
|
||||
|
||||
static unsigned char syntax_map[map_size];
|
||||
static unsigned short class_map[map_size];
|
||||
static char lower_case_map[map_size];
|
||||
|
||||
static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const char* p);
|
||||
static bool BOOST_REGEX_CALL do_lookup_collate(std::string& buf, const char* p);
|
||||
static void BOOST_REGEX_CALL do_free();
|
||||
static void BOOST_REGEX_CALL do_init();
|
||||
public:
|
||||
static std::string BOOST_REGEX_CALL error_string(unsigned id);
|
||||
static char* BOOST_REGEX_CALL get_catalogue() { return regex_message_catalogue; }
|
||||
};
|
||||
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
template<class charT>
|
||||
class w32_regex_traits;
|
||||
|
||||
template<>
|
||||
class BOOST_REGEX_DECL w32_regex_traits<char> : public re_detail::w32_traits_base
|
||||
{
|
||||
typedef re_detail::w32_traits_base base_type;
|
||||
public:
|
||||
typedef char char_type;
|
||||
typedef unsigned char uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef std::string string_type;
|
||||
typedef int locale_type;
|
||||
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::strlen(p);
|
||||
}
|
||||
static unsigned int BOOST_REGEX_CALL syntax_type(size_type c)
|
||||
{
|
||||
return syntax_map[c];
|
||||
}
|
||||
static char BOOST_REGEX_CALL translate(char c, bool icase)
|
||||
{
|
||||
return icase ? lower_case_map[(size_type)(uchar_type)c] : c;
|
||||
}
|
||||
static void BOOST_REGEX_CALL transform(std::string& out, const std::string& in);
|
||||
|
||||
static void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in);
|
||||
|
||||
static bool BOOST_REGEX_CALL is_separator(char c)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r'));
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_combining(char)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL(class_map[(size_type)(uchar_type)c] & f);
|
||||
}
|
||||
|
||||
static int BOOST_REGEX_CALL toi(char c);
|
||||
static int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix);
|
||||
|
||||
static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last)
|
||||
{
|
||||
std::string s(first, last);
|
||||
return do_lookup_class(s.c_str());
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL lookup_collatename(std::string& buf, const char* first, const char* last)
|
||||
{
|
||||
std::string s(first, last);
|
||||
return do_lookup_collate(buf, s.c_str());
|
||||
}
|
||||
|
||||
static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; }
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); }
|
||||
|
||||
struct sentry
|
||||
{
|
||||
sentry(const w32_regex_traits<char>&)
|
||||
{ w32_regex_traits<char>::update(); }
|
||||
~sentry(){}
|
||||
operator void*() { return this; }
|
||||
};
|
||||
static void BOOST_REGEX_CALL update();
|
||||
void swap(w32_regex_traits&){}
|
||||
w32_regex_traits();
|
||||
~w32_regex_traits();
|
||||
private:
|
||||
static w32_regex_traits<char> i;
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
template<>
|
||||
class BOOST_REGEX_DECL w32_regex_traits<wchar_t> : public re_detail::w32_traits_base
|
||||
{
|
||||
typedef re_detail::w32_traits_base base_type;
|
||||
public:
|
||||
typedef wchar_t char_type;
|
||||
typedef unsigned short uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef std::basic_string<wchar_t> string_type;
|
||||
typedef int locale_type;
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::wcslen(p);
|
||||
}
|
||||
static unsigned int BOOST_REGEX_CALL syntax_type(size_type c);
|
||||
static wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase)
|
||||
{
|
||||
return icase ? ((c < 256) ? re_detail::wide_lower_case_map[(uchar_type)c] : wtolower(c)) : c;
|
||||
}
|
||||
|
||||
static void BOOST_REGEX_CALL transform(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in);
|
||||
|
||||
static void BOOST_REGEX_CALL transform_primary(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in);
|
||||
|
||||
static bool BOOST_REGEX_CALL is_separator(wchar_t c)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029));
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_combining(wchar_t c)
|
||||
{ return re_detail::is_combining(c); }
|
||||
|
||||
static bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL(((uchar_type)c < 256) ? (wide_unicode_classes[(size_type)(uchar_type)c] & f) : do_iswclass(c, f));
|
||||
}
|
||||
|
||||
static int BOOST_REGEX_CALL toi(wchar_t c);
|
||||
static int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix);
|
||||
|
||||
static boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last);
|
||||
|
||||
static bool BOOST_REGEX_CALL lookup_collatename(std::basic_string<wchar_t>& s, const wchar_t* first, const wchar_t* last);
|
||||
|
||||
static locale_type BOOST_REGEX_CALL imbue(locale_type l){ return l; }
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_type(); }
|
||||
|
||||
struct sentry
|
||||
{
|
||||
sentry(const w32_regex_traits<wchar_t>&)
|
||||
{ w32_regex_traits<wchar_t>::update(); }
|
||||
~sentry(){}
|
||||
operator void*() { return this; }
|
||||
};
|
||||
static void BOOST_REGEX_CALL update();
|
||||
void swap(w32_regex_traits&){}
|
||||
w32_regex_traits();
|
||||
~w32_regex_traits();
|
||||
static std::size_t BOOST_REGEX_CALL strnarrow(char *s1, std::size_t len, const wchar_t *s2);
|
||||
static std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2);
|
||||
|
||||
private:
|
||||
static bool BOOST_REGEX_CALL do_iswclass(wchar_t c, boost::uint_fast32_t f);
|
||||
static bool BOOST_REGEX_CALL do_lookup_collate(std::basic_string<wchar_t>& out, const wchar_t* first, const wchar_t* last);
|
||||
static w32_regex_traits<wchar_t> init_;
|
||||
static wchar_t BOOST_REGEX_CALL wtolower(wchar_t c);
|
||||
static unsigned short wide_unicode_classes[];
|
||||
};
|
||||
#endif // Wide strings
|
||||
#endif // Win32
|
||||
|
||||
#if !defined(BOOST_NO_STD_LOCALE)
|
||||
|
||||
} // namspace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
#include <locale>
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option push -a4 -b -Ve -pc
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
namespace re_detail
|
||||
{
|
||||
|
||||
template <class charT>
|
||||
struct message_data;
|
||||
|
||||
template <>
|
||||
struct message_data<char>;
|
||||
|
||||
template <>
|
||||
struct message_data<wchar_t>;
|
||||
|
||||
struct BOOST_REGEX_DECL cpp_regex_traits_base : public regex_traits_base
|
||||
{
|
||||
enum char_class_type
|
||||
{
|
||||
char_class_none = 0,
|
||||
char_class_alnum = std::ctype_base::alnum,
|
||||
char_class_alpha = std::ctype_base::alpha,
|
||||
char_class_cntrl = std::ctype_base::cntrl,
|
||||
char_class_digit = std::ctype_base::digit,
|
||||
char_class_graph = std::ctype_base::graph,
|
||||
char_class_lower = std::ctype_base::lower,
|
||||
char_class_print = std::ctype_base::print,
|
||||
char_class_punct = std::ctype_base::punct,
|
||||
char_class_space = std::ctype_base::space,
|
||||
char_class_upper = std::ctype_base::upper,
|
||||
char_class_xdigit = std::ctype_base::xdigit,
|
||||
char_class_blank = 1<<12,
|
||||
char_class_underscore = 1<<13,
|
||||
char_class_word = std::ctype_base::alnum | char_class_underscore,
|
||||
char_class_unicode = 1<<14,
|
||||
char_class_all_base = char_class_alnum | char_class_alpha | char_class_cntrl
|
||||
| char_class_digit | char_class_graph | char_class_lower
|
||||
| char_class_print | char_class_punct | char_class_space
|
||||
| char_class_upper | char_class_xdigit
|
||||
};
|
||||
|
||||
static std::string BOOST_REGEX_CALL set_message_catalogue(const std::string& s);
|
||||
protected:
|
||||
static char regex_message_cat[BOOST_REGEX_MAX_PATH];
|
||||
};
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
template <class charT>
|
||||
class cpp_regex_traits;
|
||||
|
||||
template<>
|
||||
class BOOST_REGEX_DECL cpp_regex_traits<char> : public re_detail::cpp_regex_traits_base
|
||||
{
|
||||
typedef re_detail::cpp_regex_traits_base base_type;
|
||||
private:
|
||||
re_detail::message_data<char>* pmd;
|
||||
const unsigned char* psyntax;
|
||||
char* lower_map;
|
||||
const std::ctype<char>* pctype;
|
||||
const std::collate<char>* pcollate;
|
||||
std::locale locale_inst;
|
||||
unsigned sort_type;
|
||||
char sort_delim;
|
||||
|
||||
cpp_regex_traits(const cpp_regex_traits&);
|
||||
cpp_regex_traits& operator=(const cpp_regex_traits&);
|
||||
|
||||
public:
|
||||
typedef char char_type;
|
||||
typedef unsigned char uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef std::string string_type;
|
||||
typedef std::locale locale_type;
|
||||
|
||||
cpp_regex_traits();
|
||||
~cpp_regex_traits();
|
||||
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::strlen(p);
|
||||
}
|
||||
unsigned int BOOST_REGEX_CALL syntax_type(size_type c)const
|
||||
{
|
||||
return psyntax[c];
|
||||
}
|
||||
char BOOST_REGEX_CALL translate(char c, bool icase)const
|
||||
{
|
||||
return icase ? lower_map[(size_type)(uchar_type)c] : c;
|
||||
}
|
||||
void BOOST_REGEX_CALL transform(std::string& out, const std::string& in)const
|
||||
{
|
||||
out = pcollate->transform(in.c_str(), in.c_str() + in.size()).c_str();
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL transform_primary(std::string& out, const std::string& in)const;
|
||||
|
||||
static bool BOOST_REGEX_CALL is_separator(char c)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL((c == '\n') || (c == '\r'));
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_combining(char)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool BOOST_REGEX_CALL is_class(char c, boost::uint_fast32_t f)const
|
||||
{
|
||||
if(pctype->is((std::ctype<char>::mask)(f & char_class_all_base), c))
|
||||
return true;
|
||||
if((f & char_class_underscore) && (c == '_'))
|
||||
return true;
|
||||
if((f & char_class_blank) && ((c == ' ') || (c == '\t')))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
int BOOST_REGEX_CALL toi(char c)const;
|
||||
int BOOST_REGEX_CALL toi(const char*& first, const char* last, int radix)const;
|
||||
|
||||
boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const char* first, const char* last)const;
|
||||
bool BOOST_REGEX_CALL lookup_collatename(std::string& s, const char* first, const char* last)const;
|
||||
|
||||
std::string BOOST_REGEX_CALL error_string(unsigned id)const;
|
||||
locale_type BOOST_REGEX_CALL imbue(locale_type l);
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; }
|
||||
void swap(cpp_regex_traits&);
|
||||
|
||||
struct sentry
|
||||
{
|
||||
sentry(const cpp_regex_traits<char>&){}
|
||||
operator void*() { return this; }
|
||||
};
|
||||
};
|
||||
|
||||
#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_NO_STD_WSTREAMBUF)
|
||||
template<>
|
||||
class BOOST_REGEX_DECL cpp_regex_traits<wchar_t> : public re_detail::cpp_regex_traits_base
|
||||
{
|
||||
typedef re_detail::cpp_regex_traits_base base_type;
|
||||
public:
|
||||
typedef wchar_t char_type;
|
||||
typedef unsigned short uchar_type;
|
||||
typedef unsigned int size_type;
|
||||
typedef std::basic_string<wchar_t> string_type;
|
||||
typedef std::locale locale_type;
|
||||
|
||||
private:
|
||||
re_detail::message_data<wchar_t>* pmd;
|
||||
const unsigned char* psyntax;
|
||||
wchar_t* lower_map;
|
||||
const std::ctype<wchar_t>* pctype;
|
||||
const std::collate<wchar_t>* pcollate;
|
||||
const std::codecvt<wchar_t, char, std::mbstate_t>* pcdv;
|
||||
std::locale locale_inst;
|
||||
unsigned int BOOST_REGEX_CALL do_syntax_type(size_type c)const;
|
||||
unsigned sort_type;
|
||||
wchar_t sort_delim;
|
||||
|
||||
cpp_regex_traits(const cpp_regex_traits&);
|
||||
cpp_regex_traits& operator=(const cpp_regex_traits&);
|
||||
|
||||
public:
|
||||
|
||||
static std::size_t BOOST_REGEX_CALL length(const char_type* p)
|
||||
{
|
||||
return std::wcslen(p);
|
||||
}
|
||||
unsigned int BOOST_REGEX_CALL syntax_type(size_type c)const
|
||||
{
|
||||
return (c < UCHAR_MAX) ? psyntax[c] : do_syntax_type(c);
|
||||
}
|
||||
wchar_t BOOST_REGEX_CALL translate(wchar_t c, bool icase)const
|
||||
{
|
||||
return icase ? (((uchar_type)c) <= UCHAR_MAX) ? lower_map[c] : pctype->tolower(c) : c;
|
||||
}
|
||||
void BOOST_REGEX_CALL transform(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in)const
|
||||
{
|
||||
out = pcollate->transform(in.c_str(), in.c_str() + in.size());
|
||||
}
|
||||
|
||||
void BOOST_REGEX_CALL transform_primary(std::basic_string<wchar_t>& out, const std::basic_string<wchar_t>& in)const;
|
||||
|
||||
static bool BOOST_REGEX_CALL is_separator(wchar_t c)
|
||||
{
|
||||
return BOOST_REGEX_MAKE_BOOL((c == L'\n') || (c == L'\r') || (c == (wchar_t)0x2028) || (c == (wchar_t)0x2029));
|
||||
}
|
||||
|
||||
static bool BOOST_REGEX_CALL is_combining(wchar_t c)
|
||||
{ return re_detail::is_combining(c); }
|
||||
|
||||
bool BOOST_REGEX_CALL is_class(wchar_t c, boost::uint_fast32_t f)const
|
||||
{
|
||||
if(pctype->is((std::ctype<wchar_t>::mask)(f & char_class_all_base), c))
|
||||
return true;
|
||||
if((f & char_class_underscore) && (c == '_'))
|
||||
return true;
|
||||
if((f & char_class_blank) && ((c == ' ') || (c == '\t')))
|
||||
return true;
|
||||
if((f & char_class_unicode) && ((uchar_type)c > (uchar_type)255))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
int BOOST_REGEX_CALL toi(wchar_t c)const;
|
||||
int BOOST_REGEX_CALL toi(const wchar_t*& first, const wchar_t* last, int radix)const;
|
||||
|
||||
boost::uint_fast32_t BOOST_REGEX_CALL lookup_classname(const wchar_t* first, const wchar_t* last)const;
|
||||
bool BOOST_REGEX_CALL lookup_collatename(std::basic_string<wchar_t>& s, const wchar_t* first, const wchar_t* last)const;
|
||||
|
||||
std::string BOOST_REGEX_CALL error_string(unsigned id)const;
|
||||
void swap(cpp_regex_traits&);
|
||||
cpp_regex_traits();
|
||||
~cpp_regex_traits();
|
||||
locale_type BOOST_REGEX_CALL imbue(locale_type l);
|
||||
locale_type BOOST_REGEX_CALL getloc()const{ return locale_inst; }
|
||||
std::size_t BOOST_REGEX_CALL strwiden(wchar_t *s1, std::size_t len, const char *s2)const;
|
||||
|
||||
struct sentry
|
||||
{
|
||||
sentry(const cpp_regex_traits<wchar_t>&){}
|
||||
operator void*() { return this; }
|
||||
};
|
||||
};
|
||||
#endif // BOOST_NO_WREGEX
|
||||
|
||||
#endif // BOOST_NO_STD_LOCALE
|
||||
|
||||
#ifdef BOOST_REGEX_USE_WIN32_LOCALE
|
||||
|
||||
template <class charT>
|
||||
class regex_traits : public w32_regex_traits<charT>
|
||||
{
|
||||
};
|
||||
|
||||
#elif defined(BOOST_REGEX_USE_C_LOCALE)
|
||||
|
||||
template <class charT>
|
||||
class regex_traits : public c_regex_traits<charT>
|
||||
{
|
||||
};
|
||||
|
||||
#elif defined(BOOST_REGEX_USE_CPP_LOCALE)
|
||||
|
||||
template <class charT>
|
||||
class regex_traits : public cpp_regex_traits<charT>
|
||||
{
|
||||
};
|
||||
|
||||
#else
|
||||
#error No default localisation model defined
|
||||
#endif
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma option pop
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif // include
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE states.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares internal state machine structures.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_STATES_HPP
|
||||
#define BOOST_REGEX_V4_STATES_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
|
||||
/*** mask_type *******************************************************
|
||||
Whenever we have a choice of two alternatives, we use an array of bytes
|
||||
to indicate which of the two alternatives it is possible to take for any
|
||||
given input character. If mask_take is set, then we can take the next
|
||||
state, and if mask_skip is set then we can take the alternative.
|
||||
***********************************************************************/
|
||||
enum mask_type
|
||||
{
|
||||
mask_take = 1,
|
||||
mask_skip = 2,
|
||||
mask_any = mask_skip | mask_take,
|
||||
mask_all = mask_any
|
||||
};
|
||||
|
||||
/*** helpers **********************************************************
|
||||
These helpers let us use function overload resolution to detect whether
|
||||
we have narrow or wide character strings:
|
||||
***********************************************************************/
|
||||
struct _narrow_type{};
|
||||
struct _wide_type{};
|
||||
template <class charT> struct is_byte;
|
||||
template<> struct is_byte<char> { typedef _narrow_type width_type; };
|
||||
template<> struct is_byte<unsigned char>{ typedef _narrow_type width_type; };
|
||||
template<> struct is_byte<signed char> { typedef _narrow_type width_type; };
|
||||
template <class charT> struct is_byte { typedef _wide_type width_type; };
|
||||
|
||||
/*** enum syntax_element_type ******************************************
|
||||
Every record in the state machine falls into one of the following types:
|
||||
***********************************************************************/
|
||||
enum syntax_element_type
|
||||
{
|
||||
// start of a marked sub-expression, or perl-style (?...) extension
|
||||
syntax_element_startmark = 0,
|
||||
// end of a marked sub-expression, or perl-style (?...) extension
|
||||
syntax_element_endmark = syntax_element_startmark + 1,
|
||||
// any sequence of literal characters
|
||||
syntax_element_literal = syntax_element_endmark + 1,
|
||||
// start of line assertion: ^
|
||||
syntax_element_start_line = syntax_element_literal + 1,
|
||||
// end of line assertion $
|
||||
syntax_element_end_line = syntax_element_start_line + 1,
|
||||
// match any character: .
|
||||
syntax_element_wild = syntax_element_end_line + 1,
|
||||
// end of expression: we have a match when we get here
|
||||
syntax_element_match = syntax_element_wild + 1,
|
||||
// perl style word boundary: \b
|
||||
syntax_element_word_boundary = syntax_element_match + 1,
|
||||
// perl style within word boundary: \B
|
||||
syntax_element_within_word = syntax_element_word_boundary + 1,
|
||||
// start of word assertion: \<
|
||||
syntax_element_word_start = syntax_element_within_word + 1,
|
||||
// end of word assertion: \>
|
||||
syntax_element_word_end = syntax_element_word_start + 1,
|
||||
// start of buffer assertion: \`
|
||||
syntax_element_buffer_start = syntax_element_word_end + 1,
|
||||
// end of buffer assertion: \'
|
||||
syntax_element_buffer_end = syntax_element_buffer_start + 1,
|
||||
// backreference to previously matched sub-expression
|
||||
syntax_element_backref = syntax_element_buffer_end + 1,
|
||||
// either a wide character set [..] or one with multicharacter collating elements:
|
||||
syntax_element_long_set = syntax_element_backref + 1,
|
||||
// narrow character set: [...]
|
||||
syntax_element_set = syntax_element_long_set + 1,
|
||||
// jump to a new state in the machine:
|
||||
syntax_element_jump = syntax_element_set + 1,
|
||||
// choose between two production states:
|
||||
syntax_element_alt = syntax_element_jump + 1,
|
||||
// a repeat
|
||||
syntax_element_rep = syntax_element_alt + 1,
|
||||
// match a combining character sequence
|
||||
syntax_element_combining = syntax_element_rep + 1,
|
||||
// perl style soft buffer end: \z
|
||||
syntax_element_soft_buffer_end = syntax_element_combining + 1,
|
||||
// perl style continuation: \G
|
||||
syntax_element_restart_continue = syntax_element_soft_buffer_end + 1,
|
||||
// single character repeats:
|
||||
syntax_element_dot_rep = syntax_element_restart_continue + 1,
|
||||
syntax_element_char_rep = syntax_element_dot_rep + 1,
|
||||
syntax_element_short_set_rep = syntax_element_char_rep + 1,
|
||||
syntax_element_long_set_rep = syntax_element_short_set_rep + 1
|
||||
};
|
||||
|
||||
#ifdef BOOST_REGEX_DEBUG
|
||||
// dwa 09/26/00 - This is needed to suppress warnings about an ambiguous conversion
|
||||
std::ostream& operator<<(std::ostream&, syntax_element_type);
|
||||
#endif
|
||||
|
||||
struct re_syntax_base;
|
||||
|
||||
/*** union offset_type ************************************************
|
||||
Points to another state in the machine. During machine construction
|
||||
we use integral offsets, but these are converted to pointers before
|
||||
execution of the machine.
|
||||
***********************************************************************/
|
||||
union offset_type
|
||||
{
|
||||
re_syntax_base* p;
|
||||
std::size_t i;
|
||||
};
|
||||
|
||||
/*** struct re_syntax_base ********************************************
|
||||
Base class for all states in the machine.
|
||||
***********************************************************************/
|
||||
struct re_syntax_base
|
||||
{
|
||||
syntax_element_type type; // what kind of state this is
|
||||
offset_type next; // next state in the machine
|
||||
unsigned int can_be_null; // true if we match a NULL string
|
||||
};
|
||||
|
||||
/*** struct re_brace **************************************************
|
||||
Base class for all states in the machine.
|
||||
***********************************************************************/
|
||||
struct re_brace : public re_syntax_base
|
||||
{
|
||||
// The index to match, can be zero (don't mark the sub-expression)
|
||||
// or negative (for perl style (?...) extentions):
|
||||
int index;
|
||||
};
|
||||
|
||||
/*** struct re_literal ************************************************
|
||||
A string of literals, following this structure will be an
|
||||
array of characters: charT[length]
|
||||
***********************************************************************/
|
||||
struct re_literal : public re_syntax_base
|
||||
{
|
||||
unsigned int length;
|
||||
};
|
||||
|
||||
/*** struct re_set_long ***********************************************
|
||||
A wide character set of characters, following this structure will be
|
||||
an array of type charT:
|
||||
First csingles null-terminated strings
|
||||
Then 2 * cranges NULL terminated strings
|
||||
Then cequivalents NULL terminated strings
|
||||
***********************************************************************/
|
||||
struct re_set_long : public re_syntax_base
|
||||
{
|
||||
unsigned int csingles, cranges, cequivalents;
|
||||
boost::uint_fast32_t cclasses;
|
||||
bool isnot;
|
||||
bool singleton;
|
||||
};
|
||||
|
||||
/*** struct re_set ****************************************************
|
||||
A set of narrow-characters, matches any of _map which is none-zero
|
||||
***********************************************************************/
|
||||
struct re_set : public re_syntax_base
|
||||
{
|
||||
unsigned char _map[256];
|
||||
};
|
||||
|
||||
/*** struct re_jump ***************************************************
|
||||
Jump to a new location in the machine (not next).
|
||||
***********************************************************************/
|
||||
struct re_jump : public re_syntax_base
|
||||
{
|
||||
offset_type alt; // location to jump to
|
||||
unsigned char _map[256]; // which characters can take the jump
|
||||
};
|
||||
|
||||
/*** struct re_repeat *************************************************
|
||||
Repeat a section of the machine
|
||||
***********************************************************************/
|
||||
struct re_repeat : public re_jump
|
||||
{
|
||||
unsigned min, max; // min and max allowable repeats
|
||||
int id; // Unique identifier for this repeat
|
||||
bool leading; // True if this repeat is at the start of the machine (lets us optimize some searches)
|
||||
bool greedy; // True if this is a greedy repeat
|
||||
};
|
||||
|
||||
/*** enum re_jump_size_type *******************************************
|
||||
Provides compiled size of re_jump structure (allowing for trailing alignment).
|
||||
We provide this so we know how manybytes to insert when constructing the machine
|
||||
(The value of padding_mask is defined in regex_raw_buffer.hpp).
|
||||
***********************************************************************/
|
||||
enum re_jump_size_type
|
||||
{
|
||||
re_jump_size = (sizeof(re_jump) + padding_mask) & ~(padding_mask),
|
||||
re_repeater_size = (sizeof(re_repeat) + padding_mask) & ~(padding_mask)
|
||||
};
|
||||
|
||||
/*** proc re_is_set_member *********************************************
|
||||
Forward declaration: we'll need this one later...
|
||||
***********************************************************************/
|
||||
template <class iterator, class charT, class traits_type, class Allocator>
|
||||
iterator BOOST_REGEX_CALL re_is_set_member(iterator next,
|
||||
iterator last,
|
||||
const re_set_long* set_,
|
||||
const reg_expression<charT, traits_type, Allocator>& e);
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,286 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE sub_match.cpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Declares template class sub_match.
|
||||
*/
|
||||
|
||||
#ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
|
||||
#define BOOST_REGEX_V4_SUB_MATCH_HPP
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option push -a8 -b -Vx -Ve -pc -w-8027
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
template <class BidiIterator>
|
||||
struct sub_match : public std::pair<BidiIterator, BidiIterator>
|
||||
{
|
||||
typedef typename re_detail::regex_iterator_traits<BidiIterator>::value_type value_type;
|
||||
#if defined(BOOST_NO_STD_ITERATOR_TRAITS) || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
#else
|
||||
typedef typename re_detail::regex_iterator_traits<BidiIterator>::difference_type difference_type;
|
||||
#endif
|
||||
typedef BidiIterator iterator_type;
|
||||
|
||||
bool matched;
|
||||
|
||||
sub_match() : std::pair<BidiIterator, BidiIterator>(), matched(false) {}
|
||||
sub_match(BidiIterator i) : std::pair<BidiIterator, BidiIterator>(i, i), matched(false) {}
|
||||
|
||||
operator std::basic_string<value_type> ()const
|
||||
{
|
||||
return str();
|
||||
}
|
||||
difference_type BOOST_REGEX_CALL length()const
|
||||
{
|
||||
difference_type n = boost::re_detail::distance((BidiIterator)first, (BidiIterator)second);
|
||||
return n;
|
||||
}
|
||||
std::basic_string<value_type> str()const
|
||||
{
|
||||
std::basic_string<value_type> result;
|
||||
std::size_t len = boost::re_detail::distance((BidiIterator)first, (BidiIterator)second);
|
||||
result.reserve(len);
|
||||
BidiIterator i = first;
|
||||
while(i != second)
|
||||
{
|
||||
result.append(1, *i);
|
||||
++i;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
int compare(const sub_match& s)const
|
||||
{
|
||||
if(matched != s.matched)
|
||||
return static_cast<int>(matched) - static_cast<int>(s.matched);
|
||||
return str().compare(s.str());
|
||||
}
|
||||
|
||||
bool operator==(const sub_match& that)const
|
||||
{ return compare(that) == 0; }
|
||||
bool BOOST_REGEX_CALL operator !=(const sub_match& that)const
|
||||
{ return compare(that) != 0; }
|
||||
bool operator<(const sub_match& that)const
|
||||
{ return compare(that) < 0; }
|
||||
bool operator>(const sub_match& that)const
|
||||
{ return compare(that) > 0; }
|
||||
bool operator<=(const sub_match& that)const
|
||||
{ return compare(that) <= 0; }
|
||||
bool operator>=(const sub_match& that)const
|
||||
{ return compare(that) >= 0; }
|
||||
|
||||
#ifdef BOOST_OLD_REGEX_H
|
||||
//
|
||||
// the following are deprecated, do not use!!
|
||||
//
|
||||
operator int()const;
|
||||
operator unsigned int()const;
|
||||
operator short()const
|
||||
{
|
||||
return (short)(int)(*this);
|
||||
}
|
||||
operator unsigned short()const
|
||||
{
|
||||
return (unsigned short)(unsigned int)(*this);
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
// comparison to std::basic_string<> part 1:
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator == (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return s.compare(m.str()) == 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator != (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return s.compare(m.str()) != 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator < (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return s.compare(m.str()) < 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator <= (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return s.compare(m.str()) <= 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator >= (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return s.compare(m.str()) >= 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator > (const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return s.compare(m.str()) > 0; }
|
||||
// comparison to std::basic_string<> part 2:
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator == (const sub_match<RandomAccessIterator>& m,
|
||||
const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
|
||||
{ return m.str().compare(s) == 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator != (const sub_match<RandomAccessIterator>& m,
|
||||
const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
|
||||
{ return m.str().compare(s) != 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator < (const sub_match<RandomAccessIterator>& m,
|
||||
const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
|
||||
{ return m.str().compare(s) < 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator > (const sub_match<RandomAccessIterator>& m,
|
||||
const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
|
||||
{ return m.str().compare(s) > 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator <= (const sub_match<RandomAccessIterator>& m,
|
||||
const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
|
||||
{ return m.str().compare(s) <= 0; }
|
||||
template <class RandomAccessIterator, class traits, class Allocator>
|
||||
bool operator >= (const sub_match<RandomAccessIterator>& m,
|
||||
const std::basic_string<typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
|
||||
{ return m.str().compare(s) >= 0; }
|
||||
// comparison to const charT* part 1:
|
||||
template <class RandomAccessIterator>
|
||||
bool operator == (const sub_match<RandomAccessIterator>& m,
|
||||
typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
|
||||
{ return m.str().compare(s) == 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator != (const sub_match<RandomAccessIterator>& m,
|
||||
typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
|
||||
{ return m.str().compare(s) != 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator > (const sub_match<RandomAccessIterator>& m,
|
||||
typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
|
||||
{ return m.str().compare(s) > 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator < (const sub_match<RandomAccessIterator>& m,
|
||||
typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
|
||||
{ return m.str().compare(s) < 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator >= (const sub_match<RandomAccessIterator>& m,
|
||||
typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
|
||||
{ return m.str().compare(s) >= 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator <= (const sub_match<RandomAccessIterator>& m,
|
||||
typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
|
||||
{ return m.str().compare(s) <= 0; }
|
||||
// comparison to const charT* part 2:
|
||||
template <class RandomAccessIterator>
|
||||
bool operator == (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return m.str().compare(s) == 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator != (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return m.str().compare(s) != 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator < (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return m.str().compare(s) > 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator > (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return m.str().compare(s) < 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator <= (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return m.str().compare(s) >= 0; }
|
||||
template <class RandomAccessIterator>
|
||||
bool operator >= (typename re_detail::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
|
||||
const sub_match<RandomAccessIterator>& m)
|
||||
{ return m.str().compare(s) <= 0; }
|
||||
|
||||
#ifndef BOOST_NO_STD_LOCALE
|
||||
template <class charT, class traits, class RandomAccessIterator>
|
||||
std::basic_ostream<charT, traits>&
|
||||
operator << (std::basic_ostream<charT, traits>& os,
|
||||
const sub_match<RandomAccessIterator>& s)
|
||||
{
|
||||
return (os << s.str());
|
||||
}
|
||||
#else
|
||||
template <class RandomAccessIterator>
|
||||
std::ostream& operator << (std::ostream& os,
|
||||
const sub_match<RandomAccessIterator>& s)
|
||||
{
|
||||
return (os << s.str());
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_OLD_REGEX_H
|
||||
namespace re_detail{
|
||||
template <class BidiIterator, class charT>
|
||||
int do_toi(BidiIterator i, BidiIterator j, char c, int radix)
|
||||
{
|
||||
std::string s(i, j);
|
||||
char* p;
|
||||
int result = std::strtol(s.c_str(), &p, radix);
|
||||
if(*p)raise_regex_exception("Bad sub-expression");
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// helper:
|
||||
template <class I, class charT>
|
||||
int do_toi(I& i, I j, charT c)
|
||||
{
|
||||
int result = 0;
|
||||
while((i != j) && (isdigit(*i)))
|
||||
{
|
||||
result = result*10 + (*i - '0');
|
||||
++i;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template <class BidiIterator>
|
||||
sub_match<BidiIterator>::operator int()const
|
||||
{
|
||||
BidiIterator i = first;
|
||||
BidiIterator j = second;
|
||||
if(i == j)raise_regex_exception("Bad sub-expression");
|
||||
int neg = 1;
|
||||
if((i != j) && (*i == '-'))
|
||||
{
|
||||
neg = -1;
|
||||
++i;
|
||||
}
|
||||
neg *= re_detail::do_toi(i, j, *i);
|
||||
if(i != j)raise_regex_exception("Bad sub-expression");
|
||||
return neg;
|
||||
}
|
||||
template <class BidiIterator>
|
||||
sub_match<BidiIterator>::operator unsigned int()const
|
||||
{
|
||||
BidiIterator i = first;
|
||||
BidiIterator j = second;
|
||||
if(i == j)
|
||||
raise_regex_exception("Bad sub-expression");
|
||||
return re_detail::do_toi(i, j, *first);
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
# pragma option pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -24,7 +24,15 @@
|
||||
#ifndef BOOST_REGEX_FWD_HPP
|
||||
#define BOOST_REGEX_FWD_HPP
|
||||
|
||||
#ifndef BOOST_REGEX_CONFIG_HPP
|
||||
#include <boost/regex/config.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex_fwd.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex_fwd.hpp>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -35,8 +35,13 @@
|
||||
#include <cstdio>
|
||||
#include <boost/cregex.hpp>
|
||||
#include <boost/regex/regex_traits.hpp>
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex_synch.hpp>
|
||||
#include <boost/regex/v3/regex_cstring.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex_synch.hpp>
|
||||
#include <boost/regex/v4/regex_cstring.hpp>
|
||||
#endif
|
||||
#include <boost/scoped_array.hpp>
|
||||
|
||||
#include "primary_transform.hpp"
|
||||
@@ -1071,3 +1076,4 @@ std::size_t BOOST_REGEX_CALL c_regex_traits<wchar_t>::strwiden(wchar_t *s1, std:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,11 @@
|
||||
#include <list>
|
||||
#include <cctype>
|
||||
#include <boost/regex/regex_traits.hpp>
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex_synch.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex_synch.hpp>
|
||||
#endif
|
||||
|
||||
|
||||
namespace boost{
|
||||
@@ -555,3 +559,4 @@ BOOST_REGEX_DECL wchar_t wide_lower_case_map[] = {
|
||||
} // namespace boost
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
#include <boost/regex/config.hpp>
|
||||
|
||||
#if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
|
||||
#if !defined(BOOST_NO_STD_LOCALE)
|
||||
|
||||
# ifdef BOOST_MSVC
|
||||
# pragma warning(disable:4786 4702 4127 4244)
|
||||
@@ -347,6 +347,18 @@ cpp_regex_traits<char>::cpp_regex_traits()
|
||||
sort_type = re_detail::find_sort_syntax(this, &(this->sort_delim));
|
||||
}
|
||||
|
||||
void cpp_regex_traits<char>::swap(cpp_regex_traits<char>& that)
|
||||
{
|
||||
std::swap(locale_inst, that.locale_inst); // this one goes first
|
||||
std::swap(pmd, that.pmd);
|
||||
std::swap(psyntax, that.psyntax);
|
||||
std::swap(lower_map, that.lower_map);
|
||||
std::swap(pctype, that.pctype);
|
||||
std::swap(pcollate, that.pcollate);
|
||||
std::swap(sort_type, that.sort_type);
|
||||
std::swap(sort_delim, that.sort_delim);
|
||||
}
|
||||
|
||||
cpp_regex_traits<char>::~cpp_regex_traits()
|
||||
{
|
||||
delete pmd;
|
||||
@@ -464,7 +476,7 @@ cpp_regex_traits<char>::locale_type BOOST_REGEX_CALL cpp_regex_traits<char>::imb
|
||||
return old_l;
|
||||
}
|
||||
|
||||
#ifndef BOOST_NO_WREGEX
|
||||
#if !defined(BOOST_NO_WREGEX) && !defined(BOOST_NO_STD_WSTREAMBUF)
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
@@ -870,6 +882,19 @@ std::size_t BOOST_REGEX_CALL cpp_regex_traits<wchar_t>::strwiden(wchar_t *s1, st
|
||||
return ws.size()+1;
|
||||
}
|
||||
|
||||
void cpp_regex_traits<wchar_t>::swap(cpp_regex_traits<wchar_t>& that)
|
||||
{
|
||||
std::swap(locale_inst, that.locale_inst); // this one must go first
|
||||
std::swap(pmd, that.pmd);
|
||||
std::swap(psyntax, that.psyntax);
|
||||
std::swap(lower_map, that.lower_map);
|
||||
std::swap(pctype, that.pctype);
|
||||
std::swap(pcollate, that.pcollate);
|
||||
std::swap(pcdv, that.pcdv);
|
||||
std::swap(sort_type, that.sort_type);
|
||||
std::swap(sort_delim, that.sort_delim);
|
||||
}
|
||||
|
||||
#endif // BOOST_NO_WREGEX
|
||||
|
||||
|
||||
@@ -878,3 +903,4 @@ std::size_t BOOST_REGEX_CALL cpp_regex_traits<wchar_t>::strwiden(wchar_t *s1, st
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
+21
-36
@@ -28,7 +28,13 @@
|
||||
#if !defined(BOOST_NO_STD_STRING)
|
||||
#include <map>
|
||||
#include <list>
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/fileiter.hpp>
|
||||
typedef unsigned match_flag_type;
|
||||
#else
|
||||
#include <boost/regex/v4/fileiter.hpp>
|
||||
typedef boost::match_flag_type match_flag_type;
|
||||
#endif
|
||||
#include <cstdio>
|
||||
|
||||
namespace boost{
|
||||
@@ -79,11 +85,10 @@ public:
|
||||
regex e;
|
||||
cmatch m;
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
match_results<mapfile::iterator, regex::allocator_type> fm;
|
||||
match_results<mapfile::iterator> fm;
|
||||
#endif
|
||||
type t;
|
||||
const char* pbase;
|
||||
unsigned line;
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
mapfile::iterator fbase;
|
||||
#endif
|
||||
@@ -95,7 +100,7 @@ public:
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
fm(),
|
||||
#endif
|
||||
t(type_copy), pbase(0), line(0),
|
||||
t(type_copy), pbase(0),
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
fbase(),
|
||||
#endif
|
||||
@@ -114,7 +119,6 @@ void RegExData::update()
|
||||
if(m[i].matched) strings[i] = std::string(m[i].first, m[i].second);
|
||||
positions[i] = m[i].matched ? m[i].first - pbase : -1;
|
||||
}
|
||||
line = m.line();
|
||||
}
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
else
|
||||
@@ -124,7 +128,6 @@ void RegExData::update()
|
||||
if(fm[i].matched) strings[i] = to_string(fm[i].first, fm[i].second);
|
||||
positions[i] = fm[i].matched ? fm[i].first - fbase : -1;
|
||||
}
|
||||
line = fm.line();
|
||||
}
|
||||
#endif
|
||||
t = type_copy;
|
||||
@@ -135,7 +138,7 @@ void RegExData::clean()
|
||||
BOOST_RE_GUARD_STACK
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
fbase = mapfile::iterator();
|
||||
fm = match_results<mapfile::iterator, regex::allocator_type>();
|
||||
fm = match_results<mapfile::iterator>();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -209,7 +212,7 @@ std::string RegEx::Expression()const
|
||||
//
|
||||
// now matching operators:
|
||||
//
|
||||
bool RegEx::Match(const char* p, unsigned int flags)
|
||||
bool RegEx::Match(const char* p, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
pdata->t = re_detail::RegExData::type_pc;
|
||||
@@ -225,7 +228,7 @@ bool RegEx::Match(const char* p, unsigned int flags)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool RegEx::Search(const char* p, unsigned int flags)
|
||||
bool RegEx::Search(const char* p, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
pdata->t = re_detail::RegExData::type_pc;
|
||||
@@ -253,7 +256,7 @@ struct pred1
|
||||
}
|
||||
};
|
||||
}
|
||||
unsigned int RegEx::Grep(GrepCallback cb, const char* p, unsigned int flags)
|
||||
unsigned int RegEx::Grep(GrepCallback cb, const char* p, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
pdata->t = re_detail::RegExData::type_pc;
|
||||
@@ -283,7 +286,7 @@ private:
|
||||
};
|
||||
}
|
||||
|
||||
unsigned int RegEx::Grep(std::vector<std::string>& v, const char* p, unsigned int flags)
|
||||
unsigned int RegEx::Grep(std::vector<std::string>& v, const char* p, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
pdata->t = re_detail::RegExData::type_pc;
|
||||
@@ -313,7 +316,7 @@ private:
|
||||
pred3& operator=(const pred3&);
|
||||
};
|
||||
}
|
||||
unsigned int RegEx::Grep(std::vector<std::size_t>& v, const char* p, unsigned int flags)
|
||||
unsigned int RegEx::Grep(std::vector<std::size_t>& v, const char* p, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
pdata->t = re_detail::RegExData::type_pc;
|
||||
@@ -335,7 +338,7 @@ struct pred4
|
||||
const char* file;
|
||||
bool ok;
|
||||
pred4(GrepFileCallback c, RegEx* i, const char* f) : cb(c), pe(i), file(f), ok(true) {}
|
||||
bool operator()(const match_results<mapfile::iterator, regex::allocator_type>& m)
|
||||
bool operator()(const match_results<mapfile::iterator>& m)
|
||||
{
|
||||
pe->pdata->t = RegExData::type_pf;
|
||||
pe->pdata->fm = m;
|
||||
@@ -391,7 +394,7 @@ void BuildFileList(std::list<std::string>* pl, const char* files, bool recurse)
|
||||
}
|
||||
}
|
||||
|
||||
unsigned int RegEx::GrepFiles(GrepFileCallback cb, const char* files, bool recurse, unsigned int flags)
|
||||
unsigned int RegEx::GrepFiles(GrepFileCallback cb, const char* files, bool recurse, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
unsigned int result = 0;
|
||||
@@ -419,7 +422,7 @@ unsigned int RegEx::GrepFiles(GrepFileCallback cb, const char* files, bool recur
|
||||
}
|
||||
|
||||
|
||||
unsigned int RegEx::FindFiles(FindFilesCallback cb, const char* files, bool recurse, unsigned int flags)
|
||||
unsigned int RegEx::FindFiles(FindFilesCallback cb, const char* files, bool recurse, match_flag_type flags)
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
unsigned int result = 0;
|
||||
@@ -451,7 +454,7 @@ unsigned int RegEx::FindFiles(FindFilesCallback cb, const char* files, bool recu
|
||||
#endif
|
||||
|
||||
std::string RegEx::Merge(const std::string& in, const std::string& fmt,
|
||||
bool copy, unsigned int flags)
|
||||
bool copy, match_flag_type flags)
|
||||
{
|
||||
std::string result;
|
||||
re_detail::string_out_iterator<std::string> i(result);
|
||||
@@ -461,7 +464,7 @@ std::string RegEx::Merge(const std::string& in, const std::string& fmt,
|
||||
}
|
||||
|
||||
std::string RegEx::Merge(const char* in, const char* fmt,
|
||||
bool copy, unsigned int flags)
|
||||
bool copy, match_flag_type flags)
|
||||
{
|
||||
std::string result;
|
||||
if(!copy) flags |= format_no_copy;
|
||||
@@ -472,7 +475,7 @@ std::string RegEx::Merge(const char* in, const char* fmt,
|
||||
|
||||
std::size_t RegEx::Split(std::vector<std::string>& v,
|
||||
std::string& s,
|
||||
unsigned flags,
|
||||
match_flag_type flags,
|
||||
unsigned max_count)
|
||||
{
|
||||
return regex_split(std::back_inserter(v), s, pdata->e, flags, max_count);
|
||||
@@ -505,25 +508,6 @@ std::size_t RegEx::Position(int i)const
|
||||
return RegEx::npos;
|
||||
}
|
||||
|
||||
unsigned int RegEx::Line()const
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
switch(pdata->t)
|
||||
{
|
||||
case re_detail::RegExData::type_pc:
|
||||
return pdata->m[0].matched ? pdata->m.line() : RegEx::npos;
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
case re_detail::RegExData::type_pf:
|
||||
return pdata->fm[0].matched ? pdata->fm.line() : RegEx::npos;
|
||||
#endif
|
||||
case re_detail::RegExData::type_copy:
|
||||
{
|
||||
return pdata->line;
|
||||
}
|
||||
}
|
||||
return RegEx::npos;
|
||||
}
|
||||
|
||||
unsigned int RegEx::Marks()const
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
@@ -656,3 +640,4 @@ basic_string<char>::replace<const char*>(char* f1, char* f2, const char* i1, con
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,11 @@
|
||||
|
||||
#include <climits>
|
||||
#include <stdexcept>
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/fileiter.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/fileiter.hpp>
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_REGEX_NO_FILEITER
|
||||
|
||||
@@ -901,3 +905,4 @@ bool _fi_FindClose(_fi_find_handle dat)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+6
-2
@@ -59,7 +59,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char
|
||||
}
|
||||
// set default flags:
|
||||
boost::uint_fast32_t flags = (f & REG_EXTENDED) ? regbase::extended : regbase::basic;
|
||||
expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : 0;
|
||||
expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default;
|
||||
// and translate those that are actually set:
|
||||
|
||||
if(f & REG_NOCOLLATE)
|
||||
@@ -76,6 +76,10 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompA(regex_tA* expression, const char
|
||||
flags |= regbase::escape_in_lists;
|
||||
if(f & REG_NEWLINE_ALT)
|
||||
flags |= regbase::newline_alt;
|
||||
#ifndef BOOST_REGEX_V3
|
||||
if(f & REG_PERLEX)
|
||||
flags |= regbase::perlex;
|
||||
#endif
|
||||
|
||||
const char* p2;
|
||||
if(f & REG_PEND)
|
||||
@@ -165,7 +169,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecA(const regex_tA* expression, cons
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
bool result = false;
|
||||
boost::uint_fast32_t flags = match_default | expression->eflags;
|
||||
match_flag_type flags = match_default | expression->eflags;
|
||||
const char* end;
|
||||
const char* start;
|
||||
cmatch m;
|
||||
|
||||
+81
-1
@@ -23,12 +23,16 @@
|
||||
|
||||
#define BOOST_REGEX_SOURCE
|
||||
|
||||
#include <new>
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/throw_exception.hpp>
|
||||
|
||||
#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300)
|
||||
# include <malloc.h>
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
|
||||
|
||||
//
|
||||
// fix: these are declared out of line here to ensure
|
||||
// that dll builds contain the Virtual table for these
|
||||
@@ -43,6 +47,81 @@ regbase::regbase()
|
||||
regbase::regbase(const regbase& b)
|
||||
: _flags(b._flags){}
|
||||
|
||||
|
||||
namespace re_detail{
|
||||
|
||||
#ifdef BOOST_REGEX_HAS_MS_STACK_GUARD
|
||||
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL reset_stack_guard_page()
|
||||
{
|
||||
#if defined(BOOST_REGEX_HAS_MS_STACK_GUARD) && defined(_MSC_VER) && (_MSC_VER >= 1300)
|
||||
_resetstkoflw();
|
||||
#else
|
||||
//
|
||||
// We need to locate the current page being used by the stack,
|
||||
// move to the page below it and then deallocate and protect
|
||||
// that page. Note that ideally we would protect only the lowest
|
||||
// stack page that has been allocated: in practice there
|
||||
// seems to be no easy way to locate this page, in any case as
|
||||
// long as the next page is protected, then Windows will figure
|
||||
// the rest out for us...
|
||||
//
|
||||
SYSTEM_INFO si;
|
||||
GetSystemInfo(&si);
|
||||
MEMORY_BASIC_INFORMATION mi;
|
||||
DWORD previous_protection_status;
|
||||
//
|
||||
// this is an address in our stack space:
|
||||
//
|
||||
LPBYTE page = (LPBYTE)&page;
|
||||
//
|
||||
// Get the current memory page in use:
|
||||
//
|
||||
VirtualQuery(page, &mi, sizeof(mi));
|
||||
//
|
||||
// Go to the page one below this:
|
||||
//
|
||||
page = (LPBYTE)(mi.BaseAddress)-si.dwPageSize;
|
||||
//
|
||||
// Free and protect everything from the start of the
|
||||
// allocation range, to the end of the page below the
|
||||
// one in use:
|
||||
//
|
||||
if (!VirtualFree(mi.AllocationBase, (LPBYTE)page - (LPBYTE)mi.AllocationBase, MEM_DECOMMIT)
|
||||
|| !VirtualProtect(page, si.dwPageSize, PAGE_GUARD | PAGE_READWRITE, &previous_protection_status))
|
||||
{
|
||||
throw std::bad_exception();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL raise_regex_exception(const std::string& msg)
|
||||
{
|
||||
bad_expression e(msg);
|
||||
throw_exception(e);
|
||||
}
|
||||
|
||||
#if defined(BOOST_REGEX_NON_RECURSIVE) && !defined(BOOST_REGEX_V3)
|
||||
|
||||
BOOST_REGEX_DECL void* BOOST_REGEX_CALL get_mem_block()
|
||||
{
|
||||
return ::operator new(BOOST_REGEX_BLOCKSIZE);
|
||||
}
|
||||
|
||||
BOOST_REGEX_DECL void BOOST_REGEX_CALL release_mem_block(void* p)
|
||||
{
|
||||
::operator delete(p);
|
||||
}
|
||||
|
||||
mem_block_cache block_cache = { 0, };
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace re_detail
|
||||
|
||||
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#if defined(BOOST_RE_USE_VCL) && defined(BOOST_REGEX_BUILD_DLL)
|
||||
@@ -58,3 +137,4 @@ int WINAPI DllEntryPoint(HINSTANCE , unsigned long , void*)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -31,7 +31,11 @@
|
||||
#include <crtdbg.h>
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex_raw_buffer.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex_raw_buffer.hpp>
|
||||
#endif
|
||||
#include <boost/regex.hpp>
|
||||
|
||||
#ifndef BOOST_RE_OLD_IOSTREAM
|
||||
@@ -217,3 +221,4 @@ debug_guard::~debug_guard()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,12 @@
|
||||
|
||||
#define BOOST_REGEX_SOURCE
|
||||
|
||||
#include <boost/regex/config.hpp>
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex_synch.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex_synch.hpp>
|
||||
#endif
|
||||
|
||||
namespace boost{
|
||||
namespace re_detail{
|
||||
@@ -68,3 +73,5 @@ BOOST_REGEX_DECL unsigned int re_lock_count = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,8 +30,13 @@
|
||||
#include <boost/regex/regex_traits.hpp>
|
||||
#if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
|
||||
#include <boost/cregex.hpp>
|
||||
#ifdef BOOST_REGEX_V3
|
||||
#include <boost/regex/v3/regex_synch.hpp>
|
||||
#include <boost/regex/v3/regex_cstring.hpp>
|
||||
#else
|
||||
#include <boost/regex/v4/regex_synch.hpp>
|
||||
#include <boost/regex/v4/regex_cstring.hpp>
|
||||
#endif
|
||||
#include <boost/scoped_array.hpp>
|
||||
|
||||
|
||||
@@ -1102,3 +1107,4 @@ unsigned short w32_regex_traits<wchar_t>::wide_unicode_classes[] = {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha
|
||||
}
|
||||
// set default flags:
|
||||
boost::uint_fast32_t flags = (f & REG_EXTENDED) ? regbase::extended : regbase::basic;
|
||||
expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : 0;
|
||||
expression->eflags = (f & REG_NEWLINE) ? match_not_dot_newline : match_default;
|
||||
|
||||
// and translate those that are actually set:
|
||||
if(f & REG_NOCOLLATE)
|
||||
@@ -84,6 +84,10 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regcompW(regex_tW* expression, const wcha
|
||||
flags |= regbase::escape_in_lists;
|
||||
if(f & REG_NEWLINE_ALT)
|
||||
flags |= regbase::newline_alt;
|
||||
#ifndef BOOST_REGEX_V3
|
||||
if(f & REG_PERLEX)
|
||||
flags |= regbase::perlex;
|
||||
#endif
|
||||
|
||||
const wchar_t* p2;
|
||||
if(f & REG_PEND)
|
||||
@@ -173,7 +177,7 @@ BOOST_REGEX_DECL int BOOST_REGEX_CCALL regexecW(const regex_tW* expression, cons
|
||||
{
|
||||
BOOST_RE_GUARD_STACK
|
||||
bool result = false;
|
||||
boost::uint_fast32_t flags = match_default | expression->eflags;
|
||||
match_flag_type flags = match_default | expression->eflags;
|
||||
const wchar_t* end;
|
||||
const wchar_t* start;
|
||||
wcmatch m;
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: recursion_test.cpp
|
||||
* VERSION: see <boost/version.hpp>
|
||||
* DESCRIPTION: Test for indefinite recursion and/or stack overrun.
|
||||
*/
|
||||
|
||||
#include <string>
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/test/test_tools.hpp>
|
||||
|
||||
int test_main( int argc, char* argv[] )
|
||||
{
|
||||
std::string bad_text(1024, ' ');
|
||||
std::string good_text(200, ' ');
|
||||
good_text.append("xyz");
|
||||
|
||||
boost::smatch what;
|
||||
|
||||
boost::regex e1("(.+)+xyz");
|
||||
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e1));
|
||||
BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e1), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e1));
|
||||
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e1));
|
||||
BOOST_CHECK_THROW(boost::regex_match(bad_text, what, e1), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e1));
|
||||
|
||||
boost::regex e2("abc|[[:space:]]+xyz");
|
||||
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e2));
|
||||
BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e2), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e2));
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 1998-2002
|
||||
* Dr John Maddock
|
||||
*
|
||||
* Permission to use, copy, modify, distribute and sell this software
|
||||
* and its documentation for any purpose is hereby granted without fee,
|
||||
* provided that the above copyright notice appear in all copies and
|
||||
* that both that copyright notice and this permission notice appear
|
||||
* in supporting documentation. Dr John Maddock makes no representations
|
||||
* about the suitability of this software for any purpose.
|
||||
* It is provided "as is" without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE: recursion_test.cpp
|
||||
* VERSION: see <boost/version.hpp>
|
||||
* DESCRIPTION: Test for indefinite recursion and/or stack overrun.
|
||||
*/
|
||||
|
||||
#include <string>
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/test/test_tools.hpp>
|
||||
|
||||
int test_main( int argc, char* argv[] )
|
||||
{
|
||||
// this regex will recurse twice for each whitespace character matched:
|
||||
boost::regex e("([[:space:]]|.)+");
|
||||
|
||||
std::string bad_text(1024*1024*4, ' ');
|
||||
std::string good_text(200, ' ');
|
||||
|
||||
boost::smatch what;
|
||||
|
||||
//
|
||||
// Over and over: We want to make sure that after a stack error has
|
||||
// been triggered, that we can still conduct a good search and that
|
||||
// subsequent stack failures still do the right thing:
|
||||
//
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_search(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_search(good_text, what, e));
|
||||
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_match(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_match(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_match(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e));
|
||||
BOOST_CHECK_THROW(boost::regex_match(bad_text, what, e), std::runtime_error);
|
||||
BOOST_CHECK(boost::regex_match(good_text, what, e));
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -10,7 +10,7 @@ CXX= g++ $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) -L../../build/gcc $(LDFLAGS
|
||||
SOURCES=tests.cpp parse.cpp regress.cpp ../../../test/src/cpp_main.cpp ../../../test/src/execution_monitor.cpp
|
||||
|
||||
total : gcc_regress
|
||||
./gcc_regress tests.txt
|
||||
export LD_LIBRARY_PATH="../../build/gcc:$LD_LIBRARY_PATH" && ./gcc_regress tests.txt
|
||||
|
||||
gcc_regress : $(SOURCES)
|
||||
$(CXX) -O2 -o gcc_regress $(SOURCES) -lboost_regex $(LIBS)
|
||||
@@ -59,5 +59,6 @@ debug : $(SOURCES)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -65,9 +65,13 @@ flag_info flag_data[] = {
|
||||
{ BOOST_RE_STR("bk_vbar"), 7, regbase::bk_vbar, 2 },
|
||||
{ BOOST_RE_STR("use_except"), 10, regbase::use_except, 2 },
|
||||
{ BOOST_RE_STR("literal"), 7, regbase::literal, 2 },
|
||||
#ifndef BOOST_REGEX_V3
|
||||
{ BOOST_RE_STR("perlex"), 6, regbase::perlex, 2 },
|
||||
#endif
|
||||
{ BOOST_RE_STR("normal"), 6, regbase::normal, 2 },
|
||||
{ BOOST_RE_STR("basic"), 5, regbase::basic, 2 },
|
||||
{ BOOST_RE_STR("extended"), 8, regbase::extended, 2 },
|
||||
{ BOOST_RE_STR("perl"), 6, regbase::perl, 2 },
|
||||
|
||||
{ BOOST_RE_STR("match_default"), 13, match_default, 3 },
|
||||
{ BOOST_RE_STR("match_not_bol"), 13, match_not_bol, 3 },
|
||||
@@ -94,6 +98,7 @@ flag_info flag_data[] = {
|
||||
{ BOOST_RE_STR("REG_GREP"), 8, REG_GREP, 4 },
|
||||
{ BOOST_RE_STR("REG_MERGE"), 9, REG_MERGE, 4 },
|
||||
{ BOOST_RE_STR("REG_MERGE_COPY"), 14, REG_MERGE_COPY, 4 },
|
||||
{ BOOST_RE_STR("REG_PARTIAL_MATCH"), 17, REG_PARTIAL_MATCH, 4 },
|
||||
|
||||
{ BOOST_RE_STR(""), 0, 0, 0 },
|
||||
};
|
||||
@@ -104,12 +109,11 @@ flag_info flag_data[] = {
|
||||
const char_t* expression_text = BOOST_RE_STR("(;.*)|") // comment
|
||||
BOOST_RE_STR("(^[[:blank:]]*-)|") // -
|
||||
BOOST_RE_STR("([^\"[:space:]][^[:space:]]*)|") // token
|
||||
BOOST_RE_STR("(\"(([^\"]|\\\\\")*)\")") // "token"
|
||||
BOOST_RE_STR("(\"((\\\\\"|[^\"])*)\")") // "token"
|
||||
;
|
||||
|
||||
typedef reg_expression<char_t> re_parse_t;
|
||||
typedef re_parse_t::allocator_type parse_alloc;
|
||||
typedef match_results<string_type::const_iterator, parse_alloc> parse_grep;
|
||||
typedef basic_regex<char_t> re_parse_t;
|
||||
typedef match_results<string_type::const_iterator> parse_grep;
|
||||
typedef string_type::const_iterator parse_iterator;
|
||||
|
||||
re_parse_t parse_expression(expression_text, regbase::normal);
|
||||
|
||||
@@ -64,7 +64,7 @@ regbase::flag_type f = regbase::escape_in_lists | regbase::char_classes | regbas
|
||||
template class reg_expression<test_char_type>;
|
||||
template struct sub_match<ra_it>;
|
||||
template class match_results<ra_it>;
|
||||
|
||||
#if 0
|
||||
template bool regex_match(ra_it,
|
||||
ra_it,
|
||||
match_results<ra_it>& m,
|
||||
@@ -169,7 +169,7 @@ template test_string_type regex_merge(const test_string_type&,
|
||||
unsigned int flags);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
} // namespace boost
|
||||
|
||||
//
|
||||
|
||||
@@ -81,10 +81,10 @@ int cpp_main(int argc, char * argv[])
|
||||
{
|
||||
#if defined(BOOST_MSVC) && defined(_DEBUG)
|
||||
// turn on heap reporting at program exit:
|
||||
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
|
||||
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
|
||||
tmpFlag &= ~_CRTDBG_CHECK_CRT_DF;
|
||||
_CrtSetDbgFlag( tmpFlag );
|
||||
//int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
|
||||
//tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
|
||||
//tmpFlag &= ~_CRTDBG_CHECK_CRT_DF;
|
||||
//_CrtSetDbgFlag( tmpFlag );
|
||||
#endif
|
||||
#ifdef TIME_TEST
|
||||
boost::timer tim;
|
||||
|
||||
@@ -418,20 +418,22 @@ __iterator_category(const debug_iterator<T>&) {
|
||||
#define BOOST_RE_TEST_LOCALE_W32
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef BOOST_REGEX_V3
|
||||
# define basic_regex reg_expression
|
||||
#endif
|
||||
#ifdef BOOST_RE_TEST_LOCALE_W32
|
||||
typedef boost::reg_expression<char_t, boost::w32_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
typedef boost::basic_regex<char_t, boost::w32_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
#elif defined(BOOST_RE_TEST_LOCALE_CPP)
|
||||
typedef boost::reg_expression<char_t, boost::cpp_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
typedef boost::basic_regex<char_t, boost::cpp_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
#else
|
||||
typedef boost::reg_expression<char_t, boost::c_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
typedef boost::basic_regex<char_t, boost::c_regex_traits<char_t>, jm_debug_alloc> re_type;
|
||||
#endif
|
||||
|
||||
#define REG_NO_POSIX_TEST 1
|
||||
#define REG_UNICODE_ONLY 2
|
||||
#define REG_GREP 4
|
||||
#define REG_MERGE 8
|
||||
#define REG_MERGE_COPY 16
|
||||
#define REG_PARTIAL_MATCH 32
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+89
-36
@@ -37,8 +37,10 @@ bool compare_result(const M1& sm, const M2& m)
|
||||
{
|
||||
if(sm.size() != m.size())
|
||||
return false;
|
||||
#ifdef BOOST_REGEX_V3
|
||||
if(sm.line() != m.line())
|
||||
return false;
|
||||
#endif
|
||||
for(unsigned int i = 0; i < sm.size(); ++i)
|
||||
{
|
||||
if(sm.position(i) != m.position(i))
|
||||
@@ -57,7 +59,7 @@ bool compare_result(const M1& sm, const M1& m)
|
||||
|
||||
|
||||
template <class C, class T, class A>
|
||||
void cpp_eh_tests(const reg_expression<C, T, A>& )
|
||||
void cpp_eh_tests(const basic_regex<C, T, A>& )
|
||||
{
|
||||
#ifndef __GNUC__
|
||||
bool thrown = false;
|
||||
@@ -67,7 +69,7 @@ void cpp_eh_tests(const reg_expression<C, T, A>& )
|
||||
{
|
||||
#endif
|
||||
A a;
|
||||
reg_expression<C, T, A> e(a);
|
||||
basic_regex<C, T, A> e(a);
|
||||
e.set_expression(expression.c_str(), flags[2] | regbase::use_except);
|
||||
#ifndef BOOST_NO_EXCEPTIONS
|
||||
}
|
||||
@@ -90,7 +92,7 @@ void cpp_eh_tests(const reg_expression<C, T, A>& )
|
||||
#endif
|
||||
{
|
||||
A a;
|
||||
reg_expression<C, T, A> e(expression.c_str(), flags[2] | regbase::use_except, a);
|
||||
basic_regex<C, T, A> e(expression.c_str(), flags[2] | regbase::use_except, a);
|
||||
}
|
||||
#ifndef BOOST_NO_EXCEPTIONS
|
||||
catch(const boost::bad_expression&)
|
||||
@@ -142,14 +144,20 @@ class grep_test_predicate
|
||||
{
|
||||
int match_id;
|
||||
iterator base, term;
|
||||
// rebind allocator to correct type:
|
||||
#ifdef BOOST_REGEX_V3
|
||||
typedef Alloc alloc_type;
|
||||
#else
|
||||
typedef typename detail::rebind_allocator<boost::sub_match<iterator>, Alloc>::type alloc_type;
|
||||
#endif
|
||||
public:
|
||||
grep_test_predicate(iterator i, iterator j) : base(i), term(j) { match_id = 0; }
|
||||
~grep_test_predicate(){}
|
||||
bool operator()(const boost::match_results< iterator, Alloc >& m);
|
||||
bool operator()(const boost::match_results< iterator, alloc_type >& m);
|
||||
};
|
||||
|
||||
template <class iterator, class Alloc>
|
||||
bool grep_test_predicate<iterator, Alloc>::operator()(const boost::match_results< iterator, Alloc >& m)
|
||||
bool grep_test_predicate<iterator, Alloc>::operator()(const boost::match_results< iterator, alloc_type >& m)
|
||||
{
|
||||
std::ptrdiff_t start, end;
|
||||
start = m[0].first - base;
|
||||
@@ -189,6 +197,7 @@ bool grep_test_predicate<iterator, Alloc>::operator()(const boost::match_results
|
||||
|
||||
//
|
||||
// now check line()
|
||||
/* don't check this, it's not supported in the new algorithm....
|
||||
start = m.line();
|
||||
end = count_lines(base, iterator(m[0].first)) + 1;
|
||||
if(start != end)
|
||||
@@ -196,9 +205,10 @@ bool grep_test_predicate<iterator, Alloc>::operator()(const boost::match_results
|
||||
begin_error();
|
||||
cout << "regex++ grep error in line(): found " << start << " expected " << end << endl;
|
||||
}
|
||||
|
||||
*/
|
||||
//
|
||||
// now check line_start()
|
||||
/* don't check this, it's not supported in the new algorithm....
|
||||
start = m.line_start() - base;
|
||||
end = find_last_line(base, iterator(m[0].first)) - base;
|
||||
if(start != end)
|
||||
@@ -206,22 +216,22 @@ bool grep_test_predicate<iterator, Alloc>::operator()(const boost::match_results
|
||||
begin_error();
|
||||
cout << "regex++ grep error in line_start(): found " << start << " expected " << end << endl;
|
||||
}
|
||||
|
||||
*/
|
||||
match_id += 2;
|
||||
return true;
|
||||
}
|
||||
|
||||
template <class C, class T, class A>
|
||||
void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
void cpp_tests(const basic_regex<C, T, A>& e, bool recurse = true)
|
||||
{
|
||||
typedef typename reg_expression<C, T, A>::allocator_type allocator_type;
|
||||
typedef typename basic_regex<C, T, A>::allocator_type allocator_type;
|
||||
if(flags[4] & REG_MERGE)
|
||||
{
|
||||
//
|
||||
// test merge code:
|
||||
//
|
||||
string_type s;
|
||||
s = regex_merge(search_text, e, format_string.c_str(), flags[3]);
|
||||
s = regex_merge(search_text, e, format_string.c_str(), static_cast<boost::match_flag_type>(flags[3]));
|
||||
if(s != merge_string)
|
||||
{
|
||||
begin_error();
|
||||
@@ -234,10 +244,15 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
if(recurse)
|
||||
{
|
||||
// copy and assign test:
|
||||
reg_expression<C, T, A> e2(e);
|
||||
basic_regex<C, T, A> e2(e);
|
||||
cpp_tests(e2, false);
|
||||
e2 = e;
|
||||
cpp_tests(e2, false);
|
||||
basic_regex<C, T, A> e3;
|
||||
#ifndef BOOST_REGEX_V3
|
||||
e3.swap(e2);
|
||||
cpp_tests(e3, false);
|
||||
#endif
|
||||
}
|
||||
|
||||
if(e.error_code())
|
||||
@@ -257,18 +272,18 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
debug_iterator<string_type::iterator> x(search_text.begin(), search_text.begin(), search_text.end());
|
||||
debug_iterator<string_type::iterator> y(search_text.end(), search_text.begin(), search_text.end());
|
||||
grep_test_predicate<debug_iterator<string_type::iterator>, allocator_type> oi(x, y);
|
||||
regex_grep(oi, x, y, e, flags[3]);
|
||||
regex_grep(oi, x, y, e, static_cast<boost::match_flag_type>(flags[3]));
|
||||
#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
||||
if(!recurse)
|
||||
{
|
||||
unsigned len = search_text.size();
|
||||
const std::basic_string<char_t>& s = search_text;
|
||||
grep_test_predicate<std::basic_string<char_t>::const_iterator, allocator_type> oi2(s.begin(), s.end());
|
||||
regex_grep(oi2, s, e, flags[3]);
|
||||
regex_grep(oi2, s, e, static_cast<boost::match_flag_type>(flags[3]));
|
||||
grep_test_predicate<const char_t*, allocator_type> oi3(s.c_str(), s.c_str()+s.size());
|
||||
regex_grep(oi3, s.c_str(), e, flags[3]);
|
||||
regex_grep(oi3, s.c_str(), e, static_cast<boost::match_flag_type>(flags[3]));
|
||||
assert(s.size() == len);
|
||||
assert(s.end() - s.begin() == len);
|
||||
assert(s.end() - s.begin() == (std::basic_string<char_t>::difference_type)len);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -278,8 +293,28 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
match_results< debug_iterator<string_type::iterator>, allocator_type> m;
|
||||
debug_iterator<string_type::iterator> x(search_text.begin(), search_text.begin(), search_text.end());
|
||||
debug_iterator<string_type::iterator> y(search_text.end(), search_text.begin(), search_text.end());
|
||||
if(regex_search(x, y, m, e, flags[3]))
|
||||
if(regex_search(x, y, m, e, static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
// special case for partial matches:
|
||||
if(flags[4] & REG_PARTIAL_MATCH)
|
||||
{
|
||||
if(m[0].matched)
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch, found full match when partial match was expected: found ("
|
||||
<< (m[0].first - x) << "," <<
|
||||
(m[0].second - x) << ")" << endl;
|
||||
}
|
||||
else if(((m[0].first - x) != matches[0]) || ((m[0].second - x) != matches[1]))
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in sub-expression " << 0 <<
|
||||
", found (" << (m[0].first - x) << "," <<
|
||||
(m[0].second - x) << ") expected (" <<
|
||||
matches[0] << "," << matches[1] << ")" << endl;
|
||||
}
|
||||
return; // don't bother testing anything else for partial matches
|
||||
}
|
||||
// match found compare what matched with what we expect:
|
||||
int j = 0;
|
||||
for(unsigned int i = 0; i < m.size(); ++i, j += 2)
|
||||
@@ -321,6 +356,24 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
(m[-2].first - x) << "," << (m[-2].second - x) << ") expected (" <<
|
||||
matches[1] << "," << (y-x) << ")" << endl;
|
||||
}
|
||||
#if !(defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)) && !defined(BOOST_REGEX_V3)
|
||||
//
|
||||
// now try comparison operators:
|
||||
string_type s(m[0]);
|
||||
if((s != m[0]) || (m[0] != s))
|
||||
{
|
||||
begin_error();
|
||||
cout << "string comparison failed for result" << std::endl;
|
||||
}
|
||||
if(s.find_first_of((string_type::value_type)0) == string_type::npos)
|
||||
{
|
||||
if((m[0] != s.c_str()) || (s.c_str() != m[0]))
|
||||
{
|
||||
begin_error();
|
||||
cout << "string comparison failed for result" << std::endl;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//
|
||||
// now try alternative forms of regex_search if available:
|
||||
@@ -329,18 +382,18 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
{
|
||||
std::basic_string<char_t> s(search_text.begin(), search_text.end());
|
||||
match_results<std::basic_string<char_t>::const_iterator> sm;
|
||||
if(regex_search(s, sm, e, flags[3]))
|
||||
if(regex_search(s, sm, e, static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
if(compare_result(sm, m) == false)
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_search(const std::string&, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_search(const std::string&, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_search(const std::string&, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_search(const std::string&, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
//
|
||||
// partial match should give same result as full match
|
||||
@@ -348,7 +401,7 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
//
|
||||
if(matches[0] > 0)
|
||||
{
|
||||
if(regex_search(x, y, m, e, flags[3] | boost::match_partial))
|
||||
if(regex_search(x, y, m, e, static_cast<boost::match_flag_type>(flags[3]) | boost::match_partial))
|
||||
{
|
||||
if(compare_result(sm, m) == false)
|
||||
{
|
||||
@@ -365,18 +418,18 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
if(s.find(char_t(0)) == std::basic_string<char_t>::npos)
|
||||
{
|
||||
match_results<const char_t*> ssm;
|
||||
if(regex_search(search_text.c_str(), ssm, e, flags[3]))
|
||||
if(regex_search(search_text.c_str(), ssm, e, static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
if(compare_result(ssm, m) == false)
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_search(const char_t*, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_search(const char_t*, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_search(const char_t*, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_search(const char_t*, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -389,49 +442,49 @@ void cpp_tests(const reg_expression<C, T, A>& e, bool recurse = true)
|
||||
match_results< debug_iterator<string_type::iterator>, allocator_type> m1;
|
||||
debug_iterator<string_type::iterator> x1(search_text.begin(), search_text.begin(), search_text.end());
|
||||
debug_iterator<string_type::iterator> y1(search_text.end(), search_text.begin(), search_text.end());
|
||||
if(regex_match(x1, y1, m1, e, flags[3]))
|
||||
if(regex_match(x1, y1, m1, e, static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
if(compare_result(m1, m) == false)
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_match(iterator, iterator, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_match(iterator, iterator, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_match(iterator, iterator, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_match(iterator, iterator, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
std::basic_string<char_t> s(search_text.begin(), search_text.end());
|
||||
match_results<std::basic_string<char_t>::const_iterator> sm;
|
||||
if(regex_match(s, sm, e, flags[3]))
|
||||
if(regex_match(s, sm, e, static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
if(compare_result(sm, m) == false)
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_match(const std::string&, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_match(const std::string&, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_match(const std::string&, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_match(const std::string&, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
if(s.find(char_t(0)) == std::basic_string<char_t>::npos)
|
||||
{
|
||||
match_results<const char_t*> ssm;
|
||||
if(regex_match(search_text.c_str(), ssm, e, flags[3]))
|
||||
if(regex_match(search_text.c_str(), ssm, e, static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
if(compare_result(ssm, m) == false)
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_match(const char_t*, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_match(const char_t*, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
begin_error();
|
||||
cout << "regex++ API result mismatch in regex_match(const char_t*, match_results&, const reg_expression&, int)" << endl;
|
||||
cout << "regex++ API result mismatch in regex_match(const char_t*, match_results&, const basic_regex&, int)" << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -568,11 +621,11 @@ void cpp_hl_tests(RegEx& e, bool recurse = true)
|
||||
// try to do grep:
|
||||
hl_match_id = 0;
|
||||
GrepCallback cb = hl_grep_test_proc;
|
||||
e.Grep(cb, search_text.c_str(), flags[3]);
|
||||
e.Grep(cb, search_text.c_str(), static_cast<boost::match_flag_type>(flags[3]));
|
||||
}
|
||||
else
|
||||
{
|
||||
if(e.Search(search_text.c_str(), flags[3]))
|
||||
if(e.Search(search_text.c_str(), static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
unsigned int i = 0;
|
||||
unsigned int j = 0;
|
||||
@@ -600,9 +653,9 @@ void cpp_hl_tests(RegEx& e, bool recurse = true)
|
||||
//
|
||||
// test RegEx::Match only if we expect to match all of the input:
|
||||
//
|
||||
if((matches[0] == 0) && (matches[1] == search_text.size()))
|
||||
if((matches[0] == 0) && (matches[1] == (int)search_text.size()))
|
||||
{
|
||||
if(e.Match(search_text.c_str(), flags[3]))
|
||||
if(e.Match(search_text.c_str(), static_cast<boost::match_flag_type>(flags[3])))
|
||||
{
|
||||
unsigned int i = 0;
|
||||
unsigned int j = 0;
|
||||
|
||||
+216
-13
@@ -293,7 +293,7 @@ ab$ abxx -1 -1
|
||||
ab$ ab\nzz 0 2
|
||||
|
||||
; back references
|
||||
- match_default normal REG_EXTENDED
|
||||
- match_default normal REG_PERL
|
||||
a(b)\2c !
|
||||
a(b\1)c !
|
||||
a(b*)c\1d abbcbbd 0 7 1 3
|
||||
@@ -307,7 +307,8 @@ a(([bc])\2)*d abbccd 0 6 3 5 3 4
|
||||
|
||||
a(([bc])\2)*d abbcbd -1 -1
|
||||
a((b)*\2)*d abbbd 0 5 1 4 2 3
|
||||
(ab*)[ab]*\1 ababaaa 0 7 0 1
|
||||
; perl only:
|
||||
(ab*)[ab]*\1 ababaaa 0 4 0 2
|
||||
(a)\1bcd aabcd 0 5 0 1
|
||||
(a)\1bc*d aabcd 0 5 0 1
|
||||
(a)\1bc*d aabd 0 4 0 1
|
||||
@@ -315,9 +316,13 @@ a((b)*\2)*d abbbd 0 5 1 4 2 3
|
||||
(a)\1bc*[ce]d aabcccd 0 7 0 1
|
||||
^(a)\1b(c)*cd$ aabcccd 0 7 0 1 4 5
|
||||
|
||||
; posix only:
|
||||
- match_default extended REG_EXTENDED
|
||||
(ab*)[ab]*\1 ababaaa 0 7 0 1
|
||||
|
||||
;
|
||||
; characters by code:
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
- match_default normal REG_PERL REG_STARTEND
|
||||
\0101 A 0 1
|
||||
\00 \0 0 1
|
||||
\0 \0 0 1
|
||||
@@ -443,6 +448,7 @@ a(bbb+|bb+|b)b abbb 0 4 1 3
|
||||
a(bbb+|bb+|b)bb abbb 0 4 1 2
|
||||
(.*).* abcdef 0 6 0 6
|
||||
(a*)* bc 0 0 0 0
|
||||
xyx*xz xyxxxxyxxxz 5 11
|
||||
|
||||
; do we get the right subexpression when it is used more than once?
|
||||
a(b|c)*d ad 0 2 -1 -1
|
||||
@@ -450,7 +456,6 @@ a(b|c)*d abcd 0 4 2 3
|
||||
a(b|c)+d abd 0 3 1 2
|
||||
a(b|c)+d abcd 0 4 2 3
|
||||
a(b|c?)+d ad 0 2 1 1
|
||||
a(b|c?)+d abcd 0 4 2 3
|
||||
a(b|c){0,0}d ad 0 2 -1 -1
|
||||
a(b|c){0,1}d ad 0 2 -1 -1
|
||||
a(b|c){0,1}d abd 0 3 1 2
|
||||
@@ -470,13 +475,23 @@ a(b|c){2,4}d abcbd 0 5 3 4
|
||||
a(b|c){2,4}d abcbcd 0 6 4 5
|
||||
a(b|c){2,}d abcd 0 4 2 3
|
||||
a(b|c){2,}d abcbd 0 5 3 4
|
||||
; perl only:
|
||||
a(b|c?)+d abcd 0 4 3 3
|
||||
a(b+|((c)*))+d abd 0 3 2 2 2 2 -1 -1
|
||||
a(b+|((c)*))+d abcd 0 4 3 3 3 3 2 3
|
||||
|
||||
; posix only:
|
||||
- match_default extended REG_EXTENDED REG_STARTEND
|
||||
a(b|c?)+d abcd 0 4 2 3
|
||||
a(b|((c)*))+d abcd 0 4 2 3 2 3 2 3
|
||||
a(b+|((c)*))+d abd 0 3 1 2 -1 -1 -1 -1
|
||||
a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3
|
||||
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_NOSPEC literal
|
||||
\**?/{} \\**?/{} 0 7
|
||||
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST ; we disable POSIX testing because it can't handle escapes in sets
|
||||
- match_default normal REG_PERL
|
||||
; try to match C++ syntax elements:
|
||||
; line comment:
|
||||
//[^\n]* "++i //here is a line comment\n" 4 28
|
||||
@@ -490,7 +505,8 @@ a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3
|
||||
; preprossor directives:
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol" 0 19 -1 -1
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) #x" 0 25 -1 -1
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);" 0 53 28 42
|
||||
; perl only:
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);" 0 53 30 42
|
||||
; literals:
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFF 0 4 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 35 0 2 0 2 -1 -1 0 2 -1 -1 -1 -1 -1 -1
|
||||
@@ -502,6 +518,11 @@ a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3
|
||||
'([^\\']|\\.)*' '\\'' 0 4 1 3
|
||||
'([^\\']|\\.)*' '\\n' 0 4 1 3
|
||||
|
||||
; posix only:
|
||||
- match_default extended escape_in_lists REG_EXTENDED REG_NO_POSIX_TEST ; we disable POSIX testing because it can't handle escapes in sets
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);" 0 53 28 42
|
||||
|
||||
|
||||
; now try and test some unicode specific characters:
|
||||
- match_default normal REG_PERL REG_UNICODE_ONLY
|
||||
[[:unicode:]]+ a\0300\0400z 1 3
|
||||
@@ -837,7 +858,7 @@ a+(b+) "...aaabb,,,ab*abbb?" $1 "...bb,,,ab*abbb?"
|
||||
|
||||
;
|
||||
; non-greedy repeats added 21/04/00
|
||||
- match_default normal REG_EXTENDED
|
||||
- match_default normal REG_EXTENDED REG_PERL
|
||||
a** !
|
||||
a*? aa 0 0
|
||||
a?? aa 0 0
|
||||
@@ -854,7 +875,7 @@ abc|\w+? abcd 0 3
|
||||
|
||||
;
|
||||
; non-marking parenthesis added 25/04/00
|
||||
- match_default normal REG_EXTENDED
|
||||
- match_default normal REG_EXTENDED REG_PERL
|
||||
(?:abc)+ xxabcabcxx 2 8
|
||||
(?:a+)(b+) xaaabbbx 1 7 4 7
|
||||
(a+)(?:b+) xaaabbba 1 7 1 4
|
||||
@@ -867,14 +888,19 @@ a+(?#b+)b+ xaaabbba 1 7
|
||||
|
||||
;
|
||||
; try some partial matches:
|
||||
- match_partial match_default normal REG_EXTENDED REG_NO_POSIX_TEST
|
||||
(xyz)(.*)abc xyzaaab -1 -1 0 3 3 7
|
||||
(xyz)(.*)abc xyz -1 -1 0 3 3 3
|
||||
(xyz)(.*)abc xy -1 -1 -1 -1 -1 -1
|
||||
- match_partial match_default normal REG_EXTENDED REG_NO_POSIX_TEST REG_PARTIAL_MATCH REG_PERL
|
||||
(xyz)(.*)abc xyzaaab 0 7
|
||||
(xyz)(.*)abc xyz 0 3
|
||||
(xyz)(.*)abc xy 0 2
|
||||
(xyz)(.*)abc x 0 1
|
||||
(xyz)(.*)abc "" -1 -1
|
||||
(xyz)(.*)abc aaaa -1 -1
|
||||
.abc aaab 1 4
|
||||
a[_] xxa 2 3
|
||||
|
||||
;
|
||||
; forward lookahead asserts added 21/01/02
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST REG_PERL
|
||||
((?:(?!a|b)\w)+)(\w+) " xxxabaxxx " 2 11 2 5 5 11
|
||||
|
||||
/\*(?:(?!\*/).)*\*/ " /**/ " 2 6
|
||||
@@ -902,6 +928,183 @@ a+(?#b+)b+ xaaabbba 1 7
|
||||
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$ abC3 0 4
|
||||
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$ ABCD3 -1 -1
|
||||
|
||||
; extended repeat checking to exercise new algorithms:
|
||||
ab.*xy abxy_ 0 4
|
||||
ab.*xy ab_xy_ 0 5
|
||||
ab.*xy abxy 0 4
|
||||
ab.*xy ab_xy 0 5
|
||||
ab.* ab 0 2
|
||||
ab.* ab__ 0 4
|
||||
|
||||
ab.{2,5}xy ab__xy_ 0 6
|
||||
ab.{2,5}xy ab____xy_ 0 8
|
||||
ab.{2,5}xy ab_____xy_ 0 9
|
||||
ab.{2,5}xy ab__xy 0 6
|
||||
ab.{2,5}xy ab_____xy 0 9
|
||||
ab.{2,5} ab__ 0 4
|
||||
ab.{2,5} ab_______ 0 7
|
||||
ab.{2,5}xy ab______xy -1 -1
|
||||
ab.{2,5}xy ab_xy -1 -1
|
||||
|
||||
ab.*?xy abxy_ 0 4
|
||||
ab.*?xy ab_xy_ 0 5
|
||||
ab.*?xy abxy 0 4
|
||||
ab.*?xy ab_xy 0 5
|
||||
ab.*? ab 0 2
|
||||
ab.*? ab__ 0 2
|
||||
|
||||
ab.{2,5}?xy ab__xy_ 0 6
|
||||
ab.{2,5}?xy ab____xy_ 0 8
|
||||
ab.{2,5}?xy ab_____xy_ 0 9
|
||||
ab.{2,5}?xy ab__xy 0 6
|
||||
ab.{2,5}?xy ab_____xy 0 9
|
||||
ab.{2,5}? ab__ 0 4
|
||||
ab.{2,5}? ab_______ 0 4
|
||||
ab.{2,5}?xy ab______xy -1 -1
|
||||
ab.{2,5}xy ab_xy -1 -1
|
||||
|
||||
; again but with slower algorithm variant:
|
||||
- match_default normal REG_PERL REG_NO_POSIX_TEST match_not_dot_newline match_not_dot_null
|
||||
ab.*xy abxy_ 0 4
|
||||
ab.*xy ab_xy_ 0 5
|
||||
ab.*xy abxy 0 4
|
||||
ab.*xy ab_xy 0 5
|
||||
ab.* ab 0 2
|
||||
ab.* ab__ 0 4
|
||||
|
||||
ab.{2,5}xy ab__xy_ 0 6
|
||||
ab.{2,5}xy ab____xy_ 0 8
|
||||
ab.{2,5}xy ab_____xy_ 0 9
|
||||
ab.{2,5}xy ab__xy 0 6
|
||||
ab.{2,5}xy ab_____xy 0 9
|
||||
ab.{2,5} ab__ 0 4
|
||||
ab.{2,5} ab_______ 0 7
|
||||
ab.{2,5}xy ab______xy -1 -1
|
||||
ab.{2,5}xy ab_xy -1 -1
|
||||
|
||||
ab.*?xy abxy_ 0 4
|
||||
ab.*?xy ab_xy_ 0 5
|
||||
ab.*?xy abxy 0 4
|
||||
ab.*?xy ab_xy 0 5
|
||||
ab.*? ab 0 2
|
||||
ab.*? ab__ 0 2
|
||||
|
||||
ab.{2,5}?xy ab__xy_ 0 6
|
||||
ab.{2,5}?xy ab____xy_ 0 8
|
||||
ab.{2,5}?xy ab_____xy_ 0 9
|
||||
ab.{2,5}?xy ab__xy 0 6
|
||||
ab.{2,5}?xy ab_____xy 0 9
|
||||
ab.{2,5}? ab__ 0 4
|
||||
ab.{2,5}? ab_______ 0 4
|
||||
ab.{2,5}?xy ab______xy -1 -1
|
||||
ab.{2,5}xy ab_xy -1 -1
|
||||
|
||||
; now again for single character repeats:
|
||||
|
||||
ab_*xy abxy_ 0 4
|
||||
ab_*xy ab_xy_ 0 5
|
||||
ab_*xy abxy 0 4
|
||||
ab_*xy ab_xy 0 5
|
||||
ab_* ab 0 2
|
||||
ab_* ab__ 0 4
|
||||
|
||||
ab_{2,5}xy ab__xy_ 0 6
|
||||
ab_{2,5}xy ab____xy_ 0 8
|
||||
ab_{2,5}xy ab_____xy_ 0 9
|
||||
ab_{2,5}xy ab__xy 0 6
|
||||
ab_{2,5}xy ab_____xy 0 9
|
||||
ab_{2,5} ab__ 0 4
|
||||
ab_{2,5} ab_______ 0 7
|
||||
ab_{2,5}xy ab______xy -1 -1
|
||||
ab_{2,5}xy ab_xy -1 -1
|
||||
|
||||
ab_*?xy abxy_ 0 4
|
||||
ab_*?xy ab_xy_ 0 5
|
||||
ab_*?xy abxy 0 4
|
||||
ab_*?xy ab_xy 0 5
|
||||
ab_*? ab 0 2
|
||||
ab_*? ab__ 0 2
|
||||
|
||||
ab_{2,5}?xy ab__xy_ 0 6
|
||||
ab_{2,5}?xy ab____xy_ 0 8
|
||||
ab_{2,5}?xy ab_____xy_ 0 9
|
||||
ab_{2,5}?xy ab__xy 0 6
|
||||
ab_{2,5}?xy ab_____xy 0 9
|
||||
ab_{2,5}? ab__ 0 4
|
||||
ab_{2,5}? ab_______ 0 4
|
||||
ab_{2,5}?xy ab______xy -1 -1
|
||||
ab_{2,5}xy ab_xy -1 -1
|
||||
|
||||
; and again for sets:
|
||||
ab[_,;]*xy abxy_ 0 4
|
||||
ab[_,;]*xy ab_xy_ 0 5
|
||||
ab[_,;]*xy abxy 0 4
|
||||
ab[_,;]*xy ab_xy 0 5
|
||||
ab[_,;]* ab 0 2
|
||||
ab[_,;]* ab__ 0 4
|
||||
|
||||
ab[_,;]{2,5}xy ab__xy_ 0 6
|
||||
ab[_,;]{2,5}xy ab____xy_ 0 8
|
||||
ab[_,;]{2,5}xy ab_____xy_ 0 9
|
||||
ab[_,;]{2,5}xy ab__xy 0 6
|
||||
ab[_,;]{2,5}xy ab_____xy 0 9
|
||||
ab[_,;]{2,5} ab__ 0 4
|
||||
ab[_,;]{2,5} ab_______ 0 7
|
||||
ab[_,;]{2,5}xy ab______xy -1 -1
|
||||
ab[_,;]{2,5}xy ab_xy -1 -1
|
||||
|
||||
ab[_,;]*?xy abxy_ 0 4
|
||||
ab[_,;]*?xy ab_xy_ 0 5
|
||||
ab[_,;]*?xy abxy 0 4
|
||||
ab[_,;]*?xy ab_xy 0 5
|
||||
ab[_,;]*? ab 0 2
|
||||
ab[_,;]*? ab__ 0 2
|
||||
|
||||
ab[_,;]{2,5}?xy ab__xy_ 0 6
|
||||
ab[_,;]{2,5}?xy ab____xy_ 0 8
|
||||
ab[_,;]{2,5}?xy ab_____xy_ 0 9
|
||||
ab[_,;]{2,5}?xy ab__xy 0 6
|
||||
ab[_,;]{2,5}?xy ab_____xy 0 9
|
||||
ab[_,;]{2,5}? ab__ 0 4
|
||||
ab[_,;]{2,5}? ab_______ 0 4
|
||||
ab[_,;]{2,5}?xy ab______xy -1 -1
|
||||
ab[_,;]{2,5}xy ab_xy -1 -1
|
||||
|
||||
; and again for tricky sets with digraphs:
|
||||
ab[_[.ae.]]*xy abxy_ 0 4
|
||||
ab[_[.ae.]]*xy ab_xy_ 0 5
|
||||
ab[_[.ae.]]*xy abxy 0 4
|
||||
ab[_[.ae.]]*xy ab_xy 0 5
|
||||
ab[_[.ae.]]* ab 0 2
|
||||
ab[_[.ae.]]* ab__ 0 4
|
||||
|
||||
ab[_[.ae.]]{2,5}xy ab__xy_ 0 6
|
||||
ab[_[.ae.]]{2,5}xy ab____xy_ 0 8
|
||||
ab[_[.ae.]]{2,5}xy ab_____xy_ 0 9
|
||||
ab[_[.ae.]]{2,5}xy ab__xy 0 6
|
||||
ab[_[.ae.]]{2,5}xy ab_____xy 0 9
|
||||
ab[_[.ae.]]{2,5} ab__ 0 4
|
||||
ab[_[.ae.]]{2,5} ab_______ 0 7
|
||||
ab[_[.ae.]]{2,5}xy ab______xy -1 -1
|
||||
ab[_[.ae.]]{2,5}xy ab_xy -1 -1
|
||||
|
||||
ab[_[.ae.]]*?xy abxy_ 0 4
|
||||
ab[_[.ae.]]*?xy ab_xy_ 0 5
|
||||
ab[_[.ae.]]*?xy abxy 0 4
|
||||
ab[_[.ae.]]*?xy ab_xy 0 5
|
||||
ab[_[.ae.]]*? ab 0 2
|
||||
ab[_[.ae.]]*? ab__ 0 2
|
||||
|
||||
ab[_[.ae.]]{2,5}?xy ab__xy_ 0 6
|
||||
ab[_[.ae.]]{2,5}?xy ab____xy_ 0 8
|
||||
ab[_[.ae.]]{2,5}?xy ab_____xy_ 0 9
|
||||
ab[_[.ae.]]{2,5}?xy ab__xy 0 6
|
||||
ab[_[.ae.]]{2,5}?xy ab_____xy 0 9
|
||||
ab[_[.ae.]]{2,5}? ab__ 0 4
|
||||
ab[_[.ae.]]{2,5}? ab_______ 0 4
|
||||
ab[_[.ae.]]{2,5}?xy ab______xy -1 -1
|
||||
ab[_[.ae.]]{2,5}xy ab_xy -1 -1
|
||||
|
||||
; new bugs detected in spring 2003:
|
||||
- normal match_continuous REG_NO_POSIX_TEST
|
||||
b abc -1 -1
|
||||
|
||||
@@ -0,0 +1,908 @@
|
||||
;
|
||||
;
|
||||
; this file contains a script of tests to run through regress.exe
|
||||
;
|
||||
; comments start with a semicolon and proceed to the end of the line
|
||||
;
|
||||
; changes to regular expression compile flags start with a "-" as the first
|
||||
; non-whitespace character and consist of a list of the printable names
|
||||
; of the flags, for example "match_default"
|
||||
;
|
||||
; Other lines contain a test to perform using the current flag status
|
||||
; the first token contains the expression to compile, the second the string
|
||||
; to match it against. If the second string is "!" then the expression should
|
||||
; not compile, that is the first string is an invalid regular expression.
|
||||
; This is then followed by a list of integers that specify what should match,
|
||||
; each pair represents the starting and ending positions of a subexpression
|
||||
; starting with the zeroth subexpression (the whole match).
|
||||
; A value of -1 indicates that the subexpression should not take part in the
|
||||
; match at all, if the first value is -1 then no part of the expression should
|
||||
; match the string.
|
||||
;
|
||||
|
||||
- match_default normal REG_EXTENDED
|
||||
|
||||
;
|
||||
; try some really simple literals:
|
||||
a a 0 1
|
||||
Z Z 0 1
|
||||
Z aaa -1 -1
|
||||
Z xxxxZZxxx 4 5
|
||||
|
||||
; and some simple brackets:
|
||||
(a) zzzaazz 3 4 3 4
|
||||
() zzz 0 0 0 0
|
||||
() "" 0 0 0 0
|
||||
( !
|
||||
) !
|
||||
(aa !
|
||||
aa) !
|
||||
a b -1 -1
|
||||
\(\) () 0 2
|
||||
\(a\) (a) 0 3
|
||||
\() !
|
||||
(\) !
|
||||
p(a)rameter ABCparameterXYZ 3 12 4 5
|
||||
[pq](a)rameter ABCparameterXYZ 3 12 4 5
|
||||
|
||||
; now try escaped brackets:
|
||||
- match_default bk_parens REG_BASIC
|
||||
\(a\) zzzaazz 3 4 3 4
|
||||
\(\) zzz 0 0 0 0
|
||||
\(\) "" 0 0 0 0
|
||||
\( !
|
||||
\) !
|
||||
\(aa !
|
||||
aa\) !
|
||||
() () 0 2
|
||||
(a) (a) 0 3
|
||||
(\) !
|
||||
\() !
|
||||
|
||||
; now move on to "." wildcards
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
. a 0 1
|
||||
. \n 0 1
|
||||
. \r 0 1
|
||||
. \0 0 1
|
||||
- match_default normal match_not_dot_newline REG_EXTENDED REG_STARTEND REG_NEWLINE
|
||||
. a 0 1
|
||||
. \n -1 -1
|
||||
. \r -1 -1
|
||||
. \0 0 1
|
||||
- match_default normal match_not_dot_null match_not_dot_newline REG_EXTENDED REG_STARTEND REG_NEWLINE
|
||||
. \n -1 -1
|
||||
. \r -1 -1
|
||||
; this *WILL* produce an error from the POSIX API functions:
|
||||
- match_default normal match_not_dot_null match_not_dot_newline REG_EXTENDED REG_STARTEND REG_NEWLINE REG_NO_POSIX_TEST
|
||||
. \0 -1 -1
|
||||
|
||||
|
||||
;
|
||||
; now move on to the repetion ops,
|
||||
; starting with operator *
|
||||
- match_default normal REG_EXTENDED
|
||||
a* b 0 0
|
||||
ab* a 0 1
|
||||
ab* ab 0 2
|
||||
ab* sssabbbbbbsss 3 10
|
||||
ab*c* a 0 1
|
||||
ab*c* abbb 0 4
|
||||
ab*c* accc 0 4
|
||||
ab*c* abbcc 0 5
|
||||
*a !
|
||||
\<* !
|
||||
\>* !
|
||||
\n* \n\n 0 2
|
||||
\** ** 0 2
|
||||
\* * 0 1
|
||||
|
||||
; now try operator +
|
||||
ab+ a -1 -1
|
||||
ab+ ab 0 2
|
||||
ab+ sssabbbbbbsss 3 10
|
||||
ab+c+ a -1 -1
|
||||
ab+c+ abbb -1 -1
|
||||
ab+c+ accc -1 -1
|
||||
ab+c+ abbcc 0 5
|
||||
+a !
|
||||
\<+ !
|
||||
\>+ !
|
||||
\n+ \n\n 0 2
|
||||
\+ + 0 1
|
||||
\+ ++ 0 1
|
||||
\++ ++ 0 2
|
||||
- match_default normal bk_plus_qm REG_EXTENDED REG_NO_POSIX_TEST
|
||||
+ + 0 1
|
||||
\+ !
|
||||
a\+ aa 0 2
|
||||
|
||||
; now try operator ?
|
||||
- match_default normal REG_EXTENDED
|
||||
a? b 0 0
|
||||
ab? a 0 1
|
||||
ab? ab 0 2
|
||||
ab? sssabbbbbbsss 3 5
|
||||
ab?c? a 0 1
|
||||
ab?c? abbb 0 2
|
||||
ab?c? accc 0 2
|
||||
ab?c? abcc 0 3
|
||||
?a !
|
||||
\<? !
|
||||
\>? !
|
||||
\n? \n\n 0 1
|
||||
\? ? 0 1
|
||||
\? ?? 0 1
|
||||
\?? ?? 0 1
|
||||
- match_default normal bk_plus_qm REG_EXTENDED REG_NO_POSIX_TEST
|
||||
? ? 0 1
|
||||
\? !
|
||||
a\? aa 0 1
|
||||
a\? b 0 0
|
||||
|
||||
- match_default normal limited_ops
|
||||
a? a? 0 2
|
||||
a+ a+ 0 2
|
||||
a\? a? 0 2
|
||||
a\+ a+ 0 2
|
||||
|
||||
; now try operator {}
|
||||
- match_default normal REG_EXTENDED
|
||||
a{2} a -1 -1
|
||||
a{2} aa 0 2
|
||||
a{2} aaa 0 2
|
||||
a{2,} a -1 -1
|
||||
a{2,} aa 0 2
|
||||
a{2,} aaaaa 0 5
|
||||
a{2,4} a -1 -1
|
||||
a{2,4} aa 0 2
|
||||
a{2,4} aaa 0 3
|
||||
a{2,4} aaaa 0 4
|
||||
a{2,4} aaaaa 0 4
|
||||
; spaces are now allowed inside {}
|
||||
"a{ 2 , 4 }" aaaaa 0 4
|
||||
a{} !
|
||||
"a{ }" !
|
||||
a{2 !
|
||||
a} !
|
||||
\{\} {} 0 2
|
||||
|
||||
- match_default normal bk_braces
|
||||
a\{2\} a -1 -1
|
||||
a\{2\} aa 0 2
|
||||
a\{2\} aaa 0 2
|
||||
a\{2,\} a -1 -1
|
||||
a\{2,\} aa 0 2
|
||||
a\{2,\} aaaaa 0 5
|
||||
a\{2,4\} a -1 -1
|
||||
a\{2,4\} aa 0 2
|
||||
a\{2,4\} aaa 0 3
|
||||
a\{2,4\} aaaa 0 4
|
||||
a\{2,4\} aaaaa 0 4
|
||||
"a\{ 2 , 4 \}" aaaaa 0 4
|
||||
{} {} 0 2
|
||||
|
||||
; now test the alternation operator |
|
||||
- match_default normal REG_EXTENDED
|
||||
a|b a 0 1
|
||||
a|b b 0 1
|
||||
a(b|c) ab 0 2 1 2
|
||||
a(b|c) ac 0 2 1 2
|
||||
a(b|c) ad -1 -1 -1 -1
|
||||
|c !
|
||||
c| !
|
||||
(|) !
|
||||
(a|) !
|
||||
(|a) !
|
||||
a\| a| 0 2
|
||||
- match_default normal limited_ops
|
||||
a| a| 0 2
|
||||
a\| a| 0 2
|
||||
| | 0 1
|
||||
- match_default normal bk_vbar REG_NO_POSIX_TEST
|
||||
a| a| 0 2
|
||||
a\|b a 0 1
|
||||
a\|b b 0 1
|
||||
|
||||
; now test the set operator []
|
||||
- match_default normal REG_EXTENDED
|
||||
; try some literals first
|
||||
[abc] a 0 1
|
||||
[abc] b 0 1
|
||||
[abc] c 0 1
|
||||
[abc] d -1 -1
|
||||
[^bcd] a 0 1
|
||||
[^bcd] b -1 -1
|
||||
[^bcd] d -1 -1
|
||||
[^bcd] e 0 1
|
||||
a[b]c abc 0 3
|
||||
a[ab]c abc 0 3
|
||||
a[^ab]c adc 0 3
|
||||
a[]b]c a]c 0 3
|
||||
a[[b]c a[c 0 3
|
||||
a[-b]c a-c 0 3
|
||||
a[^]b]c adc 0 3
|
||||
a[^-b]c adc 0 3
|
||||
a[b-]c a-c 0 3
|
||||
a[b !
|
||||
a[] !
|
||||
|
||||
; then some ranges
|
||||
[b-e] a -1 -1
|
||||
[b-e] b 0 1
|
||||
[b-e] e 0 1
|
||||
[b-e] f -1 -1
|
||||
[^b-e] a 0 1
|
||||
[^b-e] b -1 -1
|
||||
[^b-e] e -1 -1
|
||||
[^b-e] f 0 1
|
||||
a[1-3]c a2c 0 3
|
||||
a[3-1]c !
|
||||
a[1-3-5]c !
|
||||
a[1- !
|
||||
|
||||
; and some classes
|
||||
a[[:alpha:]]c abc 0 3
|
||||
a[[:unknown:]]c !
|
||||
a[[: !
|
||||
a[[:alpha !
|
||||
a[[:alpha:] !
|
||||
a[[:alpha,:] !
|
||||
a[[:]:]]b !
|
||||
a[[:-:]]b !
|
||||
a[[:alph:]] !
|
||||
a[[:alphabet:]] !
|
||||
[[:alnum:]]+ -%@a0X_- 3 6
|
||||
[[:alpha:]]+ -%@aX_0- 3 5
|
||||
[[:blank:]]+ "a \tb" 1 4
|
||||
[[:cntrl:]]+ a\n\tb 1 3
|
||||
[[:digit:]]+ a019b 1 4
|
||||
[[:graph:]]+ " a%b " 1 4
|
||||
[[:lower:]]+ AabC 1 3
|
||||
; This test fails with STLPort, disable for now as this is a corner case anyway...
|
||||
;[[:print:]]+ "\na b\n" 1 4
|
||||
[[:punct:]]+ " %-&\t" 1 4
|
||||
[[:space:]]+ "a \n\t\rb" 1 5
|
||||
[[:upper:]]+ aBCd 1 3
|
||||
[[:xdigit:]]+ p0f3Cx 1 5
|
||||
|
||||
; now test flag settings:
|
||||
- escape_in_lists REG_NO_POSIX_TEST
|
||||
[\n] \n 0 1
|
||||
- REG_NO_POSIX_TEST
|
||||
[\n] \n -1 -1
|
||||
[\n] \\ 0 1
|
||||
[[:class:] : 0 1
|
||||
[[:class:] [ 0 1
|
||||
[[:class:] c 0 1
|
||||
|
||||
; line anchors
|
||||
- match_default normal REG_EXTENDED
|
||||
^ab ab 0 2
|
||||
^ab xxabxx -1 -1
|
||||
^ab xx\nabzz 3 5
|
||||
ab$ ab 0 2
|
||||
ab$ abxx -1 -1
|
||||
ab$ ab\nzz 0 2
|
||||
- match_default match_not_bol match_not_eol normal REG_EXTENDED REG_NOTBOL REG_NOTEOL
|
||||
^ab ab -1 -1
|
||||
^ab xxabxx -1 -1
|
||||
^ab xx\nabzz 3 5
|
||||
ab$ ab -1 -1
|
||||
ab$ abxx -1 -1
|
||||
ab$ ab\nzz 0 2
|
||||
|
||||
; back references
|
||||
- match_default normal REG_EXTENDED
|
||||
a(b)\2c !
|
||||
a(b\1)c !
|
||||
a(b*)c\1d abbcbbd 0 7 1 3
|
||||
a(b*)c\1d abbcbd -1 -1
|
||||
a(b*)c\1d abbcbbbd -1 -1
|
||||
^(.)\1 abc -1 -1
|
||||
a([bc])\1d abcdabbd 4 8 5 6
|
||||
; strictly speaking this is at best ambiguous, at worst wrong, this is what most
|
||||
; re implimentations will match though.
|
||||
a(([bc])\2)*d abbccd 0 6 3 5 3 4
|
||||
|
||||
a(([bc])\2)*d abbcbd -1 -1
|
||||
a((b)*\2)*d abbbd 0 5 1 4 2 3
|
||||
(ab*)[ab]*\1 ababaaa 0 7 0 1
|
||||
(a)\1bcd aabcd 0 5 0 1
|
||||
(a)\1bc*d aabcd 0 5 0 1
|
||||
(a)\1bc*d aabd 0 4 0 1
|
||||
(a)\1bc*d aabcccd 0 7 0 1
|
||||
(a)\1bc*[ce]d aabcccd 0 7 0 1
|
||||
^(a)\1b(c)*cd$ aabcccd 0 7 0 1 4 5
|
||||
|
||||
;
|
||||
; characters by code:
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
\0101 A 0 1
|
||||
\00 \0 0 1
|
||||
\0 \0 0 1
|
||||
\0172 z 0 1
|
||||
|
||||
;
|
||||
; word operators:
|
||||
\w a 0 1
|
||||
\w z 0 1
|
||||
\w A 0 1
|
||||
\w Z 0 1
|
||||
\w _ 0 1
|
||||
\w } -1 -1
|
||||
\w ` -1 -1
|
||||
\w [ -1 -1
|
||||
\w @ -1 -1
|
||||
; non-word:
|
||||
\W a -1 -1
|
||||
\W z -1 -1
|
||||
\W A -1 -1
|
||||
\W Z -1 -1
|
||||
\W _ -1 -1
|
||||
\W } 0 1
|
||||
\W ` 0 1
|
||||
\W [ 0 1
|
||||
\W @ 0 1
|
||||
; word start:
|
||||
\<abcd " abcd" 2 6
|
||||
\<ab cab -1 -1
|
||||
\<ab "\nab" 1 3
|
||||
\<tag ::tag 2 5
|
||||
;word end:
|
||||
abc\> abc 0 3
|
||||
abc\> abcd -1 -1
|
||||
abc\> abc\n 0 3
|
||||
abc\> abc:: 0 3
|
||||
; word boundary:
|
||||
\babcd " abcd" 2 6
|
||||
\bab cab -1 -1
|
||||
\bab "\nab" 1 3
|
||||
\btag ::tag 2 5
|
||||
abc\b abc 0 3
|
||||
abc\b abcd -1 -1
|
||||
abc\b abc\n 0 3
|
||||
abc\b abc:: 0 3
|
||||
; within word:
|
||||
\B ab 1 1
|
||||
a\Bb ab 0 2
|
||||
a\B ab 0 1
|
||||
a\B a -1 -1
|
||||
a\B "a " -1 -1
|
||||
|
||||
;
|
||||
; buffer operators:
|
||||
\`abc abc 0 3
|
||||
\`abc \nabc -1 -1
|
||||
\`abc " abc" -1 -1
|
||||
abc\' abc 0 3
|
||||
abc\' abc\n -1 -1
|
||||
abc\' "abc " -1 -1
|
||||
|
||||
;
|
||||
; extra escape sequences:
|
||||
\a \a 0 1
|
||||
\f \f 0 1
|
||||
\n \n 0 1
|
||||
\r \r 0 1
|
||||
\t \t 0 1
|
||||
\v \v 0 1
|
||||
|
||||
|
||||
;
|
||||
; now follows various complex expressions designed to try and bust the matcher:
|
||||
a(((b)))c abc 0 3 1 2 1 2 1 2
|
||||
a(b|(c))d abd 0 3 1 2 -1 -1
|
||||
a(b|(c))d acd 0 3 1 2 1 2
|
||||
a(b*|c)d abbd 0 4 1 3
|
||||
; just gotta have one DFA-buster, of course
|
||||
a[ab]{20} aaaaabaaaabaaaabaaaab 0 21
|
||||
; and an inline expansion in case somebody gets tricky
|
||||
a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] aaaaabaaaabaaaabaaaab 0 21
|
||||
; and in case somebody just slips in an NFA...
|
||||
a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) aaaaabaaaabaaaabaaaabweeknights 0 31 21 24 24 31
|
||||
; one really big one
|
||||
1234567890123456789012345678901234567890123456789012345678901234567890 a1234567890123456789012345678901234567890123456789012345678901234567890b 1 71
|
||||
; fish for problems as brackets go past 8
|
||||
[ab][cd][ef][gh][ij][kl][mn] xacegikmoq 1 8
|
||||
[ab][cd][ef][gh][ij][kl][mn][op] xacegikmoq 1 9
|
||||
[ab][cd][ef][gh][ij][kl][mn][op][qr] xacegikmoqy 1 10
|
||||
[ab][cd][ef][gh][ij][kl][mn][op][q] xacegikmoqy 1 10
|
||||
; and as parenthesis go past 9:
|
||||
(a)(b)(c)(d)(e)(f)(g)(h) zabcdefghi 1 9 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9
|
||||
(a)(b)(c)(d)(e)(f)(g)(h)(i) zabcdefghij 1 10 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10
|
||||
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j) zabcdefghijk 1 11 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11
|
||||
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) zabcdefghijkl 1 12 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12
|
||||
(a)d|(b)c abc 1 3 -1 -1 1 2
|
||||
"_+((www)|(ftp)|(mailto)):_*" "_wwwnocolon _mailto:" 12 20 13 19 -1 -1 -1 -1 13 19
|
||||
|
||||
; subtleties of matching
|
||||
a(b)?c\1d acd 0 3 -1 -1
|
||||
a(b?c)+d accd 0 4 2 3
|
||||
(wee|week)(knights|night) weeknights 0 10 0 3 3 10
|
||||
.* abc 0 3
|
||||
a(b|(c))d abd 0 3 1 2 -1 -1
|
||||
a(b|(c))d acd 0 3 1 2 1 2
|
||||
a(b*|c|e)d abbd 0 4 1 3
|
||||
a(b*|c|e)d acd 0 3 1 2
|
||||
a(b*|c|e)d ad 0 2 1 1
|
||||
a(b?)c abc 0 3 1 2
|
||||
a(b?)c ac 0 2 1 1
|
||||
a(b+)c abc 0 3 1 2
|
||||
a(b+)c abbbc 0 5 1 4
|
||||
a(b*)c ac 0 2 1 1
|
||||
(a|ab)(bc([de]+)f|cde) abcdef 0 6 0 1 1 6 3 5
|
||||
a([bc]?)c abc 0 3 1 2
|
||||
a([bc]?)c ac 0 2 1 1
|
||||
a([bc]+)c abc 0 3 1 2
|
||||
a([bc]+)c abcc 0 4 1 3
|
||||
a([bc]+)bc abcbc 0 5 1 3
|
||||
a(bb+|b)b abb 0 3 1 2
|
||||
a(bbb+|bb+|b)b abb 0 3 1 2
|
||||
a(bbb+|bb+|b)b abbb 0 4 1 3
|
||||
a(bbb+|bb+|b)bb abbb 0 4 1 2
|
||||
(.*).* abcdef 0 6 0 6
|
||||
(a*)* bc 0 0 0 0
|
||||
|
||||
; do we get the right subexpression when it is used more than once?
|
||||
a(b|c)*d ad 0 2 -1 -1
|
||||
a(b|c)*d abcd 0 4 2 3
|
||||
a(b|c)+d abd 0 3 1 2
|
||||
a(b|c)+d abcd 0 4 2 3
|
||||
a(b|c?)+d ad 0 2 1 1
|
||||
a(b|c?)+d abcd 0 4 2 3
|
||||
a(b|c){0,0}d ad 0 2 -1 -1
|
||||
a(b|c){0,1}d ad 0 2 -1 -1
|
||||
a(b|c){0,1}d abd 0 3 1 2
|
||||
a(b|c){0,2}d ad 0 2 -1 -1
|
||||
a(b|c){0,2}d abcd 0 4 2 3
|
||||
a(b|c){0,}d ad 0 2 -1 -1
|
||||
a(b|c){0,}d abcd 0 4 2 3
|
||||
a(b|c){1,1}d abd 0 3 1 2
|
||||
a(b|c){1,2}d abd 0 3 1 2
|
||||
a(b|c){1,2}d abcd 0 4 2 3
|
||||
a(b|c){1,}d abd 0 3 1 2
|
||||
a(b|c){1,}d abcd 0 4 2 3
|
||||
a(b|c){2,2}d acbd 0 4 2 3
|
||||
a(b|c){2,2}d abcd 0 4 2 3
|
||||
a(b|c){2,4}d abcd 0 4 2 3
|
||||
a(b|c){2,4}d abcbd 0 5 3 4
|
||||
a(b|c){2,4}d abcbcd 0 6 4 5
|
||||
a(b|c){2,}d abcd 0 4 2 3
|
||||
a(b|c){2,}d abcbd 0 5 3 4
|
||||
a(b+|((c)*))+d abd 0 3 1 2 -1 -1 -1 -1
|
||||
a(b+|((c)*))+d abcd 0 4 2 3 2 3 2 3
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_NOSPEC literal
|
||||
\**?/{} \\**?/{} 0 7
|
||||
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST ; we disable POSIX testing because it can't handle escapes in sets
|
||||
; try to match C++ syntax elements:
|
||||
; line comment:
|
||||
//[^\n]* "++i //here is a line comment\n" 4 28
|
||||
; block comment:
|
||||
/\*([^*]|\*+[^*/])*\*+/ "/* here is a block comment */" 0 29 26 27
|
||||
/\*([^*]|\*+[^*/])*\*+/ "/**/" 0 4 -1 -1
|
||||
/\*([^*]|\*+[^*/])*\*+/ "/***/" 0 5 -1 -1
|
||||
/\*([^*]|\*+[^*/])*\*+/ "/****/" 0 6 -1 -1
|
||||
/\*([^*]|\*+[^*/])*\*+/ "/*****/" 0 7 -1 -1
|
||||
/\*([^*]|\*+[^*/])*\*+/ "/*****/*/" 0 7 -1 -1
|
||||
; preprossor directives:
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol" 0 19 -1 -1
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) #x" 0 25 -1 -1
|
||||
^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* "#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x);" 0 53 28 42
|
||||
; literals:
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFF 0 4 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 35 0 2 0 2 -1 -1 0 2 -1 -1 -1 -1 -1 -1
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFu 0 5 0 4 0 4 -1 -1 -1 -1 -1 -1 -1 -1
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFL 0 5 0 4 0 4 -1 -1 4 5 -1 -1 -1 -1
|
||||
((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 0xFFFFFFFFFFFFFFFFuint64 0 24 0 18 0 18 -1 -1 19 24 19 24 22 24
|
||||
; strings:
|
||||
'([^\\']|\\.)*' '\\x3A' 0 6 4 5
|
||||
'([^\\']|\\.)*' '\\'' 0 4 1 3
|
||||
'([^\\']|\\.)*' '\\n' 0 4 1 3
|
||||
|
||||
; now try and test some unicode specific characters:
|
||||
- match_default normal REG_PERL REG_UNICODE_ONLY
|
||||
[[:unicode:]]+ a\0300\0400z 1 3
|
||||
[\x10-\xff] \39135\12409 -1 -1
|
||||
[\01-\05]{5} \36865\36865\36865\36865\36865 -1 -1
|
||||
|
||||
; finally try some case insensitive matches:
|
||||
- match_default normal REG_EXTENDED REG_ICASE
|
||||
; upper and lower have no meaning here so they fail, however these
|
||||
; may compile with other libraries...
|
||||
;[[:lower:]] !
|
||||
;[[:upper:]] !
|
||||
0123456789@abcdefghijklmnopqrstuvwxyz\[\\\]\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ\{\|\} 0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\^_`abcdefghijklmnopqrstuvwxyz\{\|\} 0 72
|
||||
|
||||
; known and suspected bugs:
|
||||
- match_default normal REG_EXTENDED
|
||||
\( ( 0 1
|
||||
\) ) 0 1
|
||||
\$ $ 0 1
|
||||
\^ ^ 0 1
|
||||
\. . 0 1
|
||||
\* * 0 1
|
||||
\+ + 0 1
|
||||
\? ? 0 1
|
||||
\[ [ 0 1
|
||||
\] ] 0 1
|
||||
\| | 0 1
|
||||
\\ \\ 0 1
|
||||
# # 0 1
|
||||
\# # 0 1
|
||||
a- a- 0 2
|
||||
\- - 0 1
|
||||
\{ { 0 1
|
||||
\} } 0 1
|
||||
0 0 0 1
|
||||
1 1 0 1
|
||||
9 9 0 1
|
||||
b b 0 1
|
||||
B B 0 1
|
||||
< < 0 1
|
||||
> > 0 1
|
||||
w w 0 1
|
||||
W W 0 1
|
||||
` ` 0 1
|
||||
' ' 0 1
|
||||
\n \n 0 1
|
||||
, , 0 1
|
||||
a a 0 1
|
||||
f f 0 1
|
||||
n n 0 1
|
||||
r r 0 1
|
||||
t t 0 1
|
||||
v v 0 1
|
||||
c c 0 1
|
||||
x x 0 1
|
||||
: : 0 1
|
||||
(\.[[:alnum:]]+){2} "w.a.b " 1 5 3 5
|
||||
|
||||
- match_default normal REG_EXTENDED REG_ICASE
|
||||
a A 0 1
|
||||
A a 0 1
|
||||
[abc]+ abcABC 0 6
|
||||
[ABC]+ abcABC 0 6
|
||||
[a-z]+ abcABC 0 6
|
||||
[A-Z]+ abzANZ 0 6
|
||||
[a-Z]+ abzABZ 0 6
|
||||
[A-z]+ abzABZ 0 6
|
||||
[[:lower:]]+ abyzABYZ 0 8
|
||||
[[:upper:]]+ abzABZ 0 6
|
||||
[[:word:]]+ abcZZZ 0 6
|
||||
[[:alpha:]]+ abyzABYZ 0 8
|
||||
[[:alnum:]]+ 09abyzABYZ 0 10
|
||||
|
||||
; updated tests for version 2:
|
||||
- match_default normal REG_EXTENDED
|
||||
\x41 A 0 1
|
||||
\xff \255 0 1
|
||||
\xFF \255 0 1
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST
|
||||
\c@ \0 0 1
|
||||
- match_default normal REG_EXTENDED
|
||||
\cA \1 0 1
|
||||
\cz \58 0 1
|
||||
\c= !
|
||||
\c? !
|
||||
=: =: 0 2
|
||||
|
||||
; word start:
|
||||
[[:<:]]abcd " abcd" 2 6
|
||||
[[:<:]]ab cab -1 -1
|
||||
[[:<:]]ab "\nab" 1 3
|
||||
[[:<:]]tag ::tag 2 5
|
||||
;word end:
|
||||
abc[[:>:]] abc 0 3
|
||||
abc[[:>:]] abcd -1 -1
|
||||
abc[[:>:]] abc\n 0 3
|
||||
abc[[:>:]] abc:: 0 3
|
||||
|
||||
; collating elements and rewritten set code:
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
[[.zero.]] 0 0 1
|
||||
[[.one.]] 1 0 1
|
||||
[[.two.]] 2 0 1
|
||||
[[.three.]] 3 0 1
|
||||
[[.a.]] baa 1 2
|
||||
[[.right-curly-bracket.]] } 0 1
|
||||
[[.NUL.]] \0 0 1
|
||||
[[:<:]z] !
|
||||
[a[:>:]] !
|
||||
[[=a=]] a 0 1
|
||||
[[=right-curly-bracket=]] } 0 1
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_ICASE
|
||||
[[.A.]] A 0 1
|
||||
[[.A.]] a 0 1
|
||||
[[.A.]-b]+ AaBb 0 4
|
||||
[A-[.b.]]+ AaBb 0 4
|
||||
[[.a.]-B]+ AaBb 0 4
|
||||
[a-[.B.]]+ AaBb 0 4
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST
|
||||
[\x61] a 0 1
|
||||
[\x61-c]+ abcd 0 3
|
||||
[a-\x63]+ abcd 0 3
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
[[.a.]-c]+ abcd 0 3
|
||||
[a-[.c.]]+ abcd 0 3
|
||||
[[:alpha:]-a] !
|
||||
[a-[:alpha:]] !
|
||||
|
||||
; try mutli-character ligatures:
|
||||
[[.ae.]] ae 0 2
|
||||
[[.ae.]] aE -1 -1
|
||||
[[.AE.]] AE 0 2
|
||||
[[.Ae.]] Ae 0 2
|
||||
[[.ae.]-b] a -1 -1
|
||||
[[.ae.]-b] b 0 1
|
||||
[[.ae.]-b] ae 0 2
|
||||
[a-[.ae.]] a 0 1
|
||||
[a-[.ae.]] b -1 -1
|
||||
[a-[.ae.]] ae 0 2
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_ICASE
|
||||
[[.ae.]] AE 0 2
|
||||
[[.ae.]] Ae 0 2
|
||||
[[.AE.]] Ae 0 2
|
||||
[[.Ae.]] aE 0 2
|
||||
[[.AE.]-B] a -1 -1
|
||||
[[.Ae.]-b] b 0 1
|
||||
[[.Ae.]-b] B 0 1
|
||||
[[.ae.]-b] AE 0 2
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
;extended perl style escape sequences:
|
||||
\e \27 0 1
|
||||
\x1b \27 0 1
|
||||
\x{1b} \27 0 1
|
||||
\x{} !
|
||||
\x{ !
|
||||
\x} !
|
||||
\x !
|
||||
\x{yy !
|
||||
\x{1b !
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_NO_POSIX_TEST
|
||||
\l+ ABabcAB 2 5
|
||||
[\l]+ ABabcAB 2 5
|
||||
[a-\l] !
|
||||
[\l-a] !
|
||||
[\L] !
|
||||
\L+ abABCab 2 5
|
||||
\u+ abABCab 2 5
|
||||
[\u]+ abABCab 2 5
|
||||
[\U] !
|
||||
\U+ ABabcAB 2 5
|
||||
\d+ ab012ab 2 5
|
||||
[\d]+ ab012ab 2 5
|
||||
[\D] !
|
||||
\D+ 01abc01 2 5
|
||||
\s+ "ab ab" 2 5
|
||||
[\s]+ "ab ab" 2 5
|
||||
[\S] !
|
||||
\S+ " abc " 2 5
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
\Qabc !
|
||||
\Qabc\E abcd 0 3
|
||||
\Qabc\Ed abcde 0 4
|
||||
\Q+*?\\E +*?\\ 0 4
|
||||
|
||||
\C+ abcde 0 5
|
||||
\X+ abcde 0 5
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_UNICODE_ONLY
|
||||
\X+ a\768\769 0 3
|
||||
\X+ \2309\2307 0 2 ;DEVANAGARI script
|
||||
\X+ \2489\2494 0 2 ;BENGALI script
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND
|
||||
\Aabc abc 0 3
|
||||
\Aabc aabc -1 -1
|
||||
abc\z abc 0 3
|
||||
abc\z abcd -1 -1
|
||||
abc\Z abc\n\n 0 3
|
||||
abc\Z abc 0 3
|
||||
|
||||
|
||||
\Gabc abc 0 3
|
||||
\Gabc dabcd -1 -1
|
||||
a\Gbc abc -1 -1
|
||||
a\Aab abc -1 -1
|
||||
|
||||
;
|
||||
; now test grep,
|
||||
; basically check all our restart types - line, word, etc
|
||||
; checking each one for null and non-null matches.
|
||||
;
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_GREP
|
||||
a " a a a aa" 1 2 3 4 5 6 7 8 8 9
|
||||
a+b+ "aabaabbb ab" 0 3 3 8 9 11
|
||||
a(b*|c|e)d adabbdacd 0 2 2 6 6 9
|
||||
a "\na\na\na\naa" 1 2 3 4 5 6 7 8 8 9
|
||||
|
||||
^ " \n\n \n\n\n" 0 0 4 4 5 5 8 8 9 9 10 10
|
||||
^ab "ab \nab ab\n" 0 2 5 7
|
||||
^[^\n]*\n " \n \n\n \n" 0 4 4 7 7 8 8 11
|
||||
\<abc "abcabc abc\n\nabc" 0 3 7 10 12 15
|
||||
\< " ab a aaa " 2 2 5 5 7 7
|
||||
\<\w+\W+ " aa aa a " 1 5 5 9 9 11
|
||||
|
||||
\Aabc "abc abc" 0 3
|
||||
\G\w+\W+ "abc abc a cbbb " 0 5 5 9 9 11 11 18
|
||||
\Ga+b+ "aaababb abb" 0 4 4 7
|
||||
|
||||
abc abc 0 3
|
||||
abc " abc abcabc " 1 4 5 8 8 11
|
||||
\n\n " \n\n\n \n \n\n\n\n " 1 3 18 20 20 22
|
||||
|
||||
$ " \n\n \n\n\n" 3 3 4 4 7 7 8 8 9 9 10 10
|
||||
\b " abb a abbb " 2 2 5 5 6 6 7 7 8 8 12 12
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_GREP REG_ICASE
|
||||
A " a a a aa" 1 2 3 4 5 6 7 8 8 9
|
||||
A+B+ "aabaabbb ab" 0 3 3 8 9 11
|
||||
A(B*|c|e)D adabbdacd 0 2 2 6 6 9
|
||||
A "\na\na\na\naa" 1 2 3 4 5 6 7 8 8 9
|
||||
|
||||
^aB "Ab \nab Ab\n" 0 2 5 7
|
||||
\<abc "Abcabc aBc\n\nabc" 0 3 7 10 12 15
|
||||
|
||||
ABC abc 0 3
|
||||
abc " ABC ABCABC " 1 4 5 8 8 11
|
||||
|
||||
|
||||
;
|
||||
; now test merge,
|
||||
;
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_MERGE format_no_copy
|
||||
; start by testing subs:
|
||||
a+ "...aaa,,," $` "..."
|
||||
a+ "...aaa,,," $' ",,,"
|
||||
a+ "...aaa,,," $& "aaa"
|
||||
a+ "...aaa,,," $0 aaa
|
||||
a+ "...aaa,,," $1 ""
|
||||
a+ "...aaa,,," $15 ""
|
||||
(a+)b+ "...aaabbb,,," $1 aaa
|
||||
[[:digit:]]* 123ab <$0> <123><><><>
|
||||
[[:digit:]]* 123ab1 <$0> <123><><><1>
|
||||
|
||||
; and now escapes:
|
||||
a+ "...aaa,,," $x "$x"
|
||||
a+ "...aaa,,," \a "\a"
|
||||
a+ "...aaa,,," \f "\f"
|
||||
a+ "...aaa,,," \n "\n"
|
||||
a+ "...aaa,,," \r "\r"
|
||||
a+ "...aaa,,," \t "\t"
|
||||
a+ "...aaa,,," \v "\v"
|
||||
|
||||
a+ "...aaa,,," \x21 "!"
|
||||
a+ "...aaa,,," \x{21} "!"
|
||||
a+ "...aaa,,," \c@ \0
|
||||
a+ "...aaa,,," \e \27
|
||||
a+ "...aaa,,," \0101 A
|
||||
a+ "...aaa,,," (\0101) A
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_MERGE format_sed format_no_copy
|
||||
(a+)(b+) ...aabb,, \0 aabb
|
||||
(a+)(b+) ...aabb,, \1 aa
|
||||
(a+)(b+) ...aabb,, \2 bb
|
||||
(a+)(b+) ...aabb,, & aabb
|
||||
(a+)(b+) ...aabb,, $ $
|
||||
(a+)(b+) ...aabb,, $1 $1
|
||||
(a+)(b+) ...aabb,, ()?: ()?:
|
||||
(a+)(b+) ...aabb,, \\ \\
|
||||
(a+)(b+) ...aabb,, \& &
|
||||
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_MERGE format_perl format_no_copy
|
||||
(a+)(b+) ...aabb,, $0 aabb
|
||||
(a+)(b+) ...aabb,, $1 aa
|
||||
(a+)(b+) ...aabb,, $2 bb
|
||||
(a+)(b+) ...aabb,, $& aabb
|
||||
(a+)(b+) ...aabb,, & &
|
||||
(a+)(b+) ...aabb,, \0 \0
|
||||
(a+)(b+) ...aabb,, ()?: ()?:
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_MERGE
|
||||
; move to copying unmatched data:
|
||||
a+ "...aaa,,," bbb "...bbb,,,"
|
||||
a+(b+) "...aaabb,,," $1 "...bb,,,"
|
||||
a+(b+) "...aaabb,,,ab*abbb?" $1 "...bb,,,b*bbb?"
|
||||
|
||||
(a+)|(b+) "...aaabb,,,ab*abbb?" (?1A)(?2B) "...AB,,,AB*AB?"
|
||||
(a+)|(b+) "...aaabb,,,ab*abbb?" ?1A:B "...AB,,,AB*AB?"
|
||||
(a+)|(b+) "...aaabb,,,ab*abbb?" (?1A:B)C "...ACBC,,,ACBC*ACBC?"
|
||||
(a+)|(b+) "...aaabb,,,ab*abbb?" ?1:B "...B,,,B*B?"
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_MERGE format_first_only
|
||||
; move to copying unmatched data, but replace first occurance only:
|
||||
a+ "...aaa,,," bbb "...bbb,,,"
|
||||
a+(b+) "...aaabb,,," $1 "...bb,,,"
|
||||
a+(b+) "...aaabb,,,ab*abbb?" $1 "...bb,,,ab*abbb?"
|
||||
(a+)|(b+) "...aaabb,,,ab*abbb?" (?1A)(?2B) "...Abb,,,ab*abbb?"
|
||||
|
||||
;
|
||||
; changes to newline handling with 2.11:
|
||||
;
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_GREP
|
||||
|
||||
^. " \n \r\n " 0 1 3 4 7 8
|
||||
.$ " \n \r\n " 1 2 4 5 8 9
|
||||
|
||||
- match_default normal REG_EXTENDED REG_STARTEND REG_GREP REG_UNICODE_ONLY
|
||||
^. " \8232 \8233 " 0 1 3 4 5 6
|
||||
.$ " \8232 \8233 " 1 2 3 4 6 7
|
||||
|
||||
;
|
||||
; non-greedy repeats added 21/04/00
|
||||
- match_default normal REG_EXTENDED
|
||||
a** !
|
||||
a*? aa 0 0
|
||||
a?? aa 0 0
|
||||
a++ !
|
||||
a+? aa 0 1
|
||||
a{1,3}{1} !
|
||||
a{1,3}? aaa 0 1
|
||||
\w+?w ...ccccccwcccccw 3 10
|
||||
\W+\w+?w ...ccccccwcccccw 0 10
|
||||
abc|\w+? abd 0 1
|
||||
abc|\w+? abcd 0 3
|
||||
<\s*tag[^>]*>(.*?)<\s*/tag\s*> " <tag>here is some text</tag> <tag></tag>" 1 29 6 23
|
||||
<\s*tag[^>]*>(.*?)<\s*/tag\s*> " < tag attr=\"something\">here is some text< /tag > <tag></tag>" 1 49 24 41
|
||||
|
||||
;
|
||||
; non-marking parenthesis added 25/04/00
|
||||
- match_default normal REG_EXTENDED
|
||||
(?:abc)+ xxabcabcxx 2 8
|
||||
(?:a+)(b+) xaaabbbx 1 7 4 7
|
||||
(a+)(?:b+) xaaabbba 1 7 1 4
|
||||
(?:(a+)b+) xaaabbba 1 7 1 4
|
||||
(?:a+(b+)) xaaabbba 1 7 4 7
|
||||
a+(?#b+)b+ xaaabbba 1 7
|
||||
(a)(?:b|$) ab 0 2 0 1
|
||||
(a)(?:b|$) a 0 1 0 1
|
||||
|
||||
|
||||
;
|
||||
; try some partial matches:
|
||||
- match_partial match_default normal REG_EXTENDED REG_NO_POSIX_TEST
|
||||
(xyz)(.*)abc xyzaaab -1 -1 0 3 3 7
|
||||
(xyz)(.*)abc xyz -1 -1 0 3 3 3
|
||||
(xyz)(.*)abc xy -1 -1 -1 -1 -1 -1
|
||||
|
||||
;
|
||||
; forward lookahead asserts added 21/01/02
|
||||
- match_default normal REG_EXTENDED REG_NO_POSIX_TEST
|
||||
((?:(?!a|b)\w)+)(\w+) " xxxabaxxx " 2 11 2 5 5 11
|
||||
|
||||
/\*(?:(?!\*/).)*\*/ " /**/ " 2 6
|
||||
/\*(?:(?!\*/).)*\*/ " /***/ " 2 7
|
||||
/\*(?:(?!\*/).)*\*/ " /********/ " 2 12
|
||||
/\*(?:(?!\*/).)*\*/ " /* comment */ " 2 15
|
||||
|
||||
<\s*a[^>]*>((?:(?!<\s*/\s*a\s*>).)*)<\s*/\s*a\s*> " <a href=\"here\">here</a> " 1 24 16 20
|
||||
<\s*a[^>]*>((?:(?!<\s*/\s*a\s*>).)*)<\s*/\s*a\s*> " <a href=\"here\">here< / a > " 1 28 16 20
|
||||
|
||||
<\s*a[^>]*>((?:(?!<\s*/\s*a\s*>).)*)(?=<\s*/\s*a\s*>) " <a href=\"here\">here</a> " 1 20 16 20
|
||||
<\s*a[^>]*>((?:(?!<\s*/\s*a\s*>).)*)(?=<\s*/\s*a\s*>) " <a href=\"here\">here< / a > " 1 20 16 20
|
||||
|
||||
; filename matching:
|
||||
^(?!^(?:PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(?:\..+)?$)[^\x00-\x1f\\?*:\"|/]+$ command.com 0 11
|
||||
^(?!^(?:PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(?:\..+)?$)[^\x00-\x1f\\?*:\"|/]+$ PRN -1 -1
|
||||
^(?!^(?:PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(?:\..+)?$)[^\x00-\x1f\\?*:\"|/]+$ COM2 -1 -1
|
||||
|
||||
; password checking:
|
||||
^(?=.*\d).{4,8}$ abc3 0 4
|
||||
^(?=.*\d).{4,8}$ abc3def4 0 8
|
||||
^(?=.*\d).{4,8}$ ab2 -1 -1
|
||||
^(?=.*\d).{4,8}$ abcdefg -1 -1
|
||||
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$ abc3 -1 -1
|
||||
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$ abC3 0 4
|
||||
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$ ABCD3 -1 -1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user