(Experimental): implemented IPT composite images.

use LEX/YACC to parse IPT files.
This commit is contained in:
morkt
2019-01-28 19:37:14 +04:00
parent e0114ad91d
commit 14a94d20f1
12 changed files with 2907 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GameRes.Formats.Artemis
{
internal partial class IPTScanner
{
void GetNumber()
{
yylval.n = int.Parse (yytext);
yylval.s = null;
}
void GetStringLiteral ()
{
yylval.s = yytext.Substring (1, yytext.Length-2);
}
public override void yyerror (string format, params object[] args)
{
base.yyerror (format, args);
if (args.Length > 0)
throw new YYParseException (string.Format (format, args));
else
throw new YYParseException (format);
}
}
public class YYParseException : Exception
{
public YYParseException (string message) : base (message)
{
}
}
}