Our language is functional language that used to write to smart contract.
functional programming use declaratuve programming paradigm
Expression: combination of one or more constants, variables, operators and functions.
A function call with a void return type is a valid expression.
[declarations] (https://en.wikipedia.org/wiki/Declaration_(computer_programming)): specifies properties of an identifier: it declares what a word(id) "means". Declarations are most commonly used for functions, variables, constants and classes, but also can be used for definiation of enumerations and type definitions.
Terminal (or token) names can be declared using the %token declaration.
Nonterminal names can be declared using the %type declaration. The %type declaration is not required for nonterminal names.