UNPKG

@fink/larix

Version:

A parser for generating fink's AST.

23 lines 798 B
import { add_operator, add_separator } from "@fink/prattler/expressions.js"; import { prefix, terminator } from "../expressions.js"; import { terminated_block, add_named_block } from "../block/init.js"; export const list_op = token_type => ({ ...prefix(token_type), nud: () => ctx => { const [{ exprs, loc }, next_ctx] = terminated_block(ctx, `]`); return [{ type: `list`, exprs, loc }, next_ctx]; } }); export const add_list = ctx => { let ˆpipe_result_1 = ctx; ˆpipe_result_1 = add_operator(list_op(`[`))(ˆpipe_result_1); ˆpipe_result_1 = add_separator(terminator(`,`))(ˆpipe_result_1); ˆpipe_result_1 = add_separator(terminator(`]`))(ˆpipe_result_1); return ˆpipe_result_1 = add_named_block(`list`, `list`)(ˆpipe_result_1); };