プロポーザル

これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。

talk

JVM上で動くPython処理系cafebabepyの実装(ja)

スピーカー

Yoshiaki Shibutani

対象レベル:

中級

カテゴリ:

Core Python (Language, Stdlib)

説明

cafebabepyというJVM上で動くPython3処理系を実装しています。

Python3の言語仕様に悪戦苦闘し、どのように実装していったのかをお話します。 言語実装の楽しさ、そしてPythonの合理的な言語設計、どのように動いているかについてを共有をしたいと考えております。

cafebabeとはJavaクラスファイルのマジックナンバーです。 JVM上で動くJythonは2.7(2015年)で更新が止まっているため、じゃあ作るか! というのが実装している理由です。

目的

Pythonの言語仕様について何気なく使っているものがどのような仕組みで動いているかを知ることが出来る。 言語処理系の作り方の一例を知ることができる。

概要

cafebabepyというJVM上で動くPython3処理系の実装

Python処理系を実装していく中で、おっ!おっ?と思ったことを基本に実装の流れを説明していきます。

  • PythonのAST(抽象構文木)を作成する話。
  • ASTから実際に処理を実行する話。
  • Pythonのちょっとだけ深い言語仕様。
  • PythonとJavaの境界線の実装。
  • 実装における躓きポイント。
CONTACT