rcc lt 2013 javaを日本語で書けるようにしてみた(言語処理)
DESCRIPTION
OpenJDKのlangtoolsを弄って日本語を予約語にも使えるようにしてみました.TRANSCRIPT
![Page 1: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/1.jpg)
LT
![Page 2: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/2.jpg)
自己紹介● 情報理工学部システム学科2回
● Twitter: @bitter_fox● 好きなもの: Java● 好きなキャラ: シエル伯爵、紀田将軍
シエルタソの画像 紀田様の画像
Javaのロゴ
![Page 3: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/3.jpg)
自然言語処理(意味深)
![Page 4: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/4.jpg)
うみちゃんのLTを見て
画像
![Page 5: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/5.jpg)
もしかして情報系の日本人って・・・
![Page 6: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/6.jpg)
日本語とプログラミング言語はもちろん
![Page 7: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/7.jpg)
野獣先輩の画像ファッ!?
(for!?)
![Page 8: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/8.jpg)
暴力団員の画像あくしろよ
(ACKしろよ)
![Page 9: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/9.jpg)
淫夢語+英語
![Page 10: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/10.jpg)
● 日本語● 英語● プログラミング言語
を淫夢に乗せて
![Page 11: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/11.jpg)
第一章言語現状!日本開発者たちの逆襲
![Page 12: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/12.jpg)
英語話者
情報系の日本人
オナシャス日本語使わせてください
車に乗った外国人
車に乗ったサッカー選手
![Page 13: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/13.jpg)
英語話者
情報系の日本人
英語使えよあくしろよ
車に乗ったサッカー選手
車に乗った外国人
![Page 14: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/14.jpg)
英語話者
情報系の日本人
車に乗ったサッカー選手
車に乗った外国人
なでしこの画像 ひまわりの画像
![Page 15: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/15.jpg)
ひまわり
● まんま日本語に見えるようなコード
● あんまり普及していない● 開発終了● 「なでしこ」へ
![Page 16: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/16.jpg)
なでしこ
● 更に日本語に見えるコード
● あんまり普及していない
![Page 17: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/17.jpg)
第四章原作レ○プ!日本語と化したJava
![Page 18: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/18.jpg)
まずJavaさー日本語使えるんだけど使ってかない?
ジェームズゴスリングの画像
http://image.itmedia.co.jp/enterprise/articles/1004/12/yu_gos.jpg
![Page 19: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/19.jpg)
日本語 in Java
● 日本語使用可public class メイン {
public static void main(String[] 引数達) {
for ( String 引数 : 引数達) {
System.out.println(引数);
}
}
}
![Page 20: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/20.jpg)
識別子にしか使えなかったけどいいかな〜?ジェームズゴスリングの画像
http://ascii24.ascii.jp/2002/05/24/thumbnail/thumb300x243-images685451.jpg
![Page 21: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/21.jpg)
野獣先輩の画像ファッ!?
![Page 22: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/22.jpg)
日本語 at Identifier
● 識別子にしか使えないpublic class メイン {
public static void main(String[] 引数達) {
for ( String 引数 : 引数達) {
System.out.println(引数);
}
}
}
● 英語のライブラリのため更に使える場所が少ない
![Page 23: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/23.jpg)
もっともっと!!
● 予約語にも使えるようにしたい!
● そのためにはコンパイラを弄る必要がある
● 言語処理
![Page 24: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/24.jpg)
コンパイラ弄ってみた
STATICstatic Tokenizer
Parser
静的 Tokenizer IDENTIFIER
![Page 25: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/25.jpg)
コンパイラ弄ってみた
STATICstatic Tokenizer
Parser
静的 Tokenizer
![Page 26: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/26.jpg)
他にも
● 全角スペースをスペースとして扱う● 全角記号を受け付けるように
![Page 27: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/27.jpg)
コード例
公 クラス Test1 {
公 静的 空 main(String[] 引数) {
System.out.println("HelloWorld");
ファッ (整数 い = 0; い < 100; い++) {
もしも (い % 15 == 0) {
System.out.println("FizzBuzz");
}
他の もしも (い % 3 == 0) {
System.out.println("Fizz");
}
他の もしも (い % 5 == 0) {
System.out.println("Buzz");
}
他の {
System.out.println(い);
}
}
}
}
●
![Page 28: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/28.jpg)
実演
![Page 29: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/29.jpg)
まとめ
● 全体的に汚い
● エントリーポイントを「メイン」にもできるようにしたかった
![Page 30: RCC LT 2013 Javaを日本語で書けるようにしてみた(言語処理)](https://reader033.vdocuments.mx/reader033/viewer/2022050920/54b6cea04a79596f468b45ed/html5/thumbnails/30.jpg)
ご清聴ありがとうございました