--- a/m2pp.mod
+++ b/m2pp.mod
@@ -49,6 +49,7 @@
(* IF-Block nicht verarbeitet wird wenn umgebende Block *)
(* auch nicht verarbeitet werden soll !!! *)
(* 26.09.16, MRi: Usage eingefuegt *)
+ (* 03.02.19, MRi: Usage erweitert *)
(*-------------------------------------------------------------------------*)
(* Offene Punkte *)
(* *)
@@ -65,7 +66,7 @@
(* Licence : GNU General Public License (GPL) *)
(*-------------------------------------------------------------------------*)
- (* $Id: m2pp.mod,v 1.6 2016/09/26 21:26:22 mriedl Exp mriedl $ *)
+ (* $Id: m2pp.mod,v 1.8 2019/02/03 09:32:38 mriedl Exp mriedl $ *)
FROM ArgAccess IMPORT GetArgCount,GetArgument;
IMPORT Errors;
@@ -88,8 +89,15 @@
BEGIN
WLn; WLn;
- WSt("Benutzung: m2pp {-d} {-b} -D opt1 {- D opt2} -U opt3 {-U opt4}");
+ WSt(" Usage: m2pp {-d} {-b} -D opt1 {- D opt2} -U opt3 {-U opt4}");
WSt(" < input > output"); WLn; WLn;
+ WLn;
+ WSt(" -d : debug output (useless for 'normal' user"); WLn;
+ WSt(" -b : replace unused code by blank lines"); WLn;
+ WSt(" (otherwise more readable code is generated)"); WLn;
+ WSt(" -D : define compilation option"); WLn;
+ WSt(" -U : undefine compilation option"); WLn;
+ WLn;
Errors.FatalError("Programm abgebrochen !");
END Usage;
@@ -230,7 +238,7 @@
PROCEDURE IsPragmaLine(Line : ARRAY OF CHAR) : BOOLEAN;
(*----------------------------------------------------------------*)
- (* Check if Line contains a start pragma "<*" *)
+ (* Check if Line contains a start pragma "<\*" *)
(*----------------------------------------------------------------*)
CONST startcomment = "(*";
@@ -255,7 +263,7 @@
* i:=0;
* REPEAT
* comment:=Strings.Equal(startcomment,Tokens[i]);
- * found:=Strings.Equal("<*",Tokens[i]);
+ * found:=Strings.Equal("<\*",Tokens[i]);
* INC(i);
* UNTIL found OR (i >= ntok) OR comment;
* starttok := i-1;
@@ -374,33 +382,35 @@
(* Skip nested IF-Blocks, even if themsefe nested *)
-CONST debug = FALSE;
+ CONST debug = FALSE;
VAR openif : CARDINAL; (* Buchhaltung IF-Bloecke *)
BEGIN
openif:=OpenIF + 1;
-IF debug THEN
- WSt("Start SkipNestedBlocks ... ");
- WSt("# openif = "); WrC(openif); WLn;
-END;
+ IF debug THEN
+ WSt("Start SkipNestedBlocks ... ");
+ WSt("# openif = "); WrC(openif); WLn;
+ END;
LOOP
ReadLine(Ein,Line);
- IF EOF THEN RETURN; END; (* Das sollte nicht vorkommen ! *)
+ IF EOF THEN RETURN; END; (* Das sollte nicht vorkommen ! *)
INC(LineNo);
-IF debug THEN
- WrC(LineNo); WSt(" SkipNB ... "); WriteLine(StdErr,Line); WLn;
-END;
- IF (IsPragmaLine(Line)) THEN (* inklusive Zerlegung in Token *)
+ IF debug THEN
+ WrC(LineNo); WSt(" SkipNB ... ");
+ WriteLine(StdErr,Line); WLn;
+ END;
+ IF (IsPragmaLine(Line)) THEN
+ (* inklusive Zerlegung in Token *)
IF (Strings.Equal(Tokens[1],"IF") ) THEN
INC(openif);
-IF debug THEN
- WSt("+ openif = "); WrC(openif); WLn;
-END;
+ IF debug THEN
+ WSt("+ openif = "); WrC(openif); WLn;
+ END;
ELSIF (Strings.Equal(Tokens[1],"END")) THEN
DEC(openif);
-IF debug THEN
- WSt("- openif = "); WrC(openif); WLn;
-END;
+ IF debug THEN
+ WSt("- openif = "); WrC(openif); WLn;
+ END;
IF (openif = OpenIF) THEN
(* Jetzt haben wir den eingebetteten Block verarbeitet *)
WrEmptyLn(Aus);
@@ -410,10 +420,10 @@
END;
WrEmptyLn(Aus);
END;
-IF debug THEN
- WSt("& openif = "); WrC(openif); WLn;
- WSt("... Ende SkipNestedBlocks");
-END;
+ IF debug THEN
+ WSt("& openif = "); WrC(openif); WLn;
+ WSt("... Ende SkipNestedBlocks");
+ END;
END SkipNestedBlocks;
VAR isDef : BOOLEAN;
@@ -427,7 +437,7 @@
isDef:=EvaluateExpression();
- WrEmptyLn(Aus); (* replace <* IF ... *)
+ WrEmptyLn(Aus); (* replace <\* IF ... *)
LOOP (* Sicher noch nicht korrekt *)
rekursion:=FALSE;