hongweipeng 发布的文章

开发编程语言(三):源码结构


模块构成

Origin源码主要有3个模块构成:

  • 主程序(ORG)
  • 内存管理模块(MEM)
  • Debug模块(DBG)

每个模块基本都会包含多个.c文件,MEM与DBG是通用模块,为了避免命名冲突,有如下规范:

  • 模块名必须有前缀字母开头,如:ORG
  • 类型名,以大写字母开始
  • 变量名/函数名,全部使用小写,单词间用_链接
  • 宏的定义都用大写
  • 对外公开的函数ORG开头,不对外公开org开头
  • 全局变量以org_开头


Linux lamp安装配置


起步

PHP开发和服务器运行环境首选LAMP组合,即Linux+Apache+Mysql+Php/Perl /Python,能最优化服务器性能。如何在本地电脑Ubuntu 中安装和配置LAMP环境搭建?Ubuntu9.10本身就是基于Linux内核,所以Linux是现成的了。使用Ubuntu LAMP Server软件包可以很简单地实现Linux下Apache,Mysql和Php的统一安装和配置,也不再需要一个一个来安装配置了。


解决红警卡菜单问题


写这个的目的是希望别人遇到相同的问题不要像我一样,百度了半天都没什么收获。 五一期间,想与同学一起打红警,但问题是在win7下的某些电脑却不支持这样的老游戏了,尽管下载了必备的DX9.0 VC++运行库 FW2.0以上,尽管游戏还是能进去出现菜单没有显示的情况,却还是能正常游戏。

  • 在你修改了游戏的兼容性之后;
  • 在你用管理员身份运行之后;
  • 在你关闭了3D加速器之后;
  • 在你设置了游戏屏幕缓存之后;
  • 在你卸载了显卡驱动使用系统默认的掉渣的配适器之后;
  • 在你看到别人win7可以玩,愤怒的重装系统之后;

    如果有幸看到这篇文章,那么恭喜你,上面的步骤都是不需要的,我们只需要一个执行文件;下载链接:ra2_menu.zip 使用方法:解压后运行ra2_menu.exe,启动红警,然后就解决了;不管你是共和国之辉还是尤里的复仇都解决的。 很像小竹的题目有木有,答案很操蛋有木有。。。。。


开发编程语言(二):语言规划


语言命名

一个编程语言都有自己的名字,C语言,Python,Java,PHP等,对于程序员来说,给变量取名字也是习以为常的.这是我的第一个编程语言,就取名为Origin吧,命名由四妹提议的,在此感谢.

语言类型

究竟是强类型(C/C++,Java)还是弱类型语言呢(javascript, PHP)?由于本人主要从事php的开发,比较喜欢弱类型语言,弱类型使用简单,更灵活多变。后续可能会和几位大牛合力开发强类型的编译型语言.

程序的结构

这是一个可以支持顶层结构的书写代码方式.所谓的顶部结构,就是函数或类的外侧.也就是说打印不再需要想javaSystem.out.prinln()了,而是可以直接print().不需要为print包裹函数或者类.


开发编程语言(一):动机


起步

大学阶段,当拿到厚厚的《编译原理》书的时候,就感到了来自书里厚重的使命感,我觉得我学完后可以开发一个编译器。然而,这一学期又TM浪费了,都还没理解文法,LL0和LR1等分析就草草考试了。直到毕业,又重新燃起了开发编程语言的想法。

好处

虽然说,重新编写一个和以后语言相似的语言是“重复造轮子”,但是从以后的道路上来说这可以让我更加深刻理解编程语言的运行机制。说不定还能成为名人呢。

用什么语言来开发

C语言,因为作为高级程序语言设计的基础,相信很多人都是学过的。而且像lex/yacc这些工具就是面向C语言的,同时,使用C语言还可以降低依赖程度,性能也很优越。(其实是找的资料用的是C写的),卧槽,刚刚谁在说话。

设计怎样的语法

总的来说,应该会接近java语言吧。

运行方式

暂时未定是要编译型还是解释型