Prexonite, a .NET hosted scripting language with a focus on meta-programming and embedded DSLs
0

Configure Feed

Select the types of activity you want to include in your feed.

WIP .NET core migration

Convert PxCoco and Prexonite to .NET Core 2.2 projects.
Deleted source files that were not part of the build.
Remove version numbers from AssemblyInfo (managed by dotnet CLI)
Re-add license.txt for PxCoco (GPL with generated code exemption)
Set PxCoco up as a NuGet package.
Add CI and release jobs for PxCoco.

Christian Klauser (Jan 24, 2020, 11:41 PM +0100) 874e8f06 e75877bf

+1012 -1270
+5 -10
LICENSE.txt
··· 1 - Prexonite 2 - http://sealedsun.ch/press/prexonite/ 3 - sealedsun@sealedsun.ch 4 - 5 - Copyright (c) 2011, Christian Klauser 6 - All rights reserved. 1 + Copyright (c) 2019 Christian Klauser. All rights reserved. 7 2 8 3 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 9 4 10 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 11 - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 12 - The names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission. 5 + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 7 + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 13 8 14 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 9 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+8 -2
Prexonite/Compiler/Cil/Compiler.cs
··· 33 33 using System.Linq; 34 34 using System.Reflection; 35 35 using System.Reflection.Emit; 36 + using System.Threading; 37 + using Lokad.ILPack; 36 38 using Prexonite.Commands; 37 39 using Prexonite.Modular; 38 40 using Prexonite.Types; ··· 200 202 StoreDebugImplementation(app, sctx.ParentEngine); 201 203 } 202 204 205 + private static readonly Lazy<AssemblyGenerator> AssemblyGenerator = 206 + new Lazy<AssemblyGenerator>(() => new AssemblyGenerator(), LazyThreadSafetyMode.ExecutionAndPublication); 207 + 203 208 public static void StoreDebugImplementation(Application app, Engine targetEngine) 204 209 { 205 210 _checkQualification(app.Functions, targetEngine); ··· 224 229 225 230 pass.TargetType.CreateType(); 226 231 227 - pass.Assembly.Save(pass.Assembly.GetName().Name + ".dll"); 232 + // .NET Core no longer offers AssemblyBuilder.Save. We use Lokad.ILPack instead. 233 + AssemblyGenerator.Value.GenerateAssembly(pass.Assembly, pass.Assembly.GetName().Name + ".dll"); 228 234 } 229 235 230 236 public static void StoreDebugImplementation(PFunction func, Engine targetEngine) ··· 243 249 //var sm = tb.DefineMethod("whoop", MethodAttributes.Static | MethodAttributes.Public); 244 250 245 251 //ab.SetEntryPoint(sm); 246 - pass.Assembly.Save(pass.Assembly.GetName().Name + ".dll"); 252 + AssemblyGenerator.Value.GenerateAssembly(pass.Assembly, pass.Assembly.GetName().Name + ".dll"); 247 253 } 248 254 249 255 public static void StoreDebugImplementation(StackContext sctx, PFunction func)
+26 -21
Prexonite/Compiler/Cil/CompilerPass.cs
··· 97 97 _makeAvailableForLinking = makeAvailableForLinking; 98 98 if (MakeAvailableForLinking) 99 99 { 100 - var sequenceName = _createNextTypeName(app != null ? app.Id : null); 100 + var sequenceName = _createNextTypeName(app?.Id); 101 101 var asmName = new AssemblyName(sequenceName); 102 - _assemblyBuilder = 103 - AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, 104 - AssemblyBuilderAccess.RunAndSave); 105 - _moduleBuilder = _assemblyBuilder.DefineDynamicModule(asmName.Name, 106 - asmName.Name + ".dll"); 102 + _assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.RunAndCollect); 103 + _moduleBuilder = _assemblyBuilder.DefineDynamicModule(asmName.Name); 107 104 _typeBuilder = _moduleBuilder.DefineType(sequenceName); 108 105 } 109 106 } ··· 122 119 typeof (PValue).MakeByRefType(), 123 120 typeof (ReturnMode).MakeByRefType(), 124 121 }; 125 - if (MakeAvailableForLinking) 122 + 123 + 124 + // TODO: Once .NET Core 3.x has support for DynamicMethod.DefineParameter, emit dynamic methods again 125 + // var makeAvailableForLinking = MakeAvailableForLinking; 126 + var makeAvailableForLinking = true; 127 + // ReSharper disable once ConditionIsAlwaysTrueOrFalse 128 + if (makeAvailableForLinking) 126 129 { 127 130 //Create method stub 128 131 ··· 150 153 151 154 return dm; 152 155 } 153 - var cilm = 154 - new DynamicMethod 155 - ( 156 - id, 157 - typeof (void), 158 - parameterTypes, 159 - typeof (Runtime)); 156 + //var cilm = 157 + // new DynamicMethod 158 + // ( 159 + // id, 160 + // typeof (void), 161 + // parameterTypes, 162 + // typeof (Runtime)); 163 + 164 + //cilm.DefineParameter(1, ParameterAttributes.In, "source"); 165 + //cilm.DefineParameter(2, ParameterAttributes.In, "sctx"); 166 + //cilm.DefineParameter(3, ParameterAttributes.In, "args"); 167 + //cilm.DefineParameter(4, ParameterAttributes.In, "sharedVariables"); 168 + //cilm.DefineParameter(5, ParameterAttributes.Out, "result"); 160 169 161 - cilm.DefineParameter(1, ParameterAttributes.In, "source"); 162 - cilm.DefineParameter(2, ParameterAttributes.In, "sctx"); 163 - cilm.DefineParameter(3, ParameterAttributes.In, "args"); 164 - cilm.DefineParameter(4, ParameterAttributes.In, "sharedVariables"); 165 - cilm.DefineParameter(5, ParameterAttributes.Out, "result"); 170 + //Implementations.Add(id, cilm); 166 171 167 - Implementations.Add(id, cilm); 172 + //return cilm; 168 173 169 - return cilm; 174 + throw new NotSupportedException("Cannot emit dynamic methods. Make functions available for linking instead."); 170 175 } 171 176 172 177 private static string _mkFieldName(string id)
+1 -1
Prexonite/Compiler/Loader.cs
··· 746 746 using (Stream str = new FileStream( 747 747 file.FullName, 748 748 FileMode.Open, 749 - FileSystemRights.ReadData, 749 + FileAccess.Read, 750 750 FileShare.Read, 751 751 4 * 1024, 752 752 FileOptions.SequentialScan))
+9 -9
Prexonite/Compiler/Parser.cs
··· 13 13 using Prexonite.Properties;//END SOURCE ARRAY 14 14 15 15 16 - #line 27 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 16 + #line 26 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 17 17 18 18 // ReSharper disable RedundantUsingDirective 19 19 // ReSharper disable InconsistentNaming ··· 37 37 namespace Prexonite.Compiler { 38 38 39 39 40 - #line 44 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 40 + #line 42 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 41 41 42 42 43 43 [System.Runtime.CompilerServices.CompilerGenerated] ··· 260 260 } 261 261 const int maxT = 105; 262 262 263 - #line 48 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 263 + #line 45 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 264 264 265 265 const bool T = true; 266 266 const bool x = false; ··· 279 279 //SOURCE ARRAY 280 280 //END SOURCE ARRAY 281 281 282 - #line 60 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 282 + #line 56 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 283 283 284 284 285 285 [DebuggerNonUserCode] ··· 318 318 #line default //END FRAME -->pragmas 319 319 320 320 321 - #line 94 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 321 + #line 89 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 322 322 323 323 la = t; 324 324 } ··· 4125 4125 } 4126 4126 4127 4127 4128 - #line 133 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4128 + #line 127 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4129 4129 4130 4130 4131 4131 public void Parse() { ··· 4137 4137 4138 4138 Prexonite(); 4139 4139 4140 - #line 139 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4140 + #line 132 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4141 4141 4142 4142 Expect(0); 4143 4143 } ··· 4199 4199 {x,T,T,x, T,x,T,T, T,T,x,T, x,T,x,x, x,x,x,T, T,T,T,x, x,T,x,x, T,x,x,x, x,T,T,x, x,x,T,x, T,T,x,x, x,x,T,T, T,T,T,T, x,x,x,x, T,T,T,x, x,T,x,T, x,x,x,T, x,x,x,x, x,x,x,x, T,T,T,T, x,T,T,x, T,x,T,T, T,T,x,x, x,T,x,x, x,T,x,x, T,x,x,x, T,x,x}, 4200 4200 {x,x,x,x, x,x,x,x, x,x,T,T, x,x,T,x, x,x,x,x, x,x,x,x, x,T,x,T, T,x,x,x, x,x,T,x, x,x,x,T, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x,x, x,x,x} 4201 4201 4202 - #line 144 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4202 + #line 136 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4203 4203 4204 4204 }; 4205 4205 } // end Parser ··· 4420 4420 case 187: s = "invalid Assignment"; break; 4421 4421 case 188: s = "invalid VariableDeclaration"; break; 4422 4422 4423 - #line 171 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4423 + #line 162 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 4424 4424 4425 4425 default: s = "error " + n; break; 4426 4426 }
-47
Prexonite/Compiler/Symbolic/MacroInstanceSymbol.cs
··· 1 - using System.Collections.Generic; 2 - using Prexonite.Compiler.Ast; 3 - using Prexonite.Modular; 4 - 5 - namespace Prexonite.Compiler.Symbolic 6 - { 7 - public sealed class MacroInstanceSymbol : Symbol 8 - { 9 - private readonly EntityRef.IMacro _macroReference; 10 - private readonly ReadOnlyDictionaryView<string,AstExpr> _arguments; 11 - 12 - internal MacroInstanceSymbol(EntityRef.IMacro macroReference, IEnumerable<KeyValuePair<string, AstExpr>> arguments) 13 - { 14 - _macroReference = macroReference; 15 - var d = new Dictionary<string, AstExpr>(); 16 - foreach (var entry in arguments) 17 - d[entry.Key] = entry.Value; 18 - _arguments = new ReadOnlyDictionaryView<string, AstExpr>(d); 19 - } 20 - 21 - public static MacroInstanceSymbol Create<T>(T macroEntity, IEnumerable<KeyValuePair<string, AstExpr>> arguments) where T : EntityRef, EntityRef.IMacro 22 - { 23 - return new MacroInstanceSymbol(macroEntity, arguments); 24 - } 25 - 26 - public EntityRef.IMacro MacroReference 27 - { 28 - get { return _macroReference; } 29 - } 30 - 31 - public ReadOnlyDictionaryView<string, AstExpr> Arguments 32 - { 33 - get { return _arguments; } 34 - } 35 - 36 - public override TResult HandleWith<TArg, TResult>(ISymbolHandler<TArg, TResult> handler, TArg argument) 37 - { 38 - return handler.HandleMacroInstance(this, argument); 39 - } 40 - 41 - public override bool TryGetMacroInstanceSymbol(out MacroInstanceSymbol macroInstanceSymbol) 42 - { 43 - macroInstanceSymbol = this; 44 - return true; 45 - } 46 - } 47 - }
+9 -9
Prexonite/Internal/Parser.cs
··· 7 7 using MessageSeverity = Prexonite.Compiler.MessageSeverity;//END SOURCE ARRAY 8 8 9 9 10 - #line 27 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 10 + #line 26 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 11 11 12 12 // ReSharper disable RedundantUsingDirective 13 13 // ReSharper disable InconsistentNaming ··· 31 31 namespace Prexonite.Internal { 32 32 33 33 34 - #line 44 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 34 + #line 42 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 35 35 36 36 37 37 [System.Runtime.CompilerServices.CompilerGenerated] ··· 60 60 } 61 61 const int maxT = 11; 62 62 63 - #line 48 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 63 + #line 45 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 64 64 65 65 const bool T = true; 66 66 const bool x = false; ··· 79 79 //SOURCE ARRAY 80 80 //END SOURCE ARRAY 81 81 82 - #line 60 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 82 + #line 56 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 83 83 84 84 85 85 [DebuggerNonUserCode] ··· 118 118 #line default //END FRAME -->pragmas 119 119 120 120 121 - #line 94 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 121 + #line 89 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 122 122 123 123 la = t; 124 124 } ··· 255 255 } 256 256 257 257 258 - #line 133 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 258 + #line 127 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 259 259 260 260 261 261 public void Parse() { ··· 267 267 268 268 PTypeExpression(); 269 269 270 - #line 139 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 270 + #line 132 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 271 271 272 272 Expect(0); 273 273 } ··· 280 280 {x,T,T,T, T,T,T,T, x,x,x,x, x}, 281 281 {x,x,x,x, x,x,x,x, x,x,T,x, x} 282 282 283 - #line 144 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 283 + #line 136 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 284 284 285 285 }; 286 286 } // end Parser ··· 326 326 case 12: s = "invalid Expr"; break; 327 327 case 13: s = "invalid Boolean"; break; 328 328 329 - #line 171 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 329 + #line 162 "F:\Users\Christian\Documents\GitHub\prx\Tools\Parser.frame" //FRAME 330 330 331 331 default: s = "error " + n; break; 332 332 }
+664
Prexonite/Old.Prexonite.csproj
··· 1 + <?xml version="1.0" encoding="utf-8"?> 2 + <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0"> 3 + <PropertyGroup> 4 + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 6 + <ProductVersion>9.0.30729</ProductVersion> 7 + <SchemaVersion>2.0</SchemaVersion> 8 + <ProjectGuid>{2FE722CA-B671-4EE8-9BF1-9F3ACFACD24D}</ProjectGuid> 9 + <OutputType>Library</OutputType> 10 + <AppDesignerFolder>Properties</AppDesignerFolder> 11 + <RootNamespace>Prexonite</RootNamespace> 12 + <AssemblyName>Prexonite</AssemblyName> 13 + <SignAssembly>true</SignAssembly> 14 + <AssemblyOriginatorKeyFile>Prexonite.snk</AssemblyOriginatorKeyFile> 15 + <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> 16 + <ApplicationIcon>Prx.ico</ApplicationIcon> 17 + <FileUpgradeFlags> 18 + </FileUpgradeFlags> 19 + <OldToolsVersion>3.5</OldToolsVersion> 20 + <UpgradeBackupLocation> 21 + </UpgradeBackupLocation> 22 + <IsWebBootstrapper>false</IsWebBootstrapper> 23 + <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> 24 + <TargetFrameworkProfile> 25 + </TargetFrameworkProfile> 26 + <PublishUrl>publish\</PublishUrl> 27 + <Install>true</Install> 28 + <InstallFrom>Disk</InstallFrom> 29 + <UpdateEnabled>false</UpdateEnabled> 30 + <UpdateMode>Foreground</UpdateMode> 31 + <UpdateInterval>7</UpdateInterval> 32 + <UpdateIntervalUnits>Days</UpdateIntervalUnits> 33 + <UpdatePeriodically>false</UpdatePeriodically> 34 + <UpdateRequired>false</UpdateRequired> 35 + <MapFileExtensions>true</MapFileExtensions> 36 + <ApplicationRevision>0</ApplicationRevision> 37 + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> 38 + <UseApplicationTrust>false</UseApplicationTrust> 39 + <BootstrapperEnabled>true</BootstrapperEnabled> 40 + <LangVersion>7.2</LangVersion> 41 + <NuGetPackageImportStamp> 42 + </NuGetPackageImportStamp> 43 + </PropertyGroup> 44 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 45 + <DebugSymbols>true</DebugSymbols> 46 + <DebugType>full</DebugType> 47 + <Optimize>false</Optimize> 48 + <OutputPath>bin\</OutputPath> 49 + <DefineConstants>TRACE;DEBUG;allowIndex,forceIndex</DefineConstants> 50 + <ErrorReport>prompt</ErrorReport> 51 + <WarningLevel>4</WarningLevel> 52 + <DocumentationFile> 53 + </DocumentationFile> 54 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 55 + <Prefer32Bit>false</Prefer32Bit> 56 + </PropertyGroup> 57 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 58 + <DebugType>pdbonly</DebugType> 59 + <Optimize>true</Optimize> 60 + <OutputPath>bin\</OutputPath> 61 + <DefineConstants>allowIndex,TRACE</DefineConstants> 62 + <ErrorReport>prompt</ErrorReport> 63 + <WarningLevel>4</WarningLevel> 64 + <PlatformTarget>AnyCPU</PlatformTarget> 65 + <DocumentationFile> 66 + </DocumentationFile> 67 + <DebugSymbols>true</DebugSymbols> 68 + <CodeContractsEnableRuntimeChecking>False</CodeContractsEnableRuntimeChecking> 69 + <CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface> 70 + <CodeContractsRuntimeThrowOnFailure>False</CodeContractsRuntimeThrowOnFailure> 71 + <CodeContractsRuntimeCallSiteRequires>True</CodeContractsRuntimeCallSiteRequires> 72 + <CodeContractsRunCodeAnalysis>False</CodeContractsRunCodeAnalysis> 73 + <CodeContractsNonNullObligations>False</CodeContractsNonNullObligations> 74 + <CodeContractsBoundsObligations>False</CodeContractsBoundsObligations> 75 + <CodeContractsArithmeticObligations>False</CodeContractsArithmeticObligations> 76 + <CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions> 77 + <CodeContractsRunInBackground>True</CodeContractsRunInBackground> 78 + <CodeContractsShowSquigglies>False</CodeContractsShowSquigglies> 79 + <CodeContractsUseBaseLine>False</CodeContractsUseBaseLine> 80 + <CodeContractsEmitXMLDocs>False</CodeContractsEmitXMLDocs> 81 + <CodeContractsCustomRewriterAssembly> 82 + </CodeContractsCustomRewriterAssembly> 83 + <CodeContractsCustomRewriterClass> 84 + </CodeContractsCustomRewriterClass> 85 + <CodeContractsLibPaths> 86 + </CodeContractsLibPaths> 87 + <CodeContractsPlatformPath> 88 + </CodeContractsPlatformPath> 89 + <CodeContractsExtraAnalysisOptions> 90 + </CodeContractsExtraAnalysisOptions> 91 + <CodeContractsBaseLineFile> 92 + </CodeContractsBaseLineFile> 93 + <CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel> 94 + <CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly> 95 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 96 + <Prefer32Bit>false</Prefer32Bit> 97 + </PropertyGroup> 98 + <ItemGroup> 99 + <Reference Include="mscorlib" /> 100 + <Reference Include="System" /> 101 + <Reference Include="System.Core"> 102 + <RequiredTargetFramework>3.5</RequiredTargetFramework> 103 + </Reference> 104 + </ItemGroup> 105 + <ItemGroup> 106 + <Compile Include="ApplicationCompound.cs" /> 107 + <Compile Include="ApplicationCompoundImpl.cs" /> 108 + <Compile Include="CilClosure.cs" /> 109 + <Compile Include="CilFunctionContext.cs" /> 110 + <Compile Include="Closure.cs" /> 111 + <Compile Include="Commands\CompilationFlags.cs" /> 112 + <Compile Include="Commands\CompileTimeInterpretation.cs" /> 113 + <Compile Include="Commands\CompileTimeValue.cs" /> 114 + <Compile Include="Commands\Concurrency\AsyncSeq.cs" /> 115 + <Compile Include="Commands\Concurrency\CallAsync.cs" /> 116 + <Compile Include="Commands\Concurrency\Chan.cs" /> 117 + <Compile Include="Commands\Concurrency\Select.cs" /> 118 + <Compile Include="Commands\Core\Boxed.cs" /> 119 + <Compile Include="Commands\Core\Call.cs" /> 120 + <Compile Include="Commands\Core\Caller.cs" /> 121 + <Compile Include="Commands\Core\CallSubPerform.cs" /> 122 + <Compile Include="Commands\Core\Call_Member.cs" /> 123 + <Compile Include="Commands\Core\Call_Tail.cs" /> 124 + <Compile Include="Commands\Core\Char.cs" /> 125 + <Compile Include="Commands\Core\CompileToCil.cs" /> 126 + <Compile Include="Commands\Core\Concat.cs" /> 127 + <Compile Include="Commands\Core\ConsolePrint.cs" /> 128 + <Compile Include="Commands\Core\ConsolePrintLine.cs" /> 129 + <Compile Include="Commands\Core\Const.cs" /> 130 + <Compile Include="Commands\Core\CreateModuleName.cs" /> 131 + <Compile Include="Commands\Core\CreateSourcePosition.cs" /> 132 + <Compile Include="Commands\Core\Debug.cs" /> 133 + <Compile Include="Commands\Core\Dispose.cs" /> 134 + <Compile Include="Commands\Core\GetUnscopedAstFactory.cs" /> 135 + <Compile Include="Commands\Core\Id.cs" /> 136 + <Compile Include="Commands\Core\LoadAssembly.cs" /> 137 + <Compile Include="Commands\Core\Meta.cs" /> 138 + <Compile Include="Commands\Core\Operators\BinaryOperatorBase.cs" /> 139 + <Compile Include="Commands\Core\Operators\Operators.cs"> 140 + <AutoGen>True</AutoGen> 141 + <DesignTime>True</DesignTime> 142 + <DependentUpon>Operators.tt</DependentUpon> 143 + </Compile> 144 + <Compile Include="Commands\Core\Operators\UnaryOperatorBase.cs" /> 145 + <Compile Include="Commands\Core\Pair.cs" /> 146 + <Compile Include="Commands\Core\PartialApplication\FlippedFunctionalPartialCall.cs" /> 147 + <Compile Include="Commands\Core\PartialApplication\FlippedFunctionalPartialCallCommand.cs" /> 148 + <Compile Include="Commands\Core\PartialApplication\FunctionalPartialCall.cs" /> 149 + <Compile Include="Commands\Core\PartialApplication\FunctionalPartialCallCommand.cs" /> 150 + <Compile Include="Commands\Core\PartialApplication\PartialCallStar.cs" /> 151 + <Compile Include="Commands\Core\PartialApplication\PartialCallStarImplCommand.cs" /> 152 + <Compile Include="Commands\List\CreateEnumerator.cs" /> 153 + <Compile Include="Commands\List\SeqConcat.cs" /> 154 + <Compile Include="Commands\PCommandInfo.cs" /> 155 + <Compile Include="Compiler\AstFactoryExtensions.cs" /> 156 + <Compile Include="Compiler\Ast\AstExpand.cs" /> 157 + <Compile Include="Compiler\Ast\AstExpr.cs" /> 158 + <Compile Include="Compiler\Ast\AstFactoryBase.cs" /> 159 + <Compile Include="Compiler\Ast\AstFactoryBridge.cs" /> 160 + <Compile Include="Compiler\Ast\AstGetSet.cs" /> 161 + <Compile Include="Compiler\Ast\AstLoopBlock.cs" /> 162 + <Compile Include="Compiler\Ast\AstNamespaceUsage.cs" /> 163 + <Compile Include="Compiler\Ast\AstPostExpression.cs" /> 164 + <Compile Include="Compiler\Ast\AstReference.cs" /> 165 + <Compile Include="Compiler\Ast\AstScopedExpr.cs" /> 166 + <Compile Include="Compiler\Ast\AstScopedBlock.cs" /> 167 + <Compile Include="Compiler\Ast\AstArgumentSplice.cs" /> 168 + <Compile Include="Compiler\Ast\IAstFactory.cs" /> 169 + <Compile Include="Compiler\Ast\StackSemantics.cs" /> 170 + <Compile Include="Compiler\Build\BuildException.cs" /> 171 + <Compile Include="Compiler\Build\BuildExtensions.cs" /> 172 + <Compile Include="Compiler\Build\BuildFailureException.cs" /> 173 + <Compile Include="Compiler\Build\IBuildEnvironment.cs" /> 174 + <Compile Include="Compiler\Build\IBuildWatcher.cs" /> 175 + <Compile Include="Compiler\Build\IncrementalPlan.cs" /> 176 + <Compile Include="Compiler\Build\Internal\DefaultModuleTarget.cs" /> 177 + <Compile Include="Compiler\Build\Internal\DefaultBuildEnvironment.cs" /> 178 + <Compile Include="Compiler\Build\Internal\DependencySet.cs" /> 179 + <Compile Include="Compiler\Build\Internal\FileSource.cs" /> 180 + <Compile Include="Compiler\Build\Internal\ManualTargetDescription.cs" /> 181 + <Compile Include="Compiler\Build\Internal\ReaderSource.cs" /> 182 + <Compile Include="Compiler\Build\Internal\SelfAssemblingPlan.cs" /> 183 + <Compile Include="Compiler\Build\Internal\StreamSource.cs" /> 184 + <Compile Include="Compiler\Build\Internal\StringSource.cs" /> 185 + <Compile Include="Compiler\Build\Internal\TaskMap.cs" /> 186 + <Compile Include="Compiler\Build\ISelfAssemblingPlan.cs" /> 187 + <Compile Include="Compiler\Build\ISource.cs" /> 188 + <Compile Include="Compiler\Build\ManualPlan.cs" /> 189 + <Compile Include="Compiler\Build\Plan.cs" /> 190 + <Compile Include="Compiler\Build\ITargetDescription.cs" /> 191 + <Compile Include="Compiler\Build\ProvidedTarget.cs" /> 192 + <Compile Include="Compiler\Build\Source.cs" /> 193 + <Compile Include="Compiler\Build\TargetDescriptionSet.cs" /> 194 + <Compile Include="Compiler\Build\VersionConflictException.cs" /> 195 + <Compile Include="Compiler\CompilerExtensions.cs" /> 196 + <Compile Include="Compiler\DeclarationScope.cs" /> 197 + <Compile Include="Compiler\ErrorMessageException.cs" /> 198 + <Compile Include="Compiler\IMessageSink.cs" /> 199 + <Compile Include="Compiler\Internal\EntityRefMExprParser.cs" /> 200 + <Compile Include="Compiler\Internal\EntityRefMExprSerializer.cs" /> 201 + <Compile Include="Compiler\Internal\MExpr.cs" /> 202 + <Compile Include="Compiler\Internal\SymbolMExprParser.cs" /> 203 + <Compile Include="Compiler\Internal\SymbolMExprSerializer.cs" /> 204 + <Compile Include="Compiler\Macro\Commands\EntityRefTo.cs" /> 205 + <Compile Include="Compiler\Macro\Commands\PartialCallWrapper.cs" /> 206 + <Compile Include="Compiler\Macro\Commands\CallMacro.cs" /> 207 + <Compile Include="Compiler\Macro\Commands\CallStar.cs" /> 208 + <Compile Include="Compiler\Macro\Commands\Pack.cs" /> 209 + <Compile Include="Compiler\Macro\Commands\Reference.cs" /> 210 + <Compile Include="Compiler\Macro\Commands\Unpack.cs" /> 211 + <Compile Include="Compiler\Macro\PartialMacroCommand.cs" /> 212 + <Compile Include="Compiler\Message.cs" /> 213 + <Compile Include="Compiler\MessageClasses.cs" /> 214 + <Compile Include="Compiler\MessageEventArgs.cs" /> 215 + <Compile Include="Compiler\MessageSeverity.cs" /> 216 + <Compile Include="Compiler\NoSourcePosition.cs" /> 217 + <Compile Include="Compiler\Parser.SymbolBuilder.cs" /> 218 + <Compile Include="Compiler\ParserAstFactory.cs" /> 219 + <Compile Include="Compiler\Shell.cs" /> 220 + <Compile Include="Compiler\Symbolic\Compatibility\LegacyExtensions.cs" /> 221 + <Compile Include="Compiler\Symbolic\DereferenceSymbol.cs" /> 222 + <Compile Include="Compiler\Symbolic\ExpandSymbol.cs" /> 223 + <Compile Include="Compiler\Symbolic\Internal\ConflictUnionFallbackStore.cs" /> 224 + <Compile Include="Compiler\Symbolic\Internal\LocalNamespace.cs" /> 225 + <Compile Include="Compiler\Symbolic\Internal\ModuleLevelView.cs" /> 226 + <Compile Include="Compiler\Symbolic\Internal\ReplaceCoreNilHandler.cs" /> 227 + <Compile Include="Compiler\Symbolic\Internal\SymbolBuilder.cs" /> 228 + <Compile Include="Compiler\Symbolic\Internal\TransformHandler.cs" /> 229 + <Compile Include="Compiler\Symbolic\Internal\WrapTransparentlyHandler.cs" /> 230 + <Compile Include="Compiler\Symbolic\ISymbolHandler.cs" /> 231 + <Compile Include="Compiler\Symbolic\MessageSymbol.cs" /> 232 + <Compile Include="Compiler\Symbolic\MergedNamespace.cs" /> 233 + <Compile Include="Compiler\Symbolic\Namespace.cs" /> 234 + <Compile Include="Compiler\Symbolic\NamespaceSymbol.cs" /> 235 + <Compile Include="Compiler\Symbolic\SymbolStoreBuilder.cs" /> 236 + <Compile Include="Compiler\Symbolic\NilSymbol.cs" /> 237 + <Compile Include="Compiler\Symbolic\QualifiedId.cs" /> 238 + <Compile Include="Compiler\Symbolic\ReferenceSymbol.cs" /> 239 + <Compile Include="Compiler\Symbolic\Symbol.cs" /> 240 + <Compile Include="Compiler\Symbolic\SymbolHandler.cs" /> 241 + <Compile Include="Compiler\Symbolic\SymbolInfo.cs" /> 242 + <Compile Include="Compiler\Symbolic\SymbolOrigin.cs" /> 243 + <Compile Include="Compiler\Symbolic\SymbolStore.cs" /> 244 + <Compile Include="Compiler\Symbolic\SymbolTransferDirective.cs" /> 245 + <Compile Include="Compiler\Symbolic\SymbolUsageResult.cs" /> 246 + <Compile Include="Exceptions.cs" /> 247 + <Compile Include="Helper\CombinedSymbolProxy.cs" /> 248 + <Compile Include="Helper\EmptySymbolView.cs" /> 249 + <Compile Include="Helper\IHasMetaTable.cs" /> 250 + <Compile Include="Helper\IMetaFilter.cs" /> 251 + <Compile Include="Helper\ISymbolView.cs" /> 252 + <Compile Include="Helper\LastAccessCache.cs" /> 253 + <Compile Include="Helper\MergingCache.cs" /> 254 + <Compile Include="IMaybeStackAware.cs" /> 255 + <Compile Include="Commands\Core\PartialApplication\PartialApplicationBase.cs" /> 256 + <Compile Include="Commands\Core\PartialApplication\PartialApplicationCommandBase.cs" /> 257 + <Compile Include="Commands\Core\PartialApplication\PartialCall.cs" /> 258 + <Compile Include="Commands\Core\PartialApplication\PartialCallCommand.cs" /> 259 + <Compile Include="Commands\Core\PartialApplication\PartialConstruction.cs" /> 260 + <Compile Include="Commands\Core\PartialApplication\PartialConstructionCommand.cs" /> 261 + <Compile Include="Commands\Core\PartialApplication\PartialMemberCallCommand.cs" /> 262 + <Compile Include="Commands\Core\PartialApplication\PartialStaticCall.cs" /> 263 + <Compile Include="Commands\Core\PartialApplication\PartialStaticCallCommand.cs" /> 264 + <Compile Include="Commands\Core\PartialApplication\PartialTypeCast.cs" /> 265 + <Compile Include="Commands\Core\PartialApplication\PartialTypeCastCommand.cs" /> 266 + <Compile Include="Commands\Core\PartialApplication\PartialTypeCheck.cs" /> 267 + <Compile Include="Commands\Core\PartialApplication\PartialTypeCheckCommand.cs" /> 268 + <Compile Include="Commands\Core\PartialApplication\PartialWithPTypeCommandBase.cs" /> 269 + <Compile Include="Commands\Core\PartialApplication\PTypeInfo.cs" /> 270 + <Compile Include="Commands\Core\PartialApplication\ThenCommand.cs" /> 271 + <Compile Include="Commands\Core\Print.cs" /> 272 + <Compile Include="Commands\Core\PrintLine.cs" /> 273 + <Compile Include="Commands\Core\StaticPrint.cs" /> 274 + <Compile Include="Commands\Core\StaticPrintLine.cs" /> 275 + <Compile Include="Commands\Core\Unbind.cs" /> 276 + <Compile Include="Commands\CoroutineCommand.cs" /> 277 + <Compile Include="Commands\DelegatePCommand.cs" /> 278 + <Compile Include="Commands\ICilExtension.cs" /> 279 + <Compile Include="Commands\ICilCompilerAware.cs" /> 280 + <Compile Include="Commands\Lazy\AsThunkCommand.cs" /> 281 + <Compile Include="Commands\Lazy\ForceCommand.cs" /> 282 + <Compile Include="Commands\Lazy\ThunkCommand.cs" /> 283 + <Compile Include="Commands\Lazy\ToSeqCommand.cs" /> 284 + <Compile Include="Commands\List\All.cs" /> 285 + <Compile Include="Commands\List\Append.cs" /> 286 + <Compile Include="Commands\List\Contains.cs" /> 287 + <Compile Include="Commands\List\Count.cs" /> 288 + <Compile Include="Commands\List\Distinct.cs" /> 289 + <Compile Include="Commands\List\Each.cs" /> 290 + <Compile Include="Commands\List\Except.cs" /> 291 + <Compile Include="Commands\List\Exists.cs" /> 292 + <Compile Include="Commands\List\FoldL.cs" /> 293 + <Compile Include="Commands\List\FoldR.cs" /> 294 + <Compile Include="Commands\List\ForAll.cs" /> 295 + <Compile Include="Commands\List\Frequency.cs" /> 296 + <Compile Include="Commands\List\GroupBy.cs" /> 297 + <Compile Include="Commands\List\HeadTail.cs" /> 298 + <Compile Include="Commands\List\Intersect.cs" /> 299 + <Compile Include="Commands\List\Limit.cs" /> 300 + <Compile Include="Commands\List\List.cs" /> 301 + <Compile Include="Commands\List\Map.cs" /> 302 + <Compile Include="Commands\List\Range.cs" /> 303 + <Compile Include="Commands\List\Reverse.cs" /> 304 + <Compile Include="Commands\List\Skip.cs" /> 305 + <Compile Include="Commands\List\Sort.cs" /> 306 + <Compile Include="Commands\List\Sum.cs" /> 307 + <Compile Include="Commands\List\TakeWhile.cs" /> 308 + <Compile Include="Commands\List\Where.cs" /> 309 + <Compile Include="Commands\Math\Abs.cs" /> 310 + <Compile Include="Commands\Math\Ceiling.cs" /> 311 + <Compile Include="Commands\Math\Cos.cs" /> 312 + <Compile Include="Commands\Math\Exp.cs" /> 313 + <Compile Include="Commands\Math\Floor.cs" /> 314 + <Compile Include="Commands\Math\Log.cs" /> 315 + <Compile Include="Commands\Math\Max.cs" /> 316 + <Compile Include="Commands\Math\Min.cs" /> 317 + <Compile Include="Commands\Math\Pi.cs" /> 318 + <Compile Include="Commands\Math\Round.cs" /> 319 + <Compile Include="Commands\Math\Sin.cs" /> 320 + <Compile Include="Commands\Math\Sqrt.cs" /> 321 + <Compile Include="Commands\Math\Tan.cs" /> 322 + <Compile Include="Commands\NestedPCommand.cs" /> 323 + <Compile Include="Commands\PCommand.cs" /> 324 + <Compile Include="Commands\StackAwareCommand.cs" /> 325 + <Compile Include="Commands\Text\SetCenterCommand.cs" /> 326 + <Compile Include="Commands\Text\SetLeftCommand.cs" /> 327 + <Compile Include="Commands\Text\SetRightCommand.cs" /> 328 + <Compile Include="Compiler\AddressChangeHook.cs" /> 329 + <Compile Include="Compiler\Ast\ArgumentsProxy.cs" /> 330 + <Compile Include="Compiler\Ast\AstActionBlock.cs" /> 331 + <Compile Include="Compiler\Ast\AstAsmInstruction.cs" /> 332 + <Compile Include="Compiler\Ast\AstCoalescence.cs" /> 333 + <Compile Include="Compiler\Ast\AstCondition.cs" /> 334 + <Compile Include="Compiler\Ast\AstConditionalExpression.cs" /> 335 + <Compile Include="Compiler\Ast\AstConstantTypeExpression.cs" /> 336 + <Compile Include="Compiler\Ast\AstCreateClosure.cs" /> 337 + <Compile Include="Compiler\Ast\AstCreateCoroutine.cs" /> 338 + <Compile Include="Compiler\Ast\AstExplicitGoTo.cs" /> 339 + <Compile Include="Compiler\Ast\AstExplicitLabel.cs" /> 340 + <Compile Include="Compiler\Ast\AstConstant.cs" /> 341 + <Compile Include="Compiler\Ast\AstForLoop.cs" /> 342 + <Compile Include="Compiler\Ast\AstGetException.cs" /> 343 + <Compile Include="Compiler\Ast\AstGetSetImplBase.cs" /> 344 + <Compile Include="Compiler\Ast\AstBinaryOperator.cs" /> 345 + <Compile Include="Compiler\Ast\AstGetSetMemberAccess.cs" /> 346 + <Compile Include="Compiler\Ast\AstGetSetNewDecl.cs" /> 347 + <Compile Include="Compiler\Ast\AstHashLiteral.cs" /> 348 + <Compile Include="Compiler\Ast\AstIndirectCall.cs" /> 349 + <Compile Include="Compiler\Ast\AstKeyValuePair.cs" /> 350 + <Compile Include="Compiler\Ast\AstLazyLogical.cs" /> 351 + <Compile Include="Compiler\Ast\AstListLiteral.cs" /> 352 + <Compile Include="Compiler\Ast\AstLogicalAnd.cs" /> 353 + <Compile Include="Compiler\Ast\AstLogicalOr.cs" /> 354 + <Compile Include="Compiler\Ast\AstDynamicTypeExpression.cs" /> 355 + <Compile Include="Compiler\Ast\AstLoop.cs" /> 356 + <Compile Include="Compiler\Ast\AstNull.cs" /> 357 + <Compile Include="Compiler\Ast\AstObjectCreation.cs" /> 358 + <Compile Include="Compiler\Ast\AstPlaceholder.cs" /> 359 + <Compile Include="Compiler\Ast\AstReturn.cs" /> 360 + <Compile Include="Compiler\Ast\AstStringConcatenation.cs" /> 361 + <Compile Include="Compiler\Ast\AstThrow.cs" /> 362 + <Compile Include="Compiler\Ast\AstTryCatchFinally.cs" /> 363 + <Compile Include="Compiler\Ast\AstTypecast.cs" /> 364 + <Compile Include="Compiler\Ast\AstTypecheck.cs" /> 365 + <Compile Include="Compiler\Ast\AstUnaryOperator.cs" /> 366 + <Compile Include="Compiler\Ast\AstGetSetStatic.cs" /> 367 + <Compile Include="Compiler\Ast\AstUnresolved.cs" /> 368 + <Compile Include="Compiler\Ast\AstUsing.cs" /> 369 + <Compile Include="Compiler\Ast\AstWhileLoop.cs" /> 370 + <Compile Include="Compiler\Ast\AstForeachLoop.cs" /> 371 + <Compile Include="Compiler\Ast\AstBlock.cs" /> 372 + <Compile Include="Compiler\Ast\AstNode.cs" /> 373 + <Compile Include="Compiler\Ast\IAstHasBlocks.cs" /> 374 + <Compile Include="Compiler\Ast\IAstHasExpressions.cs" /> 375 + <Compile Include="Compiler\Ast\IAstPartiallyApplicable.cs" /> 376 + <Compile Include="Compiler\Ast\AstTypeExpr.cs" /> 377 + <Compile Include="Compiler\Cil\BranchHandling.cs" /> 378 + <Compile Include="Compiler\Cil\CilExtensionHint.cs" /> 379 + <Compile Include="Compiler\Cil\CompiledTryCatchFinallyBlock.cs" /> 380 + <Compile Include="Compiler\Cil\Compiler.cs" /> 381 + <Compile Include="Compiler\Cil\CompilerPass.cs" /> 382 + <Compile Include="Compiler\Cil\CompilerState.cs" /> 383 + <Compile Include="Compiler\Cil\CilFunction.cs" /> 384 + <Compile Include="Compiler\Cil\ForeachHint.cs" /> 385 + <Compile Include="Compiler\Cil\FunctionLinking.cs" /> 386 + <Compile Include="Compiler\Cil\ICilHint.cs" /> 387 + <Compile Include="Compiler\Cil\Seh\RegionKind.cs" /> 388 + <Compile Include="Compiler\Cil\Seh\Region.cs" /> 389 + <Compile Include="Compiler\Cil\Runtime.cs" /> 390 + <Compile Include="Compiler\Cil\StructuredExceptionHandling.cs" /> 391 + <Compile Include="Compiler\Cil\CilSymbol.cs" /> 392 + <Compile Include="Compiler\CompilerHook.cs" /> 393 + <Compile Include="Compiler\CompilerTarget.cs" /> 394 + <Compile Include="Compiler\CustomResolver.cs" /> 395 + <Compile Include="Compiler\DebugHook.cs" /> 396 + <Compile Include="Compiler\ISourcePosition.cs" /> 397 + <Compile Include="Compiler\Lexer.Code.cs" /> 398 + <Compile Include="Compiler\Lexer.cs" /> 399 + <Compile Include="Compiler\MacroAliases.cs" /> 400 + <Compile Include="Compiler\ILoopBlock.cs" /> 401 + <Compile Include="Compiler\MacroCommandTable.cs" /> 402 + <Compile Include="Compiler\Macro\Commands\CallSub.cs" /> 403 + <Compile Include="Compiler\Macro\Commands\CallSubInterpret.cs" /> 404 + <Compile Include="Compiler\Macro\MacroCommand.cs" /> 405 + <Compile Include="Compiler\Macro\MacroContext.cs" /> 406 + <Compile Include="Compiler\Macro\MacroContextExtensions.cs" /> 407 + <Compile Include="Compiler\Macro\MacroSession.cs" /> 408 + <Compile Include="Helper\ReadOnlyCollectionView.cs" /> 409 + <Compile Include="Helper\ReadOnlyDictionaryView.cs" /> 410 + <Compile Include="Compiler\SourceMapping.cs" /> 411 + <Compile Include="Compiler\SourcePosition.cs" /> 412 + <Compile Include="Compiler\SourcePositionExtensions.cs" /> 413 + <Compile Include="Concurrency\Channel.cs" /> 414 + <Compile Include="CooperativeContext.cs" /> 415 + <Compile Include="GlobalSuppressions.cs" /> 416 + <Compile Include="Helper\DependencyAnalysis.cs" /> 417 + <Compile Include="Helper\DependencyEntity.cs" /> 418 + <Compile Include="Helper\Extensions.cs" /> 419 + <Compile Include="Helper\IDependent.cs" /> 420 + <Compile Include="Helper\INamed.cs" /> 421 + <Compile Include="Internal\AdHocTaskCache.cs" /> 422 + <Compile Include="Internal\IScanner.cs" /> 423 + <Compile Include="Internal\MetaTableImpl.cs" /> 424 + <Compile Include="Internal\Parser.cs" /> 425 + <Compile Include="Internal\PFunctionTableImpl.cs" /> 426 + <Compile Include="Internal\ReSharperAttributes.cs" /> 427 + <Compile Include="Internal\Scanner.cs" /> 428 + <Compile Include="Modular\EntityRef.cs" /> 429 + <Compile Include="Modular\FunctionDeclaration.cs" /> 430 + <Compile Include="Modular\IResourceDescriptor.cs" /> 431 + <Compile Include="Modular\Module.cs" /> 432 + <Compile Include="Modular\ModuleConflictException.cs" /> 433 + <Compile Include="Modular\ModuleName.cs" /> 434 + <Compile Include="Modular\VariableDeclaration.cs" /> 435 + <Compile Include="Modular\VariableTable.cs" /> 436 + <Compile Include="OperatorNames.cs" /> 437 + <Compile Include="Compiler\Parser.cs" /> 438 + <Compile Include="Application.cs" /> 439 + <Compile Include="Compiler\Loader.cs" /> 440 + <Compile Include="Compiler\LoaderOptions.cs" /> 441 + <Compile Include="Compiler\Parser.Code.cs" /> 442 + <Compile Include="Compiler\Token.cs" /> 443 + <Compile Include="Continuation.cs" /> 444 + <Compile Include="Coroutine.cs" /> 445 + <Compile Include="CoroutineContext.cs" /> 446 + <Compile Include="FunctionContext.cs" /> 447 + <Compile Include="Helper\CommandTable.cs" /> 448 + <Compile Include="Helper\MetaEntry.cs" /> 449 + <Compile Include="Helper\RandomAccessQueue.cs" /> 450 + <Compile Include="Helper\SymbolEntry.cs" /> 451 + <Compile Include="IIndirectCall.cs" /> 452 + <Compile Include="IndirectCallContext.cs" /> 453 + <Compile Include="Instruction.cs" /> 454 + <Compile Include="Internal\Parser.Code.cs" /> 455 + <Compile Include="IStackAware.cs" /> 456 + <Compile Include="NullContext.cs" /> 457 + <Compile Include="PFunction.cs" /> 458 + <Compile Include="Helper\PFunctionTable.cs" /> 459 + <Compile Include="Helper\SymbolCollection.cs" /> 460 + <Compile Include="Compiler\Build\IPlan.cs" /> 461 + <Compile Include="Properties\Resources.Designer.cs"> 462 + <AutoGen>True</AutoGen> 463 + <DesignTime>True</DesignTime> 464 + <DependentUpon>Resources.resx</DependentUpon> 465 + </Compile> 466 + <Compile Include="PTypeLiteralAttribute.cs" /> 467 + <Compile Include="PValueComparer.cs" /> 468 + <Compile Include="Compiler\Build\ITarget.cs" /> 469 + <Compile Include="TryCatchFinallyBlock.cs" /> 470 + <Compile Include="Types\BoolPType.cs" /> 471 + <Compile Include="Types\CharPType.cs" /> 472 + <Compile Include="Types\ExtendableObject.cs" /> 473 + <Compile Include="Types\HashPType.cs" /> 474 + <Compile Include="Types\IntPType.cs" /> 475 + <Compile Include="Types\IObject.cs" /> 476 + <Compile Include="Types\ListPType.cs" /> 477 + <Compile Include="Types\ObjectPType.cs" /> 478 + <Compile Include="Engine.cs" /> 479 + <Compile Include="Helper\MetaTable.cs" /> 480 + <Compile Include="Properties\AssemblyInfo.cs" /> 481 + <Compile Include="PValue.cs" /> 482 + <Compile Include="PVariable.cs" /> 483 + <Compile Include="StackContext.cs" /> 484 + <Compile Include="Helper\SymbolTable.cs" /> 485 + <Compile Include="Types\NullPType.cs" /> 486 + <Compile Include="Types\PType.cs" /> 487 + <Compile Include="Types\PValueEnumerator.cs" /> 488 + <Compile Include="Types\PValueEnumeratorWrapper.cs" /> 489 + <Compile Include="Types\PValueHashtable.cs" /> 490 + <Compile Include="Types\PValueKeyValuePair.cs" /> 491 + <Compile Include="Types\RealPType.cs" /> 492 + <Compile Include="Types\StringPType.cs" /> 493 + <Compile Include="Types\StructurePType.cs" /> 494 + <Compile Include="VM.cs" /> 495 + <Content Include="Compiler\Prexonite.lex" /> 496 + <None Include="prxlib\sh.pxs" /> 497 + <None Include="Commands\Core\Operators\Operators.tt"> 498 + <Generator>TextTemplatingFileGenerator</Generator> 499 + <LastGenOutput>Operators.cs</LastGenOutput> 500 + </None> 501 + <None Include="Compiler\Build\Build.cd" /> 502 + <None Include="Compiler\Symbolic\Compatibility\LegacyDependencies.local.dgml" /> 503 + <None Include="ObjectModel.cd" /> 504 + <None Include="Prexonite.snk" /> 505 + <Content Include="Compiler\Grammar\Grammar.Readme.txt" /> 506 + <Content Include="Prx.ico" /> 507 + <EmbeddedResource Include="prxlib\legacy_symbols.pxs" /> 508 + <None Include="prxlib\prx.core.pxs" /> 509 + <None Include="prxlib\prx.prim.pxs" /> 510 + <None Include="prxlib\sys.pxs" /> 511 + </ItemGroup> 512 + <ItemGroup> 513 + <GrammarFragment Include="Compiler\Grammar\Header.atg" /> 514 + <GrammarFragment Include="Compiler\Grammar\Scanner.atg" /> 515 + <GrammarFragment Include="Compiler\Grammar\Parser*.atg" /> 516 + <GrammarFragment Include="Compiler\Grammar\Footer.atg" /> 517 + </ItemGroup> 518 + <ItemGroup> 519 + <Grammar Include="PTypeExpression.atg" /> 520 + </ItemGroup> 521 + <ItemGroup> 522 + <!-- <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> --> 523 + <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> 524 + </ItemGroup> 525 + <ItemGroup> 526 + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> 527 + <Visible>False</Visible> 528 + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> 529 + <Install>false</Install> 530 + </BootstrapperPackage> 531 + <BootstrapperPackage Include="Microsoft.Net.Framework.2.0"> 532 + <Visible>False</Visible> 533 + <ProductName>.NET Framework 2.0 %28x86%29</ProductName> 534 + <Install>true</Install> 535 + </BootstrapperPackage> 536 + <BootstrapperPackage Include="Microsoft.Net.Framework.3.0"> 537 + <Visible>False</Visible> 538 + <ProductName>.NET Framework 3.0 %28x86%29</ProductName> 539 + <Install>false</Install> 540 + </BootstrapperPackage> 541 + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5"> 542 + <Visible>False</Visible> 543 + <ProductName>.NET Framework 3.5</ProductName> 544 + <Install>false</Install> 545 + </BootstrapperPackage> 546 + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> 547 + <Visible>False</Visible> 548 + <ProductName>.NET Framework 3.5 SP1</ProductName> 549 + <Install>false</Install> 550 + </BootstrapperPackage> 551 + </ItemGroup> 552 + <ItemGroup> 553 + <Folder Include="Commands\Debugger\" /> 554 + </ItemGroup> 555 + <ItemGroup> 556 + <EmbeddedResource Include="Properties\Resources.resx"> 557 + <Generator>PublicResXFileCodeGenerator</Generator> 558 + <LastGenOutput>Resources.Designer.cs</LastGenOutput> 559 + <SubType>Designer</SubType> 560 + </EmbeddedResource> 561 + </ItemGroup> 562 + <ItemGroup> 563 + <PackageReference Include="Microsoft.Net.Compilers"> 564 + <Version>3.1.1</Version> 565 + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> 566 + <PrivateAssets>all</PrivateAssets> 567 + </PackageReference> 568 + <PackageReference Include="System.Threading.Tasks.Extensions"> 569 + <Version>4.5.2</Version> 570 + </PackageReference> 571 + <PackageReference Include="System.ValueTuple"> 572 + <Version>4.5.0</Version> 573 + </PackageReference> 574 + </ItemGroup> 575 + <!-- CUSTOM TASKS --> 576 + <PropertyGroup> 577 + <PxCoco>$(ProjectDir)..\Tools\PxCoco.exe</PxCoco> 578 + </PropertyGroup> 579 + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> 580 + <DebugSymbols>true</DebugSymbols> 581 + <OutputPath>bin\x86\Debug\</OutputPath> 582 + <DefineConstants>TRACE;DEBUG;allowIndex,forceIndex</DefineConstants> 583 + <DebugType>full</DebugType> 584 + <PlatformTarget>x86</PlatformTarget> 585 + <CodeAnalysisLogFile>bin\Prexonite.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile> 586 + <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> 587 + <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> 588 + <ErrorReport>prompt</ErrorReport> 589 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 590 + <CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories> 591 + <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets> 592 + <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories> 593 + <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> 594 + <Prefer32Bit>false</Prefer32Bit> 595 + </PropertyGroup> 596 + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> 597 + <DebugSymbols>true</DebugSymbols> 598 + <OutputPath>bin\x86\Release\</OutputPath> 599 + <DefineConstants>TRACE;allowIndex,Verbose</DefineConstants> 600 + <Optimize>true</Optimize> 601 + <DebugType>pdbonly</DebugType> 602 + <PlatformTarget>x86</PlatformTarget> 603 + <CodeAnalysisLogFile>bin\Prexonite.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile> 604 + <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> 605 + <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> 606 + <ErrorReport>prompt</ErrorReport> 607 + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 608 + <CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories> 609 + <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets> 610 + <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories> 611 + <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> 612 + <Prefer32Bit>false</Prefer32Bit> 613 + </PropertyGroup> 614 + <UsingTask AssemblyFile="$(PxCoco)" TaskName="Merge" /> 615 + <UsingTask AssemblyFile="$(PxCoco)" TaskName="PxCoco" /> 616 + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 617 + <!-- BUILD CUSTOMIZATION --> 618 + <PropertyGroup> 619 + <!--<UseHostCompilerIfAvailable>False</UseHostCompilerIfAvailable> --> 620 + <BuildDependsOn> 621 + ExpressionParser; 622 + PrexoniteScanner; 623 + PrexoniteParser; 624 + $(BuildDependsOn); 625 + </BuildDependsOn> 626 + <ToolsDirectory>$(ProjectDir)..\Tools</ToolsDirectory> 627 + <FramesDirectory>$(ToolsDirectory)</FramesDirectory> 628 + <PrexoniteScannerDefinition>Prexonite.lex</PrexoniteScannerDefinition> 629 + <PrexoniteGrammarDefinition>Prexonite__gen.atg</PrexoniteGrammarDefinition> 630 + <PTypeExpressionGrammarDefinition>PTypeExpression.atg</PTypeExpressionGrammarDefinition> 631 + <PrexoniteParserOutputFiles>Parser.cs</PrexoniteParserOutputFiles> 632 + <PTypeExpressionParserOutputFiles>Parser.cs;Scanner.cs</PTypeExpressionParserOutputFiles> 633 + <PrexoniteParserFiles>$(PxCocoOutputFiles)</PrexoniteParserFiles> 634 + <PTypeExpressionParserFiles>$(PxCocoOutputFiles)</PTypeExpressionParserFiles> 635 + <DirectDebug>False</DirectDebug> 636 + </PropertyGroup> 637 + <!-- PType Expression Parser Target --> 638 + <Target Name="ExpressionParser"> 639 + <Message Text="Building type expression parser." /> 640 + <PxCoco Grammar="$(PTypeExpressionGrammarDefinition)" Namespace="Prexonite.Internal" FramesDirectory="$(FramesDirectory)" DirectDebug="$(DirectDebug)"> 641 + <Output TaskParameter="OutputFiles" ItemName="PTypeExpressionParserFiles" /> 642 + </PxCoco> 643 + <Message Text="Hell:$(PTypeExpressionParserFiles):0" /> 644 + <Copy SourceFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" DestinationFolder="$(ProjectDir)Internal" /> 645 + <Delete Files="$(PTypeExpressionParserFiles)" DeletedFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" /> 646 + </Target> 647 + <!-- Prexonite Parser Target --> 648 + <Target Name="PrexoniteParser" DependsOnTargets="PrexoniteGrammar"> 649 + <PxCoco Grammar="$(PrexoniteGrammarDefinition)" Namespace="Prexonite.Compiler" FramesDirectory="$(FramesDirectory)" DirectDebug="$(DirectDebug)"> 650 + <Output TaskParameter="OutputFiles" ItemName="PrexoniteParserFiles" /> 651 + </PxCoco> 652 + <Copy SourceFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" DestinationFolder="$(ProjectDir)Compiler" /> 653 + <Delete Files="$(PrexoniteParserFiles)" DeletedFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" /> 654 + </Target> 655 + <!-- Prexonite Grammar Merging Target --> 656 + <Target Name="PrexoniteGrammar"> 657 + <Merge InputFiles="@(GrammarFragment->'%(FullPath)')" OutputFile="$(ProjectDir)Prexonite__gen.atg"> 658 + </Merge> 659 + <Message Text="$(PrexoniteGrammarDefinition) is now ready." /> 660 + </Target> 661 + <Target Name="PrexoniteScanner"> 662 + <Exec Command="&quot;$(ToolsDirectory)\csflex.exe&quot; --csharp --nested-default-skeleton --nobak $(PrexoniteScannerDefinition)" WorkingDirectory="$(ProjectDir)\Compiler" /> 663 + </Target> 664 + </Project>
+52 -622
Prexonite/Prexonite.csproj
··· 1 - <?xml version="1.0" encoding="utf-8"?> 2 - <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0"> 1 + <Project Sdk="Microsoft.NET.Sdk"> 2 + 3 3 <PropertyGroup> 4 - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 6 - <ProductVersion>9.0.30729</ProductVersion> 7 - <SchemaVersion>2.0</SchemaVersion> 8 - <ProjectGuid>{2FE722CA-B671-4EE8-9BF1-9F3ACFACD24D}</ProjectGuid> 9 - <OutputType>Library</OutputType> 10 - <AppDesignerFolder>Properties</AppDesignerFolder> 11 - <RootNamespace>Prexonite</RootNamespace> 12 - <AssemblyName>Prexonite</AssemblyName> 13 - <SignAssembly>true</SignAssembly> 14 - <AssemblyOriginatorKeyFile>Prexonite.snk</AssemblyOriginatorKeyFile> 15 - <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> 16 - <ApplicationIcon>Prx.ico</ApplicationIcon> 17 - <FileUpgradeFlags> 18 - </FileUpgradeFlags> 19 - <OldToolsVersion>3.5</OldToolsVersion> 20 - <UpgradeBackupLocation> 21 - </UpgradeBackupLocation> 22 - <IsWebBootstrapper>false</IsWebBootstrapper> 23 - <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> 24 - <TargetFrameworkProfile> 25 - </TargetFrameworkProfile> 26 - <PublishUrl>publish\</PublishUrl> 27 - <Install>true</Install> 28 - <InstallFrom>Disk</InstallFrom> 29 - <UpdateEnabled>false</UpdateEnabled> 30 - <UpdateMode>Foreground</UpdateMode> 31 - <UpdateInterval>7</UpdateInterval> 32 - <UpdateIntervalUnits>Days</UpdateIntervalUnits> 33 - <UpdatePeriodically>false</UpdatePeriodically> 34 - <UpdateRequired>false</UpdateRequired> 35 - <MapFileExtensions>true</MapFileExtensions> 36 - <ApplicationRevision>0</ApplicationRevision> 37 - <ApplicationVersion>1.0.0.%2a</ApplicationVersion> 38 - <UseApplicationTrust>false</UseApplicationTrust> 39 - <BootstrapperEnabled>true</BootstrapperEnabled> 40 - <LangVersion>7.2</LangVersion> 41 - <NuGetPackageImportStamp> 42 - </NuGetPackageImportStamp> 4 + <TargetFramework>netcoreapp2.2</TargetFramework> 5 + <LangVersion>7.3</LangVersion> 6 + 43 7 </PropertyGroup> 44 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 45 - <DebugSymbols>true</DebugSymbols> 46 - <DebugType>full</DebugType> 47 - <Optimize>false</Optimize> 48 - <OutputPath>bin\</OutputPath> 49 - <DefineConstants>TRACE;DEBUG;allowIndex,forceIndex</DefineConstants> 50 - <ErrorReport>prompt</ErrorReport> 51 - <WarningLevel>4</WarningLevel> 52 - <DocumentationFile> 53 - </DocumentationFile> 54 - <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 55 - <Prefer32Bit>false</Prefer32Bit> 8 + 9 + <PropertyGroup> 10 + <IsPackable>true</IsPackable> 11 + <Version>1.91</Version> 12 + <Title>Prexonite Scripting Language</Title> 13 + <PackageDescription>An embeddable scripting language with a focus on meta programming and domain specific languages.</PackageDescription> 14 + <Description>$(PackageDescription)</Description> 15 + <Copyright>Christian Klauser © 2019</Copyright> 16 + <PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression> 17 + <IncludeSymbols>true</IncludeSymbols> 18 + <IncludeSource>true</IncludeSource> 19 + <SymbolPackageFormat>snupkg</SymbolPackageFormat> 20 + <RepositoryUrl>https://github.com/chklauser/prx.git</RepositoryUrl> 21 + <RepositoryType>git</RepositoryType> 22 + 23 + <Product>Prexonite</Product> 24 + <Company>$(Product)</Company> 25 + <NeutralLanguage>en-US</NeutralLanguage> 56 26 </PropertyGroup> 57 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 58 - <DebugType>pdbonly</DebugType> 59 - <Optimize>true</Optimize> 60 - <OutputPath>bin\</OutputPath> 61 - <DefineConstants>allowIndex,TRACE</DefineConstants> 62 - <ErrorReport>prompt</ErrorReport> 63 - <WarningLevel>4</WarningLevel> 64 - <PlatformTarget>AnyCPU</PlatformTarget> 65 - <DocumentationFile> 66 - </DocumentationFile> 67 - <DebugSymbols>true</DebugSymbols> 68 - <CodeContractsEnableRuntimeChecking>False</CodeContractsEnableRuntimeChecking> 69 - <CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface> 70 - <CodeContractsRuntimeThrowOnFailure>False</CodeContractsRuntimeThrowOnFailure> 71 - <CodeContractsRuntimeCallSiteRequires>True</CodeContractsRuntimeCallSiteRequires> 72 - <CodeContractsRunCodeAnalysis>False</CodeContractsRunCodeAnalysis> 73 - <CodeContractsNonNullObligations>False</CodeContractsNonNullObligations> 74 - <CodeContractsBoundsObligations>False</CodeContractsBoundsObligations> 75 - <CodeContractsArithmeticObligations>False</CodeContractsArithmeticObligations> 76 - <CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions> 77 - <CodeContractsRunInBackground>True</CodeContractsRunInBackground> 78 - <CodeContractsShowSquigglies>False</CodeContractsShowSquigglies> 79 - <CodeContractsUseBaseLine>False</CodeContractsUseBaseLine> 80 - <CodeContractsEmitXMLDocs>False</CodeContractsEmitXMLDocs> 81 - <CodeContractsCustomRewriterAssembly> 82 - </CodeContractsCustomRewriterAssembly> 83 - <CodeContractsCustomRewriterClass> 84 - </CodeContractsCustomRewriterClass> 85 - <CodeContractsLibPaths> 86 - </CodeContractsLibPaths> 87 - <CodeContractsPlatformPath> 88 - </CodeContractsPlatformPath> 89 - <CodeContractsExtraAnalysisOptions> 90 - </CodeContractsExtraAnalysisOptions> 91 - <CodeContractsBaseLineFile> 92 - </CodeContractsBaseLineFile> 93 - <CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel> 94 - <CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly> 95 - <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 96 - <Prefer32Bit>false</Prefer32Bit> 97 - </PropertyGroup> 98 - <ItemGroup> 99 - <Reference Include="mscorlib" /> 100 - <Reference Include="System" /> 101 - <Reference Include="System.Core"> 102 - <RequiredTargetFramework>3.5</RequiredTargetFramework> 103 - </Reference> 104 - </ItemGroup> 105 - <ItemGroup> 106 - <Compile Include="ApplicationCompound.cs" /> 107 - <Compile Include="ApplicationCompoundImpl.cs" /> 108 - <Compile Include="CilClosure.cs" /> 109 - <Compile Include="CilFunctionContext.cs" /> 110 - <Compile Include="Closure.cs" /> 111 - <Compile Include="Commands\CompilationFlags.cs" /> 112 - <Compile Include="Commands\CompileTimeInterpretation.cs" /> 113 - <Compile Include="Commands\CompileTimeValue.cs" /> 114 - <Compile Include="Commands\Concurrency\AsyncSeq.cs" /> 115 - <Compile Include="Commands\Concurrency\CallAsync.cs" /> 116 - <Compile Include="Commands\Concurrency\Chan.cs" /> 117 - <Compile Include="Commands\Concurrency\Select.cs" /> 118 - <Compile Include="Commands\Core\Boxed.cs" /> 119 - <Compile Include="Commands\Core\Call.cs" /> 120 - <Compile Include="Commands\Core\Caller.cs" /> 121 - <Compile Include="Commands\Core\CallSubPerform.cs" /> 122 - <Compile Include="Commands\Core\Call_Member.cs" /> 123 - <Compile Include="Commands\Core\Call_Tail.cs" /> 124 - <Compile Include="Commands\Core\Char.cs" /> 125 - <Compile Include="Commands\Core\CompileToCil.cs" /> 126 - <Compile Include="Commands\Core\Concat.cs" /> 127 - <Compile Include="Commands\Core\ConsolePrint.cs" /> 128 - <Compile Include="Commands\Core\ConsolePrintLine.cs" /> 129 - <Compile Include="Commands\Core\Const.cs" /> 130 - <Compile Include="Commands\Core\CreateModuleName.cs" /> 131 - <Compile Include="Commands\Core\CreateSourcePosition.cs" /> 132 - <Compile Include="Commands\Core\Debug.cs" /> 133 - <Compile Include="Commands\Core\Dispose.cs" /> 134 - <Compile Include="Commands\Core\GetUnscopedAstFactory.cs" /> 135 - <Compile Include="Commands\Core\Id.cs" /> 136 - <Compile Include="Commands\Core\LoadAssembly.cs" /> 137 - <Compile Include="Commands\Core\Meta.cs" /> 138 - <Compile Include="Commands\Core\Operators\BinaryOperatorBase.cs" /> 139 - <Compile Include="Commands\Core\Operators\Operators.cs"> 140 - <AutoGen>True</AutoGen> 141 - <DesignTime>True</DesignTime> 142 - <DependentUpon>Operators.tt</DependentUpon> 143 - </Compile> 144 - <Compile Include="Commands\Core\Operators\UnaryOperatorBase.cs" /> 145 - <Compile Include="Commands\Core\Pair.cs" /> 146 - <Compile Include="Commands\Core\PartialApplication\FlippedFunctionalPartialCall.cs" /> 147 - <Compile Include="Commands\Core\PartialApplication\FlippedFunctionalPartialCallCommand.cs" /> 148 - <Compile Include="Commands\Core\PartialApplication\FunctionalPartialCall.cs" /> 149 - <Compile Include="Commands\Core\PartialApplication\FunctionalPartialCallCommand.cs" /> 150 - <Compile Include="Commands\Core\PartialApplication\PartialCallStar.cs" /> 151 - <Compile Include="Commands\Core\PartialApplication\PartialCallStarImplCommand.cs" /> 152 - <Compile Include="Commands\List\CreateEnumerator.cs" /> 153 - <Compile Include="Commands\List\SeqConcat.cs" /> 154 - <Compile Include="Commands\PCommandInfo.cs" /> 155 - <Compile Include="Compiler\AstFactoryExtensions.cs" /> 156 - <Compile Include="Compiler\Ast\AstExpand.cs" /> 157 - <Compile Include="Compiler\Ast\AstExpr.cs" /> 158 - <Compile Include="Compiler\Ast\AstFactoryBase.cs" /> 159 - <Compile Include="Compiler\Ast\AstFactoryBridge.cs" /> 160 - <Compile Include="Compiler\Ast\AstGetSet.cs" /> 161 - <Compile Include="Compiler\Ast\AstLoopBlock.cs" /> 162 - <Compile Include="Compiler\Ast\AstNamespaceUsage.cs" /> 163 - <Compile Include="Compiler\Ast\AstPostExpression.cs" /> 164 - <Compile Include="Compiler\Ast\AstReference.cs" /> 165 - <Compile Include="Compiler\Ast\AstScopedExpr.cs" /> 166 - <Compile Include="Compiler\Ast\AstScopedBlock.cs" /> 167 - <Compile Include="Compiler\Ast\AstArgumentSplice.cs" /> 168 - <Compile Include="Compiler\Ast\IAstFactory.cs" /> 169 - <Compile Include="Compiler\Ast\StackSemantics.cs" /> 170 - <Compile Include="Compiler\Build\BuildException.cs" /> 171 - <Compile Include="Compiler\Build\BuildExtensions.cs" /> 172 - <Compile Include="Compiler\Build\BuildFailureException.cs" /> 173 - <Compile Include="Compiler\Build\IBuildEnvironment.cs" /> 174 - <Compile Include="Compiler\Build\IBuildWatcher.cs" /> 175 - <Compile Include="Compiler\Build\IncrementalPlan.cs" /> 176 - <Compile Include="Compiler\Build\Internal\DefaultModuleTarget.cs" /> 177 - <Compile Include="Compiler\Build\Internal\DefaultBuildEnvironment.cs" /> 178 - <Compile Include="Compiler\Build\Internal\DependencySet.cs" /> 179 - <Compile Include="Compiler\Build\Internal\FileSource.cs" /> 180 - <Compile Include="Compiler\Build\Internal\ManualTargetDescription.cs" /> 181 - <Compile Include="Compiler\Build\Internal\ReaderSource.cs" /> 182 - <Compile Include="Compiler\Build\Internal\SelfAssemblingPlan.cs" /> 183 - <Compile Include="Compiler\Build\Internal\StreamSource.cs" /> 184 - <Compile Include="Compiler\Build\Internal\StringSource.cs" /> 185 - <Compile Include="Compiler\Build\Internal\TaskMap.cs" /> 186 - <Compile Include="Compiler\Build\ISelfAssemblingPlan.cs" /> 187 - <Compile Include="Compiler\Build\ISource.cs" /> 188 - <Compile Include="Compiler\Build\ManualPlan.cs" /> 189 - <Compile Include="Compiler\Build\Plan.cs" /> 190 - <Compile Include="Compiler\Build\ITargetDescription.cs" /> 191 - <Compile Include="Compiler\Build\ProvidedTarget.cs" /> 192 - <Compile Include="Compiler\Build\Source.cs" /> 193 - <Compile Include="Compiler\Build\TargetDescriptionSet.cs" /> 194 - <Compile Include="Compiler\Build\VersionConflictException.cs" /> 195 - <Compile Include="Compiler\CompilerExtensions.cs" /> 196 - <Compile Include="Compiler\DeclarationScope.cs" /> 197 - <Compile Include="Compiler\ErrorMessageException.cs" /> 198 - <Compile Include="Compiler\IMessageSink.cs" /> 199 - <Compile Include="Compiler\Internal\EntityRefMExprParser.cs" /> 200 - <Compile Include="Compiler\Internal\EntityRefMExprSerializer.cs" /> 201 - <Compile Include="Compiler\Internal\MExpr.cs" /> 202 - <Compile Include="Compiler\Internal\SymbolMExprParser.cs" /> 203 - <Compile Include="Compiler\Internal\SymbolMExprSerializer.cs" /> 204 - <Compile Include="Compiler\Macro\Commands\EntityRefTo.cs" /> 205 - <Compile Include="Compiler\Macro\Commands\PartialCallWrapper.cs" /> 206 - <Compile Include="Compiler\Macro\Commands\CallMacro.cs" /> 207 - <Compile Include="Compiler\Macro\Commands\CallStar.cs" /> 208 - <Compile Include="Compiler\Macro\Commands\Pack.cs" /> 209 - <Compile Include="Compiler\Macro\Commands\Reference.cs" /> 210 - <Compile Include="Compiler\Macro\Commands\Unpack.cs" /> 211 - <Compile Include="Compiler\Macro\PartialMacroCommand.cs" /> 212 - <Compile Include="Compiler\Message.cs" /> 213 - <Compile Include="Compiler\MessageClasses.cs" /> 214 - <Compile Include="Compiler\MessageEventArgs.cs" /> 215 - <Compile Include="Compiler\MessageSeverity.cs" /> 216 - <Compile Include="Compiler\NoSourcePosition.cs" /> 217 - <Compile Include="Compiler\Parser.SymbolBuilder.cs" /> 218 - <Compile Include="Compiler\ParserAstFactory.cs" /> 219 - <Compile Include="Compiler\Shell.cs" /> 220 - <Compile Include="Compiler\Symbolic\Compatibility\LegacyExtensions.cs" /> 221 - <Compile Include="Compiler\Symbolic\DereferenceSymbol.cs" /> 222 - <Compile Include="Compiler\Symbolic\ExpandSymbol.cs" /> 223 - <Compile Include="Compiler\Symbolic\Internal\ConflictUnionFallbackStore.cs" /> 224 - <Compile Include="Compiler\Symbolic\Internal\LocalNamespace.cs" /> 225 - <Compile Include="Compiler\Symbolic\Internal\ModuleLevelView.cs" /> 226 - <Compile Include="Compiler\Symbolic\Internal\ReplaceCoreNilHandler.cs" /> 227 - <Compile Include="Compiler\Symbolic\Internal\SymbolBuilder.cs" /> 228 - <Compile Include="Compiler\Symbolic\Internal\TransformHandler.cs" /> 229 - <Compile Include="Compiler\Symbolic\Internal\WrapTransparentlyHandler.cs" /> 230 - <Compile Include="Compiler\Symbolic\ISymbolHandler.cs" /> 231 - <Compile Include="Compiler\Symbolic\MessageSymbol.cs" /> 232 - <Compile Include="Compiler\Symbolic\MergedNamespace.cs" /> 233 - <Compile Include="Compiler\Symbolic\Namespace.cs" /> 234 - <Compile Include="Compiler\Symbolic\NamespaceSymbol.cs" /> 235 - <Compile Include="Compiler\Symbolic\SymbolStoreBuilder.cs" /> 236 - <Compile Include="Compiler\Symbolic\NilSymbol.cs" /> 237 - <Compile Include="Compiler\Symbolic\QualifiedId.cs" /> 238 - <Compile Include="Compiler\Symbolic\ReferenceSymbol.cs" /> 239 - <Compile Include="Compiler\Symbolic\Symbol.cs" /> 240 - <Compile Include="Compiler\Symbolic\SymbolHandler.cs" /> 241 - <Compile Include="Compiler\Symbolic\SymbolInfo.cs" /> 242 - <Compile Include="Compiler\Symbolic\SymbolOrigin.cs" /> 243 - <Compile Include="Compiler\Symbolic\SymbolStore.cs" /> 244 - <Compile Include="Compiler\Symbolic\SymbolTransferDirective.cs" /> 245 - <Compile Include="Compiler\Symbolic\SymbolUsageResult.cs" /> 246 - <Compile Include="Exceptions.cs" /> 247 - <Compile Include="Helper\CombinedSymbolProxy.cs" /> 248 - <Compile Include="Helper\EmptySymbolView.cs" /> 249 - <Compile Include="Helper\IHasMetaTable.cs" /> 250 - <Compile Include="Helper\IMetaFilter.cs" /> 251 - <Compile Include="Helper\ISymbolView.cs" /> 252 - <Compile Include="Helper\LastAccessCache.cs" /> 253 - <Compile Include="Helper\MergingCache.cs" /> 254 - <Compile Include="IMaybeStackAware.cs" /> 255 - <Compile Include="Commands\Core\PartialApplication\PartialApplicationBase.cs" /> 256 - <Compile Include="Commands\Core\PartialApplication\PartialApplicationCommandBase.cs" /> 257 - <Compile Include="Commands\Core\PartialApplication\PartialCall.cs" /> 258 - <Compile Include="Commands\Core\PartialApplication\PartialCallCommand.cs" /> 259 - <Compile Include="Commands\Core\PartialApplication\PartialConstruction.cs" /> 260 - <Compile Include="Commands\Core\PartialApplication\PartialConstructionCommand.cs" /> 261 - <Compile Include="Commands\Core\PartialApplication\PartialMemberCallCommand.cs" /> 262 - <Compile Include="Commands\Core\PartialApplication\PartialStaticCall.cs" /> 263 - <Compile Include="Commands\Core\PartialApplication\PartialStaticCallCommand.cs" /> 264 - <Compile Include="Commands\Core\PartialApplication\PartialTypeCast.cs" /> 265 - <Compile Include="Commands\Core\PartialApplication\PartialTypeCastCommand.cs" /> 266 - <Compile Include="Commands\Core\PartialApplication\PartialTypeCheck.cs" /> 267 - <Compile Include="Commands\Core\PartialApplication\PartialTypeCheckCommand.cs" /> 268 - <Compile Include="Commands\Core\PartialApplication\PartialWithPTypeCommandBase.cs" /> 269 - <Compile Include="Commands\Core\PartialApplication\PTypeInfo.cs" /> 270 - <Compile Include="Commands\Core\PartialApplication\ThenCommand.cs" /> 271 - <Compile Include="Commands\Core\Print.cs" /> 272 - <Compile Include="Commands\Core\PrintLine.cs" /> 273 - <Compile Include="Commands\Core\StaticPrint.cs" /> 274 - <Compile Include="Commands\Core\StaticPrintLine.cs" /> 275 - <Compile Include="Commands\Core\Unbind.cs" /> 276 - <Compile Include="Commands\CoroutineCommand.cs" /> 277 - <Compile Include="Commands\DelegatePCommand.cs" /> 278 - <Compile Include="Commands\ICilExtension.cs" /> 279 - <Compile Include="Commands\ICilCompilerAware.cs" /> 280 - <Compile Include="Commands\Lazy\AsThunkCommand.cs" /> 281 - <Compile Include="Commands\Lazy\ForceCommand.cs" /> 282 - <Compile Include="Commands\Lazy\ThunkCommand.cs" /> 283 - <Compile Include="Commands\Lazy\ToSeqCommand.cs" /> 284 - <Compile Include="Commands\List\All.cs" /> 285 - <Compile Include="Commands\List\Append.cs" /> 286 - <Compile Include="Commands\List\Contains.cs" /> 287 - <Compile Include="Commands\List\Count.cs" /> 288 - <Compile Include="Commands\List\Distinct.cs" /> 289 - <Compile Include="Commands\List\Each.cs" /> 290 - <Compile Include="Commands\List\Except.cs" /> 291 - <Compile Include="Commands\List\Exists.cs" /> 292 - <Compile Include="Commands\List\FoldL.cs" /> 293 - <Compile Include="Commands\List\FoldR.cs" /> 294 - <Compile Include="Commands\List\ForAll.cs" /> 295 - <Compile Include="Commands\List\Frequency.cs" /> 296 - <Compile Include="Commands\List\GroupBy.cs" /> 297 - <Compile Include="Commands\List\HeadTail.cs" /> 298 - <Compile Include="Commands\List\Intersect.cs" /> 299 - <Compile Include="Commands\List\Limit.cs" /> 300 - <Compile Include="Commands\List\List.cs" /> 301 - <Compile Include="Commands\List\Map.cs" /> 302 - <Compile Include="Commands\List\Range.cs" /> 303 - <Compile Include="Commands\List\Reverse.cs" /> 304 - <Compile Include="Commands\List\Skip.cs" /> 305 - <Compile Include="Commands\List\Sort.cs" /> 306 - <Compile Include="Commands\List\Sum.cs" /> 307 - <Compile Include="Commands\List\TakeWhile.cs" /> 308 - <Compile Include="Commands\List\Where.cs" /> 309 - <Compile Include="Commands\Math\Abs.cs" /> 310 - <Compile Include="Commands\Math\Ceiling.cs" /> 311 - <Compile Include="Commands\Math\Cos.cs" /> 312 - <Compile Include="Commands\Math\Exp.cs" /> 313 - <Compile Include="Commands\Math\Floor.cs" /> 314 - <Compile Include="Commands\Math\Log.cs" /> 315 - <Compile Include="Commands\Math\Max.cs" /> 316 - <Compile Include="Commands\Math\Min.cs" /> 317 - <Compile Include="Commands\Math\Pi.cs" /> 318 - <Compile Include="Commands\Math\Round.cs" /> 319 - <Compile Include="Commands\Math\Sin.cs" /> 320 - <Compile Include="Commands\Math\Sqrt.cs" /> 321 - <Compile Include="Commands\Math\Tan.cs" /> 322 - <Compile Include="Commands\NestedPCommand.cs" /> 323 - <Compile Include="Commands\PCommand.cs" /> 324 - <Compile Include="Commands\StackAwareCommand.cs" /> 325 - <Compile Include="Commands\Text\SetCenterCommand.cs" /> 326 - <Compile Include="Commands\Text\SetLeftCommand.cs" /> 327 - <Compile Include="Commands\Text\SetRightCommand.cs" /> 328 - <Compile Include="Compiler\AddressChangeHook.cs" /> 329 - <Compile Include="Compiler\Ast\ArgumentsProxy.cs" /> 330 - <Compile Include="Compiler\Ast\AstActionBlock.cs" /> 331 - <Compile Include="Compiler\Ast\AstAsmInstruction.cs" /> 332 - <Compile Include="Compiler\Ast\AstCoalescence.cs" /> 333 - <Compile Include="Compiler\Ast\AstCondition.cs" /> 334 - <Compile Include="Compiler\Ast\AstConditionalExpression.cs" /> 335 - <Compile Include="Compiler\Ast\AstConstantTypeExpression.cs" /> 336 - <Compile Include="Compiler\Ast\AstCreateClosure.cs" /> 337 - <Compile Include="Compiler\Ast\AstCreateCoroutine.cs" /> 338 - <Compile Include="Compiler\Ast\AstExplicitGoTo.cs" /> 339 - <Compile Include="Compiler\Ast\AstExplicitLabel.cs" /> 340 - <Compile Include="Compiler\Ast\AstConstant.cs" /> 341 - <Compile Include="Compiler\Ast\AstForLoop.cs" /> 342 - <Compile Include="Compiler\Ast\AstGetException.cs" /> 343 - <Compile Include="Compiler\Ast\AstGetSetImplBase.cs" /> 344 - <Compile Include="Compiler\Ast\AstBinaryOperator.cs" /> 345 - <Compile Include="Compiler\Ast\AstGetSetMemberAccess.cs" /> 346 - <Compile Include="Compiler\Ast\AstGetSetNewDecl.cs" /> 347 - <Compile Include="Compiler\Ast\AstHashLiteral.cs" /> 348 - <Compile Include="Compiler\Ast\AstIndirectCall.cs" /> 349 - <Compile Include="Compiler\Ast\AstKeyValuePair.cs" /> 350 - <Compile Include="Compiler\Ast\AstLazyLogical.cs" /> 351 - <Compile Include="Compiler\Ast\AstListLiteral.cs" /> 352 - <Compile Include="Compiler\Ast\AstLogicalAnd.cs" /> 353 - <Compile Include="Compiler\Ast\AstLogicalOr.cs" /> 354 - <Compile Include="Compiler\Ast\AstDynamicTypeExpression.cs" /> 355 - <Compile Include="Compiler\Ast\AstLoop.cs" /> 356 - <Compile Include="Compiler\Ast\AstNull.cs" /> 357 - <Compile Include="Compiler\Ast\AstObjectCreation.cs" /> 358 - <Compile Include="Compiler\Ast\AstPlaceholder.cs" /> 359 - <Compile Include="Compiler\Ast\AstReturn.cs" /> 360 - <Compile Include="Compiler\Ast\AstStringConcatenation.cs" /> 361 - <Compile Include="Compiler\Ast\AstThrow.cs" /> 362 - <Compile Include="Compiler\Ast\AstTryCatchFinally.cs" /> 363 - <Compile Include="Compiler\Ast\AstTypecast.cs" /> 364 - <Compile Include="Compiler\Ast\AstTypecheck.cs" /> 365 - <Compile Include="Compiler\Ast\AstUnaryOperator.cs" /> 366 - <Compile Include="Compiler\Ast\AstGetSetStatic.cs" /> 367 - <Compile Include="Compiler\Ast\AstUnresolved.cs" /> 368 - <Compile Include="Compiler\Ast\AstUsing.cs" /> 369 - <Compile Include="Compiler\Ast\AstWhileLoop.cs" /> 370 - <Compile Include="Compiler\Ast\AstForeachLoop.cs" /> 371 - <Compile Include="Compiler\Ast\AstBlock.cs" /> 372 - <Compile Include="Compiler\Ast\AstNode.cs" /> 373 - <Compile Include="Compiler\Ast\IAstHasBlocks.cs" /> 374 - <Compile Include="Compiler\Ast\IAstHasExpressions.cs" /> 375 - <Compile Include="Compiler\Ast\IAstPartiallyApplicable.cs" /> 376 - <Compile Include="Compiler\Ast\AstTypeExpr.cs" /> 377 - <Compile Include="Compiler\Cil\BranchHandling.cs" /> 378 - <Compile Include="Compiler\Cil\CilExtensionHint.cs" /> 379 - <Compile Include="Compiler\Cil\CompiledTryCatchFinallyBlock.cs" /> 380 - <Compile Include="Compiler\Cil\Compiler.cs" /> 381 - <Compile Include="Compiler\Cil\CompilerPass.cs" /> 382 - <Compile Include="Compiler\Cil\CompilerState.cs" /> 383 - <Compile Include="Compiler\Cil\CilFunction.cs" /> 384 - <Compile Include="Compiler\Cil\ForeachHint.cs" /> 385 - <Compile Include="Compiler\Cil\FunctionLinking.cs" /> 386 - <Compile Include="Compiler\Cil\ICilHint.cs" /> 387 - <Compile Include="Compiler\Cil\Seh\RegionKind.cs" /> 388 - <Compile Include="Compiler\Cil\Seh\Region.cs" /> 389 - <Compile Include="Compiler\Cil\Runtime.cs" /> 390 - <Compile Include="Compiler\Cil\StructuredExceptionHandling.cs" /> 391 - <Compile Include="Compiler\Cil\CilSymbol.cs" /> 392 - <Compile Include="Compiler\CompilerHook.cs" /> 393 - <Compile Include="Compiler\CompilerTarget.cs" /> 394 - <Compile Include="Compiler\CustomResolver.cs" /> 395 - <Compile Include="Compiler\DebugHook.cs" /> 396 - <Compile Include="Compiler\ISourcePosition.cs" /> 397 - <Compile Include="Compiler\Lexer.Code.cs" /> 398 - <Compile Include="Compiler\Lexer.cs" /> 399 - <Compile Include="Compiler\MacroAliases.cs" /> 400 - <Compile Include="Compiler\ILoopBlock.cs" /> 401 - <Compile Include="Compiler\MacroCommandTable.cs" /> 402 - <Compile Include="Compiler\Macro\Commands\CallSub.cs" /> 403 - <Compile Include="Compiler\Macro\Commands\CallSubInterpret.cs" /> 404 - <Compile Include="Compiler\Macro\MacroCommand.cs" /> 405 - <Compile Include="Compiler\Macro\MacroContext.cs" /> 406 - <Compile Include="Compiler\Macro\MacroContextExtensions.cs" /> 407 - <Compile Include="Compiler\Macro\MacroSession.cs" /> 408 - <Compile Include="Helper\ReadOnlyCollectionView.cs" /> 409 - <Compile Include="Helper\ReadOnlyDictionaryView.cs" /> 410 - <Compile Include="Compiler\SourceMapping.cs" /> 411 - <Compile Include="Compiler\SourcePosition.cs" /> 412 - <Compile Include="Compiler\SourcePositionExtensions.cs" /> 413 - <Compile Include="Concurrency\Channel.cs" /> 414 - <Compile Include="CooperativeContext.cs" /> 415 - <Compile Include="GlobalSuppressions.cs" /> 416 - <Compile Include="Helper\DependencyAnalysis.cs" /> 417 - <Compile Include="Helper\DependencyEntity.cs" /> 418 - <Compile Include="Helper\Extensions.cs" /> 419 - <Compile Include="Helper\IDependent.cs" /> 420 - <Compile Include="Helper\INamed.cs" /> 421 - <Compile Include="Internal\AdHocTaskCache.cs" /> 422 - <Compile Include="Internal\IScanner.cs" /> 423 - <Compile Include="Internal\MetaTableImpl.cs" /> 424 - <Compile Include="Internal\Parser.cs" /> 425 - <Compile Include="Internal\PFunctionTableImpl.cs" /> 426 - <Compile Include="Internal\ReSharperAttributes.cs" /> 427 - <Compile Include="Internal\Scanner.cs" /> 428 - <Compile Include="Modular\EntityRef.cs" /> 429 - <Compile Include="Modular\FunctionDeclaration.cs" /> 430 - <Compile Include="Modular\IResourceDescriptor.cs" /> 431 - <Compile Include="Modular\Module.cs" /> 432 - <Compile Include="Modular\ModuleConflictException.cs" /> 433 - <Compile Include="Modular\ModuleName.cs" /> 434 - <Compile Include="Modular\VariableDeclaration.cs" /> 435 - <Compile Include="Modular\VariableTable.cs" /> 436 - <Compile Include="OperatorNames.cs" /> 437 - <Compile Include="Compiler\Parser.cs" /> 438 - <Compile Include="Application.cs" /> 439 - <Compile Include="Compiler\Loader.cs" /> 440 - <Compile Include="Compiler\LoaderOptions.cs" /> 441 - <Compile Include="Compiler\Parser.Code.cs" /> 442 - <Compile Include="Compiler\Token.cs" /> 443 - <Compile Include="Continuation.cs" /> 444 - <Compile Include="Coroutine.cs" /> 445 - <Compile Include="CoroutineContext.cs" /> 446 - <Compile Include="FunctionContext.cs" /> 447 - <Compile Include="Helper\CommandTable.cs" /> 448 - <Compile Include="Helper\MetaEntry.cs" /> 449 - <Compile Include="Helper\RandomAccessQueue.cs" /> 450 - <Compile Include="Helper\SymbolEntry.cs" /> 451 - <Compile Include="IIndirectCall.cs" /> 452 - <Compile Include="IndirectCallContext.cs" /> 453 - <Compile Include="Instruction.cs" /> 454 - <Compile Include="Internal\Parser.Code.cs" /> 455 - <Compile Include="IStackAware.cs" /> 456 - <Compile Include="NullContext.cs" /> 457 - <Compile Include="PFunction.cs" /> 458 - <Compile Include="Helper\PFunctionTable.cs" /> 459 - <Compile Include="Helper\SymbolCollection.cs" /> 460 - <Compile Include="Compiler\Build\IPlan.cs" /> 461 - <Compile Include="Properties\Resources.Designer.cs"> 462 - <AutoGen>True</AutoGen> 463 - <DesignTime>True</DesignTime> 464 - <DependentUpon>Resources.resx</DependentUpon> 465 - </Compile> 466 - <Compile Include="PTypeLiteralAttribute.cs" /> 467 - <Compile Include="PValueComparer.cs" /> 468 - <Compile Include="Compiler\Build\ITarget.cs" /> 469 - <Compile Include="TryCatchFinallyBlock.cs" /> 470 - <Compile Include="Types\BoolPType.cs" /> 471 - <Compile Include="Types\CharPType.cs" /> 472 - <Compile Include="Types\ExtendableObject.cs" /> 473 - <Compile Include="Types\HashPType.cs" /> 474 - <Compile Include="Types\IntPType.cs" /> 475 - <Compile Include="Types\IObject.cs" /> 476 - <Compile Include="Types\ListPType.cs" /> 477 - <Compile Include="Types\ObjectPType.cs" /> 478 - <Compile Include="Engine.cs" /> 479 - <Compile Include="Helper\MetaTable.cs" /> 480 - <Compile Include="Properties\AssemblyInfo.cs" /> 481 - <Compile Include="PValue.cs" /> 482 - <Compile Include="PVariable.cs" /> 483 - <Compile Include="StackContext.cs" /> 484 - <Compile Include="Helper\SymbolTable.cs" /> 485 - <Compile Include="Types\NullPType.cs" /> 486 - <Compile Include="Types\PType.cs" /> 487 - <Compile Include="Types\PValueEnumerator.cs" /> 488 - <Compile Include="Types\PValueEnumeratorWrapper.cs" /> 489 - <Compile Include="Types\PValueHashtable.cs" /> 490 - <Compile Include="Types\PValueKeyValuePair.cs" /> 491 - <Compile Include="Types\RealPType.cs" /> 492 - <Compile Include="Types\StringPType.cs" /> 493 - <Compile Include="Types\StructurePType.cs" /> 494 - <Compile Include="VM.cs" /> 495 - <Content Include="Compiler\Prexonite.lex" /> 496 - <None Include="prxlib\sh.pxs" /> 497 - <None Include="Commands\Core\Operators\Operators.tt"> 498 - <Generator>TextTemplatingFileGenerator</Generator> 499 - <LastGenOutput>Operators.cs</LastGenOutput> 500 - </None> 501 - <None Include="Compiler\Build\Build.cd" /> 502 - <None Include="Compiler\Symbolic\Compatibility\LegacyDependencies.local.dgml" /> 503 - <None Include="ObjectModel.cd" /> 504 - <None Include="Prexonite.snk" /> 505 - <Content Include="Compiler\Grammar\Grammar.Readme.txt" /> 506 - <Content Include="Prx.ico" /> 507 - <EmbeddedResource Include="prxlib\legacy_symbols.pxs" /> 508 - <None Include="prxlib\prx.core.pxs" /> 509 - <None Include="prxlib\prx.prim.pxs" /> 510 - <None Include="prxlib\sys.pxs" /> 511 - </ItemGroup> 512 - <ItemGroup> 513 - <GrammarFragment Include="Compiler\Grammar\Header.atg" /> 514 - <GrammarFragment Include="Compiler\Grammar\Scanner.atg" /> 515 - <GrammarFragment Include="Compiler\Grammar\Parser*.atg" /> 516 - <GrammarFragment Include="Compiler\Grammar\Footer.atg" /> 517 - </ItemGroup> 518 - <ItemGroup> 519 - <Grammar Include="PTypeExpression.atg" /> 520 - </ItemGroup> 521 - <ItemGroup> 522 - <!-- <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> --> 523 - <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> 524 - </ItemGroup> 525 - <ItemGroup> 526 - <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> 527 - <Visible>False</Visible> 528 - <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> 529 - <Install>false</Install> 530 - </BootstrapperPackage> 531 - <BootstrapperPackage Include="Microsoft.Net.Framework.2.0"> 532 - <Visible>False</Visible> 533 - <ProductName>.NET Framework 2.0 %28x86%29</ProductName> 534 - <Install>true</Install> 535 - </BootstrapperPackage> 536 - <BootstrapperPackage Include="Microsoft.Net.Framework.3.0"> 537 - <Visible>False</Visible> 538 - <ProductName>.NET Framework 3.0 %28x86%29</ProductName> 539 - <Install>false</Install> 540 - </BootstrapperPackage> 541 - <BootstrapperPackage Include="Microsoft.Net.Framework.3.5"> 542 - <Visible>False</Visible> 543 - <ProductName>.NET Framework 3.5</ProductName> 544 - <Install>false</Install> 545 - </BootstrapperPackage> 546 - <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> 547 - <Visible>False</Visible> 548 - <ProductName>.NET Framework 3.5 SP1</ProductName> 549 - <Install>false</Install> 550 - </BootstrapperPackage> 551 - </ItemGroup> 552 - <ItemGroup> 553 - <Folder Include="Commands\Debugger\" /> 554 - </ItemGroup> 555 - <ItemGroup> 556 - <EmbeddedResource Include="Properties\Resources.resx"> 557 - <Generator>PublicResXFileCodeGenerator</Generator> 558 - <LastGenOutput>Resources.Designer.cs</LastGenOutput> 559 - <SubType>Designer</SubType> 560 - </EmbeddedResource> 561 - </ItemGroup> 562 - <ItemGroup> 563 - <PackageReference Include="Microsoft.Net.Compilers"> 564 - <Version>3.1.1</Version> 565 - <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> 566 - <PrivateAssets>all</PrivateAssets> 567 - </PackageReference> 568 - <PackageReference Include="System.Threading.Tasks.Extensions"> 569 - <Version>4.5.2</Version> 570 - </PackageReference> 571 - <PackageReference Include="System.ValueTuple"> 572 - <Version>4.5.0</Version> 573 - </PackageReference> 574 - </ItemGroup> 27 + 575 28 <!-- CUSTOM TASKS --> 576 29 <PropertyGroup> 577 30 <PxCoco>$(ProjectDir)..\Tools\PxCoco.exe</PxCoco> 578 31 </PropertyGroup> 579 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> 580 - <DebugSymbols>true</DebugSymbols> 581 - <OutputPath>bin\x86\Debug\</OutputPath> 582 - <DefineConstants>TRACE;DEBUG;allowIndex,forceIndex</DefineConstants> 583 - <DebugType>full</DebugType> 584 - <PlatformTarget>x86</PlatformTarget> 585 - <CodeAnalysisLogFile>bin\Prexonite.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile> 586 - <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> 587 - <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> 588 - <ErrorReport>prompt</ErrorReport> 589 - <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 590 - <CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories> 591 - <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets> 592 - <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories> 593 - <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> 594 - <Prefer32Bit>false</Prefer32Bit> 595 - </PropertyGroup> 596 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> 597 - <DebugSymbols>true</DebugSymbols> 598 - <OutputPath>bin\x86\Release\</OutputPath> 599 - <DefineConstants>TRACE;allowIndex,Verbose</DefineConstants> 600 - <Optimize>true</Optimize> 601 - <DebugType>pdbonly</DebugType> 602 - <PlatformTarget>x86</PlatformTarget> 603 - <CodeAnalysisLogFile>bin\Prexonite.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile> 604 - <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression> 605 - <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile> 606 - <ErrorReport>prompt</ErrorReport> 607 - <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> 608 - <CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories> 609 - <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets> 610 - <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories> 611 - <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> 612 - <Prefer32Bit>false</Prefer32Bit> 613 - </PropertyGroup> 614 32 <UsingTask AssemblyFile="$(PxCoco)" TaskName="Merge" /> 615 33 <UsingTask AssemblyFile="$(PxCoco)" TaskName="PxCoco" /> 616 - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 617 - <!-- BUILD CUSTOMIZATION --> 618 34 <PropertyGroup> 619 35 <!--<UseHostCompilerIfAvailable>False</UseHostCompilerIfAvailable> --> 620 36 <BuildDependsOn> 621 - ExpressionParser; 622 - PrexoniteScanner; 623 - PrexoniteParser; 624 - $(BuildDependsOn); 37 + ExpressionParser; 38 + PrexoniteScanner; 39 + PrexoniteParser; 40 + $(BuildDependsOn); 625 41 </BuildDependsOn> 626 - <ToolsDirectory>$(ProjectDir)..\Tools</ToolsDirectory> 42 + <ToolsDirectory>$(ProjectDir)../Tools</ToolsDirectory> 627 43 <FramesDirectory>$(ToolsDirectory)</FramesDirectory> 628 44 <PrexoniteScannerDefinition>Prexonite.lex</PrexoniteScannerDefinition> 629 45 <PrexoniteGrammarDefinition>Prexonite__gen.atg</PrexoniteGrammarDefinition> ··· 634 50 <PTypeExpressionParserFiles>$(PxCocoOutputFiles)</PTypeExpressionParserFiles> 635 51 <DirectDebug>False</DirectDebug> 636 52 </PropertyGroup> 53 + <ItemGroup> 54 + <GrammarFragment Include="Compiler\Grammar\Header.atg" /> 55 + <GrammarFragment Include="Compiler\Grammar\Scanner.atg" /> 56 + <GrammarFragment Include="Compiler\Grammar\Parser*.atg" /> 57 + <GrammarFragment Include="Compiler\Grammar\Footer.atg" /> 58 + </ItemGroup> 59 + <ItemGroup> 60 + <Grammar Include="PTypeExpression.atg" /> 61 + </ItemGroup> 637 62 <!-- PType Expression Parser Target --> 638 - <Target Name="ExpressionParser"> 63 + <Target Name="ExpressionParser" BeforeTargets="BeforeBuild"> 639 64 <Message Text="Building type expression parser." /> 640 65 <PxCoco Grammar="$(PTypeExpressionGrammarDefinition)" Namespace="Prexonite.Internal" FramesDirectory="$(FramesDirectory)" DirectDebug="$(DirectDebug)"> 641 66 <Output TaskParameter="OutputFiles" ItemName="PTypeExpressionParserFiles" /> 642 67 </PxCoco> 643 - <Message Text="Hell:$(PTypeExpressionParserFiles):0" /> 644 68 <Copy SourceFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" DestinationFolder="$(ProjectDir)Internal" /> 645 69 <Delete Files="$(PTypeExpressionParserFiles)" DeletedFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" /> 646 70 </Target> 647 71 <!-- Prexonite Parser Target --> 648 - <Target Name="PrexoniteParser" DependsOnTargets="PrexoniteGrammar"> 72 + <Target Name="PrexoniteParser" DependsOnTargets="PrexoniteGrammar" BeforeTargets="BeforeBuild"> 649 73 <PxCoco Grammar="$(PrexoniteGrammarDefinition)" Namespace="Prexonite.Compiler" FramesDirectory="$(FramesDirectory)" DirectDebug="$(DirectDebug)"> 650 74 <Output TaskParameter="OutputFiles" ItemName="PrexoniteParserFiles" /> 651 75 </PxCoco> 652 - <Copy SourceFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" DestinationFolder="$(ProjectDir)Compiler" /> 653 - <Delete Files="$(PrexoniteParserFiles)" DeletedFiles="$(ProjectDir)Parser.cs;$(ProjectDir)Scanner.cs" /> 76 + <Copy SourceFiles="$(ProjectDir)/Parser.cs;$(ProjectDir)/Scanner.cs" DestinationFolder="$(ProjectDir)/Compiler" /> 77 + <Delete Files="$(PrexoniteParserFiles)" DeletedFiles="$(ProjectDir)/Parser.cs;$(ProjectDir)/Scanner.cs" /> 654 78 </Target> 655 79 <!-- Prexonite Grammar Merging Target --> 656 - <Target Name="PrexoniteGrammar"> 80 + <Target Name="PrexoniteGrammar" Outputs="$(ProjectDir)Prexonite__gen.atg" Inputs="@(GrammarFragment->'%(FullPath)')"> 657 81 <Merge InputFiles="@(GrammarFragment->'%(FullPath)')" OutputFile="$(ProjectDir)Prexonite__gen.atg"> 658 82 </Merge> 659 83 <Message Text="$(PrexoniteGrammarDefinition) is now ready." /> 660 84 </Target> 661 - <Target Name="PrexoniteScanner"> 662 - <Exec Command="&quot;$(ToolsDirectory)\csflex.exe&quot; --csharp --nested-default-skeleton --nobak $(PrexoniteScannerDefinition)" WorkingDirectory="$(ProjectDir)\Compiler" /> 85 + <Target Name="PrexoniteScanner" Outputs="$(ProjectDir)/Compiler/Scanner.cs" Inputs="$(ProjectDir)/Compiler/$(PrexoniteScannerDefinition)"> 86 + <Exec Command="&quot;$(ToolsDirectory)/csflex.exe&quot; --csharp --nested-default-skeleton --nobak $(PrexoniteScannerDefinition)" WorkingDirectory="$(ProjectDir)/Compiler" /> 663 87 </Target> 664 - </Project> 88 + 89 + <!-- NUGET References --> 90 + <ItemGroup> 91 + <PackageReference Include="Lokad.ILPack" Version="0.1.1" /> 92 + <PackageReference Include="System.Reflection.Emit" Version="4.3.0" /> 93 + </ItemGroup> 94 + </Project>
-14
Prexonite/Properties/AssemblyInfo.cs
··· 28 28 using System.Runtime.CompilerServices; 29 29 using System.Runtime.InteropServices; 30 30 31 - // General Information about an assembly is controlled through the following 32 - // set of attributes. Change these attribute values to modify the information 33 - // associated with an assembly. 34 - 35 - [assembly: AssemblyTitle("Prexonite")] 36 - [assembly: AssemblyDescription("Prexonite Scripting Engine")] 37 - [assembly: AssemblyConfiguration("")] 38 - [assembly: AssemblyCompany("Christian Klauser")] 39 - [assembly: AssemblyProduct("Prexonite")] 40 - [assembly: AssemblyCopyright("Copyright � 2013")] 41 - [assembly: AssemblyTrademark("")] 42 - [assembly: AssemblyCulture("")] 43 31 // Setting ComVisible to false makes the types in this assembly not visible 44 32 // to COM components. If you need to access a type in this assembly from 45 33 // COM, set the ComVisible attribute to true on that type. ··· 58 46 // You can specify all the values or you can default the Revision and Build Numbers 59 47 // by using the '*' as shown below: 60 48 61 - [assembly: AssemblyVersion("1.90.0.0")] 62 - [assembly: AssemblyFileVersion("1.90.0.0")] 63 49 [assembly: CLSCompliant(true)] 64 50 65 51 // Makes internal members of Prexonite visible to the unit testing project
-459
PxCoco/OrigParserGen.cs
··· 1 - /*------------------------------------------------------------------------- 2 - ParserGen.cs -- Generation of the Recursive Descent Parser 3 - Compiler Generator Coco/R, 4 - Copyright (c) 1990, 2004 Hanspeter Moessenboeck, University of Linz 5 - extended by M. Loeberbauer & A. Woess, Univ. of Linz 6 - with improvements by Pat Terry, Rhodes University 7 - 8 - This program is free software; you can redistribute it and/or modify it 9 - under the terms of the GNU General Public License as published by the 10 - Free Software Foundation; either version 2, or (at your option) any 11 - later version. 12 - 13 - This program is distributed in the hope that it will be useful, but 14 - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15 - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16 - for more details. 17 - 18 - You should have received a copy of the GNU General Public License along 19 - with this program; if not, write to the Free Software Foundation, Inc., 20 - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 - 22 - As an exception, it is allowed to write an extension of Coco/R that is 23 - used as a plugin in non-free software. 24 - 25 - If not otherwise stated, any source code generated by Coco/R (other than 26 - Coco/R itself) does not fall under the GNU General Public License. 27 - -------------------------------------------------------------------------*/ 28 - using System; 29 - using System.IO; 30 - using System.Collections; 31 - using System.Text; 32 - 33 - namespace at.jku.ssw.Coco { 34 - 35 - public class ParserGen { 36 - 37 - const int maxTerm = 3; // sets of size < maxTerm are enumerated 38 - const char CR = '\r'; 39 - const char LF = '\n'; 40 - const int EOF = -1; 41 - 42 - const int tErr = 0; // error codes 43 - const int altErr = 1; 44 - const int syncErr = 2; 45 - 46 - public Position usingPos; // "using" definitions from the attributed grammar 47 - 48 - int errorNr; // highest parser error number 49 - Symbol curSy; // symbol whose production is currently generated 50 - FileStream fram; // parser frame file 51 - StreamWriter gen; // generated parser source file 52 - StringWriter err; // generated parser error messages 53 - ArrayList symSet = new ArrayList(); 54 - 55 - Tab tab; // other Coco objects 56 - TextWriter trace; 57 - Errors errors; 58 - Buffer buffer; 59 - 60 - void Indent (int n) { 61 - for (int i = 1; i <= n; i++) gen.Write('\t'); 62 - } 63 - 64 - 65 - bool Overlaps(BitArray s1, BitArray s2) { 66 - int len = s1.Count; 67 - for (int i = 0; i < len; ++i) { 68 - if (s1[i] && s2[i]) { 69 - return true; 70 - } 71 - } 72 - return false; 73 - } 74 - 75 - // use a switch if more than 5 alternatives and none starts with a resolver 76 - bool UseSwitch (Node p) { 77 - BitArray s1, s2; 78 - if (p.typ != Node.alt) return false; 79 - int nAlts = 0; 80 - s1 = new BitArray(tab.terminals.Count); 81 - while (p != null) { 82 - s2 = tab.Expected0(p.sub, curSy); 83 - // must not optimize with switch statement, if there are ll1 warnings 84 - if (Overlaps(s1, s2)) { return false; } 85 - s1.Or(s2); 86 - ++nAlts; 87 - // must not optimize with switch-statement, if alt uses a resolver expression 88 - if (p.sub.typ == Node.rslv) return false; 89 - p = p.down; 90 - } 91 - return nAlts > 5; 92 - } 93 - 94 - void CopyFramePart (string stop) { 95 - char startCh = stop[0]; 96 - int endOfStopString = stop.Length-1; 97 - int ch = fram.ReadByte(); 98 - while (ch != EOF) 99 - if (ch == startCh) { 100 - int i = 0; 101 - do { 102 - if (i == endOfStopString) return; // stop[0..i] found 103 - ch = fram.ReadByte(); i++; 104 - } while (ch == stop[i]); 105 - // stop[0..i-1] found; continue with last read character 106 - gen.Write(stop.Substring(0, i)); 107 - } else { 108 - gen.Write((char)ch); ch = fram.ReadByte(); 109 - } 110 - throw new FatalError("Incomplete or corrupt parser frame file"); 111 - } 112 - 113 - void CopySourcePart (Position pos, int indent) { 114 - // Copy text described by pos from atg to gen 115 - int ch, nChars, i; 116 - if (pos != null) { 117 - buffer.Pos = pos.beg; ch = buffer.Read(); nChars = pos.len - 1; 118 - Indent(indent); 119 - while (nChars >= 0) { 120 - while (ch == CR || ch == LF) { // eol is either CR or CRLF or LF 121 - gen.WriteLine(); Indent(indent); 122 - if (ch == CR) { ch = buffer.Read(); nChars--; } // skip CR 123 - if (ch == LF) { ch = buffer.Read(); nChars--; } // skip LF 124 - for (i = 1; i <= pos.col && (ch == ' ' || ch == '\t'); i++) { 125 - // skip blanks at beginning of line 126 - ch = buffer.Read(); nChars--; 127 - } 128 - if (i <= pos.col) pos.col = i - 1; // heading TABs => not enough blanks 129 - if (nChars < 0) goto done; 130 - } 131 - gen.Write((char)ch); 132 - ch = buffer.Read(); nChars--; 133 - } 134 - done: 135 - if (indent > 0) gen.WriteLine(); 136 - } 137 - } 138 - 139 - void GenErrorMsg (int errTyp, Symbol sym) { 140 - errorNr++; 141 - err.Write("\t\t\tcase " + errorNr + ": s = \""); 142 - switch (errTyp) { 143 - case tErr: 144 - if (sym.name[0] == '"') err.Write(tab.Escape(sym.name) + " expected"); 145 - else err.Write(sym.name + " expected"); 146 - break; 147 - case altErr: err.Write("invalid " + sym.name); break; 148 - case syncErr: err.Write("this symbol not expected in " + sym.name); break; 149 - } 150 - err.WriteLine("\"; break;"); 151 - } 152 - 153 - int NewCondSet (BitArray s) { 154 - for (int i = 1; i < symSet.Count; i++) // skip symSet[0] (reserved for union of SYNC sets) 155 - if (Sets.Equals(s, (BitArray)symSet[i])) return i; 156 - symSet.Add(s.Clone()); 157 - return symSet.Count - 1; 158 - } 159 - 160 - void GenCond (BitArray s, Node p) { 161 - if (p.typ == Node.rslv) CopySourcePart(p.pos, 0); 162 - else { 163 - int n = Sets.Elements(s); 164 - if (n == 0) gen.Write("false"); // should never happen 165 - else if (n <= maxTerm) 166 - foreach (Symbol sym in tab.terminals) { 167 - if (s[sym.n]) { 168 - gen.Write("la.kind == {0}", sym.n); 169 - --n; 170 - if (n > 0) gen.Write(" || "); 171 - } 172 - } 173 - else 174 - gen.Write("StartOf({0})", NewCondSet(s)); 175 - /* 176 - if (p.typ == Node.alt) { 177 - // for { ... | IF ... | ... } or [ ... | IF ... | ... ] 178 - // check resolvers in addition to terminal start symbols of alternatives 179 - Node q = p; 180 - while (q != null) { 181 - if (q.sub.typ == Node.rslv) { 182 - gen.Write(" || "); 183 - CopySourcePart(q.sub.pos, 0); 184 - } 185 - q = q.down; 186 - } 187 - } 188 - */ 189 - } 190 - } 191 - 192 - void PutCaseLabels (BitArray s) { 193 - foreach (Symbol sym in tab.terminals) 194 - if (s[sym.n]) gen.Write("case {0}: ", sym.n); 195 - } 196 - 197 - string symbolReference(Symbol sym) 198 - { 199 - return "Terminals." + sym.name; 200 - } 201 - 202 - void GenCode (Node p, int indent, BitArray isChecked) { 203 - Node p2; 204 - BitArray s1, s2; 205 - while (p != null) { 206 - switch (p.typ) { 207 - case Node.nt: { 208 - Indent(indent); 209 - gen.Write(p.sym.name + "("); 210 - CopySourcePart(p.pos, 0); 211 - gen.WriteLine(");"); 212 - break; 213 - } 214 - case Node.t: { 215 - Indent(indent); 216 - if (isChecked[p.sym.n]) gen.WriteLine("Get();"); 217 - else gen.WriteLine("Expect({0});", "Terminals."+p.sym.name); 218 - break; 219 - } 220 - case Node.wt: { 221 - Indent(indent); 222 - s1 = tab.Expected(p.next, curSy); 223 - s1.Or(tab.allSyncSets); 224 - gen.WriteLine("ExpectWeak({0}, {1});", p.sym.n, NewCondSet(s1)); 225 - break; 226 - } 227 - case Node.any: { 228 - Indent(indent); 229 - gen.WriteLine("Get();"); 230 - break; 231 - } 232 - case Node.eps: break; // nothing 233 - case Node.rslv: break; // nothing 234 - case Node.sem: { 235 - CopySourcePart(p.pos, indent); 236 - break; 237 - } 238 - case Node.sync: { 239 - Indent(indent); 240 - GenErrorMsg(syncErr, curSy); 241 - s1 = (BitArray)p.set.Clone(); 242 - gen.Write("while (!("); GenCond(s1, p); gen.Write(")) {"); 243 - gen.Write("SynErr({0}); Get();", errorNr); gen.WriteLine("}"); 244 - break; 245 - } 246 - case Node.alt: { 247 - s1 = tab.First(p); 248 - bool equal = Sets.Equals(s1, isChecked); 249 - bool useSwitch = UseSwitch(p); 250 - if (useSwitch) { Indent(indent); gen.WriteLine("switch (la.kind) {"); } 251 - p2 = p; 252 - while (p2 != null) { 253 - s1 = tab.Expected(p2.sub, curSy); 254 - Indent(indent); 255 - if (useSwitch) { 256 - PutCaseLabels(s1); gen.WriteLine("{"); 257 - } else if (p2 == p) { 258 - gen.Write("if ("); GenCond(s1, p2.sub); gen.WriteLine(") {"); 259 - } else if (p2.down == null && equal) { gen.WriteLine("} else {"); 260 - } else { 261 - gen.Write("} else if ("); GenCond(s1, p2.sub); gen.WriteLine(") {"); 262 - } 263 - s1.Or(isChecked); 264 - //if (p2.sub.typ == Node.rslv) GenCode(p2.sub.next, indent + 1, s1); 265 - //else GenCode(p2.sub, indent + 1, s1); 266 - GenCode(p2.sub, indent + 1, s1); 267 - if (useSwitch) { 268 - Indent(indent); gen.WriteLine("\tbreak;"); 269 - Indent(indent); gen.WriteLine("}"); 270 - } 271 - p2 = p2.down; 272 - } 273 - Indent(indent); 274 - if (equal) { 275 - gen.WriteLine("}"); 276 - } else { 277 - GenErrorMsg(altErr, curSy); 278 - if (useSwitch) { 279 - gen.WriteLine("default: SynErr({0}); break;", errorNr); 280 - Indent(indent); gen.WriteLine("}"); 281 - } else { 282 - gen.Write("} "); gen.WriteLine("else SynErr({0});", errorNr); 283 - } 284 - } 285 - break; 286 - } 287 - case Node.iter: { 288 - Indent(indent); 289 - p2 = p.sub; 290 - gen.Write("while ("); 291 - if (p2.typ == Node.wt) { 292 - s1 = tab.Expected(p2.next, curSy); 293 - s2 = tab.Expected(p.next, curSy); 294 - gen.Write("WeakSeparator({0},{1},{2}) ", p2.sym.n, NewCondSet(s1), NewCondSet(s2)); 295 - s1 = new BitArray(tab.terminals.Count); // for inner structure 296 - if (p2.up || p2.next == null) p2 = null; else p2 = p2.next; 297 - } else { 298 - s1 = tab.First(p2); 299 - GenCond(s1, p2); 300 - } 301 - gen.WriteLine(") {"); 302 - GenCode(p2, indent + 1, s1); 303 - Indent(indent); gen.WriteLine("}"); 304 - break; 305 - } 306 - case Node.opt: 307 - //if (p.sub.typ == Node.rslv) s1 = tab.First(p.sub.next); 308 - //else s1 = tab.First(p.sub); 309 - s1 = tab.First(p.sub); 310 - Indent(indent); 311 - gen.Write("if ("); GenCond(s1, p.sub); gen.WriteLine(") {"); 312 - //if (p.sub.typ == Node.rslv) GenCode(p.sub.next, indent + 1, s1); 313 - //else GenCode(p.sub, indent + 1, s1); 314 - GenCode(p.sub, indent + 1, s1); 315 - Indent(indent); gen.WriteLine("}"); 316 - break; 317 - } 318 - if (p.typ != Node.eps && p.typ != Node.sem && p.typ != Node.sync) 319 - isChecked.SetAll(false); // = new BitArray(tab.terminals.Count); 320 - if (p.up) break; 321 - p = p.next; 322 - } 323 - } 324 - 325 - void GenTokens() { 326 - foreach (Symbol sym in tab.terminals) { 327 - if (Char.IsLetter(sym.name[0])) 328 - gen.WriteLine("\tconst int _{0} = {1};", sym.name, sym.n); 329 - } 330 - int i = 1; 331 - gen.WriteLine("\tpublic enum Terminals"); 332 - gen.WriteLine("\t{"); 333 - foreach (Symbol sym in tab.terminals) 334 - { 335 - if (Char.IsLetter(sym.name, 0)) 336 - { 337 - gen.Write("\t\t@{0} = {1}", sym.name, sym.n); 338 - gen.WriteLine((i++ < tab.terminals.Count) ? "," : ""); 339 - } 340 - } 341 - gen.WriteLine("\t}"); 342 - } 343 - 344 - void GenPragmas() { 345 - foreach (Symbol sym in tab.pragmas) { 346 - gen.WriteLine("\tconst int _{0} = {1};", sym.name, sym.n); 347 - } 348 - } 349 - 350 - void GenCodePragmas() { 351 - foreach (Symbol sym in tab.pragmas) { 352 - gen.WriteLine("\t\t\t\tif (la.kind == {0}) {{", sym.n); 353 - CopySourcePart(sym.semPos, 4); 354 - gen.WriteLine("\t\t\t\t}"); 355 - } 356 - } 357 - 358 - void GenProductions() { 359 - foreach (Symbol sym in tab.nonterminals) { 360 - curSy = sym; 361 - gen.Write("\tvoid {0}(", sym.name); 362 - CopySourcePart(sym.attrPos, 0); 363 - gen.WriteLine(") {"); 364 - CopySourcePart(sym.semPos, 2); 365 - GenCode(sym.graph, 2, new BitArray(tab.terminals.Count)); 366 - gen.WriteLine("\t}"); gen.WriteLine(); 367 - } 368 - } 369 - 370 - void InitSets() { 371 - for (int i = 0; i < symSet.Count; i++) { 372 - BitArray s = (BitArray)symSet[i]; 373 - gen.Write("\t\t{"); 374 - int j = 0; 375 - foreach (Symbol sym in tab.terminals) { 376 - if (s[sym.n]) gen.Write("T,"); else gen.Write("x,"); 377 - ++j; 378 - if (j%4 == 0) gen.Write(" "); 379 - } 380 - if (i == symSet.Count-1) gen.WriteLine("x}"); else gen.WriteLine("x},"); 381 - } 382 - } 383 - 384 - void OpenGen(bool backUp) { /* pdt */ 385 - try { 386 - string fn = tab.srcDir + "Parser.cs"; /* pdt */ 387 - if (File.Exists(fn) && backUp) File.Copy(fn, fn + ".old", true); 388 - gen = new StreamWriter(new FileStream(fn, FileMode.Create)); /* pdt */ 389 - } catch (IOException) { 390 - throw new FatalError("Cannot generate parser file"); 391 - } 392 - } 393 - 394 - public void WriteParser () { 395 - int oldPos = buffer.Pos; // Pos is modified by CopySourcePart 396 - symSet.Add(tab.allSyncSets); 397 - string fr = tab.srcDir + "Parser.frame"; 398 - if (!File.Exists(fr)) { 399 - if (tab.frameDir != null) fr = tab.frameDir.Trim() + Path.DirectorySeparatorChar + "Parser.frame"; 400 - if (!File.Exists(fr)) throw new FatalError("Cannot find Parser.frame"); 401 - } 402 - try { 403 - fram = new FileStream(fr, FileMode.Open, FileAccess.Read, FileShare.Read); 404 - } catch (IOException) { 405 - throw new FatalError("Cannot open Parser.frame."); 406 - } 407 - OpenGen(true); /* pdt */ 408 - err = new StringWriter(); 409 - foreach (Symbol sym in tab.terminals) GenErrorMsg(tErr, sym); 410 - 411 - CopyFramePart("-->begin"); 412 - if (!tab.srcName.ToLower().EndsWith("coco.atg")) { 413 - gen.Close(); OpenGen(false); /* pdt */ 414 - } 415 - if (usingPos != null) {CopySourcePart(usingPos, 0); gen.WriteLine();} 416 - CopyFramePart("-->namespace"); 417 - /* AW open namespace, if it exists */ 418 - if (tab.nsName != null && tab.nsName.Length > 0) { 419 - gen.WriteLine("namespace {0} {{", tab.nsName); 420 - gen.WriteLine(); 421 - } 422 - CopyFramePart("-->constants"); 423 - GenTokens(); /* ML 2002/09/07 write the token kinds */ 424 - gen.WriteLine("\tconst int maxT = {0};", tab.terminals.Count-1); 425 - GenPragmas(); /* ML 2005/09/23 write the pragma kinds */ 426 - CopyFramePart("-->declarations"); CopySourcePart(tab.semDeclPos, 0); 427 - CopyFramePart("-->pragmas"); GenCodePragmas(); 428 - CopyFramePart("-->productions"); GenProductions(); 429 - CopyFramePart("-->parseRoot"); gen.WriteLine("\t\t{0}();", tab.gramSy.name); 430 - CopyFramePart("-->initialization"); InitSets(); 431 - CopyFramePart("-->errors"); gen.Write(err.ToString()); 432 - CopyFramePart("$$$"); 433 - /* AW 2002-12-20 close namespace, if it exists */ 434 - if (tab.nsName != null && tab.nsName.Length > 0) gen.Write("}"); 435 - gen.Close(); 436 - buffer.Pos = oldPos; 437 - } 438 - 439 - public void WriteStatistics () { 440 - trace.WriteLine(); 441 - trace.WriteLine("{0} terminals", tab.terminals.Count); 442 - trace.WriteLine("{0} symbols", tab.terminals.Count + tab.pragmas.Count + 443 - tab.nonterminals.Count); 444 - trace.WriteLine("{0} nodes", tab.nodes.Count); 445 - trace.WriteLine("{0} sets", symSet.Count); 446 - } 447 - 448 - public ParserGen (Parser parser) { 449 - tab = parser.tab; 450 - errors = parser.errors; 451 - trace = parser.trace; 452 - buffer = parser.scanner.buffer; 453 - errorNr = -1; 454 - usingPos = null; 455 - } 456 - 457 - } // end ParserGen 458 - 459 - } // end namespace
+39 -69
PxCoco/PxCoco.csproj
··· 1 - <?xml version="1.0" encoding="utf-8"?> 2 - <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 1 + <Project Sdk="Microsoft.NET.Sdk"> 2 + 3 3 <PropertyGroup> 4 - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 5 - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 6 - <ProductVersion>8.0.50727</ProductVersion> 7 - <SchemaVersion>2.0</SchemaVersion> 8 - <ProjectGuid>{0E03FE08-AC1A-4E75-A823-4C674AFA13C3}</ProjectGuid> 9 4 <OutputType>Exe</OutputType> 10 - <AppDesignerFolder>Properties</AppDesignerFolder> 11 - <RootNamespace>PxCoco</RootNamespace> 12 - <AssemblyName>PxCoco</AssemblyName> 13 - <StartupObject> 14 - </StartupObject> 15 - </PropertyGroup> 16 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 17 - <DebugSymbols>true</DebugSymbols> 18 - <DebugType>full</DebugType> 19 - <Optimize>false</Optimize> 20 - <OutputPath>bin\</OutputPath> 21 - <DefineConstants>DEBUG;TRACE</DefineConstants> 22 - <ErrorReport>prompt</ErrorReport> 23 - <WarningLevel>4</WarningLevel> 24 - </PropertyGroup> 25 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 26 - <DebugType>none</DebugType> 27 - <Optimize>true</Optimize> 28 - <OutputPath>bin\</OutputPath> 29 - <DefineConstants>TRACE</DefineConstants> 30 - <ErrorReport>prompt</ErrorReport> 31 - <WarningLevel>4</WarningLevel> 5 + <TargetFramework>netcoreapp2.2</TargetFramework> 6 + <LangVersion>7.3</LangVersion> 32 7 </PropertyGroup> 33 - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 34 - <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 35 - Other similar extension points exist, see Microsoft.Common.targets. 36 - <Target Name="BeforeBuild"> 37 - </Target>--> 38 - <Target Name="AfterBuild"> 39 - <Copy SourceFiles="$(TargetPath)" DestinationFolder="$(ProjectDir)..\Tools" /> 40 - </Target> 41 - <ItemGroup> 42 - <Compile Include="Coco.cs" /> 43 - <None Include="OrigParserGen.cs" /> 44 - <Compile Include="DFA.cs" /> 45 - <Compile Include="Merge.cs" /> 46 - <Compile Include="Msbuild\MergeTask.cs" /> 47 - <Compile Include="Msbuild\PxCocoTask.cs" /> 48 - <Compile Include="Parser.Code.cs" /> 49 - <Compile Include="Parser.cs" /> 50 - <Compile Include="ParserGen.cs" /> 51 - <Compile Include="Scanner.cs" /> 52 - <Compile Include="Tab.cs" /> 53 - </ItemGroup> 54 - <ItemGroup> 55 - <None Include="Coco.atg"> 56 - <CopyToOutputDirectory>Always</CopyToOutputDirectory> 57 - </None> 58 - <None Include="Parser.frame"> 59 - <CopyToOutputDirectory>Always</CopyToOutputDirectory> 60 - </None> 61 - <None Include="Scanner.frame"> 62 - <CopyToOutputDirectory>Always</CopyToOutputDirectory> 63 - </None> 64 - </ItemGroup> 8 + 65 9 <PropertyGroup> 66 - <PostBuildEvent> 67 - </PostBuildEvent> 10 + <IsPackable>true</IsPackable> 11 + <IsTool>true</IsTool> 12 + <Version>1.91</Version> 13 + <Title>Prexonite Coco/R</Title> 14 + <PackageDescription>Coco/R is a compiler generator, which takes an attributed grammar of a source language and generates a scanner and a parser for this language. The scanner works as a deterministic finite automaton. The parser uses recursive descent. LL(1) conflicts can be resolved by a multi-symbol lookahead or by semantic checks. Thus the class of accepted grammars is LL(k) for an arbitrary k. The 'Prexonite' version is slightly modified and extended with MSBuild tasks.</PackageDescription> 15 + <Description>$(PackageDescription)</Description> 16 + <Copyright>Copyright (c) 1990, 2005 Hanspeter Moessenboeck, University of Linz 17 + extended by M. Loeberbauer &amp; A. Woess, Univ. of Linz 18 + with improvements by Pat Terry, Rhodes University. Prexonite extensions by Christian Klauser</Copyright> 19 + <IncludeSymbols>true</IncludeSymbols> 20 + <IncludeSource>true</IncludeSource> 21 + <SymbolPackageFormat>snupkg</SymbolPackageFormat> 22 + <RepositoryUrl>https://github.com/chklauser/prx.git</RepositoryUrl> 23 + <RepositoryType>git</RepositoryType> 24 + 25 + <Product>Prexonite</Product> 26 + <Company>$(Product)</Company> 27 + <NeutralLanguage>en-US</NeutralLanguage> 68 28 </PropertyGroup> 29 + 30 + <PropertyGroup> 31 + <PackageLicenseFile>LICENSE.txt</PackageLicenseFile> 32 + </PropertyGroup> 33 + 34 + <ItemGroup> 35 + <None Include="licenses\LICENSE.txt" Pack="true" PackagePath="" /> 36 + <Content Include="build\PxCoco.props" PackagePath="build\" /> 37 + </ItemGroup> 38 + 69 39 <ItemGroup> 70 - <Reference Include="Microsoft.Build.Framework" /> 71 - <Reference Include="Microsoft.Build.Utilities" /> 72 - <Reference Include="System" /> 73 - <Reference Include="System.Data" /> 74 - <Reference Include="System.Xml" /> 40 + <PackageReference Include="Microsoft.Build.Framework" Version="16.0.461" /> 41 + <PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.0.461" /> 42 + <!-- marks all packages as 'local only' so they don't end up in the nuspec --> 43 + <PackageReference Update="@(PackageReference)" PrivateAssets="All" /> 75 44 </ItemGroup> 76 - </Project> 45 + 46 + </Project>
+24 -7
PxCoco/PxCoco.sln
··· 1 1  2 - Microsoft Visual Studio Solution File, Format Version 9.00 3 - # Visual Studio 2005 4 - Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PxCoco", "PxCoco.csproj", "{0E03FE08-AC1A-4E75-A823-4C674AFA13C3}" 2 + Microsoft Visual Studio Solution File, Format Version 12.00 3 + # Visual Studio Version 16 4 + VisualStudioVersion = 16.0.29020.237 5 + MinimumVisualStudioVersion = 15.0.26124.0 6 + Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PxCoco", "PxCoco.csproj", "{A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}" 5 7 EndProject 6 8 Global 7 9 GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 10 Debug|Any CPU = Debug|Any CPU 11 + Debug|x64 = Debug|x64 12 + Debug|x86 = Debug|x86 9 13 Release|Any CPU = Release|Any CPU 14 + Release|x64 = Release|x64 15 + Release|x86 = Release|x86 10 16 EndGlobalSection 11 17 GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 - {0E03FE08-AC1A-4E75-A823-4C674AFA13C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 - {0E03FE08-AC1A-4E75-A823-4C674AFA13C3}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 - {0E03FE08-AC1A-4E75-A823-4C674AFA13C3}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 - {0E03FE08-AC1A-4E75-A823-4C674AFA13C3}.Release|Any CPU.Build.0 = Release|Any CPU 18 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Debug|x64.ActiveCfg = Debug|Any CPU 21 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Debug|x64.Build.0 = Debug|Any CPU 22 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Debug|x86.ActiveCfg = Debug|Any CPU 23 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Debug|x86.Build.0 = Debug|Any CPU 24 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Release|Any CPU.Build.0 = Release|Any CPU 26 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Release|x64.ActiveCfg = Release|Any CPU 27 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Release|x64.Build.0 = Release|Any CPU 28 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Release|x86.ActiveCfg = Release|Any CPU 29 + {A9AD8B78-FA8D-44A9-95D4-ADE80030DB0A}.Release|x86.Build.0 = Release|Any CPU 16 30 EndGlobalSection 17 31 GlobalSection(SolutionProperties) = preSolution 18 32 HideSolutionNode = FALSE 33 + EndGlobalSection 34 + GlobalSection(ExtensibilityGlobals) = postSolution 35 + SolutionGuid = {3A5543EE-73FF-4D54-9B74-1C2270B63FDE} 19 36 EndGlobalSection 20 37 EndGlobal
+17
PxCoco/build/PxCoco.props
··· 1 + <Project TreatAsLocalProperty="TaskAssembly"> 2 + 3 + <!-- This property file gets loaded into projects that install this NuGet package. --> 4 + 5 + <PropertyGroup> 6 + <!-- For cross-platform compatibiliy, .NET Core 'executable' are packaged as a 'dll'. 7 + Shipping the naked assembly is portable, shipping a Windows PE-file with 8 + Windows-specific framework initialization code would not be portable. 9 + 10 + This tool can be run via `dotnet PxCoco.dll` (on all platforms) 11 + --> 12 + <TaskAssembly>$(MSBuildThisFileDirectory)..\tools\PxCoco.dll</TaskAssembly> 13 + </PropertyGroup> 14 + 15 + <UsingTask TaskName="Merge" AssemblyFile="$(TaskAssembly)" /> 16 + <UsingTask TaskName="PxCoco" AssemblyFile="$(TaskAssembly)" /> 17 + </Project>
+24
PxCoco/licenses/LICENSE.txt
··· 1 + Compiler Generator Coco/R, 2 + Copyright (c) 1990, 2005 Hanspeter Moessenboeck, University of Linz 3 + extended by M. Loeberbauer & A. Woess, Univ. of Linz 4 + with improvements by Pat Terry, Rhodes University 5 + 6 + This program is free software; you can redistribute it and/or modify it 7 + under the terms of the GNU General Public License as published by the 8 + Free Software Foundation; either version 2, or (at your option) any 9 + later version. 10 + 11 + This program is distributed in the hope that it will be useful, but 12 + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 13 + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 + for more details. 15 + 16 + You should have received a copy of the GNU General Public License along 17 + with this program; if not, write to the Free Software Foundation, Inc., 18 + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 + 20 + As an exception, it is allowed to write an extension of Coco/R that is 21 + used as a plugin in non-free software. 22 + 23 + If not otherwise stated, any source code generated by Coco/R (other than 24 + Coco/R itself) does not fall under the GNU General Public License.
+36
PxCoco/pxcoco-azure-ci-pipeline.yaml
··· 1 + # .NET Desktop 2 + # Build and run tests for .NET Desktop or Windows classic desktop solutions. 3 + # Add steps that publish symbols, save build artifacts, and more: 4 + # https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net 5 + 6 + trigger: 7 + batch: true 8 + branches: 9 + include: 10 + - '*' 11 + paths: 12 + include: 13 + - PxCoco/* 14 + 15 + pool: 16 + vmImage: 'windows-latest' 17 + 18 + variables: 19 + solution: 'PxCoco/PxCoco.sln' 20 + buildPlatform: 'Any CPU' 21 + buildConfiguration: 'Release' 22 + 23 + steps: 24 + - task: NuGetToolInstaller@0 25 + 26 + - task: NuGetCommand@2 27 + inputs: 28 + restoreSolution: '$(solution)' 29 + 30 + - task: VSBuild@1 31 + inputs: 32 + solution: '$(solution)' 33 + platform: '$(buildPlatform)' 34 + configuration: '$(buildConfiguration)' 35 + 36 + # There are no automated tests for PxCoco.
+57
PxCoco/pxcoco-azure-release-pipeline.yaml
··· 1 + # .NET Desktop 2 + # Build and run tests for .NET Desktop or Windows classic desktop solutions. 3 + # Add steps that publish symbols, save build artifacts, and more: 4 + # https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net 5 + 6 + trigger: 7 + tags: 8 + include: 9 + - 'pxcoco/v.*' 10 + 11 + pool: 12 + vmImage: 'windows-2019' 13 + 14 + variables: 15 + buildConfiguration: 'Release' 16 + Version: '$(Build.BuildNumber)' 17 + 18 + steps: 19 + - displayName: "Install .NET Core" 20 + task: DotNetCoreInstaller@0 21 + inputs: 22 + version: '2.2.300' 23 + 24 + - powershell: | 25 + $ver = $env:BUILD_SOURCEBRANCH.remove(0, 9) 26 + Write-Host "##vso[task.setvariable variable=Version]$ver" 27 + displayName: 'Update version to Tag' 28 + condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/')) 29 + 30 + - displayName: "Restore NuGet packages" 31 + task: DotNetCoreCLI@2 32 + inputs: 33 + command: restore 34 + projects: 'PxCoco/PxCoco.sln' 35 + 36 + - displayName: "Build" 37 + task: DotNetCoreCLI@2 38 + inputs: 39 + command: build 40 + projects: 'PxCoco/PxCoco.sln' 41 + buildProperties: Version=$(Version) 42 + 43 + # There are no automated tests for PxCoco. 44 + 45 + - displayName: "Package" 46 + task: DotNetCoreCLI@2 47 + inputs: 48 + command: pack 49 + projects: 'PxCoco/PxCoco.csproj' 50 + nobuild: true 51 + configurationToPack: $(BuildConfiguration) 52 + buildProperties: Version=$(Version) 53 + 54 + - task: PublishPipelineArtifact@0 55 + inputs: 56 + artifactName: 'binaries' 57 + targetPath: '$(Build.ArtifactStagingDirectory)'
+4
azure-pipelines.yml
··· 4 4 # https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net 5 5 6 6 trigger: 7 + batch: true 7 8 branches: 8 9 include: 9 10 - '*' 11 + paths: 12 + exclude: 13 + - PxCoco/* 10 14 11 15 pool: 12 16 vmImage: 'windows-latest'
+37
prx.sln
··· 1 +  2 + Microsoft Visual Studio Solution File, Format Version 12.00 3 + # Visual Studio Version 16 4 + VisualStudioVersion = 16.0.29020.237 5 + MinimumVisualStudioVersion = 15.0.26124.0 6 + Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prexonite", "Prexonite\Prexonite.csproj", "{F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}" 7 + EndProject 8 + Global 9 + GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 + Debug|Any CPU = Debug|Any CPU 11 + Debug|x64 = Debug|x64 12 + Debug|x86 = Debug|x86 13 + Release|Any CPU = Release|Any CPU 14 + Release|x64 = Release|x64 15 + Release|x86 = Release|x86 16 + EndGlobalSection 17 + GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Debug|x64.ActiveCfg = Debug|Any CPU 21 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Debug|x64.Build.0 = Debug|Any CPU 22 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Debug|x86.ActiveCfg = Debug|Any CPU 23 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Debug|x86.Build.0 = Debug|Any CPU 24 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Release|Any CPU.Build.0 = Release|Any CPU 26 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Release|x64.ActiveCfg = Release|Any CPU 27 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Release|x64.Build.0 = Release|Any CPU 28 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Release|x86.ActiveCfg = Release|Any CPU 29 + {F640F74B-83F0-4FE8-98D7-9A5BB76E1AC9}.Release|x86.Build.0 = Release|Any CPU 30 + EndGlobalSection 31 + GlobalSection(SolutionProperties) = preSolution 32 + HideSolutionNode = FALSE 33 + EndGlobalSection 34 + GlobalSection(ExtensibilityGlobals) = postSolution 35 + SolutionGuid = {220D449D-6157-4516-B2C2-E7A025F2C7CA} 36 + EndGlobalSection 37 + EndGlobal