This case will be called when a definition is encountered. The case-function (i.e. the function resulting from this case-statement) is called with the tag of the left-hand-side of the :-expression (i.e. the invocation). Based on the tag of the invocation, we know whether we are defining a variable (i.e. v:...), a function (i.e. v(...):... or v@...:...) or a table (i.e. v[...]:...).

Click on the functions to see more specifically how these possibilities are handled.