/simple-program-verifier

Thread safty verifier of simple programs written in Prolog.

Primary LanguageProlog

Thread-safty verifier

Thread safty verifier of simple programs.

Project structure

Grammar of simple programs

Exp         ::=  ExpVal | ExpVal ExpOper ExpVal
ExpVal      ::=  number | Variable
Variable    ::=  ident | arr(ident, Exp)
ExpOper     ::=  + | - | * | /
BoolExp     ::=  ExpVal BoolOper ExpVal
BoolOper    ::=  < | = | <>

Running tests

Requirements

Example runs:

  • ./verify.pl 2 peterson.pl - correct,
  • ./verify.pl 3 peterson.pl - incorrect,