EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",g,h,i,j,l
Macro U
Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z,o=1)
If o
PrintN(z)
W
Print(#LF$+#LF$+"Press ENTER to exit")
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
g=U
If g
OpenFile(1,g)
Repeat
i+ReadString(1)
Until Eof(1)
Else
h=U
While h
i+h
h=U
Wend
W
b=0
For m=1 To Len(i)
j=Mid(i,m,1)
If FindString(e,j)
c+j
n=Asc(j)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If l=""
l=U
W
k(f)=PeekA(@l)
l=Mid(l,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("",0)
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",g,h,i,j
Macro U
Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z,o=1)
If o
PrintN(z)
W
Print(#LF$+#LF$+"Press ENTER to exit")
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
g=U
If g
OpenFile(1,g)
Repeat
i+ReadString(1)
Until Eof(1)
Else
h=U
While h
i+h
h=U
Wend
W
b=0
For m=1 To Len(i)
j=Mid(i,m,1)
If FindString(e,j)
c+j
n=Asc(j)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
c=U
W
k(f)=PeekA(@c)
c=Mid(c,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("",0)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Ich weiß schon wie Makros funktionieren. Im Endeffekt scheiterts also daran, dass der Compiler zu intelligent ist und erkennt, dass ich ein EndMacro basteln will. Wieso kann er nicht einfach stumpf nach nem EndMacro suchen, anstatt die "variable" einzusetzen und dann auf EndMacro zu überprüfen
EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",h,i,j
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z,o=1)
If o
PrintN(z)
W
Print(#LF$+#LF$+"Press ENTER to exit")
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
j=Mid(i,m,1)
If FindString(e,j)
c+j
n=Asc(j)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
c=h
W
k(f)=PeekA(@c)
c=Mid(c,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("",0)
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",h,i
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z,o=1)
If o
PrintN(z)
W
Print(#LF$+#LF$+"Press ENTER to exit")
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
h=Mid(i,m,1)
If FindString(e,h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("",0)
EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",h,i
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z)
PrintN(z)
Print(#LF$+#LF$+"Press ENTER to exit")
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
h=Mid(i,m,1)
If FindString(e,h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Relevant ist nur der zuletzt gepostete, welcher funktioniert und die wenigsten Zeichen enthält, ist also Okay so!
Sollte 24 Stunden keine kürzere Version gepostet werden, haben wir den Sieger. Mit jedem neuen Code fängt die Uhr
also von vorne an zu ticken
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",h,i
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z)
Print(z+#LF$+#LF$+#LF$+"Press ENTER to exit")
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
h=Mid(i,m,1)
If FindString(e,h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")
EnableExplicit
Global d=9,f,b,m,n
Global.s c,e="+-<>.,[]",h,i
Macro U
h=Input()
EndMacro
Macro V
Case
EndMacro
Macro W
EndIf
EndMacro
Macro Z(a)
b=a
Repeat
m+a
n=PeekA(@c+m-1)
b+(n/90)*(92-n)
Until b=0
EndMacro
Macro B(z)
Print(z+RSet("Press ENTER to exit",22,#LF$))
U
End
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If h
OpenFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
b=0
For m=1 To Len(i)
h=Mid(i,m,1)
If FindString(e,h)
c+h
n=Asc(h)
b+(n/90)*(92-n)
W
Next
If b
B("Uneven brackets")
W
Dim k(d)
For m=1 To Len(c)
Select PeekA(@c+m-1)-40
V 3
k(f)+1
V 5
k(f)-1
V 6
Print(Chr(k(f)))
V 4
If c=""
U
W
k(f)=PeekA(@h)
h=Mid(h,2)
V 22
f+1
If f>d
d+d
ReDim k(d)
W
V 20
f-1
If f<0
B("Memory pointer out of range")
W
V 51
If k(f)=0
Z(1)
W
V 53
If k(f)
Z(-1)
W
EndSelect
Next
B("")