littlebot
Published on 2025-04-15 / 4 Visits
0

【源码】基于C++编程语言的Methan0l解释器

项目简介

Methan0l是使用C++编写的动态类型、多范式编程语言解释器。它支持过程式、面向对象和函数式等多种编程范式,旨在提供嵌入式抽象语法树(AST)解释器,适用于小型应用程序、教学和实验。

项目的主要特性和功能

  • 动态类型系统:运行时可更改变量类型。
  • 多范式支持:涵盖过程式、面向对象和函数式编程范式。
  • 丰富的数据类型:包含整数、浮点数、布尔值、字符串、列表、映射等。
  • 强大的控制结构:支持条件语句、循环、函数定义和调用。
  • 丰富的内置函数:提供数学、字符串处理、文件操作等函数。
  • 简洁的语法:设计简洁易读,便于学习使用。

安装使用步骤

构建要求

  • GNU make 4.2+
  • g++ 10+
  • libboost Windows用户建议用MSYS2安装上述工具。

构建步骤

  1. 复制项目bash cd Methan0l
  2. 构建解释器和CLIbash cd build make all
  3. 构建解释器库(libmethan0l.sobash cd build make lib
  4. 构建模块bash cd build make modules 或构建特定模块: bash cd modules/[module_name] make
  5. 创建发布包bash cd build make release

使用解释器

  • 执行程序bash ./methan0l [interpreter-args] /path/to/src-file.mt0 [script-args]
  • 启动交互模式bash ./methan0l [interpreter-args]
  • 解释器参数
  • --no-exit:程序执行后暂停,等待用户输入。
  • --cas:启动CAS模式,保存并打印每个表达式的求值结果。
  • --max-mem=123:设置最大可分配堆容量(字节)。
  • --initial-mem=123:设置初始堆容量(字节)。
  • --allocate-fully:在解释器启动时完全分配堆。
  • --no-heap-limit:禁用堆限制,防止解释器在超过最大堆容量时抛出异常。
  • --no-flat-buffer:禁用单调缓冲区上游(用于测试,可能会被移除)。
  • --version:打印版本字符串。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】