Browse Source

EncStdMaps: error fixed in generator for DBCS decoders

Alexander Shiryaev 12 years ago
parent
commit
b7637b2709

+ 2 - 1
BlackBox/Enc/Mod/StdMap_cp936.txt

@@ -7984,7 +7984,8 @@ MODULE EncStdMap_cp936;
 				| 81H..0FEH: d.b := 256 * x; INC(d.st)
 				ELSE d.st := -1; RETURN END
 			| 1:
-				CASE x + d.b OF
+				x := x + d.b;
+				CASE x OF
 				| 0E8FBH: y := 68FCH
 				| 0E9C3H: y := 69CAH
 				| 0D3F5H: y := 5401H

+ 2 - 1
BlackBox/Enc/Mod/StdMap_cp949.txt

@@ -7077,7 +7077,8 @@ MODULE EncStdMap_cp949;
 				| 81H..0C8H,0CAH..0FDH: d.b := 256 * x; INC(d.st)
 				ELSE d.st := -1; RETURN END
 			| 1:
-				CASE x + d.b OF
+				x := x + d.b;
+				CASE x OF
 				| 0B7A5H,0B7A6H: y := 03H + x
 				| 0B7A7H..0B7A9H: y := 04H + x
 				| 0DCE7H,0DCE8H: y := -7FF8H + x

+ 2 - 1
BlackBox/Enc/Mod/StdMap_kps9566.txt

@@ -8202,7 +8202,8 @@ MODULE EncStdMap_kps9566;
 				| 81H..0FEH: d.b := 256 * x; INC(d.st)
 				ELSE d.st := -1; RETURN END
 			| 1:
-				CASE x + d.b OF
+				x := x + d.b;
+				CASE x OF
 				| 0B4C0H: y := 0B4C0H
 				| 0F0ACH,0FAAEH: y := -7FFFH + x
 				| 0B4C1H: y := 0B4C4H

+ 2 - 1
BlackBox/Enc/Mod/gen-StdMaps/gen1.py

@@ -158,7 +158,8 @@ def gen (modName, r, head, head0=None):
 
 		decS.append('\t\t\t\tELSE d.st := -1; RETURN END')
 		decS.append('\t\t\t| 1:')
-		decS.append('\t\t\t\tCASE x + d.b OF')
+		decS.append('\t\t\t\tx := x + d.b;')
+		decS.append('\t\t\t\tCASE x OF')
 
 		o = opt1(r, 2)
 		for k, v in o.iteritems():