@abaplint/core
Version:
abaplint - Core API
28 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.InsertInternal = void 0;
const combi_1 = require("../combi");
const version_1 = require("../../../version");
const expressions_1 = require("../expressions");
class InsertInternal {
getMatcher() {
const target = (0, combi_1.altPrio)(expressions_1.Source, expressions_1.Dynamic);
const assigning = (0, combi_1.seq)("ASSIGNING", expressions_1.FSTarget);
const ref = (0, combi_1.seq)("REFERENCE INTO", expressions_1.Target);
const index = (0, combi_1.seq)("INDEX", expressions_1.Source);
const initial = (0, combi_1.str)("INITIAL LINE");
const into = (0, combi_1.seq)("INTO", expressions_1.Target);
const intoTable = (0, combi_1.seq)("INTO TABLE", expressions_1.Target, (0, combi_1.opt)((0, combi_1.alt)(ref, assigning)));
const to = (0, combi_1.seq)("TO", expressions_1.Source);
const from = (0, combi_1.seq)("FROM", expressions_1.Source);
const fromTo = (0, combi_1.opt)((0, combi_1.per)(from, to));
const foo = (0, combi_1.alt)(intoTable, (0, combi_1.seq)(into, (0, combi_1.opt)((0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)))), (0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)));
const lines = (0, combi_1.seq)("LINES OF", target, (0, combi_1.opt)(fromTo));
const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source, version_1.Version.OpenABAP));
const tab = (0, combi_1.seq)("TABLE", expressions_1.Source);
const ret = (0, combi_1.seq)("INSERT", (0, combi_1.altPrio)(tab, (0, combi_1.seq)((0, combi_1.altPrio)(initial, lines, src), foo)));
return ret;
}
}
exports.InsertInternal = InsertInternal;
//# sourceMappingURL=insert_internal.js.map