Determine if a dot(comma) program halts
Python 3, 215 bytes

m,v,*d=-1,[],
L,*l=0,
for c in input():
&#9;if c&gt;"[":a=v.pop();l.pop()*a and exit(1);d.pop();d or exit(0);v[m]=v[m]*(d[m]%2)+a;d[m]=1
&#9;elif c&gt;"Z":l+=[L and v[m]];v+=0,;d+=0,
&#9;else:v[m]=v[m]if d[m]else 1;d[m]=2
&#9;L=c&lt;"A"

Try it online!
Exit code 0 if it will halt, 1 otherwise.
This is just a naive implementation of the interpreter, but golfed down. Here's a ungolfed version with debug output.
+12 bytes to fix a bug
-8 bytes thanks to Unrelated String