Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yoshiaki Shibutani
3,275 views
Pythonが動く仕組み(の概要)
PyCon JP 2017
Engineering
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 12
2
/ 12
3
/ 12
4
/ 12
5
/ 12
6
/ 12
7
/ 12
8
/ 12
9
/ 12
10
/ 12
11
/ 12
12
/ 12
More Related Content
PDF
JVM上で動くPython処理系実装のススメ
by
Yoshiaki Shibutani
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
by
Takayuki Shimizukawa
PDF
PEP8を読んでみよう
by
2bo 2bo
PPTX
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
PDF
20170131 python3 6 PEP526
by
masahitojp
PDF
StreamingAPIを使用したTwitter Bot @waketi の紹介
by
kaiba d
ODP
Introduction of Python
by
Tomoya Nakayama
PPTX
Sharing Deep Dive
by
Takaaki Suzuki
JVM上で動くPython処理系実装のススメ
by
Yoshiaki Shibutani
Pythonはどうやってlen関数で長さを手にいれているの?
by
Takayuki Shimizukawa
PEP8を読んでみよう
by
2bo 2bo
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
20170131 python3 6 PEP526
by
masahitojp
StreamingAPIを使用したTwitter Bot @waketi の紹介
by
kaiba d
Introduction of Python
by
Tomoya Nakayama
Sharing Deep Dive
by
Takaaki Suzuki
What's hot
PDF
LLdeade Python Language Update
by
Atsushi Shibata
PDF
Python と型ヒント (Type Hints)
by
Tetsuya Morimoto
PDF
3分でサーバオペレーションコマンドを作る技術
by
Kei IWASAKI
PDF
XML-RPC : Pythonが「電池付属」と呼ばれる理由
by
Ransui Iso
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
PDF
Python入門
by
Shohei Okada
PDF
Lisp Tutorial for Pythonista Day 6
by
Ransui Iso
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
by
kiki utagawa
PDF
「Python言語」はじめの一歩 / First step of Python
by
Takanori Suzuki
KEY
ひのきのぼうだけで全クリ目指す
by
AromaBlack
PDF
PostgreSQLとpython
by
Soudai Sone
PPTX
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
by
SaitoTsutomu
ODP
Sourcecode Reading Workshop2010
by
Hiro Yoshioka
PDF
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
by
aoshiman
PDF
boost::shared_ptr tutorial
by
NU_Pan
PPT
関西オープンソース 2008 30days Albumの裏側
by
Gosuke Miyashita
PPT
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
by
hiroshi oshiba
PPTX
doctest を書こう @ pycon kansai
by
YosukeHojo
PPT
YAPC Asia 2010 30days Albumの裏側 後日談
by
Kensuke Nagae
LLdeade Python Language Update
by
Atsushi Shibata
Python と型ヒント (Type Hints)
by
Tetsuya Morimoto
3分でサーバオペレーションコマンドを作る技術
by
Kei IWASAKI
XML-RPC : Pythonが「電池付属」と呼ばれる理由
by
Ransui Iso
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
Python入門
by
Shohei Okada
Lisp Tutorial for Pythonista Day 6
by
Ransui Iso
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
by
kiki utagawa
「Python言語」はじめの一歩 / First step of Python
by
Takanori Suzuki
ひのきのぼうだけで全クリ目指す
by
AromaBlack
PostgreSQLとpython
by
Soudai Sone
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
by
SaitoTsutomu
Sourcecode Reading Workshop2010
by
Hiro Yoshioka
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
by
aoshiman
boost::shared_ptr tutorial
by
NU_Pan
関西オープンソース 2008 30days Albumの裏側
by
Gosuke Miyashita
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
by
hiroshi oshiba
doctest を書こう @ pycon kansai
by
YosukeHojo
YAPC Asia 2010 30days Albumの裏側 後日談
by
Kensuke Nagae
Viewers also liked
PDF
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
PDF
Return of the transaction king
by
Ryan Knight
PDF
Matrix Factorizations for Recommender Systems
by
Dmitriy Selivanov
PDF
Nelson: Rigorous Deployment for a Functional World
by
Timothy Perrett
PDF
Another compilation method in java - AOT (Ahead of Time) compilation
by
Logico
PDF
Java9を迎えた今こそ!Java本格(再)入門
by
Takuya Okada
PPTX
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
by
Kohei Saito
PPTX
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
by
YujiSoftware
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
by
Yoshifumi Kawai
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PDF
Disorder And Tolerance In Distributed Systems At Scale
by
Helena Edelson
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
Return of the transaction king
by
Ryan Knight
Matrix Factorizations for Recommender Systems
by
Dmitriy Selivanov
Nelson: Rigorous Deployment for a Functional World
by
Timothy Perrett
Another compilation method in java - AOT (Ahead of Time) compilation
by
Logico
Java9を迎えた今こそ!Java本格(再)入門
by
Takuya Okada
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
by
Kohei Saito
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
by
YujiSoftware
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
by
Yoshifumi Kawai
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
Disorder And Tolerance In Distributed Systems At Scale
by
Helena Edelson
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