aboutsummaryrefslogtreecommitdiff
path: root/vs
diff options
context:
space:
mode:
Diffstat (limited to 'vs')
-rw-r--r--vs/bc.sln31
-rw-r--r--vs/bc.vcxproj298
-rw-r--r--vs/bc.vcxproj.filters173
-rw-r--r--vs/bcl.sln37
-rw-r--r--vs/bcl.vcxproj259
-rw-r--r--vs/bcl.vcxproj.filters90
-rw-r--r--vs/tests/tests_bc.bat104
-rw-r--r--vs/tests/tests_dc.bat61
8 files changed, 1053 insertions, 0 deletions
diff --git a/vs/bc.sln b/vs/bc.sln
new file mode 100644
index 00000000..daf1a4a1
--- /dev/null
+++ b/vs/bc.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31515.178
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bc", "bc.vcxproj", "{4450D61F-2535-4085-B1B1-F96ACD23CC9F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Debug|x64.ActiveCfg = Debug|x64
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Debug|x64.Build.0 = Debug|x64
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Debug|x86.ActiveCfg = Debug|Win32
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Debug|x86.Build.0 = Debug|Win32
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Release|x64.ActiveCfg = Release|x64
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Release|x64.Build.0 = Release|x64
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Release|x86.ActiveCfg = Release|Win32
+ {4450D61F-2535-4085-B1B1-F96ACD23CC9F}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {99364EF5-C65F-4658-A3FA-19EAC64BE8B9}
+ EndGlobalSection
+EndGlobal
diff --git a/vs/bc.vcxproj b/vs/bc.vcxproj
new file mode 100644
index 00000000..312af50e
--- /dev/null
+++ b/vs/bc.vcxproj
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <Keyword>Win32Proj</Keyword>
+ <ProjectGuid>{4450d61f-2535-4085-b1b1-f96acd23cc9f}</ProjectGuid>
+ <RootNamespace>bc</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets>
+ <GenerateManifest>false</GenerateManifest>
+ <OutDir>bin\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>bin\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets>
+ <GenerateManifest>false</GenerateManifest>
+ <OutDir>bin\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>bin\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets>
+ <GenerateManifest>false</GenerateManifest>
+ <OutDir>bin\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>bin\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets>
+ <GenerateManifest>false</GenerateManifest>
+ <OutDir>bin\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>bin\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=1;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;BC_ENABLE_EDITLINE=0;BC_ENABLE_READLINE=0;BUILD_TYPE=N;BC_DEFAULT_BANNER=1;BC_DEFAULT_SIGINT_RESET=0;DC_DEFAULT_SIGINT_RESET=0;BC_DEFAULT_TTY_MODE=1;DC_DEFAULT_TTY_MODE=1;BC_DEFAULT_PROMPT=1;DC_DEFAULT_PROMPT=1;BC_DEFAULT_EXPR_EXIT=1;DC_DEFAULT_EXPR_EXIT=1;BC_DEFAULT_DIGIT_CLAMP=1;DC_DEFAULT_DIGIT_CLAMP=1;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy /b /y $(OutDir)bc.exe $(OutDir)dc.exe</Command>
+ </PostBuildEvent>
+ <PreBuildEvent />
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=1;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;BC_ENABLE_EDITLINE=0;BC_ENABLE_READLINE=0;BUILD_TYPE=N;BC_DEFAULT_BANNER=1;BC_DEFAULT_SIGINT_RESET=0;DC_DEFAULT_SIGINT_RESET=0;BC_DEFAULT_TTY_MODE=1;DC_DEFAULT_TTY_MODE=1;BC_DEFAULT_PROMPT=1;DC_DEFAULT_PROMPT=1;BC_DEFAULT_EXPR_EXIT=1;DC_DEFAULT_EXPR_EXIT=1;BC_DEFAULT_DIGIT_CLAMP=1;DC_DEFAULT_DIGIT_CLAMP=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <AdditionalDependencies>bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy /b /y $(OutDir)bc.exe $(OutDir)dc.exe</Command>
+ </PostBuildEvent>
+ <PreBuildEvent />
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=1;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;BC_ENABLE_EDITLINE=0;BC_ENABLE_READLINE=0;BUILD_TYPE=N;BC_DEFAULT_BANNER=1;BC_DEFAULT_SIGINT_RESET=0;DC_DEFAULT_SIGINT_RESET=0;BC_DEFAULT_TTY_MODE=1;DC_DEFAULT_TTY_MODE=1;BC_DEFAULT_PROMPT=1;DC_DEFAULT_PROMPT=1;BC_DEFAULT_EXPR_EXIT=1;DC_DEFAULT_EXPR_EXIT=1;BC_DEFAULT_DIGIT_CLAMP=1;DC_DEFAULT_DIGIT_CLAMP=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy /b /y $(OutDir)bc.exe $(OutDir)dc.exe</Command>
+ </PostBuildEvent>
+ <PreBuildEvent />
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=1;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;BC_ENABLE_EDITLINE=0;BC_ENABLE_READLINE=0;BUILD_TYPE=N;BC_DEFAULT_BANNER=1;BC_DEFAULT_SIGINT_RESET=0;DC_DEFAULT_SIGINT_RESET=0;BC_DEFAULT_TTY_MODE=1;DC_DEFAULT_TTY_MODE=1;BC_DEFAULT_PROMPT=1;DC_DEFAULT_PROMPT=1;BC_DEFAULT_EXPR_EXIT=1;DC_DEFAULT_EXPR_EXIT=1;BC_DEFAULT_DIGIT_CLAMP=1;DC_DEFAULT_DIGIT_CLAMP=1;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <AdditionalDependencies>bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PostBuildEvent>
+ <Command>copy /b /y $(OutDir)bc.exe $(OutDir)dc.exe</Command>
+ </PostBuildEvent>
+ <PreBuildEvent />
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="..\include\args.h" />
+ <ClInclude Include="..\include\bc.h" />
+ <ClInclude Include="..\include\bcl.h" />
+ <ClInclude Include="..\include\dc.h" />
+ <ClInclude Include="..\include\file.h" />
+ <ClInclude Include="..\include\history.h" />
+ <ClInclude Include="..\include\lang.h" />
+ <ClInclude Include="..\include\lex.h" />
+ <ClInclude Include="..\include\library.h" />
+ <ClInclude Include="..\include\num.h" />
+ <ClInclude Include="..\include\opt.h" />
+ <ClInclude Include="..\include\parse.h" />
+ <ClInclude Include="..\include\program.h" />
+ <ClInclude Include="..\include\rand.h" />
+ <ClInclude Include="..\include\read.h" />
+ <ClInclude Include="..\include\status.h" />
+ <ClInclude Include="..\include\vector.h" />
+ <ClInclude Include="..\include\version.h" />
+ <ClInclude Include="..\include\vm.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\gen\strgen.c">
+ <FileType>CppCode</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl.exe /I..\include /DBC_ENABLE_LIBRARY=0 /Fo:$(OutDir)strgen.obj /Fe:$(OutDir)strgen.exe %(Identity)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)strgen.exe</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl.exe /I..\include /DBC_ENABLE_LIBRARY=0 /Fo:$(OutDir)strgen.obj /Fe:$(OutDir)strgen.exe %(Identity)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)strgen.exe</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl.exe /I..\include /DBC_ENABLE_LIBRARY=0 /Fo:$(OutDir)strgen.obj /Fe:$(OutDir)strgen.exe %(Identity)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)strgen.exe</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl.exe /I..\include /DBC_ENABLE_LIBRARY=0 /Fo:$(OutDir)strgen.obj /Fe:$(OutDir)strgen.exe %(Identity)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)strgen.exe</Outputs>
+ </CustomBuild>
+ <ClCompile Include="src2\bc_help.c" />
+ <ClCompile Include="src2\dc_help.c" />
+ <ClCompile Include="src2\lib.c" />
+ <ClCompile Include="src2\lib2.c" />
+ <ClCompile Include="..\src\args.c" />
+ <ClCompile Include="..\src\bc.c" />
+ <ClCompile Include="..\src\bc_lex.c" />
+ <ClCompile Include="..\src\bc_parse.c" />
+ <ClCompile Include="..\src\data.c" />
+ <ClCompile Include="..\src\dc.c" />
+ <ClCompile Include="..\src\dc_lex.c" />
+ <ClCompile Include="..\src\dc_parse.c" />
+ <ClCompile Include="..\src\file.c" />
+ <ClCompile Include="..\src\history.c" />
+ <ClCompile Include="..\src\lang.c" />
+ <ClCompile Include="..\src\lex.c" />
+ <ClCompile Include="..\src\library.c" />
+ <ClCompile Include="..\src\main.c" />
+ <ClCompile Include="..\src\num.c" />
+ <ClCompile Include="..\src\opt.c" />
+ <ClCompile Include="..\src\parse.c" />
+ <ClCompile Include="..\src\program.c" />
+ <ClCompile Include="..\src\rand.c" />
+ <ClCompile Include="..\src\read.c" />
+ <ClCompile Include="..\src\vector.c" />
+ <ClCompile Include="..\src\vm.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\gen\lib.bc">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)strgen.exe %(Identity) src2\lib.c 0 bc_lib bc_lib_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">src2\lib.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)strgen.exe %(Identity) src2\lib.c 0 bc_lib bc_lib_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">src2\lib.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)strgen.exe %(Identity) src2\lib.c 0 bc_lib bc_lib_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">src2\lib.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)strgen.exe %(Identity) src2\lib.c 0 bc_lib bc_lib_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">src2\lib.c</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\gen\lib2.bc">
+ <FileType>Document</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)strgen.exe %(Identity) src2\lib2.c 0 bc_lib2 bc_lib2_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">src2\lib2.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)strgen.exe %(Identity) src2\lib2.c 0 bc_lib2 bc_lib2_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">src2\lib2.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)strgen.exe %(Identity) src2\lib2.c 0 bc_lib2 bc_lib2_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">src2\lib2.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)strgen.exe %(Identity) src2\lib2.c 0 bc_lib2 bc_lib2_name BC_ENABLED 1</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">src2\lib2.c</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\gen\dc_help.txt">
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)strgen.exe %(Identity) src2\dc_help.c 0 dc_help "" DC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">src2\dc_help.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)strgen.exe %(Identity) src2\dc_help.c 0 dc_help "" DC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">src2\dc_help.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)strgen.exe %(Identity) src2\dc_help.c 0 dc_help "" DC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">src2\dc_help.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)strgen.exe %(Identity) src2\dc_help.c 0 dc_help "" DC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">src2\dc_help.c</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\gen\bc_help.txt">
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)strgen.exe %(Identity) src2\bc_help.c 0 bc_help "" BC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">src2\bc_help.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)strgen.exe %(Identity) src2\bc_help.c 0 bc_help "" BC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">src2\bc_help.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)strgen.exe %(Identity) src2\bc_help.c 0 bc_help "" BC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">src2\bc_help.c</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)strgen.exe %(Identity) src2\bc_help.c 0 bc_help "" BC_ENABLED</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">src2\bc_help.c</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/vs/bc.vcxproj.filters b/vs/bc.vcxproj.filters
new file mode 100644
index 00000000..f2638725
--- /dev/null
+++ b/vs/bc.vcxproj.filters
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{ef855c5b-fc2c-4736-bb38-346aae9184f7}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include">
+ <UniqueIdentifier>{df4ea0e1-2549-4c13-bf11-79ba8ba4cad9}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="gen">
+ <UniqueIdentifier>{1bbcb2e0-c1a0-417e-88bf-8eda8a53714e}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="src2">
+ <UniqueIdentifier>{c384b486-4ea2-473a-8b04-86f2f5f7bb69}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\include\args.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\bc.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\bcl.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\dc.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\file.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\history.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\lang.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\lex.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\library.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\num.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\opt.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\parse.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\program.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\rand.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\read.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\status.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\vector.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\version.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\vm.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\src\args.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\bc.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\bc_lex.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\bc_parse.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\data.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\dc.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\dc_lex.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\dc_parse.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\file.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\history.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\lang.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\lex.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\library.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\main.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\num.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\opt.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\parse.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\program.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\rand.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\read.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\vector.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\vm.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="src2\bc_help.c">
+ <Filter>src2</Filter>
+ </ClCompile>
+ <ClCompile Include="src2\dc_help.c">
+ <Filter>src2</Filter>
+ </ClCompile>
+ <ClCompile Include="src2\lib.c">
+ <Filter>src2</Filter>
+ </ClCompile>
+ <ClCompile Include="src2\lib2.c">
+ <Filter>src2</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\gen\lib.bc">
+ <Filter>gen</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\gen\lib2.bc">
+ <Filter>gen</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\gen\dc_help.txt">
+ <Filter>gen</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\gen\bc_help.txt">
+ <Filter>gen</Filter>
+ </CustomBuild>
+ <CustomBuild Include="..\gen\strgen.c">
+ <Filter>gen</Filter>
+ </CustomBuild>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/vs/bcl.sln b/vs/bcl.sln
new file mode 100644
index 00000000..bc6d37a7
--- /dev/null
+++ b/vs/bcl.sln
@@ -0,0 +1,37 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31515.178
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bcl", "bcl.vcxproj", "{76B451C9-72BF-45B2-B78D-B3515410F99F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ ReleaseMD|x64 = ReleaseMD|x64
+ ReleaseMD|x86 = ReleaseMD|x86
+ ReleaseMT|x64 = ReleaseMT|x64
+ ReleaseMT|x86 = ReleaseMT|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.Debug|x64.ActiveCfg = Debug|x64
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.Debug|x64.Build.0 = Debug|x64
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.Debug|x86.ActiveCfg = Debug|Win32
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.Debug|x86.Build.0 = Debug|Win32
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMD|x64.ActiveCfg = ReleaseMD|x64
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMD|x64.Build.0 = ReleaseMD|x64
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMD|x86.ActiveCfg = ReleaseMD|Win32
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMD|x86.Build.0 = ReleaseMD|Win32
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMT|x64.ActiveCfg = ReleaseMT|x64
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMT|x64.Build.0 = ReleaseMT|x64
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMT|x86.ActiveCfg = ReleaseMT|Win32
+ {76B451C9-72BF-45B2-B78D-B3515410F99F}.ReleaseMT|x86.Build.0 = ReleaseMT|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C943D6A7-81EA-47C8-90D6-7DB528C262E7}
+ EndGlobalSection
+EndGlobal
diff --git a/vs/bcl.vcxproj b/vs/bcl.vcxproj
new file mode 100644
index 00000000..a8de10e9
--- /dev/null
+++ b/vs/bcl.vcxproj
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseMD|Win32">
+ <Configuration>ReleaseMD</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseMD|x64">
+ <Configuration>ReleaseMD</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseMT|Win32">
+ <Configuration>ReleaseMT</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseMT|x64">
+ <Configuration>ReleaseMT</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <Keyword>Win32Proj</Keyword>
+ <ProjectGuid>{76b451c9-72bf-45b2-b78d-b3515410f99f}</ProjectGuid>
+ <RootNamespace>bcl</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>lib\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>lib\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>lib\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>lib\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>lib\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>lib\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>lib\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>lib\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>lib\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>lib\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>lib\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>lib\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMD|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMT|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>..\include</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\src\data.c" />
+ <ClCompile Include="..\src\library.c" />
+ <ClCompile Include="..\src\num.c" />
+ <ClCompile Include="..\src\rand.c" />
+ <ClCompile Include="..\src\vector.c" />
+ <ClCompile Include="..\src\vm.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\include\args.h" />
+ <ClInclude Include="..\include\bc.h" />
+ <ClInclude Include="..\include\bcl.h" />
+ <ClInclude Include="..\include\dc.h" />
+ <ClInclude Include="..\include\file.h" />
+ <ClInclude Include="..\include\history.h" />
+ <ClInclude Include="..\include\lang.h" />
+ <ClInclude Include="..\include\lex.h" />
+ <ClInclude Include="..\include\library.h" />
+ <ClInclude Include="..\include\num.h" />
+ <ClInclude Include="..\include\opt.h" />
+ <ClInclude Include="..\include\parse.h" />
+ <ClInclude Include="..\include\program.h" />
+ <ClInclude Include="..\include\rand.h" />
+ <ClInclude Include="..\include\read.h" />
+ <ClInclude Include="..\include\status.h" />
+ <ClInclude Include="..\include\vector.h" />
+ <ClInclude Include="..\include\version.h" />
+ <ClInclude Include="..\include\vm.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/vs/bcl.vcxproj.filters b/vs/bcl.vcxproj.filters
new file mode 100644
index 00000000..b62d1899
--- /dev/null
+++ b/vs/bcl.vcxproj.filters
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{4eccf85f-77c4-4ebd-b89c-3920075c5b2d}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="include">
+ <UniqueIdentifier>{48fc3219-18c1-42d7-b9f4-da5f65ab1ccc}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\src\data.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\library.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\num.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\rand.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\vector.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\vm.c">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\include\args.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\bc.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\bcl.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\dc.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\file.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\history.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\lang.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\lex.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\library.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\num.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\opt.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\parse.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\program.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\rand.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\read.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\status.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\vector.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\version.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ <ClInclude Include="..\include\vm.h">
+ <Filter>include</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/vs/tests/tests_bc.bat b/vs/tests/tests_bc.bat
new file mode 100644
index 00000000..5fbd4e35
--- /dev/null
+++ b/vs/tests/tests_bc.bat
@@ -0,0 +1,104 @@
+@echo off
+
+set scripts=..\..\tests\bc
+set bc=%~dp0\bc.exe
+set args=-ql
+
+del /f /q *.txt > NUL
+
+
+rem excluded: all, errors, read_errors, posix_errors, misc6, misc7, recursive_arrays
+
+for %%i in (
+abs
+add
+arctangent
+arrays
+assignments
+bitfuncs
+boolean
+comp
+cosine
+decimal
+divide
+divmod
+engineering
+exponent
+functions
+globals
+length
+letters
+lib2
+log
+misc
+misc1
+misc2
+misc3
+misc4
+misc5
+modexp
+modulus
+multiply
+pi
+places
+power
+print2
+rand
+read
+scale
+scientific
+shift
+sine
+sqrt
+stdin
+stdin1
+stdin2
+strings
+subtract
+trunc
+vars
+void
+leadingzero
+) do (
+if exist "%scripts%\%%i.txt" (
+ "%bc%" "%args%" < "%scripts%\%%i.txt" > "%%i_results.txt"
+
+ if errorlevel 1 (
+ echo FAIL_RUNTIME: %%i
+ goto :eof
+ )
+
+ fc.exe "%scripts%\%%i_results.txt" "%%i_results.txt" > NUL
+
+ if errorlevel 1 (
+ echo FAIL_RESULTS: %%i
+ goto :eof
+ )
+
+ echo PASS: %%i
+) else (
+ echo FAIL_NOT_EXIST: %%i
+ goto :eof
+)
+)
+
+if exist "%scripts%\leadingzero.txt" (
+ "%bc%" "%args%" -z < "%scripts%\leadingzero.txt" > "leadingzero_z_results.txt"
+
+ if errorlevel 1 (
+ echo FAIL_RUNTIME: leadingzero_z
+ goto :eof
+ )
+
+ fc.exe "%scripts%\leadingzero_results.txt" "leadingzero_z_results.txt" > NUL
+
+ if errorlevel 1 (
+ echo FAIL_RESULTS: leadingzero_z
+ goto :eof
+ )
+
+ echo PASS: leadingzero_z
+) else (
+ echo FAIL_NOT_EXIST: leadingzero_z
+ goto :eof
+) \ No newline at end of file
diff --git a/vs/tests/tests_dc.bat b/vs/tests/tests_dc.bat
new file mode 100644
index 00000000..36c97daa
--- /dev/null
+++ b/vs/tests/tests_dc.bat
@@ -0,0 +1,61 @@
+@echo off
+
+set scripts=..\..\tests\dc
+set dc=%~dp0\dc.exe
+set args=-x
+
+del /f /q *.txt > NUL
+
+
+rem excluded: all, errors, read_errors
+
+for %%i in (
+abs
+add
+boolean
+decimal
+divide
+divmod
+engineering
+exec_stack_len
+length
+misc
+modexp
+modulus
+multiply
+negate
+places
+power
+rand
+read
+scientific
+shift
+sqrt
+stack_len
+stdin
+strings
+subtract
+trunc
+vars
+) do (
+if exist "%scripts%\%%i.txt" (
+ "%dc%" "%args%" < "%scripts%\%%i.txt" > "%%i_results.txt"
+
+ if errorlevel 1 (
+ echo FAIL_RUNTIME: %%i
+ goto :eof
+ )
+
+ fc.exe "%scripts%\%%i_results.txt" "%%i_results.txt" > NUL
+
+ if errorlevel 1 (
+ echo FAIL_RESULTS: %%i
+ goto :eof
+ )
+
+ echo PASS: %%i
+) else (
+ echo FAIL_NOT_EXIST: %%i
+ goto :eof
+)
+) \ No newline at end of file