3 Star 2 Fork 0

GeekLeague / CPP_Logo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

CPP_Logo

简介

某学校由某超帅的老师开设的 程序设计基础 2019秋 大作业,一个基于C++的魔改版LOGO语言解释器。
以及配套的一个简易IDE和其它乱七八糟的东西。
可以整个读入LOGO源文件解释执行,也可以进行命令行交互。
更多信息见docs目录。

如何编译

事实上我认为不会有人真的去尝试编译运行。而且我们的代码写的很烂。但如果你真的想试试...

解释器主程序

Linux

具备基本gcc编译组件即可。项目根目录底下有个垃圾Makefile。跑下make就好了。默认生成的可执行文件名称叫ilogo.exe(别问我为什么后缀是.exe,你可以自己把它的名字改了)

Windows

确保安装MinGW即可。剩下的跟在Linux上编译差不多。

IDE程序

这个项目使用Visual Studio进行开发,编程语言为C#而且是Win窗体程序,所以只能在Windows上跑。
我们没有什么Release,所以就在Edit_Revised文件夹里面扔了个Edit_Revised.bin,它就是编译生成的程序。在Windows上把后缀名改成.exe就可以跑了。如果直接用Visual Studio来打开的话可以编译

如何运行

解释器主程序

解释器主程序是一个命令行程序,它内置了一些说明。
常用的模式如下:

./ilogo.exe h 显示帮助。

./ilogo.exe s [source_file] [output_image] 标准模式。 读入以[source_file]为名的LOGO源文件,输出以[output_image]为名的BMP图像。

./ilogo.exe i [output_image] 交互模式。 从标准输入(键盘)读入源程序,输出以[output_image]为名的BMP图像。

其它的两个模式具有一些奇怪的行为,用于与IDE程序进行交互。

IDE程序

这个我就不写了。直接看着用就好。基于.NET Framework 4.7.2开发的,我可以非常确信任何一个.net core是根本完全没有任何一点办法运行的,所以Linux的各位就可以想桃子了。Windows下经过队友的无奈测试向下兼容很老的.NET版本,所以大概是OK的。如果有机会的话可以将来开发一个Python的版本,让跨平台性能更好一点。(by lyh)

代码规范

这是一个悲伤的故事,原来还是设定了代码规范,但是到了后面基本就是瞎写,所以我把原来的大部分都删掉了。(by hzx)

变量命名

类似python, 类名或结构体名采用PascalCase 例:ExampleClass
其他的采用C++中常见的小写名+下划线 例:an_instance

作者信息(误)

你在想桃子,没有别人会仔细看我们的辣鸡代码。————hzx

世界上最糟糕最难以维护最慢的LOGO解释器。 —————lyh

MIT License Copyright (c) 2019 Azithromycin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

A modified LOGO interpreter based on C++ & GUI with C# 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/GeekLeague/CPP_Logo.git
git@gitee.com:GeekLeague/CPP_Logo.git
GeekLeague
CPP_Logo
CPP_Logo
master

搜索帮助