UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

83 lines (70 loc) 2.58 kB
import { __exports as regexTokeniser } from '../../../_virtual/regex-tokeniser.js'; import { __require as requireToken } from './Token.js'; import { __require as requireStringSource } from './StringSource.js'; var hasRequiredRegexTokeniser; function requireRegexTokeniser () { if (hasRequiredRegexTokeniser) return regexTokeniser; hasRequiredRegexTokeniser = 1; var Token = /*@__PURE__*/ requireToken(); var StringSource = /*@__PURE__*/ requireStringSource(); regexTokeniser.RegexTokeniser = RegexTokeniser; function RegexTokeniser(rules) { rules = rules.map(function(rule) { return { name: rule.name, regex: new RegExp(rule.regex.source, "g") }; }); function tokenise(input, description) { var source = new StringSource(input, description); var index = 0; var tokens = []; while (index < input.length) { var result = readNextToken(input, index, source); index = result.endIndex; tokens.push(result.token); } tokens.push(endToken(input, source)); return tokens; } function readNextToken(string, startIndex, source) { for (var i = 0; i < rules.length; i++) { var regex = rules[i].regex; regex.lastIndex = startIndex; var result = regex.exec(string); if (result) { var endIndex = startIndex + result[0].length; if (result.index === startIndex && endIndex > startIndex) { var value = result[1]; var token = new Token( rules[i].name, value, source.range(startIndex, endIndex) ); return {token: token, endIndex: endIndex}; } } } var endIndex = startIndex + 1; var token = new Token( "unrecognisedCharacter", string.substring(startIndex, endIndex), source.range(startIndex, endIndex) ); return {token: token, endIndex: endIndex}; } function endToken(input, source) { return new Token( "end", null, source.range(input.length, input.length) ); } return { tokenise: tokenise } } return regexTokeniser; } export { requireRegexTokeniser as __require }; //# sourceMappingURL=regex-tokeniser.js.map