要写这个东西的起因见这篇博客,很想将这个插件完善,但是发现必须先弄出JavaScript的语法树,如是也想乘机好好学习下编译原理,就有了这个case的想法。
我提交到CodePlex上的代码大量的参照了开源项目SharpDevelop和Eclipse的代码(注意是大量,如果你觉得很多代码很相似请不要见怪,我模仿过来的),很想努力的把这个做好,但是由于精力有限,编译原理也不熟悉(非计算机专业出身,没学过这玩意),如果有人愿意共同来完成这个case,我非常欢迎

项目地址:http://www.codeplex.com/JSLexerParser
现在分三个项目,如下图所示:

JavaScriptLexer是词法分析器,这个基本上完成了(但是没有做错误处理和错误恢复)
JavaScriptParser是语法分析器,入口方法是Parse(),可以得到一个抽象语法树,语法分析器还没有完成,在表达式分析的地方卡壳了,
Test是一个测试工程

如果你有兴趣参与你可以向我发Email或用QQ联系
Email:yuyijq ## gmail.com ##->@
QQ:258169631

我的想法是这样的:
第一步:完成这个词法、语法分析器
第二步:将这个分析器应用到我上面提到的那个插件中去,这样也可以检验一下分析器
第三步:如果有兴趣,想更进一步研究编译原理,可以在分析器基础上尝试编译成IL代码(可选)

转载于:https://www.cnblogs.com/yuyijq/archive/2008/06/09/1216214.html

我在CodePlex上建的开源项目:JavaScript Lexer and Parser(欢迎加入)相关推荐

  1. GitHub上优秀的开源项目(转载)

    GitHub上优秀的开源项目(转载) 转载出处:https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 ...

  2. 2020年10月份Github上热门的开源项目

    10月份GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看上榜详情吧: 1. base-admin https://github.com/huanzi-qch/base-admin St ...

  3. 如何在 GitHub 上高效搜索开源项目(转载)

    如何在 GitHub 上高效搜索开源项目 查看全文 http://www.taodudu.cc/news/show-1347360.html 相关文章: Mybatis.cfg配置标签的顺序问题 To ...

  4. Silverlight多文件(大文件)上传的开源项目

    在Silverlight上实现文件上传的例子在网上的还不多,特别是多文件上传和大文件上传的例子就更少了.当然 那些商品软件公司的产品除外. 目前的CodePlex上就有这样一个项目,其链接:http: ...

  5. 简历上写CV开源项目,有用吗?

    常有粉丝留言问我:简历上写CV的开源项目有用吗? 答案很简单,没什么用. 以"实时目标检测"这一自动驾驶.机器人等行业的重要任务来举例,尽管你可以获得一些开源代码,但几乎没有任何开 ...

  6. Silverlight 3D开源项目,取材于CodePlex和微软的开源项目,主要是更新至Silverlight RTM版...

    这些项目来源于网络,有些是CodePlex上作者分享的源码和示例,有些是微软推Silverlight 5时的演示项目,但是使用的是silverlight 5 beta或者更早的版本,在VS2010+S ...

  7. 回顾 | 在 GitHub 上贡献到开源项目

    点击蓝字 关注我们 精彩回顾 GitHub 是世界上最大的开源社区,拥有数百万个开源项目.GitHub 的优势之一是在项目上进行协作非常容易.在本研讨会中,我们将介绍在 GitHub 上找到开源项目并 ...

  8. .Net资讯 | 一大波开发者福利来了, 一份微软官方Github上发布的开源项目清单等你签收...

    目录 微软Github开源项目入口 微软开源项目受欢迎程度排名 Visual Studio Code TypeScript RxJS .NET Core 基础类库 CNTK Microsoft cal ...

  9. 如何运行vue项目(从gethub上download的开源项目)

    前提:入坑vue.js,从GitHub上download一个vue.js的开源项目,发现不知如何在浏览器运行,通过查阅网上教程,发现网上的很多是教你怎么新建项目,并没有一个是教如何打开已有的项目.自已 ...

最新文章

  1. cmodel模拟器开发
  2. grep 在HP-UX下的递归查找
  3. 实验吧 速度爆破
  4. linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理
  5. Matlab生成各种伪随机信号_idinput指令
  6. bs模型Nd怎么用计算机算,BS模式的下试卷自动生成系统的设计与实现
  7. promise异步请求串行异步then并行异步all竞争异步race 传递参数resolve(then)reject(catch)
  8. CVE-2019-14287(sudo提权)
  9. 路由销毁上一页_路由器原理(数据通信)
  10. 为普及再助一把力!《2021年中国低代码/无代码市场研究报告》正式发布
  11. ios中amplify配置configure_Asp.netCore3.0 简单的webapi接口 (中)
  12. python3.7安装tensorflow-gpu_tensorflow-gpu安装的常见问题及解决方案
  13. 教你炒股票13:不带套的操作不是好操作!
  14. 利用Python做假设检验、参数估计、方差分析、线性回归
  15. 【5G核心网】 NGAP 消息
  16. 解决office word 2016升级后工具栏无Mathtype
  17. 集创北方IPO被终止:曾拟募资60亿 小米华为vivo是股东
  18. html5圣诞贺卡,用CorelDRAW制作漂亮别致的圣诞贺卡
  19. 每一个c语言程序允许有多个函数,一个c语言程序由什么构成
  20. 标签上的 title属性与 alt属性的区别

热门文章

  1. 卷积神经网络图像识别_[源码和文档分享]基于CUDA的卷积神经网络算法实现
  2. 基于CNN实现对摄像头捕捉的人脸进行性别和年龄的预测
  3. 机器学习算法工程师面试经验谈:以个性化推荐算法为例
  4. 错误: 找不到符号_Excel函数常见特殊符号、字符解读
  5. torch.index_select与torch.gather
  6. DisSent: Learning Sentence Representations from Explicit Discourse Relations
  7. 用popen函数操作其它程序的输入和输出
  8. android书籍和教程推荐--不断更新
  9. Flex3 CRUD 与Java后台交互 完整Demo
  10. 实现一个符合标准的Promise