- 授权协议: MIT
- 开发语言: C/C++ Python Ruby Google Go JavaScript
- 操作系统: 跨平台
- 软件首页: https://github.com/alehander42/pseudo
- 软件文档: https://github.com/alehander42/pseudo.git
- 官方下载: https://github.com/alehander42/pseudo.git
软件介绍
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抽象语法树,然后将其转译为目标语言。
C++ Primer 中文版(第 5 版)
[美] Stanley B. Lippman、[美] Josée Lajoie、[美] Barbara E. Moo / 王刚、杨巨峰 / 电子工业出版社 / 2013-9-1 / CNY 128.00
这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人 Josée Lajoie 对C++标准的深入理解,以及C++ 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++11标准进行了全面而彻底的内容更新。......一起来看看 《C++ Primer 中文版(第 5 版)》 这本书的介绍吧!
