可执行的org格式的伪代码嵌入到python中。
neulang的Python项目详细描述
纽朗
为人类编码。
说明
neulang是一个嵌入python的自然语言启用层。它接受包含伪代码的脚本,并运行它们。 为什么?
作为任何人都可以学习的最简单的编程语言,python非常棒。 但仍有曲线继续将许多人拒之门外的编码世界。 人们不必学习另一种语言来编码,特别是在这个智能设备、物联网和人工智能的时代。 让我们把编码带给人们,而不是人们去编码。 哦,我有很多org格式的伪代码,我想让它们成为可执行的。
安装
pip安装neulang
或者从gitlab克隆最新版本。
功能
- 命令行模式
neu[选项]--命令="*neu命令"
- 交互模式
neu[选项][-i]
- 退出时使用
*退出*
,*退出*
或ctrl+d
- 可作为对象实例从模块导入
从Neulang导入Neulang
n=neulang()
脚本="*air\u说‘hello world’"
n.加载(脚本)
n.eval()
- 运行脚本文件
neu[选项]/path/to/script.neu
- 在脚本文件中运行单个节点
neu[选项]script.neu-o"s/org/path/as/regex/or/index"
- 从命令行导入其他Neulang模块
neu[options]-m"path/to/first/module.neu:another/module.neu"
- python风格的模块访问
*包括("neulang.natural.basics")
通过脚本n.load_模块("neulang.natural.basics")
通过实例
- 将neu传输到python源代码(需要astor)
n.到py()
通过实例neu script.neu—到py
通过cli
- 访问模块作用域中定义的模式
n.get_patterns()
通过实例neu script.neu—模式
通过cli
用法
- 注意:这是测试版软件。
- 为了获得最佳体验,请使用支持组织模式的文本编辑器。最好是用于项目的emacs。一个兄弟项目naic ide也正在开发中。
- 在新缓冲区上激活组织模式(
alt+x org mode enter
)并将脚本编写为有组织的伪代码。 - 修改伪代码,使其遵循
tests/tests.neu
中提供的操作。以下操作层当前可用:常规的python表达式节点:
*打印("hello world")
面向python语句的特性的一个临时子集也被重新实现为可调用的,以简化转换。它们的前缀都是
x
:*x嫒setv('os',x嫒import('os'))
astir(抽象语法树中间表示)节点作为语句和表达式的切入点(目前还没有全部实现)。它的区别在于以
air
开头的关键字。在大多数情况下,其余部分往往对应于操作的python本机名称(尽管在本例中没有):*空气设定值
**我的字符串
**这是一个字符串
*air_call打印我的字符串
通过mycroft adapt意图分析器:
intent_parts
部分采用1+个有效的正则表达式,该表达式使用dict组启用对intent的解析。为了方便起见,命名组可以用双角度表示,例如,<;<;req_my_name>;
展开为(?p<;请求我的姓名>;+
正文
部分由任何层组成,还将命名组扩展为单个名称绑定。- 注意:请参见
tests.neu
例如用法。
- 运行脚本:
neu script.neu
- 提供有关您的经验、错误和改进建议的反馈。
示例
目前有一个例子,一个todo应用程序。它使用flask
和sqlalchemy
并基于这个flask简介教程。代码位于examples/flask\u todo
中。安装并运行(假设neu已经工作):
git clone
和cd
到项目中pip install-r examples/flask_todo/requirements.txt
neu示例/烧瓶
这将启动一个flask应用程序,该应用程序提供用于管理todo的api。默认情况下,todo存储在基于-memory的-sqlite数据库中。要与之交互,请转到另一个终端并使用还包括的httpie
应用程序(或支持post、get、put和delete方法的首选http客户端)运行:
http-f post http://127.0.0.1:5000/api/v0/tasks name=first id=0 note='我的第一个注释'
http获取http://127.0.0.1:5000/api/v0/tasks/0
http-f输入http://127.0.0.1:5000/api/v0/tasks/0 name=first id=0 note='编辑注释…'
http-f post http://127.0.0.1:5000/api/v0/tasks name=first id=0 note='添加更多要做的事情!'< /代码>
http获取http://127.0.0.1:5000/api/v0/tasks
http删除http://127.0.0.1:5000/api/v0/tasks/0
去看看能实现的neu代码。有3个文件:flask.neu
管理flask应用程序,database.neu
管理数据库建模和事务,以及todo.neu
创建应用程序并定义api端点。别忘了在一个支持组织模式的编辑器中打开!
组织模式入门
org模式是一个用于记录、计划项目和各种其他组织任务的丰富的纯文本系统。它使用了一个由星星表示的层次树结构,可以很容易地用键盘快捷键操作。文本的部分可以折叠起来,仅显示一般结构和当前正在处理的部分。
neulang继承了这些核心特性,这将使编码更像是组织描述所需操作的自然短语/句子的问题。具体来说,使neulang易于操作的org模式特性(及其emacs绑定)是:
- 创建新节点
alt+enter
- 向上/向下移动单个节点
alt+向上/向下
- 缩进/缩进单个节点
alt+左/右
- 缩进/缩进节点及其子节点
alt_shift+左/右
- 循环父节点折叠
选项卡
有关详细信息,请参见组织手册:结构编辑。
许可证
GNU AGPLv3+。请参见许可证。
贡献
请参见贡献。
发行说明
请参见更改日志 ./p>
待办事项
- 文档
- 在ast中实现剩下的核心python特性
- 更多…
新闻和社区
有关更多信息,请按照neulang dev频道(此处预览)。也可以加入官方的Neulang Chatrel="nofollow">neulang:matrix.org