So I recently came across the term Activation Record and was very interested by how it works and what it is used for.
My question was how in depth can this go? I understand this is a stack frame and the record changes as the scope changes, but how far can this be implemented by programmers?
Is this what most IDE's use to figure out which line an error is in?
Also what exactly is "recorded" in an AR?
An activation record is simply a stack frame considered as a data structure. The terms are synonymous, although I would also think of an activation record as the abstract data type which produces stack frames as instances. (Maybe just because in Pascal, record
means struct
.) Either way, it contains local variables.
It is a runtime concept, not implemented at compile time when diagnostic error messages are generated. At most, compiler might be referring to some abstract representation of the data type.