UNPKG

hclang

Version:

Homoiconic C: Programming without a Language

36 lines 2.38 kB
import * as frame from '../frames.js'; import { FrameSpace } from './frame-space.js'; import { Lex } from './lex.js'; import { terminals } from './terminals.js'; export const _syntax = Object.assign({}, terminals); export const atomClasses = [ FrameSpace, frame.FrameAlias, frame.FrameArg, frame.FrameBlob, frame.FrameBytes, frame.FrameComment, frame.FrameDoc, frame.FrameName, frame.FrameNote, frame.FrameNumber, frame.FrameOperator, frame.FrameString, frame.FrameSymbol ]; let has_syntax = false; export function getSyntax() { if (has_syntax === true) { return _syntax; } has_syntax = true; atomClasses.forEach((Klass) => { const sample = new Klass(''); const key = sample.string_start(); const lexee = new Lex(Klass); _syntax[key] = lexee; return true; }); return _syntax; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGF4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4ZWN1dGUvc3ludGF4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxNQUFNLENBQUMsTUFBTSxPQUFPLHFCQUF1QixTQUFTLENBQUUsQ0FBQTtBQUV0RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWlCO0lBQ3ZDLFVBQVU7SUFDVixLQUFLLENBQUMsVUFBVTtJQUNoQixLQUFLLENBQUMsUUFBUTtJQUNkLEtBQUssQ0FBQyxTQUFTO0lBQ2YsS0FBSyxDQUFDLFVBQVU7SUFDaEIsS0FBSyxDQUFDLFlBQVk7SUFDbEIsS0FBSyxDQUFDLFFBQVE7SUFDZCxLQUFLLENBQUMsU0FBUztJQUNmLEtBQUssQ0FBQyxTQUFTO0lBQ2YsS0FBSyxDQUFDLFdBQVc7SUFDakIsS0FBSyxDQUFDLGFBQWE7SUFDbkIsS0FBSyxDQUFDLFdBQVc7SUFDakIsS0FBSyxDQUFDLFdBQVc7Q0FDbEIsQ0FBQTtBQUVELElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtBQUN0QixNQUFNLFVBQVUsU0FBUztJQUN2QixJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7UUFDdkIsT0FBTyxPQUFPLENBQUE7S0FDZjtJQUNELFVBQVUsR0FBRyxJQUFJLENBQUE7SUFDakIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ2pDLE1BQU0sTUFBTSxHQUFvQixJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM3QyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUNwQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyJ9