Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный язык✓invariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

interpreter

Собственный язык с лексером, парсером и интерпретацией AST на TypeScript. Исходный pipeline находится в src/index.ts.

Обработка программыТекст программыLexer.tokenizeParser.parseInterpreter.interpret
SVG ↗
КлассВходРезультат
LexerСтрока исходного текстаМассив Token
ParserМассив Token в конструктореProgramNode из parse()
InterpreterASTNode в interpret()Значение последнего обработанного узла

Лексер выделяет XML-подобные разделители, ::, $, числа и идентификаторы. Parser направляет XMLTag в объявления классов/функций, PHPVariable — в присваивание, Identifier — в импорт модуля. Типы узлов описаны в src/types.d.ts.

Program последовательно обрабатывает body. VariableAssignment сохраняет значение в карте переменных; Identifier читает её и выбрасывает ошибку для неизвестного имени; Literal возвращает value. Объявления классов, функций и импортов сохраняются как узлы: interpretClassDeclaration и interpretFunctionDeclaration не вызывают их тела. Для неизвестного типа узла interpret выбрасывает Unknown node type.

src/index.ts принимает ровно один путь к файлу, читает его как UTF-8, строит tokens/AST и печатает результат interpret. Образец синтаксиса находится в test.zorin; он не заменяет определения Parser. Зависимости TypeScript/ts-node заданы в package.json.

Исходный код · AGPL-3.0