摘要

在Prolog程序分析中,考虑程序的执行路径和非逻辑的cut操作可提高程序分析的精度。当前用于Prolog程序路径依赖分析的语义因依赖于程序执行的目标而不适合目标独立的程序分析。为此,本文采用了一种携带路径信息并允许cut操作的Prolog抽象语法,在此基础上给出了Prolog的操作语义和一种目标独立的标号树(LT)语义,并证明了LT语义相对于操作语义的正确性。LT语义可作为目标独立的Prolog程序路径依赖分析的基础。