import { CaretInfixParselet, CharToken, TokensTag } from "@caret-js/core"; import { CaretNode, CaretParser } from "@caret-js/core"; import { CommaListNode } from "../nodes/commaList"; // import { FunctionCallFlag } from "./parentheses-infix"; export class CommaListParselet extends CaretInfixParselet { public readonly associativity = "left"; parse(parser: CaretParser, left: CaretNode): CommaListNode { const token = parser.consume(); this.assert( token instanceof CharToken && token.char === ",", "Expected ',' token" ); const right = parser.parseMinBP(this); return CommaListNode.from([left, right]).addTag(new TokensTag([token])); } }