Yarp Ruby

Ruby 解释器
授权协议 MIT
开发语言 C/C++ Ruby
所属分类 开发工具、 语法解析工具
软件类型 开源软件
地区 不详
投 递 者 姬向明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Yarp (Yet Another Ruby Parser) 是一个 Ruby 解释器,目前处于早期阶段,旨在取代现有的 CRuby 解释器。

Yarp 的三个目标:

  • 可移植性——支持在其他项目、实现和工具中使用这个解释器
  • 容错——支持从尽可能多的语法错误中恢复
  • 可维护性——成为一个长期存在的项目,具有良好的健康度。这意味着要具备教程、示例、文档、干净的代码、良好的测试覆盖率等。

目录结构

.
├── Makefile              configuration to compile the shared library and native tests
├── Rakefile              configuration to compile the native extension and run the Ruby tests
├── bin
│   ├── template          generates code from the nodes and tokens configured by config.yml
│   └── templates         directory containing all of the various templates
├── config.yml            specification for tokens and nodes in the tree
├── ext
│   └── yarp
│       └── extension.c   the native extension that interacts with librubyparser
├── lib
│   ├── yarp              support files for the Ruby library
│   └── yarp.rb           main entrypoint into the Ruby library
├── src
│   ├── yarp.c            main entrypoint into the shared library
│   └── yarp.h            main header file for the shared library
└── test                  Ruby tests for the Ruby library
  • 1.each each_with_index each.with_index ['a', 'b', 'c'].each {|e| puts e} #=>'a' 'b' 'c' ['a', 'b', 'c'].each_with_index {|e,index| puts index} #=> 0 1 2 ['a', 'b', 'c'].each.with_index(1) {|e,inde

 相关资料
  • 问题内容: 为简单起见,请设想这种情况,我们有一台2位计算机,它具有一对称为r1和r2的2位寄存器,并且仅适用于立即寻址。 假设位序列 00 表示 添加 到我们的CPU中。也 01 的装置将数据移动到R 1和 10组 的装置将数据移动到R2。 因此,这台计算机和一个汇编器都有一种汇编语言,其中的示例代码将像 简而言之,当我将此代码汇编成本地语言时,文件将类似于: 上面的12位是以下代码的本机代码:

  • 主要内容:解释器的创建PyCharm包括解释器,以便根据需要创建具有新功能的新项目。 您可以根据需要在系统中创建虚拟环境。也可以在对话框中继承全局网站包。解释器可在Python Package Index(PyPI)上找到,并且可以使用轻松安装和访问。 解释器的创建 要创建一个解释器,总是建议在管理所需配置的情况下创建一个新项目。 看看下面的截图以便更好地理解 - 这些参数包括 - 位置 - 它描述了创建虚拟环境的参数

  • Linux/Unix的系统上,一般默认的 python 版本为 2.x,我们可以将 python3.x 安装在 /usr/local/python3 目录中。 安装完成后,我们可以将路径 /usr/local/python3/bin 添加到您的 Linux/Unix 操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python3 。 $ PATH=$PATH:/us

  • 当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。 由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。 CPython 当我们从Python官方网站下载并安装好

  • 当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。 由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。 CPython 当我们从Python官方网站下载并安装好

  • 翻译的结果是什么?它会把高级语言变成汇编语言还是机器语言,即二进制代码? 如果是后者,这是否意味着解释语言与介绍集没有关系? 一种语言只能有一个口译员?是因为解释器不做任何优化,所以我们不需要找到更好的解释器吗?

  • 请向我解释为什么我总是得到这个错误: 显然,我只在开发模式下得到它,它不会在我的生产构建中发生,但这非常烦人,我根本不明白在我的开发环境中出现错误不会在prod上显示的好处--可能是因为我缺乏理解。 或者强制使用如下构造函数检测更改:: 但是为什么我总是遇到这个错误呢?我想了解它,这样我就可以避免这些黑客修复在未来。

  • 主要内容:介绍,实现,Expression.java,TerminalExpression.java,OrExpression.java,AndExpression.java,InterpreterPatternDemo.java解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 介绍 意图:给定一个语言,定义它的文法表示,并定义一个解释