RosettaCodeData/Task/Balanced-brackets/AWK/balanced-brackets.awk

22 lines
343 B
Awk
Raw Permalink Normal View History

2013-04-10 12:38:42 -07:00
#!/usr/bin/awk -f
BEGIN {
print isbb("[]")
print isbb("][")
print isbb("][][")
print isbb("[][]")
print isbb("[][][]")
print isbb("[]][[]")
}
function isbb(x) {
2014-01-17 05:32:22 +00:00
s = 0
2013-04-10 12:38:42 -07:00
for (k=1; k<=length(x); k++) {
2014-01-17 05:32:22 +00:00
c = substr(x,k,1)
if (c=="[") {s++}
else { if (c=="]") s-- }
2013-04-10 12:38:42 -07:00
2014-01-17 05:32:22 +00:00
if (s<0) {return 0}
2013-04-10 12:38:42 -07:00
}
2014-01-17 05:32:22 +00:00
return (s==0)
2013-04-10 12:38:42 -07:00
}