Skip to content

meian527/Scene-Modeling-Language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scene-Modeling-Language (SML)

一个用于声明2D/3D场景的声明式解释型语言。

项目概述

Scene-Modeling-Language (SML) 是一门用于描述和构建2D/3D场景的声明式DSL。让开发者能够以简洁、直观的语法定义场景结构。 SML使用C++编写,基于开源库SFML-3.0.0

主要特点

  • 📝 声明式语法
  • 🎨 支持2D场景
  • 🔧 解释型执行:编译为字节码后解释渲染
  • 💡 简洁直观:语法设计注重可读性和易用性
  • 🛠️ 可扩展:支持自定义组件和属性 (。。。)

语法示例

Scene2D {
    height: full,
    width: full,
    name: "main",
    Text {
        name: default, // 非必须,未声明默认default
        font: default, // 同上
        text: "Hello SML!"
    }
}

技术架构

  • 前端编译器:将SML代码编译为字节码
  • 解释器:解释执行字节码,渲染场景

未来计划

  1. 完成完整的解析器实现
  2. 添加3D场景支持
  3. 增加更多场景组件

许可证

GNU General Public License v3.0

About

一门图形场景声明式DSL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published