hclang
Version:
Homoiconic C: Programming without a Language
29 lines • 2.1 kB
JavaScript
import { Frame } from './frame.js';
import { FrameAtom } from './frame-atom.js';
import { FrameOperator, FrameSymbol } from './frame-symbol.js';
import { NilContext } from './meta-frame.js';
export class FrameName extends FrameAtom {
constructor(source, meta = NilContext) {
super(meta);
this.data = FrameSymbol.for(source);
}
in(contexts = [Frame.nil]) {
const out = contexts[0];
const setter = this.data.setter(out);
return setter;
}
string_prefix() {
return FrameName.NAME_BEGIN;
}
;
canInclude(char) {
return FrameSymbol.SYMBOL_CHAR.test(char) ||
FrameOperator.OPERATOR_CHARS.test(char);
}
toData() {
return this.data;
}
}
FrameName.NAME_BEGIN = '.';
;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcmFtZXMvZnJhbWUtbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU1QyxNQUFNLE9BQU8sU0FBVSxTQUFRLFNBQVM7SUFLdEMsWUFBYSxNQUFjLEVBQUUsSUFBSSxHQUFHLFVBQVU7UUFDNUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFTSxFQUFFLENBQUUsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMvQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFFSyxVQUFVLENBQUUsSUFBWTtRQUM3QixPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRVMsTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDOztBQTFCc0Isb0JBQVUsR0FBRyxHQUFHLENBQUE7QUEyQnhDLENBQUMifQ==