Submit Search
Upload
objc2swift (自動変換の野望)
•
10 likes
•
6,651 views
Taketo Sano
Follow
ANTLR v4 による、ObjC -> Swift 自動変換器を作る試み。
Read less
Read more
Software
Report
Share
Report
Share
1 of 24
Download now
Download to read offline
Recommended
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
Taketo Sano
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
UnityTechnologiesJapan002
IL2CPPに関する軽い話
IL2CPPに関する軽い話
Wooram Yang
Perl motion
Perl motion
Kazutake Hiramatsu
C#とILとネイティブと
C#とILとネイティブと
信之 岩永
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱う
hayato iida
Rx入門
Rx入門
Takaaki Suzuki
Recommended
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
Taketo Sano
UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
wilfrem
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
C#×LLVM=アセンブラ!? 〜詳説・Burstコンパイラー〜
UnityTechnologiesJapan002
IL2CPPに関する軽い話
IL2CPPに関する軽い話
Wooram Yang
Perl motion
Perl motion
Kazutake Hiramatsu
C#とILとネイティブと
C#とILとネイティブと
信之 岩永
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱う
hayato iida
Rx入門
Rx入門
Takaaki Suzuki
Riverpodでテストを書こう
Riverpodでテストを書こう
Shinnosuke Tokuda
動的なILの生成と編集
動的なILの生成と編集
terurou
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
PerlMotion
PerlMotion
Kazutake Hiramatsu
Clrh 20140906 lt
Clrh 20140906 lt
Tomoyuki Obi
async/await不要論
async/await不要論
bleis tift
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
mametter
Ruby For Work
Ruby For Work
bash0C7
hooks riverpod + state notifier + freezed でのドメイン駆動設計
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Shinnosuke Tokuda
ReactiveSignalR
ReactiveSignalR
Takaaki Suzuki
Rx Showcase
Rx Showcase
Takaaki Suzuki
jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vault
Takekazu Omi
RcppEigen and SVD
RcppEigen and SVD
Xiangze
The Next Generation for C# Developers
The Next Generation for C# Developers
Takayoshi Tanaka
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
Rubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
bicep 0.5 pre
bicep 0.5 pre
Takekazu Omi
C#で速度を極めるいろは
C#で速度を極めるいろは
Core Concept Technologies
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
Hiroki Mizuno
Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010
Yamagata Yoriyuki
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Tomoaki Imai
Model View Presenter for Android
Model View Presenter for Android
shinnosuke kugimiya
More Related Content
What's hot
Riverpodでテストを書こう
Riverpodでテストを書こう
Shinnosuke Tokuda
動的なILの生成と編集
動的なILの生成と編集
terurou
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
PerlMotion
PerlMotion
Kazutake Hiramatsu
Clrh 20140906 lt
Clrh 20140906 lt
Tomoyuki Obi
async/await不要論
async/await不要論
bleis tift
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
mametter
Ruby For Work
Ruby For Work
bash0C7
hooks riverpod + state notifier + freezed でのドメイン駆動設計
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Shinnosuke Tokuda
ReactiveSignalR
ReactiveSignalR
Takaaki Suzuki
Rx Showcase
Rx Showcase
Takaaki Suzuki
jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vault
Takekazu Omi
RcppEigen and SVD
RcppEigen and SVD
Xiangze
The Next Generation for C# Developers
The Next Generation for C# Developers
Takayoshi Tanaka
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
Rubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
bicep 0.5 pre
bicep 0.5 pre
Takekazu Omi
C#で速度を極めるいろは
C#で速度を極めるいろは
Core Concept Technologies
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
Hiroki Mizuno
Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010
Yamagata Yoriyuki
What's hot
(20)
Riverpodでテストを書こう
Riverpodでテストを書こう
動的なILの生成と編集
動的なILの生成と編集
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
PerlMotion
PerlMotion
Clrh 20140906 lt
Clrh 20140906 lt
async/await不要論
async/await不要論
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
Ruby For Work
Ruby For Work
hooks riverpod + state notifier + freezed でのドメイン駆動設計
hooks riverpod + state notifier + freezed でのドメイン駆動設計
ReactiveSignalR
ReactiveSignalR
Rx Showcase
Rx Showcase
jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vault
RcppEigen and SVD
RcppEigen and SVD
The Next Generation for C# Developers
The Next Generation for C# Developers
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Rubinius Under a Microscope
Rubinius Under a Microscope
bicep 0.5 pre
bicep 0.5 pre
C#で速度を極めるいろは
C#で速度を極めるいろは
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
Google 日本語入力 TechTalk 2010
Google 日本語入力 TechTalk 2010
Viewers also liked
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Tomoaki Imai
Model View Presenter for Android
Model View Presenter for Android
shinnosuke kugimiya
Swift2.x を Scala からみる
Swift2.x を Scala からみる
Yuichi Adachi
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
Taketo Sano
基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先
Taketo Sano
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
Taketo Sano
統計学の基礎の基礎
統計学の基礎の基礎
Ken'ichi Matsui
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
Coursera Machine Learning Week2まとめ
Coursera Machine Learning Week2まとめ
Yuta Koga
鳥肌必至のニューラルネットワークによる近未来の画像認識技術を体験し、IoTの知られざるパワーを知る
鳥肌必至のニューラルネットワークによる近未来の画像認識技術を体験し、IoTの知られざるパワーを知る
Kazuki Nakajima
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible
Taketo Sano
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
Ken'ichi Matsui
基礎からのベイズ統計学 輪読会資料 第8章 「比率・相関・信頼性」
基礎からのベイズ統計学 輪読会資料 第8章 「比率・相関・信頼性」
Ken'ichi Matsui
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
Ken'ichi Matsui
let UIWebView as WKWebView
let UIWebView as WKWebView
Taketo Sano
「全ての確率はコイン投げに通ず」 Japan.R 発表資料
「全ての確率はコイン投げに通ず」 Japan.R 発表資料
Ken'ichi Matsui
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
Amazon Web Services Japan
Rexhep qosja te vertetat e vonuara
Rexhep qosja te vertetat e vonuara
Libra Islame
Partial least squares回帰と画像認識への応用
Partial least squares回帰と画像認識への応用
Shohei Kumagai
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
Ken'ichi Matsui
Viewers also liked
(20)
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Model View Presenter for Android
Model View Presenter for Android
Swift2.x を Scala からみる
Swift2.x を Scala からみる
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
統計学の基礎の基礎
統計学の基礎の基礎
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
Coursera Machine Learning Week2まとめ
Coursera Machine Learning Week2まとめ
鳥肌必至のニューラルネットワークによる近未来の画像認識技術を体験し、IoTの知られざるパワーを知る
鳥肌必至のニューラルネットワークによる近未来の画像認識技術を体験し、IoTの知られざるパワーを知る
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
基礎からのベイズ統計学 輪読会資料 第8章 「比率・相関・信頼性」
基礎からのベイズ統計学 輪読会資料 第8章 「比率・相関・信頼性」
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
let UIWebView as WKWebView
let UIWebView as WKWebView
「全ての確率はコイン投げに通ず」 Japan.R 発表資料
「全ての確率はコイン投げに通ず」 Japan.R 発表資料
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
Rexhep qosja te vertetat e vonuara
Rexhep qosja te vertetat e vonuara
Partial least squares回帰と画像認識への応用
Partial least squares回帰と画像認識への応用
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
Similar to objc2swift (自動変換の野望)
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
Tomoki Hasegawa
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版
Taisuke Oe
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
Tomohiro Kumagai
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
Study Swift
Study Swift
Akihiro Urushihara
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
apuruni
How to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping Application
Hirotaka Niisato
Interactive Application using Kinect and Android
Interactive Application using Kinect and Android
Hirotaka Niisato
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
yohei sugigami
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
Yasuhiro Yoshimura
20181025 若手LT会 Codableあるある
20181025 若手LT会 Codableあるある
IgaHironobu
ゆるかわPhp
ゆるかわPhp
Ryota Mochizuki
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
Tomohiro Kumagai
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
Swiftの実際ダメな所
Swiftの実際ダメな所
S_Shimotori
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
Kanako Kobayashi
Similar to objc2swift (自動変換の野望)
(20)
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Study Swift
Study Swift
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
既存Objective-CプロジェクトをSwiftに移行した時ハマったこと
How to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping Application
Interactive Application using Kinect and Android
Interactive Application using Kinect and Android
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
20181025 若手LT会 Codableあるある
20181025 若手LT会 Codableあるある
ゆるかわPhp
ゆるかわPhp
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Swiftの実際ダメな所
Swiftの実際ダメな所
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
More from Taketo Sano
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Taketo Sano
トポロジーと圏論の夜明け
トポロジーと圏論の夜明け
Taketo Sano
Swift で数学研究のススメ
Swift で数学研究のススメ
Taketo Sano
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
Taketo Sano
特性類の気持ち
特性類の気持ち
Taketo Sano
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Taketo Sano
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門
Taketo Sano
何もないところから数を作る
何もないところから数を作る
Taketo Sano
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
Taketo Sano
情報幾何学 #2.4
情報幾何学 #2.4
Taketo Sano
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16
Taketo Sano
何もないところから数を作る
何もないところから数を作る
Taketo Sano
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
Taketo Sano
プログラマのための線形代数再入門
プログラマのための線形代数再入門
Taketo Sano
コードを書けば複素数がわかる
コードを書けば複素数がわかる
Taketo Sano
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
Taketo Sano
ひろ子 in Objective-C
ひろ子 in Objective-C
Taketo Sano
Objective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & Hack
Taketo Sano
Konashi で始める iOS 電子工作
Konashi で始める iOS 電子工作
Taketo Sano
下位互換コード隠蔽のストイシズム
下位互換コード隠蔽のストイシズム
Taketo Sano
More from Taketo Sano
(20)
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
トポロジーと圏論の夜明け
トポロジーと圏論の夜明け
Swift で数学研究のススメ
Swift で数学研究のススメ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
特性類の気持ち
特性類の気持ち
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門
何もないところから数を作る
何もないところから数を作る
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
情報幾何学 #2.4
情報幾何学 #2.4
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16
何もないところから数を作る
何もないところから数を作る
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
プログラマのための線形代数再入門
プログラマのための線形代数再入門
コードを書けば複素数がわかる
コードを書けば複素数がわかる
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
ひろ子 in Objective-C
ひろ子 in Objective-C
Objective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & Hack
Konashi で始める iOS 電子工作
Konashi で始める iOS 電子工作
下位互換コード隠蔽のストイシズム
下位互換コード隠蔽のストイシズム
objc2swift (自動変換の野望)
1.
Obj-C → Swift 自動変換の野望 @taketo1024 2015/04/15
potatotips #16
2.
最近 Android 版も出ました!
3.
http://maths4pg.connpass.com
4.
本題
5.
Xcode6.3 で Swift
のコンパイルも 高速化したらしいですしそろそろ…
6.
7.
http://stackoverflow.com/questions/24214683/convert-objective-c-to-swift
8.
why not?
9.
at least it
would be better to have something that would help us convert the code by hand...
10.
Yarimashou!
11.
ANTLR v4 ジャバ語による、超クールなパーサジェネレータ
12.
ANTLR文法ファイル Parser 2秒でわかる ANTLR
13.
Objective-C の文法もある!
14.
DEMO @interface A :
NSObject @end Obj-C
15.
そして、変換器を作りました! (しかもカッコつけて Scala で)
16.
DEMO @interface A :
NSObject @end Obj-C class A : NSObject { } Swift
17.
あとはコツコツと対応するコードに変換してく。
18.
やりたいこと(難しそうなこと) • .h .m
をマージして一個の Swift クラスを作る • 宣言後1回しか代入してなかったら let にする • Optional 周りが地獄の予感
19.
みんなもやりたいって?
20.
OpenSourced!!! https://github.com/yahoojapan/objc2swift
21.
Pull-Req welcome!
22.
Apple 純正の converter
が出たら笑いましょう (めでたしめでたしってことで)
23.
Covert the code,
Change the world.
24.
Thanks! Twitter: taketo1024 Blog: http://taketo1024.hateblo.jp/
Download now