# OpenDSL RunTime **Repository Path**: opendsl/opendsl-runtime ## Basic Information - **Project Name**: OpenDSL RunTime - **Description**: OpenDSL的运行时,目前实现了JavaScript版本的运行时,打包到浏览器端使用。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: http://opendsl.org - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-01-09 - **Last Updated**: 2022-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenDSL RunTime ## 介绍 OpenDSL的运行时,目前实现了JavaScript版本的运行时,打包到浏览器端使用。 将每个语法特性封装成一个个独立的规则,传入JSON的AST后,编列每一个节点,通过节点rule字段查找对应的规则实现,然后执行,这样能够很灵活的或者语法特性,同时使用特性规则名称,而非具体代码中的符号或关键词,这样可以做符号和关键词的别名,实现双语和多语混合关键字编程。 后续改进:做到位置抽象,实现表达式的前缀、中缀、后缀三种形式兼容,而且不用改代码,只是在配置语法规则时,调整顺序,代码按照对应的规则编写即可。 目前已实现:函数、赋值语句、分支判断语句,表达式语句(算术、关系、逻辑),注释,中文数字解析