Wack0/IFPSTools.NET

Says trouble parsing a decimal, the php script works fine

Closed this issue · 6 comments

Thanks for making this program, it usually works well, but in this case php script works fine but yours gives the below error, I attached the CompiledCode.bin to this issue.

Unhandled Exception: System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
   at IFPSLib.TypedData.Load(BinaryReader br, Script script) in F:\git\IFPSTools.NET\IFPSLib\TypedData.cs:line 99
   at IFPSLib.Emit.Operand.LoadValue(BinaryReader br, Script script, ScriptFunction function) in F:\git\IFPSTools.NET\IFPSLib\Emit\Operand.cs:line 145
   at IFPSLib.Emit.Instruction.Load(BinaryReader br, Script script, ScriptFunction function) in F:\git\IFPSTools.NET\IFPSLib\Emit\Instruction.cs:line 421
   at IFPSLib.Emit.ScriptFunction.LoadInstructions(BinaryReader br, Script script) in F:\git\IFPSTools.NET\IFPSLib\Emit\ScriptFunction.cs:line 71
   at IFPSLib.Script.LoadCore(BinaryReader br) in F:\git\IFPSTools.NET\IFPSLib\Script.cs:line 130
   at IFPSLib.Script.LoadCore(Stream stream, Boolean leaveOpen) in F:\git\IFPSTools.NET\IFPSLib\Script.cs:line 69
   at IFPSLib.Script.<LoadAsync>d__20.MoveNext() in F:\git\IFPSTools.NET\IFPSLib\Script.cs:line 156
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at IFPSLib.Script.Load(Stream stream) in F:\git\IFPSTools.NET\IFPSLib\Script.cs:line 146
   at ifpsdasm.Program.Main(String[] args) in F:\git\IFPSTools.NET\ifpsdasm\Program.cs:line 27

CompiledCode.zip

Wack0 commented

This is a known bug, fixed in my branch already. I've been working on a C compiler targeting IFPS though, so haven't been able to merge yet.

Wack0 commented

Should be fixed in v2.0

The released binary of 2.0 at least for me has the following error, maybe it has stale files or a manifest/config requiring update?

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Cysharp.Collections.NativeMemoryArray`1' threw an exception. ---> 
System.IO.FileLoadException: Could not load file or assembly 'System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 
or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
   at Cysharp.Collections.NativeMemoryArray`1..ctor(Int64 length, Boolean skipZeroClear, Boolean addMemoryPressure)
   at Cysharp.Collections.NativeMemoryArray`1..cctor()
   --- End of inner exception stack trace ---
   at Cysharp.Collections.NativeMemoryArray`1..ctor(Int64 length, Boolean skipZeroClear, Boolean addMemoryPressure)
   at IFPSLib.Script.<LoadAsync>d__20.MoveNext() in F:\git\IFPSTools.NET\IFPSLib\Script.cs:line 151
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at IFPSLib.Script.Load(Stream stream) in F:\git\IFPSTools.NET\IFPSLib\Script.cs:line 146
   at ifpsdasm.Program.Main(String[] args) in F:\git\IFPSTools.NET\ifpsdasm\Program.cs:line 27

same here

Wack0 commented

Yay for dependency version collisions (and I thought DLL hell was a 1990s thing!)

v2.0.1 released, the binaries in this archive should work fine.

Everything works, disassembles without Exception errors, thanks for the update!