rcc lt 2013 javaを日本語で書けるようにしてみた(言語処理)

Post on 15-Jan-2015

517 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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(い);

}

}

}

}

実演

まとめ

● 全体的に汚い

● エントリーポイントを「メイン」にもできるようにしたかった

ご清聴ありがとうございました

top related