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 21 22 23 24 25 26 27 28 29 30 31 32 33 | 1x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 26x 9x 9x 17x 17x 5x 5x 5x 91x 43x 91x 7x 7x 48x 41x 41x 91x 5x 5x 5x 1x | import {Identifier} from "../abap/1_lexer/tokens";
import {AbstractToken} from "../abap/1_lexer/tokens/abstract_token";
import {IFile} from "../files/_ifile";
import {Position} from "../position";
export class DDLLexer {
public static run(file: IFile): AbstractToken[] {
const step1: string[] = [];
const lines = file.getRaw().replace(/\r/g, "").split("\n");
for (const l of lines) {
if (l.startsWith("@")) {
continue; // skip annotations for now
}
step1.push(...l.split(" "));
}
const step2: string[] = [];
for (const t of step1) {
if (t === "") {
continue;
} else if (t.endsWith(";")) {
step2.push(t.substr(0, t.length - 1));
step2.push(";");
} else {
step2.push(t);
}
}
return step2.map(t => new Identifier(new Position(1, 1), t));
}
} |