Pseudo 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Pseudo 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Pseudo 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Pseudo 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Pseudo 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

Pseudo利用一个算法/一个简单程序,然后在Python, JavaScript, C#, Go 和 Ruby 中生成为惯用代码。

Pseudo实现两层翻译:它采取目标语言的语法,可以使用Y语言的本地标准库表达出X语言的标准库的方法/API。

应用实例:

  • generate code for the same task/algorithm in different languages (parser generators etc)

  • port a library/codebase

  • develop core logic in one language and use it in other language codebases

  • write a compiler/dsl

  • bootstrap a codebase in another language / generate equivalent test suites in different languages

  • translate/support some algorithms in different languages

  • translate/support some text/data processing/command tool in different languages

安装

pip install pseudo #only python 3 supported
# probably you'd like to try the python-to-pseudo-to-js/go/etc compiler
pip install pseudo-python

用法

你可以在Python中直接使用Pseudo-Python生成Pseudo抽象语法树。

pseudo-python a.py # generates a.pseudo.yaml

然后翻译这个抽象语法树

pseudo a.pseudo.yaml go # or ruby / js / csharp / py / cpp

或者你也可以直接从python翻译成另一种语言

pseudo-python a.py b.rb # or c.cs
pseudo.generate(pseudo_ast, language)

为了快速实验,使用generate_main更容易生成

from pseudo import * # ok for a replprint(generate_main([
  assignment(
    local('a', 'Int'),
    call(local('g'), [to_node(0), to_node('')], 'Int'))], 'rb'))

a = g(0, '')

未来的Pseudo可以添加一个Lisp的DSL用于快速手动创建抽象语法树的节点,但目前它的主要目标更加有用:消耗自动生成的pseudo抽象语法树,然后将其转译为目标语言。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/03/28 21:56

Pseudo Labelling

<div class="entry-content"> 我们在解决监督机器学习的问题上取得了巨大的进步。这也意味着我们需要大量的数据来构建我们的图像分类器。但是,这并不是人类思维的学习方式。一个人的大脑不需要上百万个数据来进行训练,需要通过多次迭代来完成相同的图像来理解一个主题。它所需要的只是在基础模式上用几个指导点训练自己。显然,我们在当前的机器学习方法中缺少一些东西。我们能否可以建立一个系统,能够要求最低限度的监督,并...

0
0
发表于AI & 大数据专区
2016/09/14 16:22

Pseudo-terminal will not be allocated because stdin is not a terminal.

Try ssh -t -t to force pseudo-tty allocation even if stdin isn't a terminal.

0
1
发表于大前端专区
2016/01/17 16:29

CSS 伪类(Pseudo-classes)

CSS伪类是用来添加一些选择器的特殊效果。 语法 伪类的语法: selector:pseudo-class {property:value;} CSS类也可以使用伪类: selector.class:pseudo-class {property:value;} anchor伪类 在支持 CSS 的浏览器中,链接的不同状态都可以以不同的方式显示 a:link {color:#FF0000;} /* 未访问的链接 */ a:visited {color:#00FF00;} /* 已访问的链接 */ a:hover {color:#FF00FF;} /* 鼠标划过链接 */ a:active {colo...

0
0
发表了博客
2019/01/02 14:52

Image Processing - Pseudo(False) Color Processing

最近在一个项目中有需要用到将图片从GrayScale转为FalseColor,然而百度了一下Halcon 伪彩色等关键字均找不到相关答案,倒是有很多OpenCV和Matlab的...后来在搜索中看到了一个lut字眼,恍然记起Halcon中有 <font color="red">set_lut</font> 的这条Operator。试了一下果然是这条算子,在这里记录下来,方便其他人搜索。 Halcon中的实现 read_image (Img1, 'img1') access_channel (Img1, Image, 1) get_image_size (Image, Wid...

0
0
发表了博客
2012/05/03 10:41

CSS伪类(pseudo class)简明介绍之:before和:after

日期:2012-4-26 来源:GBin1.com 在线演示 本地下载 在线调试 如果大家经常关注互联网新网站和应用的话,或者你喜欢收集不同的网站模板,你会发现越来越多的网站模板或者网站在使用CSS伪类 - pseudo class。 今天我们这里给大家简单介绍伪类中经常使用的俩个:before和:after。希望大家能够觉得有帮助! 如果你喜欢我们的文章,或者有任何问题,请给我们留言,谢谢! 什么是伪类(pseudo class)? pseudo这个单词来源于希腊语的音...

0
0
发表了博客
2013/08/09 09:50

Teredo tunneling pseudo-interface前面有个黄色感叹号

X230i安装win7之后发现在设备管理器里有一个带黄色感叹号的设备teredo tunneling pseudo-interfac Solution: 01. Open command prompt with administrator credentials (Find cmd and right-click - Run as Administrator). 02. Enter netsh environment. Type "netsh" and ENTER. 03. "int teredo" and ENTER 04. "set state disabled" and ENTER. 05. Open Device Manager and uninstall "Teredo Tunneling Pseudo-Interface...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
8 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部