Ja, Timosch, sowas ähnliches kenn ich aus dem Studium(Irgendein Pseudocode mit goto), hat mir auch sauer aufgestoßen. Nun ja.
Wenn ich das richtig sehe, ist a<b zum Beispiel nicht erlaubt weil nur Vergleiche mit 0 erlaubt sind. Effektiv musst du also auf (b-a)>0 umformen, ob man so abfragen darf, weiß ich nicht, kann sein, du musst (Zweiadressform)
c:=b; c:=c-a; if c>0 then schreiben. Genauso b). bei c würde ich sagen, das ist Dreiadressform, aber durch / entsteht evtl eine Kommazahl und in RePas gibt's nur Integer, es muss also Div genutzt werden.
d) Würde ich sagen, dass das 2 Operatoren sind, der Vorzeichenwechsel- und der Additionsoperator, das darf man ja nicht. Ausserdem wieder Dreiadressform.
genauso e).
f) ist ein Prozedurenaufruf und ein Operator, das muss man wohl trennen.
etc... (ja, ich drücke mich um die g), weil ich die Begründung nicht kenne

(
h1 := g[b]; a := f[h1] )
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.