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 | 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x | import {IStatement} from "./_statement"; import {seq, altPrio, alt, opt} from "../combi"; import {Target, Source, FieldSub} from "../expressions"; import {IStatementRunnable} from "../statement_runnable"; export class Add implements IStatement { public getMatcher(): IStatementRunnable { const to = seq("TO", Target); const accordingTo = seq("ACCORDING TO", FieldSub); const giving = seq("GIVING", FieldSub, opt(accordingTo)); const then = seq("THEN", FieldSub, "UNTIL", FieldSub, alt(giving, to)); const ret = seq("ADD", Source, altPrio(to, then)); return ret; } } |