3 ms·
> You can't write a BNF for it because its syntax depends on what program you're trying to control. More importantly it AppleScript operates on sending and rec
by giantrobot 3y ago
> You can't write a BNF for it because its syntax depends on what program you're trying to control.
More importantly it AppleScript operates on sending and receiving messages from those external programs and thus has no insight into their current state/progress unless it's specifically communicated back to AppleScript.
Many programs would just return back to AppleScript immediately after getting a command even if the operation requested took a lot of time. There was no way to register callbacks (at least no obvious way) so you had to put in boilerplate to check for a file at a location to know when a long running process was complete.
The challenge level between writing any two scripts could vary wildly. A program's script dictionary might technically allow you to write a script but actually making it workable or reliable was fantastic amounts of effort.