Language -------- language := ()* def := ( | | | ) //directive := //dir_require := require ; protocol := protocol ( ) { * } optsc protocolname := intruderknow := public ; roledef := role { } optsc rolename := actions := (;)+ action := ( | | ) decl := ( | )+ const := const [ : ]; var := var [ : ]; read := read [_