Skip to content

dkudrow/cs267

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Conents:
Parser and abstract syntax tree for toy language. To be used as a front end
for model checking project.

Grammar:
program       ->      specification* declaration* processes
specification ->      [expression]*
declaration   ->      ID ";"
processes     ->      process ["||" processes]
process       ->      lstatement+
block         ->      lstatement
              ->      "{" lstatement+ "}"
lstatement    ->      [ID ":"] statement
statement     ->      ID ":=" expression ";"
              ->      "skip" ";"
              ->      "if" "(" expression ")" "then" block ["else" block]
              ->      "while" "(" expression ")" "do" block
              ->      "await" "(" expression ")" ";"
expression    ->      ! expression
              ->      AF expression
              ->      EF expression
              ->      AG expression
              ->      EG expression
              ->      expression & expression
              ->      expression | expression
              ->      expression => expression
              ->      expression = expression
              ->      "true"
              ->      "false"
              ->      ID

Notes:
  -comments are initiated by the '#' character and extend until the end of the
   line.
  -binary operators have equal precedence and are left associative.

About

Simple model checker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published