Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import {regex as reg, Expression, opt, tok, alt, seq} from "../combi"; import {IStatementRunnable} from "../statement_runnable"; import {ParenLeft, ParenRightW, WParenLeft, ParenRight} from "../../1_lexer/tokens"; import {SimpleFieldChain2} from "./simple_field_chain2"; export class WriteOffsetLength extends Expression { public getRunnable(): IStatementRunnable { const post = seq(alt(SimpleFieldChain2, reg(/^[\d]+$/), reg(/^\*$/)), alt(tok(ParenRightW), tok(ParenRight))); const wlength = seq(tok(WParenLeft), post); const length = seq(alt(tok(WParenLeft), tok(ParenLeft)), post); const complex = alt(wlength, seq(alt(SimpleFieldChain2, reg(/^\/?[\w\d]+$/), "/"), opt(length))); const at = seq(opt("AT"), complex); return at; } } |