@flowscripter/mpeg-sdl-parser
Version:
ISO/IEC 14496-34 Syntactic Description Language (MPEG SDL) parser implemented in TypeScript
33 lines (30 loc) • 1.07 kB
text/typescript
import type { Token } from "../token/Token.ts";
import { AbstractArrayDefinition } from "./AbstractArrayDefinition.ts";
import type { AbstractNode } from "./AbstractNode.ts";
import type { ElementaryType } from "./ElementaryType.ts";
import type { ExplicitArrayDimension } from "./ExplicitArrayDimension.ts";
import type { Identifier } from "./Identifier.ts";
import { StatementKind } from "./enum/statement_kind.ts";
export class ComputedArrayDefinition extends AbstractArrayDefinition {
constructor(
public readonly elementaryType: ElementaryType,
identifier: Identifier,
public readonly dimensions: ExplicitArrayDimension[],
public readonly computedKeyword: Token,
semicolonPunctuator: Token,
) {
super(
StatementKind.COMPUTED_ARRAY_DEFINITION,
computedKeyword,
identifier,
semicolonPunctuator,
);
}
override *getChildNodeIterable(): IterableIterator<AbstractNode> {
yield this.elementaryType;
yield this.identifier;
for (const dimension of this.dimensions) {
yield dimension;
}
}
}