From bd4e49fd50ad69f5adc36ce334a9c07e1554b42a Mon Sep 17 00:00:00 2001 From: Mari Date: Thu, 21 Sep 2023 04:49:22 -0700 Subject: [PATCH] resolve a bunch of warnings --- src/grammar/interpreter.ts | 204 +++++++++++++++++++------------------ 1 file changed, 107 insertions(+), 97 deletions(-) diff --git a/src/grammar/interpreter.ts b/src/grammar/interpreter.ts index d7d4fce..7139c5b 100644 --- a/src/grammar/interpreter.ts +++ b/src/grammar/interpreter.ts @@ -167,13 +167,13 @@ interpreter.addAttribute("affinity", { affinity(affinityNode: NonterminalNode): Affinity { return (affinityNode as InterpreterNode).affinity }, - DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, elementalType: IterationNode): Affinity { + DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, _elementalType: IterationNode): Affinity { return (affinity as InterpreterNode).affinity }, - DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, resource: IterationNode, elementalType: IterationNode): Affinity { + DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, _resource: IterationNode, _elementalType: IterationNode): Affinity { return (affinity as InterpreterNode).affinity }, - DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, elementalType: IterationNode): Affinity { + DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, _elementalType: IterationNode): Affinity { return (affinity as InterpreterNode).affinity }, _iter(...children: readonly Node[]): Affinity { @@ -194,8 +194,8 @@ interpreter.addAttribute("affinity", { }) interpreter.addAttribute("sign", { - deltaOperator(oper: NonterminalNode): NumberSign { - return (oper as InterpreterNode).sign + deltaOperator(operator: NonterminalNode): NumberSign { + return (operator as InterpreterNode).sign }, plus(_: TerminalNode): NumberSign.Positive { return NumberSign.Positive @@ -230,13 +230,13 @@ interpreter.addAttribute("numberValue", { return number } }, - DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, elementalType: IterationNode): number { + DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, _affinity: IterationNode, _elementalType: IterationNode): number { return (delta as InterpreterNode).numberValue }, - DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, resource: IterationNode, elementalType: IterationNode): number { + DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, _affinity: IterationNode, _resource: IterationNode, _elementalType: IterationNode): number { return (delta as InterpreterNode).numberValue }, - DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, elementalType: IterationNode): number { + DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, delta: NonterminalNode, _affinity: IterationNode, _elementalType: IterationNode): number { return (delta as InterpreterNode).numberValue }, MaxValue(separator: NonterminalNode, integer: NonterminalNode): number { @@ -245,7 +245,7 @@ interpreter.addAttribute("numberValue", { SetValueOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode): number { return (integer as InterpreterNode).numberValue; }, - SetValueOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode, resource: NonterminalNode): number { + SetValueOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode, _resource: NonterminalNode): number { return (integer as InterpreterNode).numberValue; }, SetValueOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, integer: NonterminalNode): number { @@ -254,7 +254,7 @@ interpreter.addAttribute("numberValue", { SetMaxOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode): number { return (maxvalue as InterpreterNode).numberValue; }, - SetMaxOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode, resource: NonterminalNode): number { + SetMaxOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode, _resource: NonterminalNode): number { return (maxvalue as InterpreterNode).numberValue; }, SetMaxOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, maxvalue: NonterminalNode): number { @@ -263,7 +263,7 @@ interpreter.addAttribute("numberValue", { StatusOrItemCounterUnwrapped(x: IterationNode, integer: NonterminalNode): number { return (integer as InterpreterNode).numberValue }, - StatusOrItemCounterWrapped(lParen: TerminalNode, counter: NonterminalNode, rParen: TerminalNode): number { + StatusOrItemCounterWrapped(lParen: TerminalNode, counter: NonterminalNode, _rParen: TerminalNode): number { return (counter as InterpreterNode).numberValue }, StatusOrItemAddOperation(operands: NonterminalNode, colon: NonterminalNode, deltaOperator: NonterminalNode, identifier: NonterminalNode, counter: IterationNode): number { @@ -308,13 +308,13 @@ interpreter.addAttribute("identifier", { identifier(_: TerminalNode, __: IterationNode): string { return this.sourceString }, - StatusOrItemAddOperation(operands: NonterminalNode, colon: NonterminalNode, deltaOperator: NonterminalNode, identifier: NonterminalNode, counter: NonterminalNode): string { + StatusOrItemAddOperation(operands: NonterminalNode, colon: NonterminalNode, deltaOperator: NonterminalNode, identifier: NonterminalNode, _counter: NonterminalNode): string { return (identifier as InterpreterNode).identifier }, - StatusOrItemCounterDeltaOperation(operands: NonterminalNode, colon: NonterminalNode, identifier: NonterminalNode, delta: NonterminalNode): string { + StatusOrItemCounterDeltaOperation(operands: NonterminalNode, colon: NonterminalNode, identifier: NonterminalNode, _delta: NonterminalNode): string { return (identifier as InterpreterNode).identifier }, - StatusOrItemCounterSetOperation(operands: NonterminalNode, colon: NonterminalNode, identifier: NonterminalNode, counter: NonterminalNode): string { + StatusOrItemCounterSetOperation(operands: NonterminalNode, colon: NonterminalNode, identifier: NonterminalNode, _counter: NonterminalNode): string { return (identifier as InterpreterNode).identifier }, _iter(): never { @@ -406,24 +406,24 @@ interpreter.addAttribute("resource", { ZpResource(_: TerminalNode): MeteredResource.Zero { return MeteredResource.Zero; }, - DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, elementalType: IterationNode): Resource { + DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, _colon: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _elementalType: IterationNode): Resource { const r = (resource as InterpreterNode).resource if (r === null) { throw Error("unexpected null resource in required resource node") } return r }, - DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, resource: IterationNode, elementalType: IterationNode): Resource|null { + DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, resource: IterationNode, _elementalType: IterationNode): Resource|null { return (resource as InterpreterNode).resource }, - DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, elementalType: IterationNode): Resource { + DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _elementalType: IterationNode): Resource { const r = (resource as InterpreterNode).resource if (r === null) { throw Error("unexpected null resource in required resource node") } return r }, - SetValueOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode): Resource { + SetValueOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, _colon: NonterminalNode, _integer: NonterminalNode): Resource { const r = (resource as InterpreterNode).resource if (r === null) { throw Error("unexpected null resource in required resource node") @@ -437,14 +437,14 @@ interpreter.addAttribute("resource", { } return r }, - SetValueOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, integer: NonterminalNode): Resource { + SetValueOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, _integer: NonterminalNode): Resource { const r = (resource as InterpreterNode).resource if (r === null) { throw Error("unexpected null resource in required resource node") } return r }, - SetMaxOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode): MeteredResource { + SetMaxOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, _colon: NonterminalNode, _maxvalue: NonterminalNode): MeteredResource { const r = (resource as InterpreterNode).resource; if (!r || !isMeteredResource(r)) { throw Error(`unexpected null or unmetered resource ${r} in max operation`) @@ -458,7 +458,7 @@ interpreter.addAttribute("resource", { } return r }, - SetMaxOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, maxvalue: NonterminalNode): MeteredResource { + SetMaxOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, _maxvalue: NonterminalNode): MeteredResource { const r = (resource as InterpreterNode).resource; if (!r || !isMeteredResource(r)) { throw Error(`unexpected null or unmetered resource ${r} in max operation`) @@ -481,7 +481,7 @@ interpreter.addAttribute("resource", { _terminal(): never { throw Error(`No idea what to say ${this.ctorName} terminal node's resource value is`) }, - SetMeteredOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, value: NonterminalNode): MeteredResource { + SetMeteredOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, _colon: NonterminalNode, _value: NonterminalNode): MeteredResource { const r = (resource as InterpreterNode).resource; if (!r || !isMeteredResource(r)) { throw Error(`unexpected null or unmetered resource ${r} in metered set`) @@ -495,14 +495,14 @@ interpreter.addAttribute("resource", { } return r }, - SetMeteredOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, value: NonterminalNode): MeteredResource { + SetMeteredOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, _value: NonterminalNode): MeteredResource { const r = (resource as InterpreterNode).resource; if (!r || !isMeteredResource(r)) { throw Error(`unexpected null or unmetered resource ${r} in metered set`) } return r }, - ClearOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, nul: NonterminalNode): Resource { + ClearOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, _colon: NonterminalNode, _nul: NonterminalNode): Resource { const r = (resource as InterpreterNode).resource if (r === null) { throw Error("unexpected null resource in required resource node") @@ -516,7 +516,7 @@ interpreter.addAttribute("resource", { } return r }, - ClearOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, nul: NonterminalNode): Resource { + ClearOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, _nul: NonterminalNode): Resource { const r = (resource as InterpreterNode).resource if (r === null) { throw Error("unexpected null resource in required resource node") @@ -526,52 +526,52 @@ interpreter.addAttribute("resource", { }) interpreter.addAttribute("operands", { - CompleteOperation(silence: IterationNode, operation: NonterminalNode, terminator: NonterminalNode): Operands { + CompleteOperation(silence: IterationNode, operation: NonterminalNode, _terminator: NonterminalNode): Operands { return (operation as InterpreterNode).operands }, Operation(operation: NonterminalNode): Operands { return (operation as InterpreterNode).operands }, - ClearOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, nul: NonterminalNode): Operands { + ClearOperation(operands: NonterminalNode, _space: NonterminalNode, _resource: NonterminalNode, _colon: NonterminalNode, _nul: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - ClearOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, nul: NonterminalNode, resource: NonterminalNode): Operands { + ClearOperationAlternate(operands: NonterminalNode, _colon: NonterminalNode, _nul: NonterminalNode, _resource: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - ClearOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, nul: NonterminalNode): Operands { + ClearOperationAlternate2(operands: NonterminalNode, _colon: NonterminalNode, _resource: NonterminalNode, _nul: NonterminalNode): Operands { return (operands as InterpreterNode).operands; }, - DeltaOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, element: IterationNode): Operands { + DeltaOperation(operands: NonterminalNode, _space: NonterminalNode, _resource: NonterminalNode, colon: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _element: IterationNode): Operands { return (operands as InterpreterNode).operands; }, - DeltaOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, resource: IterationNode, element: IterationNode): Operands { + DeltaOperationAlternate(operands: NonterminalNode, _colon: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _resource: IterationNode, _element: IterationNode): Operands { return (operands as InterpreterNode).operands; }, - DeltaOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, delta: NonterminalNode, affinity: IterationNode, element: IterationNode): Operands { + DeltaOperationAlternate2(operands: NonterminalNode, _colon: NonterminalNode, _resource: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _element: IterationNode): Operands { return (operands as InterpreterNode).operands; }, - FailOperation(operands: NonterminalNode, colon: NonterminalNode, fail: NonterminalNode): Operands { + FailOperation(operands: NonterminalNode, _colon: NonterminalNode, _fail: NonterminalNode): Operands { return (operands as InterpreterNode).operands; }, PrintOperation(_: NonterminalNode, __: NonterminalNode): Set { return OperandItems() }, - SetMaxOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, max: NonterminalNode): Operands { + SetMaxOperation(operands: NonterminalNode, _space: NonterminalNode, _resource: NonterminalNode, _colon: NonterminalNode, _max: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetMaxOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, max: NonterminalNode, resource: NonterminalNode): Operands { + SetMaxOperationAlternate(operands: NonterminalNode, _colon: NonterminalNode, _max: NonterminalNode, _resource: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetMaxOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, max: NonterminalNode): Operands { + SetMaxOperationAlternate2(operands: NonterminalNode, _colon: NonterminalNode, _resource: NonterminalNode, _max: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetMeteredOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, meter: NonterminalNode): Operands { + SetMeteredOperation(operands: NonterminalNode, _space: NonterminalNode, _resource: NonterminalNode, _colon: NonterminalNode, _meter: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetMeteredOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, meter: NonterminalNode, resource: NonterminalNode): Operands { + SetMeteredOperationAlternate(operands: NonterminalNode, _colon: NonterminalNode, _meter: NonterminalNode, _resource: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetMeteredOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, meter: NonterminalNode): Operands { + SetMeteredOperationAlternate2(operands: NonterminalNode, _colon: NonterminalNode, _resource: NonterminalNode, _meter: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, SetSourceOperation(source: NonterminalNode, operands: NonterminalNode): Operands { @@ -580,22 +580,22 @@ interpreter.addAttribute("operands", { SetTargetOperation(target: NonterminalNode, operands: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetValueOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, value: NonterminalNode): Operands { + SetValueOperation(operands: NonterminalNode, _space: NonterminalNode, _resource: NonterminalNode, _colon: NonterminalNode, _value: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetValueOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, value: NonterminalNode, resource: NonterminalNode): Operands { + SetValueOperationAlternate(operands: NonterminalNode, _colon: NonterminalNode, _value: NonterminalNode, _resource: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - SetValueOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, value: NonterminalNode): Operands { + SetValueOperationAlternate2(operands: NonterminalNode, _colon: NonterminalNode, _resource: NonterminalNode, _value: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - StatusOrItemCounterDeltaOperation(operands: NonterminalNode, colon: NonterminalNode, statusOrItem: NonterminalNode, delta: NonterminalNode): Operands { + StatusOrItemCounterDeltaOperation(operands: NonterminalNode, _colon: NonterminalNode, _statusOrItem: NonterminalNode, _delta: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - StatusOrItemCounterSetOperation(operands: NonterminalNode, colon: NonterminalNode, statusOrItem: NonterminalNode, value: NonterminalNode): Operands { + StatusOrItemCounterSetOperation(operands: NonterminalNode, _colon: NonterminalNode, _statusOrItem: NonterminalNode, _value: NonterminalNode): Operands { return (operands as InterpreterNode).operands }, - StatusOrItemAddOperation(operands: NonterminalNode, colon: NonterminalNode, delta: NonterminalNode, statusOrItem: NonterminalNode, counter: IterationNode): Operands { + StatusOrItemAddOperation(operands: NonterminalNode, _colon: NonterminalNode, _delta: NonterminalNode, _statusOrItem: NonterminalNode, _counter: IterationNode): Operands { return (operands as InterpreterNode).operands }, Operands(arg0: NonterminalNode): Operands { @@ -604,8 +604,8 @@ interpreter.addAttribute("operands", { _iter(...children: readonly Node[]): Operands { return OperandSets(children.map((child) => (child as InterpreterNode).operands)) }, - operand(oper: NonterminalNode): Operands { - return (oper as InterpreterNode).operands + operand(operand: TerminalNode): Operands { + return (operand as InterpreterNode).operands }, identifier(_: TerminalNode, __: NonterminalNode): Set { return OperandItems((this as InterpreterNode).identifier) @@ -628,13 +628,13 @@ interpreter.addAttribute("operands", { }) interpreter.addAttribute("targets", { - Block(start: NonterminalNode, terminator: NonterminalNode, code: NonterminalNode, end: NonterminalNode, terminator2: NonterminalNode): Operands { + Block(start: NonterminalNode, _terminator: NonterminalNode, _code: NonterminalNode, _end: NonterminalNode, _terminator2: NonterminalNode): Operands { return (start as InterpreterNode).targets }, - BlockStart(silenced: IterationNode, begin: NonterminalNode, source: IterationNode, target: IterationNode, title: NonterminalNode): Operands { + BlockStart(silenced: IterationNode, begin: NonterminalNode, source: IterationNode, target: IterationNode, _title: NonterminalNode): Operands { return (target as InterpreterNode).operands }, - SetTargetOperation(arg0: NonterminalNode, arg1: NonterminalNode): Operands { + SetTargetOperation(_arg0: NonterminalNode, _arg1: NonterminalNode): Operands { return (this as InterpreterNode).operands }, _iter(): Operands { @@ -649,13 +649,13 @@ interpreter.addAttribute("targets", { }) interpreter.addAttribute("sources", { - Block(start: NonterminalNode, terminator: NonterminalNode, code: NonterminalNode, end: NonterminalNode, terminator2: NonterminalNode): Operands { + Block(start: NonterminalNode, _terminator: NonterminalNode, _code: NonterminalNode, _end: NonterminalNode, _terminator2: NonterminalNode): Operands { return (start as InterpreterNode).sources }, - BlockStart(silenced: IterationNode, begin: NonterminalNode, source: IterationNode, target: IterationNode, title: NonterminalNode): Operands { + BlockStart(silenced: IterationNode, begin: NonterminalNode, source: IterationNode, _target: IterationNode, _title: NonterminalNode): Operands { return (source as InterpreterNode).operands }, - SetSourceOperation(arg0: NonterminalNode, arg1: NonterminalNode): Operands { + SetSourceOperation(_arg0: NonterminalNode, _arg1: NonterminalNode): Operands { return (this as InterpreterNode).operands }, _iter(): Operands { @@ -670,13 +670,13 @@ interpreter.addAttribute("sources", { }) interpreter.addAttribute("silenced", { - Block(start: NonterminalNode, terminator: NonterminalNode, code: NonterminalNode, end: NonterminalNode, terminator2: NonterminalNode): boolean { + Block(start: NonterminalNode, _terminator: NonterminalNode, _code: NonterminalNode, _end: NonterminalNode, _terminator2: NonterminalNode): boolean { return (start as InterpreterNode).silenced }, - BlockStart(silenced: IterationNode, begin: NonterminalNode, source: IterationNode, target: IterationNode, title: NonterminalNode): boolean { + BlockStart(silenced: IterationNode, begin: NonterminalNode, source: IterationNode, target: IterationNode, _title: NonterminalNode): boolean { return (target as InterpreterNode).silenced }, - CompleteOperation(silenced: IterationNode, operation: NonterminalNode, terminator: NonterminalNode): boolean { + CompleteOperation(silenced: IterationNode, _operation: NonterminalNode, _terminator: NonterminalNode): boolean { return (silenced as InterpreterNode).silenced }, silentOperator(_: TerminalNode): boolean { @@ -703,19 +703,19 @@ interpreter.addAttribute("currentValue", { SetValueOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode): number { return (integer as InterpreterNode).numberValue; }, - SetValueOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode, resource: NonterminalNode): number { + SetValueOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, integer: NonterminalNode, _resource: NonterminalNode): number { return (integer as InterpreterNode).numberValue; }, SetValueOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, integer: NonterminalNode): number { return (integer as InterpreterNode).numberValue; }, - MeteredValue(current: NonterminalNode, max: NonterminalNode): number { + MeteredValue(current: NonterminalNode, _max: NonterminalNode): number { return (current as InterpreterNode).numberValue }, SetMeteredOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, value: NonterminalNode): number { return (value as InterpreterNode).currentValue; }, - SetMeteredOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, value: NonterminalNode, resource: NonterminalNode): number { + SetMeteredOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, value: NonterminalNode, _resource: NonterminalNode): number { return (value as InterpreterNode).currentValue; }, SetMeteredOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, value: NonterminalNode): number { @@ -739,13 +739,13 @@ interpreter.addAttribute("currentValue", { }) interpreter.addAttribute("maxValue", { - MaxValue(sep: TerminalNode, num: NonterminalNode) { + MaxValue(_sep: TerminalNode, _num: NonterminalNode) { return (this as InterpreterNode).numberValue }, SetMaxOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode): number { return (maxvalue as InterpreterNode).maxValue; }, - SetMaxOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode, resource: NonterminalNode): number { + SetMaxOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, maxvalue: NonterminalNode, _resource: NonterminalNode): number { return (maxvalue as InterpreterNode).maxValue; }, SetMaxOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, maxvalue: NonterminalNode): number { @@ -757,7 +757,7 @@ interpreter.addAttribute("maxValue", { SetMeteredOperation(operands: NonterminalNode, space: NonterminalNode, resource: NonterminalNode, colon: NonterminalNode, value: NonterminalNode): number { return (value as InterpreterNode).maxValue; }, - SetMeteredOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, value: NonterminalNode, resource: NonterminalNode): number { + SetMeteredOperationAlternate(operands: NonterminalNode, colon: NonterminalNode, value: NonterminalNode, _resource: NonterminalNode): number { return (value as InterpreterNode).maxValue; }, SetMeteredOperationAlternate2(operands: NonterminalNode, colon: NonterminalNode, resource: NonterminalNode, value: NonterminalNode): number { @@ -986,11 +986,11 @@ interpreter.addOperation("evaluate(ctx)", { return (items as InterpreterNode).evaluate(ctx) }, EmptyLines(_: TerminalNode): EvaluationContext { - // Has no effect; is just for funsies. + // Has no effect return (this as EvaluationNode).args.ctx }, Block(start: NonterminalNode, terminator: NonterminalNode, code: NonterminalNode, - end: NonterminalNode, finalTerminator: NonterminalNode): EvaluationContext { + _end: NonterminalNode, _finalTerminator: NonterminalNode): EvaluationContext { let ctx = (this as EvaluationNode).args.ctx ctx = (start as InterpreterNode).evaluate(ctx) ctx = (code as InterpreterNode).evaluate(ctx) @@ -998,58 +998,58 @@ interpreter.addOperation("evaluate(ctx)", { }, BlockStart(silentOperator: IterationNode, beginKeyword: NonterminalNode, source: IterationNode, target: IterationNode, - title: IterationNode): EvaluationContext { + _title: IterationNode): EvaluationContext { let ctx = (this as EvaluationNode).args.ctx ctx = (source as InterpreterNode).evaluate(ctx) ctx = (target as InterpreterNode).evaluate(ctx) return ctx }, - CompleteOperation(silenced: IterationNode, operation: NonterminalNode, terminator: NonterminalNode): EvaluationContext { + CompleteOperation(silenced: IterationNode, operation: NonterminalNode, _terminator: NonterminalNode): EvaluationContext { let ctx = (this as EvaluationNode).args.ctx ctx = (operation as InterpreterNode).evaluate(ctx) return ctx }, - Operation(oper: NonterminalNode): EvaluationContext { + Operation(operator: NonterminalNode): EvaluationContext { let ctx = (this as EvaluationNode).args.ctx - return (oper as InterpreterNode).evaluate(ctx) + return (operator as InterpreterNode).evaluate(ctx) }, - DeltaOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode, arg5: IterationNode, arg6: IterationNode): EvaluationContext { + DeltaOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode, _arg5: IterationNode, _arg6: IterationNode): EvaluationContext { return EvaluateDelta(this as EvaluationNode) }, - DeltaOperationAlternate(opers: NonterminalNode, colon: NonterminalNode, delt: NonterminalNode, affin: IterationNode, res: IterationNode, element: IterationNode): EvaluationContext { + DeltaOperationAlternate(_operators: NonterminalNode, _colon: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _res: IterationNode, _element: IterationNode): EvaluationContext { return EvaluateDelta(this as EvaluationNode) }, - DeltaOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: IterationNode, arg5: IterationNode): EvaluationContext { + DeltaOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: IterationNode, _arg5: IterationNode): EvaluationContext { return EvaluateDelta(this as EvaluationNode) }, - SetMeteredOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): EvaluationContext { + SetMeteredOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): EvaluationContext { return EvaluateMeteredSet(this as EvaluationNode) }, - SetMeteredOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + SetMeteredOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateMeteredSet(this as EvaluationNode) }, - SetMeteredOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + SetMeteredOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateMeteredSet(this as EvaluationNode) }, - SetValueOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): EvaluationContext { + SetValueOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): EvaluationContext { return EvaluateValueSet(this as EvaluationNode); }, - SetValueOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + SetValueOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateValueSet(this as EvaluationNode); }, - SetValueOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + SetValueOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateValueSet(this as EvaluationNode); }, - SetMaxOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): EvaluationContext { + SetMaxOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): EvaluationContext { return EvaluateMaxSet(this as EvaluationNode); }, - SetMaxOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + SetMaxOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateMaxSet(this as EvaluationNode); }, - SetMaxOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + SetMaxOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateMaxSet(this as EvaluationNode); }, - StatusOrItemAddOperation(opers: NonterminalNode, colon: NonterminalNode, sign: NonterminalNode, identifier: NonterminalNode, counter: IterationNode): EvaluationContext { + StatusOrItemAddOperation(_operators: NonterminalNode, _colon: NonterminalNode, _sign: NonterminalNode, _identifier: NonterminalNode, _counter: IterationNode): EvaluationContext { const ctx = (this as EvaluationNode).args.ctx const operands = evaluateOperands((this as InterpreterNode).operands, ctx) const statusOrItemId = (this as InterpreterNode).identifier @@ -1064,13 +1064,13 @@ interpreter.addOperation("evaluate(ctx)", { } } }, - ClearOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): EvaluationContext { + ClearOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): EvaluationContext { return EvaluateClear(this as EvaluationNode); }, - ClearOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + ClearOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateClear(this as EvaluationNode); }, - ClearOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): EvaluationContext { + ClearOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): EvaluationContext { return EvaluateClear(this as EvaluationNode); }, SetSourceOperation(_: TerminalNode, __: NonterminalNode): EvaluationContext { @@ -1452,46 +1452,56 @@ interpreter.addOperation("renderMarkdown(ctx)", { let ctx = (this as MarkdownNode).args.ctx return (items as InterpreterNode).renderMarkdown(ctx) }, - EmptyLines(items: IterationNode): MarkdownOutput { + EmptyLines(_items: IterationNode): MarkdownOutput { let ctx = (this as MarkdownNode).args.ctx return {...ctx, output: null} }, - DeltaOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode, arg5: IterationNode, arg6: IterationNode): MarkdownOutput { + DeltaOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode, _arg5: IterationNode, _arg6: IterationNode): MarkdownOutput { return RenderDelta(this as MarkdownNode) }, - DeltaOperationAlternate(opers: NonterminalNode, colon: NonterminalNode, delt: NonterminalNode, affin: IterationNode, res: IterationNode, element: IterationNode): MarkdownOutput { + DeltaOperationAlternate(_operators: NonterminalNode, _colon: NonterminalNode, _delta: NonterminalNode, _affinity: IterationNode, _res: IterationNode, _element: IterationNode): MarkdownOutput { return RenderDelta(this as MarkdownNode) }, - DeltaOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: IterationNode, arg5: IterationNode): MarkdownOutput { + DeltaOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: IterationNode, _arg5: IterationNode): MarkdownOutput { return RenderDelta(this as MarkdownNode) }, - SetMeteredOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): MarkdownOutput { + SetMeteredOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): MarkdownOutput { return RenderMeteredSet(this as MarkdownNode) }, - SetMeteredOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): MarkdownOutput { + SetMeteredOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { return RenderMeteredSet(this as MarkdownNode) }, - SetMeteredOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): MarkdownOutput { + SetMeteredOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { return RenderMeteredSet(this as MarkdownNode) }, - SetValueOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): MarkdownOutput { + SetValueOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): MarkdownOutput { return RenderValueSet(this as MarkdownNode); }, - SetValueOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): MarkdownOutput { + SetValueOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { return RenderValueSet(this as MarkdownNode); }, - SetValueOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): MarkdownOutput { + SetValueOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { return RenderValueSet(this as MarkdownNode); }, - SetMaxOperation(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode, arg4: NonterminalNode): MarkdownOutput { + SetMaxOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): MarkdownOutput { return RenderMaxSet(this as MarkdownNode); }, - SetMaxOperationAlternate(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): MarkdownOutput { + SetMaxOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { return RenderMaxSet(this as MarkdownNode); }, - SetMaxOperationAlternate2(arg0: NonterminalNode, arg1: NonterminalNode, arg2: NonterminalNode, arg3: NonterminalNode): MarkdownOutput { + SetMaxOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { return RenderMaxSet(this as MarkdownNode); }, + ClearOperation(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode, _arg4: NonterminalNode): MarkdownOutput { + return RenderClear(this as MarkdownNode); + }, + ClearOperationAlternate(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { + return RenderClear(this as MarkdownNode); + }, + ClearOperationAlternate2(_arg0: NonterminalNode, _arg1: NonterminalNode, _arg2: NonterminalNode, _arg3: NonterminalNode): MarkdownOutput { + return RenderClear(this as MarkdownNode); + }, + _iter(...children: readonly Node[]): MarkdownOutput { let ctx = (this as MarkdownNode).args.ctx const output = []