昔々にソースコードチェッカーを作ったときに調べた限りでは、以下のような感じでした。 BASICは命令と式を明確に区別します。式が出てくるのは、基本的に命令の後かカンマの後なので、そのタイミングで出てきた不明な名前は常に変数名か関数名と解釈されます。そのため、?Aが?:Aと解釈されることはありません。(命令の後なので) 命令が来るはずの箇所なら、後ろに"="か"["がある場合にだけ変数名と解釈し、それ以外は命令だとみなします。