| |
|
|
p.specht
| |
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 04.07.2021 ▲ |
|
|
|
|
Sven Bader | Gracias para el Presentación! Yo habe lo todavía verfeinert, Klammern en Zeichenketten y Kommentaren voluntad ignoriert. Als Nebenprodukt voluntad así auch todavía offene Zeichenketten como Fehler erkannt.
Proc BracketBalance
Parámetros line$
Declarar c$, u&, d&, str%
WhileLoop len(line$)
c$ = mid$(line$,&Loop,1)
caso (c$ = "\q") : str% = If(str% = 0, 1, 0)
If (str% = 0)'sólo si no en uno Zeichenkette
If (c$ = "'") AND (str% = 0)'en Kommentar es Schluss
romper
EndIf
caso (c$ = "(") : inc u&
caso (c$ = ")") : inc d&
EndIf
EndWhile
'0 = ok, 1 = Klammern unausgewogen, 2 = Zeichenkette no gschlossen, 3 = beides kaputt
volver (if(u& <> d&,1,0) + if(str% = 1, 2, 0))
ENDPROC
declarar s1$, s2$, s3$, s4$
s1$ = "Das es una (\qguter\q) Test! 'con Kommentar :-)"
s2$ = "Das es una (\qguter) Test! 'con Kommentar :-)"
s3$ = "Das es una (\qguter\q Test! 'con Kommentar :-)"
s4$ = "Das es una (guter) \qTest! 'con Kommentar :-)"
imprimir BracketBalance(s1$) + " " + s1$'0 = ok
imprimir BracketBalance(s2$) + " " + s2$'3 = beides kaputt (Klammer sólo porque zweite ausversehen en Zeichenkette)
imprimir BracketBalance(s3$) + " " + s3$'1 = Klammern unausgewogen
imprimir BracketBalance(s4$) + " " + s4$'2 = Zeichenkette no gschlossen
waitinput
end
|
|
|
| |
|
|