Submit Search
Pythonが動く仕組み(の概要)
1 like
3,265 views
Yoshiaki Shibutani
PyCon JP 2017
Engineering
Read more
1 of 12
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
More Related Content
What's hot
(20)
PDF
Pythonによる黒魔術入門
大樹 小倉
PPTX
トランザクションの設計と進化
Kumazaki Hiroki
PDF
トランザクションスクリプトのすすめ
pospome
PPTX
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
PDF
良い?悪い?コードコメントの書き方
Shigenori Sagawa
PPTX
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
PDF
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
PDF
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PDF
オブジェクト指向できていますか?
Moriharu Ohzu
PDF
Quine・難解プログラミングについて
mametter
PDF
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
PDF
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
PDF
プログラムを高速化する話
京大 マイコンクラブ
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
PPTX
DockerコンテナでGitを使う
Kazuhiro Suga
PDF
FizzBuzzで学ぶJavaの進化
虎の穴 開発室
Pythonによる黒魔術入門
大樹 小倉
トランザクションの設計と進化
Kumazaki Hiroki
トランザクションスクリプトのすすめ
pospome
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
良い?悪い?コードコメントの書き方
Shigenori Sagawa
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
オブジェクト指向できていますか?
Moriharu Ohzu
Quine・難解プログラミングについて
mametter
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
プログラムを高速化する話
京大 マイコンクラブ
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
DockerコンテナでGitを使う
Kazuhiro Suga
FizzBuzzで学ぶJavaの進化
虎の穴 開発室
Viewers also liked
(12)
PDF
JVM上で動くPython処理系実装のススメ
Yoshiaki Shibutani
PDF
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
PDF
Return of the transaction king
Ryan Knight
PDF
Matrix Factorizations for Recommender Systems
Dmitriy Selivanov
PDF
Nelson: Rigorous Deployment for a Functional World
Timothy Perrett
PDF
Another compilation method in java - AOT (Ahead of Time) compilation
Logico
PDF
Java9を迎えた今こそ!Java本格(再)入門
Takuya Okada
PPTX
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Kohei Saito
PPTX
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
PDF
Disorder And Tolerance In Distributed Systems At Scale
Helena Edelson
JVM上で動くPython処理系実装のススメ
Yoshiaki Shibutani
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
Return of the transaction king
Ryan Knight
Matrix Factorizations for Recommender Systems
Dmitriy Selivanov
Nelson: Rigorous Deployment for a Functional World
Timothy Perrett
Another compilation method in java - AOT (Ahead of Time) compilation
Logico
Java9を迎えた今こそ!Java本格(再)入門
Takuya Okada
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Kohei Saito
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
YujiSoftware
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Disorder And Tolerance In Distributed Systems At Scale
Helena Edelson
Ad
Similar to Pythonが動く仕組み(の概要)
(20)
PDF
Pythonの非同期処理を始める前に
koralle
PDF
self made Fulltext search first_step
Ryou Katou
PPTX
Pythonでexcel
株式会社 システムヨシイ
PDF
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
PPT
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
ODP
Introduction of Python
Tomoya Nakayama
PDF
Cent osにpyhtonをインストールしてみよう
2bo 2bo
PDF
Abstractive Text Summarization @Retrieva seminar
Kodaira Tomonori
PPTX
Django_Fukuoka
Shuya Motouchi
PDF
Django_fukuoka
ShuyaMotouchi1
PPTX
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
PDF
Boost.Spirit.QiとLLVM APIで遊ぼう
nvsofts
PDF
Supervised Learning of Universal Sentence Representations from Natural Langua...
Naoaki Okazaki
ODP
mysqlftppc 紹介
Hiroaki Kawai
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
PPTX
ChainerでDeep Learningを試す為に必要なこと
Jiro Nishitoba
PDF
謎の言語Forthが謎なので実装した
t-sin
PPTX
ChainerでDeep Learningを試すために必要なこと
Retrieva inc.
PPTX
Luceneインデックスの共起単語分析とSolrによる共起単語サジェスチョン
Koji Sekiguchi
PPTX
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Hirokazu Kutsu
Pythonの非同期処理を始める前に
koralle
self made Fulltext search first_step
Ryou Katou
Pythonでexcel
株式会社 システムヨシイ
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
Introduction of Python
Tomoya Nakayama
Cent osにpyhtonをインストールしてみよう
2bo 2bo
Abstractive Text Summarization @Retrieva seminar
Kodaira Tomonori
Django_Fukuoka
Shuya Motouchi
Django_fukuoka
ShuyaMotouchi1
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
Boost.Spirit.QiとLLVM APIで遊ぼう
nvsofts
Supervised Learning of Universal Sentence Representations from Natural Langua...
Naoaki Okazaki
mysqlftppc 紹介
Hiroaki Kawai
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
ChainerでDeep Learningを試す為に必要なこと
Jiro Nishitoba
謎の言語Forthが謎なので実装した
t-sin
ChainerでDeep Learningを試すために必要なこと
Retrieva inc.
Luceneインデックスの共起単語分析とSolrによる共起単語サジェスチョン
Koji Sekiguchi
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Hirokazu Kutsu
Ad
Pythonが動く仕組み(の概要)
1.
Pythonが動く仕組み の概要 yotchang4s 2017/09/08
2.
お前誰よ ❖ yotchang4s (よっちゃん) ➢
澁谷 典明 (Yoshiaki Shibutani) ❖ Python歴 ➢ 4ヵ月くらいの初心者 ❖ 所属 ➢ 無職いぇーい
3.
Pythonが動くざっくりとした仕組み(概念) 1. ソースコードを字句解析して字句のストリームを作る 2. 字句のストリームから構文解析をして抽象構文木(AST)を作る 3.
抽象構文木をevalする(単純なインタプリタ) (CPythonだとバイトコードを生成してVMで動かす) 今回は特に字句解析の一部について話します。
4.
動かしてみる(デモ) if 1 ==
1: print("hello")
5.
動かした結果
6.
字句解析器から構文解析器へのストリーム 字句解析器 (Lexer) if 1 ==
1 : <NEWLINE> <INDENT> print ( "hello" <DEDENT> <NEWLINE> 構文解析器 (Parser) if 1 == 1: print("hello") ) ポイントは論理的な字句である<INDENT>と<DEDENT>。 Pythonでは字句解析でインデントの始まりと終わりを作る。
7.
構文解析からASTの作成 構文解析とASTについては以下を参照。詳細は時間の関係で割愛。 ❖ Grammar ➢ 10.
完全な文法仕様 (https://docs.python.org/ja/3/reference/grammar.html) ❖ AST ➢ 32.2.2. 抽象文法 (Abstract Grammar) (https://docs.python.org/ja/3.6/library/ast.html#abstract-grammar)
8.
ASTから実行 時間の関係で…
9.
何故調べた? 必要だったから。それは…
10.
実は 最初のデモは自作のPython処理系、 cafebabepyで動いています。
11.
裏タイトル cafebabepyの紹介
12.
cafebabepyとは cafebabepyはJVM上で動くPython処理系で2017年5月から作り続けています。 2017年9月現在class定義とselfを束縛した関数の メソッド呼び出しができたところ。デスクリプタ辛い… 残念ながらプロポーザルが落ちてしまったので本日はここまで! 詳しい話が聞きたい奇特な方は直接お声がけ下さい。 cafebabepy (https://github.com/yotchang4s/cafebabepy)
Download