文法誤りの制御文の言語変換 WebAPI (試作)

リクエストURL

https://akg.se.nanzan-u.ac.jp/cdtr/api/
GET または POST で URLクエリパラメータ を受け付けます.

リクエストパラメータ

パラメータ必須説明
code必須 変換したいコードです.
セミコロン(;)は %3B に,プラス(+)は %2B にエスケープしてください.
lang必須 変換後の言語です.
c, javascript, php, ruby, python のいずれかを指定してください.
callback省略化 JSONPでのコールバック関数名です.

レスポンスフィールド

JSONで結果が返されます.

フィールド説明
success 変換に成功したかどうかの結果 ("true" か "false").

success が true の場合のフィールド

フィールド説明
from_code 変換前のコード (リクエストパラメータのcode).
from_lang 変換前コードの言語 (c, javascript, php, ruby, python).
自動判定されます.複数の場合は空白で区切られます.
to_code 変換後のコード.
to_lang 変換後コードの言語 (リクエストパラメータのlang).
warning 式の誤りに関する警告メッセージ.警告がない場合は空文字.

success が false の場合のフィールド

フィールド説明
error エラーメッセージ.

サンプル (GET で URLクエリパラメータの例)

結果はJSONで返されます

'elseif (x==0) {' を Ruby に変換
https://akg.se.nanzan-u.ac.jp/cdtr/api/?code=elseif (x==0) {&lang=ruby
'for(i=0;i<n;i++)' を Python に変換 (';' は %3B に,'+' は %2B にエスケープ)
https://akg.se.nanzan-u.ac.jp/cdtr/api/?code=for(i=0%3Bi<n%3Bi%2B%2B)&lang=python
'if($x===$y)' を C に変換
https://akg.se.nanzan-u.ac.jp/cdtr/api/?code=if($x===$y)&lang=c
'for freedom' を JavaScript に変換 (エラーの例)
https://akg.se.nanzan-u.ac.jp/cdtr/api/?code=for freedom&lang=javascript

HACHISU Yoshinari <hachisu (at) nanzan-u.ac.jp>