\chapter{Log File Grammar}
\label{sec:log_file_grammar}

log ::= event* \\
event ::= call $\mid$ return\\
call ::= calltype entity methodname entity* \texttt{“\%N”} \\
return ::= returntype [entity]  \texttt{“\%N”}\\
calltype ::= \texttt{INCALL} $\mid$ \texttt{OUTCALL} \\
returntype ::= \texttt{INCALLRET} $\mid$ \texttt{OUTCALLRET} \\
methodname ::= identifier \\
attribute\_name ::= identifier \\
entity ::= (object $\mid$ value) \\
size ::= integer \\
object ::= \texttt{[NON$\_$BASIC} typename object\_id \texttt{]} \\
value ::= \texttt{[BASIC} typename \texttt{"} string \texttt{"]} \\
typename ::= identifier \\
object\_id ::= integer\\
identifier ::= [A-Za-z]character*\\
string ::= character*\\

