I am trying to read this paper: https://arxiv.org/abs/1510.00925. I am familiar with grammars, but I cannot understand the notations in figure 1. Can anyone suggest a resource or book where I can learn these notations? Here is what figure 1 looks like: enter image description here I understand that the first part is specifying the grammar. But I don't understand the rest like what is $e[x/v]$?

  • 1
    $\begingroup$ Perhaps you could edit your post to include the notation you are asking about? (E.g., a snapshot of part of that figure, with attribution.) $\endgroup$
    – Neal Young
    May 27, 2021 at 1:53
  • 2
    $\begingroup$ This doesn't seem like a research-level question to me. $\endgroup$
    – D.W.
    May 27, 2021 at 4:42
  • 1
    $\begingroup$ This is the wrong forum to ask such questions. I recommend asking on cs.stackexchange.com, where someone's going to recommend TAPL to you. $\endgroup$ May 27, 2021 at 6:08
  • $\begingroup$ Did you mean the BNF syntax? $\endgroup$
    – ice1000
    May 27, 2021 at 13:08

1 Answer 1


Try reading a good textbook on the principles of programming language design, including semantics, e.g., Nielson & Nielson's textbook. See also natural deduction rules (e.g., https://cs.stackexchange.com/q/62679/755), first-order logic, and variable renaming. See Books on programming language semantics. $e[x/v]$ represents substitution; $x$ is replaced by $v$ in $e$. This should all be covered by a good textbook.


Not the answer you're looking for? Browse other questions tagged or ask your own question.