--- a/hedgewars/options.inc Sat May 12 23:55:09 2012 +0400
+++ b/hedgewars/options.inc Sun May 13 00:40:01 2012 +0400
@@ -77,3 +77,4 @@
{$ENDIF}
{$DEFINE _S:=}
+{$DEFINE _P:=}
--- a/hedgewars/pas2c.h Sat May 12 23:55:09 2012 +0400
+++ b/hedgewars/pas2c.h Sun May 13 00:40:01 2012 +0400
@@ -49,7 +49,7 @@
typedef LongInt * PLongInt;
typedef LongWord * PLongWord;
typedef Integer * PInteger;
-typedef int * PtrInt;
+typedef int PtrInt;
#ifdef __GNUG__
#define NULL __null
--- a/tools/PascalParser.hs Sat May 12 23:55:09 2012 +0400
+++ b/tools/PascalParser.hs Sun May 13 00:40:01 2012 +0400
@@ -357,6 +357,7 @@
, float pas >>= return . FloatLiteral . show
, natural pas >>= return . NumberLiteral . show
, try (string "_S" >> stringLiteral pas) >>= return . StringLiteral
+ , try (string "_P" >> stringLiteral pas) >>= return . PCharLiteral
, stringLiteral pas >>= return . strOrChar
, try (string "#$") >> many hexDigit >>= \c -> comments >> return (HexCharCode c)
, char '#' >> many digit >>= \c -> comments >> return (CharCode c)
--- a/tools/PascalUnitSyntaxTree.hs Sat May 12 23:55:09 2012 +0400
+++ b/tools/PascalUnitSyntaxTree.hs Sun May 13 00:40:01 2012 +0400
@@ -61,6 +61,7 @@
| PostfixOp String Expression
| BinOp String Expression Expression
| StringLiteral String
+ | PCharLiteral String
| CharCode String
| HexCharCode String
| NumberLiteral String