Pseudo 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Pseudo 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

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
发表于软件架构专区
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
0
发表于大前端专区
2016/01/17 16:29

CSS 伪类(Pseudo-classes)

CSS 伪类(Pseudo-classes)

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。试了一下果然是这条算子,在这里记录下来,方便其他人搜索。 ...

0
0
发表了博客
2018/11/20 11:29

CSS 伪类 (Pseudo-classes)实例

CSS 伪类 (Pseudo-classes)实例 CSS 伪类用于向某些选择器添加特殊的效果 在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。 a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问的链接 */ a:hov...

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

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

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

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...

0
0
06/28 00:54

机器学习不得不知道的提升技巧:SWA与pseudo-label

1 随机权值平均 stochastic weight averaging (SWA) 随机权值平均 这是一种全新的优化器,目前常见的有SGB,ADAM, 【概述】:这是一种通过梯度下降改善深度学习泛化能力的方法,而且不会要求额外的计算量,可以用...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
8 收藏
分享
返回顶部
顶部