In https://tc39.es/ecma262/#sec-algorithm-conventions-syntax-directed-operations, There is a description like this
Syntax-directed operations are invoked with a parse node and, optionally, other parameters by using the conventions on steps 1, 3, and 4 in the following algorithm:
- Let status be SyntaxDirectedOperation of SomeNonTerminal.
- Let someParseNode be the parse of some source text.
- Perform SyntaxDirectedOperation of someParseNode.
- Perform SyntaxDirectedOperation of someParseNode with argument "value".
What does status in this algorithm mean? It's not used in the algorithm anymore.
What does the algorithm mean? It seems weird.
That's just an example, it's not a real algorithm, and it's not necessarily a complete example (hence not using status after the first step). For a real algorithm, look at the section containing actual Syntax-Directed Operations, such as function name inference:
8.4.1 Static Semantics: HasName
...
- Let expr be the ParenthesizedExpression that is covered by CoverParenthesizedExpressionAndArrowParameterList.
- If IsFunctionDefinition of expr is false, return false.
- Return HasName of expr.
The status in the example is like expr in the above, a temporary variable (if you will) for the algorithm. It's just that the example doesn't use status again (it probably should, it would be a better example).
What does status in this algorithm mean?
It's just a variable introduced by that step, like in any other "Let x be …".
What does the algorithm mean? It seems weird.
It means nothing. It's an example algorithm in the "algorithm conventions" section explaining how algorithm steps are meant to be understood in the rest of the spec.