编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   
 在C ++中写一个解析器
指数 -> C ++
查看上一个主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
m




邮政发布: 2009年10月10日星期六12:21 AM  帖子主题:在C ++中编写一个解析器

As part of a project I've got going right now I've written a scanner/parser for the RedCode assembly language (http://en.wikipedia.org/wiki/Redcode). And as I have it working (after very very preliminary testing...) I figured I would share it with CS.ca as an example, and possibly inspire others to do something similar.

The code is available from my mercurial server (http://hg.nxor.org/Corewars) as a C++ eclipse project, and as a tarball at http://hg.nxor.org/hg.cgi/Corewars/archive/tip.tar.bz2。不幸的是,我没有打扰为它写一个makefile,所以如果你不使用Eclipse你必须写自己或使用automake工具。对于那些只想查看代码的人,它也可以通过您的网络浏览器提供 http://hg.nxor.org/hg.cgi/Corewars/file/a79931cdec89。我已经做了一个分支,所以代码将保持稳定一段时间,因为我继续在行李箱上工作。

该代码由5个主要部分组成:一组令牌,扫描仪读取文件并返回令牌,一个有限状态机(FSM)匹配一些令牌,解析器构建Redcode程序构造,以及Redcode程序构建自己。如果有关于代码的QuestioS(它还没有充分记录......)在这里发帖,我会尽我所能回答;现在我是一个厌倦了向这方面解释一下,那么那么 非难

[编辑]修复了令人惊讶的人数的破坏链接正在追随到正确的地方
赞助
赞助
赞助
赞助
克莱顿




邮政发布: 太阳2011年10月11日8:40 PM  帖子主题:Re:在C ++中写一个解析器

你的国家!他们让我的眼睛流血。是否真的没有更好的处理它们的方法?
Apbom.




邮政发布: 星期二2019年10月13日上午9:27  帖子主题:Re:在C ++中写一个解析器

这是一个学校的项目吗?还是工作?或只是个人项目?我对解释者不太了解了解具体问题,但确实非常令人印象深刻。
托尼




邮政发布: 星期二2009年10月13日上午9:38  帖子主题:Re:在C ++中写一个解析器

引用:

Redcode是游戏核心战争中使用的编程语言的名称。
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
m




邮政发布: 2009年10月14日星期三:下午8:17  帖子主题:Re:在C ++中写一个解析器

为了好玩,目前有几个错误 - 一个内存泄漏了一个(看你是否能找到它!)

FSM可能可以更好地完成(如在更可读),但肯定不会有效。它只是不合理的,因为我选择用FSM识别Alll操作员和操作员修饰符而不是在事实之后的单独表查找。稍后的Aproach是较短的线路,但代码稍微复杂。有限状态机实际上荒谬易于调试。
Mirhagk.




邮政发布: 2010年2月8日星期一:下午2:23  帖子主题:Re:在C ++中写一个解析器

我想说谢谢。我知道这是一个necro,但我实际上目前正在为学校的解析器工作,所以现在我有点有点看看解析器实际上是如何工作的。
m




邮政发布: 2010年2月8日星期一:下午4:53  帖子主题:Re:在C ++中写一个解析器

你最受欢迎。

不幸的是,由于时间限制,我没有做更多的工作。但是,我合适地确定我所写的东西至少是免费的错误。

你可能会发现 http://hg.nxor.org/hg.cgi/Corewars/file/a79931cdec89 作为更好的参考,因为CS.ca版本之后有几个错误修复。

[编辑]修复了断开链接(见上文和以下!)
m




邮政发布: 2011年2月12日星期六12:10 AM  帖子主题:Re:在C ++中写一个解析器

似乎人们仍然发现这一有趣并正在寻找代码,我已经将其重新托管为一个Mercurial存储库: http://hg.nxor.org/hg.cgi/Corewars/
赞助
赞助
赞助
赞助
量子物理学




邮政发布: 星期四2012年8月30日12:44 PM  帖子主题:Re:在C ++中写一个解析器

黑人法师在这篇文章上铸造了一个邪恶的复活咒语。

对不起,你会碰巧告诉我链接是否正在下载的位置?出于某种原因,我看不到。我真的很兴趣查看源代码。
m




邮政发布: 星期四2012年8月30日上午9:18  帖子主题:Re:在C ++中写一个解析器

似乎在我的一个重新安装时,我禁用了对我的Repos的非密码访问并无论如何都会删除。

这是一个档案的档案,因为我上次看起来以来不受影响。

请注意,随着Compsci限制文件名扩展,它实际上不是一个zip文件,而是一个bz2'd tar存档。重命名为tar.bz2或使用不关心文件名的SANE工具。



Corewars Evolver.zip.
 Description:

下载
 Filename:  CoreWars Evolver.zip
 Filesize:  872.85 KB
 Downloaded:  593 Time(s)

从上一个显示帖子:   
   指数 -> C ++
查看上一个主题 告诉一个朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 10 Posts ]
跳到:   


Style:  
搜索: