Website Structure

This commit is contained in:
supalerk-ar66 2026-01-13 10:46:40 +07:00
parent 62812f2090
commit 71f0676a62
22365 changed files with 4265753 additions and 791 deletions

View file

@ -0,0 +1,20 @@
import { Line, Spec } from '../primitives.js';
import { seedSpec } from '../util.js';
import { Tokenizer } from './tokenizers/index.js';
export type Parser = (source: Line[]) => Spec;
export interface Options {
tokenizers: Tokenizer[];
}
export default function getParser({ tokenizers }: Options): Parser {
return function parseSpec(source: Line[]): Spec {
let spec = seedSpec({ source });
for (const tokenize of tokenizers) {
spec = tokenize(spec);
if (spec.problems[spec.problems.length - 1]?.critical) break;
}
return spec;
};
}