# Minecraft-Command.Mcmd **Repository Path**: maxyjof/minecraftcmd ## Basic Information - **Project Name**: Minecraft-Command.Mcmd - **Description**: 初步计划是为MC基岩版开发的专用编程语言。本质上是将用户根据Mcmd设计的语法所编写的无二义性的代码片段翻译成等价含义的命令,并存入mcfunction文件中。因此它是搭配数据包(行为包)使用的。 相对于直接编写命令的优点:语法简单,快捷;新的设计理念;额外的语法或概念;可通过简短的代码片段来快速生成数以千计的无聊的命令。 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-12-22 - **Last Updated**: 2022-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Mcmd # 已停止更新,更新将在另一个仓库中继续提交! #### 介绍 初步计划是为MC开发的专用编程语言编译器。本质上是将用户根据Mcmd设计的语法所编写的无二义性的代码片段翻译成等价含义的命令,并存入mcfunction文件中。因此它是搭配数据包(行为包)使用的。 相对于直接编写命令的优点:语法简单,快捷;新的设计理念;额外的语法或概念;可通过简短的代码片段来快速生成数以千计的无聊的命令。 【使用C#开发】 #### 版本规划 该编译器会分为两个版本:精简版、完整版 精简版:以便利为主,面向普通用户的编译器版本,目标语言为BE命令或JAVA命令。 完整版:以模拟计算机为主,面向专业用户的编译器版本,目标语言为BE命令或JAVA命令。 #### 软件架构 软件架构说明: 该编译器大致分为以下几个模块:词法分析器,语法分析器,语义分析器(也许会与语法分析器合并),优化分析器。 #### 安装教程 暂无 #### 使用说明 基本的语法类型有:[可以省略分号] 1.函数定义 格式:func 函数名(形参序列){函数体内容} 2.变量声明 格式1:数据类型 变量名; 格式2:数据类型 变量名 = 值; 格式3:数据类型 变量名 = 值, 变量名 = 值; 3.函数调用 格式:call 函数名(实参序列); 4.赋值 格式:左值 = 表达式; 5.分支选择 格式:if(表达式){内容} 6.循环 格式:while(表达式){内容} 7.序列化 格式:[整型常量] 数据类型; 8.指令 格式:/指令; 9.注释 格式:#内容 10.New 格式1:new<数据类型> 变量名; 格式2:new<数据类型> 变量名 named 显示名; 格式3:new 数据类型 变量名; 格式4:new 数据类型 变量名 显示名; 格式5:new 数据类型 变量名 显示名 坐标x 坐标y 坐标z; #### 待商议使用价值的语法: 1.预处理 #### 关于一些已定概念 1.数据类型即为计分板对象,变量即为计分板中的虚拟对象(部分存在特例) 2.鉴于bool类型只需要一个bit即可满足其概念需求,因此bool数据类型采用tag标记的做法实现 #### 参与贡献 Maxy(我) 小蔡