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