From df8253dbf6cb09093018333f99dd9c19ba0ff02b Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Sat, 28 Nov 2020 21:24:40 -0500 Subject: Initial commit `Tokenizer` can _just barely_ parse a basic, well-formed move list. Initially, I wanted to provide the movetext as a `Stream` rather than a string, the idea being that it could be processed as it was being read from a file without having to read the entire file into memory first. I had difficulties with the stream being unreadable in `Tokenizer.ParseMoves()`, so I switched to a string in order to get the actual parsing logic down first. Because of the `yield return` strategy, the debug console output includes all of the expected halfmoves multiple times in various orders. After running a test, generally the full, in-order list seems to exist at the bottom of the output. --- DotnetPgn.sln | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 DotnetPgn.sln (limited to 'DotnetPgn.sln') diff --git a/DotnetPgn.sln b/DotnetPgn.sln new file mode 100644 index 0000000..53fe2ce --- /dev/null +++ b/DotnetPgn.sln @@ -0,0 +1,48 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26124.0 +MinimumVisualStudioVersion = 15.0.26124.0 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotnetPgn", "DotnetPgn\DotnetPgn.csproj", "{94582A40-22EF-4884-A2CE-6F08E08776E8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotnetPgn.Test", "DotnetPgn.Test\DotnetPgn.Test.csproj", "{F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Debug|x64.ActiveCfg = Debug|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Debug|x64.Build.0 = Debug|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Debug|x86.ActiveCfg = Debug|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Debug|x86.Build.0 = Debug|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Release|Any CPU.Build.0 = Release|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Release|x64.ActiveCfg = Release|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Release|x64.Build.0 = Release|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Release|x86.ActiveCfg = Release|Any CPU + {94582A40-22EF-4884-A2CE-6F08E08776E8}.Release|x86.Build.0 = Release|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Debug|x64.ActiveCfg = Debug|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Debug|x64.Build.0 = Debug|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Debug|x86.ActiveCfg = Debug|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Debug|x86.Build.0 = Debug|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Release|Any CPU.Build.0 = Release|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Release|x64.ActiveCfg = Release|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Release|x64.Build.0 = Release|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Release|x86.ActiveCfg = Release|Any CPU + {F1ED5B4D-EC5B-4720-A877-B2CE895BD3B7}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal -- cgit v1.2.3