//----------------------------------------------------------------------- //----------------------------------------------------------------------- // file="Program.cs" // Project: StgSharp // AuthorGroup: Nitload Space // Copyright (c) Nitload Space. All rights reserved. // // Permission is hereby granted, free of charge, to any person // obtaining a copy of this software and associated documentation // files (the “Software”), to deal in the Software without restriction, // including without limitation the rights to use, copy, modify, merge, // publish, distribute, sublicense, and/or sell copies of the Software, // and to permit persons to whom the Software is furnished to do so, // subject to the following conditions: // // The above copyright notice and // this permission notice shall be included in all copies // or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED “AS IS”, // WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, // ARISING FROM, OUT OF OR IN CONNECTION WITH // THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // //----------------------------------------------------------------------- //----------------------------------------------------------------------- using StgSharp.Collections; using StgSharp.Controlling.UsrActivity; using StgSharp.Geometries; using StgSharp.Graphics; using StgSharp.Math; using StgSharp.MVVM; using StgSharp.MVVM.ViewModel; using StgSharp.Script; using StgSharp.Script.Express; using System; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.Intrinsics; using System.Runtime.Intrinsics.X86; using System.Xml.XPath; namespace StgSharp { internal static class Program { private static string testExpPath = @"D:\Programmer\stepcode\data\ap203\ap203.exp"; internal static unsafe void Main( string[] args ) { try { StgSharp.Init(); ExpCompile.InitCompile(); ExpFileSource reader = new ExpFileSource( testExpPath ); ExpSchemaSource schemaSource = new ExpSchemaSource(); schemaSource.ReadSchema( reader ); ScriptSourceTransmitter st = new ScriptSourceTransmitter( "end", 0 ); for( int i = 0; i < 10; i++ ) { string str = $"rawCode () (\"\") {i}"; Console.WriteLine( str ); st.WriteLine( str ); } for( int i = 0; i < 10; i++ ) { string str = $"Code{i} {new string(' ', i + 1)}-- Comment{i}"; Console.WriteLine( str ); st.WriteLine( str ); } st.WriteLine( "CodeBef (* comment" ); st.WriteLine( $"comment *) codeAft" ); Console.WriteLine( "CodeBef (* comment_" ); Console.WriteLine( $"_comment *) codeAft" ); for( int i = 0; i < 10; i++ ) { string str = $" Code{i} (* (* Comment{i} *) *) Code{i}"; Console.WriteLine( str ); st.WriteLine( str ); } st.WriteLine( "end" ); ExpSourceReader sr = new ExpSourceReader( st ); int count = 0; while( !sr.IsEmpty ) { count++; Token str = sr.ReadToken(); Console.WriteLine( $"{count}\t{str.Flag}\t\t{str.Value.ToString()}" ); } IScriptSourceProvider slice = st.Slice( 5, 2 ); /* StgSharp.InitGL( 4, 6 ); StgSharp.GlobalSetting.VSyncActivated = false; ViewPort vp = new ViewPort(800,600,"Hello StgSharp!",IntPtr.Zero); //throw new NotImplementedException(); var mul = new StringHashMultiplexer(); IEqualityComparer com = (IEqualityComparer)mul; string str = "1234567012345670"; for (int i = 1; i < 100; i++) { str += $"{(i%8)}"; int hash = mul.ForceComputeHash(str); Thread.Sleep(20); } ViewModelBase mainModel = new ViewModelMain( vp ); mainModel.CreateAndBindView( "MainView", (1, 1, 1) ); mainModel.UseViewModel( "MainView" ); StgSharp.Terminate(); /**/ return; } catch( Exception ) { throw; /* StgSharp.WriteLog($"{ex}", LogType.Error); if( true ) { } Dialogue.PostError( ex ); /**/ Environment.Exit( -1 ); /**/ } finally { } } } }