Metadata-Version: 2.4
Name: tranp
Version: 0.9.2
Summary: A language-agnostic source-to-source transpiler framework.
License-Expression: MIT
Project-URL: Homepage, https://github.com/rog-works/tranp
Keywords: transpiler,transpilation,source-to-source,compiler,code generation
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: C++
Classifier: Topic :: Software Development :: Compilers
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENCE
Requires-Dist: lark<2,>=1.3.1
Requires-Dist: jinja2<4,>=3.1.4
Requires-Dist: pyyaml<7,>=6.0.2
Dynamic: license-file

tranp (TRANspiler on Python)
===

[![test](https://github.com/rog-works/tranp/actions/workflows/test.yml/badge.svg)](https://github.com/rog-works/tranp/actions/workflows/test.yml)
[![codecov](https://codecov.io/gh/rog-works/tranp/graph/badge.svg?token=Z1EGM7KUDJ)](https://codecov.io/gh/rog-works/tranp)
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)

# 概要

* 言語非依存(※1)のトランスパイルフレームワーク
* 入力言語のAST(※2)を元に、出力言語のソースコードをレンダリング
* トランスパイルのリアルタイム変換や変換時のシンボル解析、グラマー・ASTの解析ツールを付属
* ※1: 現状はPythonからC++への変換のみ実装
* ※2: ASTの生成は外部ツールを利用(自由に変更可能)

# 必須要件

* Python 3.13
* Lark 1.3.1
* Jinja2 3.1.4
* PyYAML 6.0.2

# インストール

```
$ pip install tranp
```

# 使用方法

## トランスパイラー (Python to C++)

```
$ bash bin/transpile.sh
```

## ソースコード解析ツール

```
$ bash bin/analyze.sh
```

## グラマー解析ツール

```
$ bash bin/gram.sh
```

## AST解析ツール

```
$ bash bin/ast.sh
```

# テスト

```
$ bash bin/test.sh
```

# ライセンス

[MIT](LICENCE)
* tranpを用いて生成したトランスパイル後のソースコードに関してはライセンスに含まれません
