It's a pretty obscure error message for an end user... because it's spit out directly by the Parse++ compiler writing framework which miss2 is built with. A production is a rule which describes an option for the next token or tokens in the compiler input string.
For example:
state-induced-by-FOR followed-by counter
state-induced-by-FOR followed-by integer
would be two production rules for the same starting state. The compiler would then figure out which it had actually found, and change its state to "state-induced-by-FOR-counter". It's lower level than the grammar of the miss2 language, but a direct implication of the grammar... like machine code is a direct descendant of assembly language.
Because it actually has a number for production 85 the rule for FOR must be there otherwise it would say that FOR is unrecognised. When it says production 85 is missing, it either means: that the rest of the grammar after FOR is unspecified, and what to do once you're in the state after FOR is recognised is undefined (extremely unlikely because in Parse++ you'd write the grammar for each command in one hit, you wouldn't leave FOR's parameters missing with FOR implemented); or it means that when the production rule for the entire FOR command is matched, the action is missing.
I.e. they implemented FOR in the grammar early on in the process when they were still doing conceptual design for the compiler, but when they were implementing each command in the compiler they were running out of time and decided that FOR was a low priority because it would just be a translation into a WHILE anyway
To make sense of the place_token_in_buffer bit you'd have to see the Parse++ code... I'm guessing that place_token_in_buffer is a function, and once it's got the token in the buffer it attempts to call the associated action for the production that matched that token.