BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//https://techplay.jp//JP
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:構文解析ハンズオン Vol.2
X-WR-CALNAME:構文解析ハンズオン Vol.2
X-WR-TIMEZONE:Asia/Tokyo
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
DTSTART:19700101T000000
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
TZNAME:JST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:639134@techplay.jp
SUMMARY:構文解析ハンズオン Vol.2
DTSTART;TZID=Asia/Tokyo:20180113T120000
DTEND;TZID=Asia/Tokyo:20180113T200000
DTSTAMP:20260514T095940Z
CREATED:20171031T161137Z
DESCRIPTION:イベント詳細はこちら\nhttps://techplay.jp/event/63913
 4?utm_medium=referral&utm_source=ics&utm_campaign=ics\n\nイベントに
 ついて\nこのイベントは構文解析器（パーザー）を作
 るためのハンズオン企画（第二回目）です。第一回目\
 nについてはこちらを参照してください。\n構文解析と
 いっても、あまり身近に感じられない人もいるかもし
 れません。しかし、実際には、構文解析（器）\nは実
 用プログラムに必要不可欠といっていいものです。\n
 たとえば、Webサービスでのデータのやり取りをするた
 めの標準的な言語になったJSON、これをプログラム\nか
 ら取り扱うには、JSONのデータを構文解析して、木構造
 データとしてプログラムから扱えるように加工する\n
 必要があります。CSVを解析してカンマ区切りの行から
 各項目を取り出すのも広い意味での構文解析\nです。We
 bサービスでの入力について、特定の規則に従っている
 かをチェックするのも構文解析です。\n既存のよく知
 られたデータ形式については構文解析器があらかじめ
 用意されていることが多いですが、\n独自のデータ・
 フォーマットとその構文解析器を書く必要があること
 もあります。このとき、特に\nWebサービスでのバリデ
 ーションでは、正規表現を使ってアドホックなチェッ
 クを行うことが少なく\nありませんが、入力が複雑に
 なると正規表現では手に負えないか、とてつもなくメ
 ンテナンス性の低い\n正規表現を書く羽目になります
 。\n今回のハンズオンでは、主に構文解析器を書いた
 ことがない人を対象に、構文解析の基礎について教え
 ます。第一回\nでは、主に簡単さから、PEGを使った手
 書き構文解析器の書き方について教えましたが、今回
 は、構文解析器を生成\nするツールの一つでるANTLRを使
 った構文解析器の作り方について教えます。ANTLRは、\n
 現状の構文解析器生成系（パーザジェネレータ）の中
 で、もっとも実用性や柔軟性が高いものの一つです。
 また、\nJavaをはじめとして、多くの言語に対応してい
 るため、色々な環境で利用することができます。\n今
 回は、\n\n整数・小数の構文解析\n括弧を含む数式の構
 文解析\nJSONの構文解析\nXMLのサブセット\n\nといった題
 材（仮）を通じて、ANTLRの使い方や、構文解析の定石
 について学んでもらおうと思います。\n題材について
 はもっと良いものがあれば提案していただければと思
 います（前回と同じだと味気ないので、\nもうちょっ
 と面白い題材を考えたいです）。\n\n\n参加資格：\n\nJav
 aで普通のプログラムが書ける（具体的には以下を参照
 ）\nJavaで、プログラムを複数のクラスに分割すること
 ができる\nfor\,while\,switchといった各種制御構造を使う
 のに不自由しない\nプログラムを複数のメソッドに分
 割することができる\n\n\n自分で複雑な構文解析器が書
 けるようになりたい\n休日を一日使っても良い\n\n\n\nチ
 ューター募集：\n前回同様、自分１人では手には余る
 企画だと思います。そこで、チューターを\n3名まで募
 集したいと思います。構文解析器を書くのに慣れてい
 る人や、LL法や\n再帰下降構文解析といった言葉を聞い
 てひるまないような人であれば大丈夫です。\nチュー
 ターに応募された方には、ANTLRの基本的な使い方につ
 いて軽く\n当日までに予習してもらえればと思ってい
 ます。\n\n\nプログラム\n\n\n11:30 開場\n12:00~12:10 諸連絡
 ・チューター紹介\n12:10〜13:10 昼食休憩\n13:10~12:50 構文
 解析の基本： @kmizu\n\n\n\n\n数値の構文解析（講義）： @
 kmizu\n数値の構文解析（ハンズオン）： @kmizu\n算術式の
 構文解析（講義）： @kmizu\n算術式の構文解析（ハンズ
 オン）： @kmizu\nJSONの構文解析（講義）： @kmizu\nJSONの
 構文解析（ハンズオン）： @kmizu\n\n\n\n参加について\n\n
 会場はドワンゴ セミナールーム（松竹スクエア 13F）
 です。\n懇親会はありません（自分がへとへとになっ
 ていそうなので）。参加者が各自で懇親会を開催する
 分には\n自由にしていただければと思います。\n\n\n参
 加費：無料\n\n\n入場方法\n地下鉄各線東銀座駅5番出口
 から地上にあがって、橋を渡ったところにあるビルで
 す。\n正面入口から入り奥にあるエレベーターで13Fま
 であがってください。\n\n\n電源タップについて\n\n無線
 LANと電源はありますが、電源は床埋込み式で Macのアダ
 プタが刺さりません 。 電源タップをご持参ください
 。\n\n\nその他\n\n\n喫煙室はありません\n貴重品は各自
 で管理してください\n会場は飲食可能です\n会場の1Fの
 裏にファミリーマートがあります\n会場から通りを挟
 んで向かい側にローソンがあります\n\n会場は、ドワン
 ゴセミナールームですが、今年から、セミナールーム
 は歌舞伎座ではなく松竹スクエア13Fに移転しましたの
 で、お間違えないようよろしくお願いします。\n\n\n当
 日までの準備について\n\n当日のハンズオンをスムーズ
 に進めるために、以下のソフトウェアについて事前に
 インストールをお願いします。\n\nJava SE（８以降）\n\nJ
 ava SE（８以降）をダウンロード・インストールしてお
 いてください。また、javacにパスを通しておいてくだ
 さい。Java\n SEは以下のURLからダウンロード可能です。\
 n\nhttp://www.oracle.com/technetwork/java/javase/downloads/index.html\n\n
 IntelliJ IDEA\n\nエディタでコーディングしてもらっても
 構いませんが、IntelliJ IDEAでコーディングしてもらうこ
 とを推奨します。IntelliJ IDEAはここからダウンロード可
 能です。OSS版のCommunity Editionで必要な機能が揃うので
 、有償のUltimate Editionをダウンロードする必要はありま
 せん。\n\nANTLR v4 grammar plugin（IntelliJ IDEAを使う場合）\n\
 nIntelliJ IDEAを使う場合、ANTLRのプラグインを導入してお
 くと、ANTLRの文法定義ファイルを書くのが楽になりま
 す。\n\nFile -> Settings... -> Plugins\n\nと移動して、検索窓
 から、"ANTLR"で検索すると、\n\n`ANTLR v4 grammar plugin` が表
 示されるので、インストールしてください。プラグイ
 ンを有効にするにはIntelliJ IDEAを再起動する必要があり
 ます。\n\nApache Maven\n\nビルド環境として、Apache Mavenを
 使います。各OSのパッケージマネージャからインスト
 ールするか、ここからダウンロード及びインストール
 して、パスを通してください。
LOCATION:ドワンゴセミナールーム 松竹スクエア13F
URL:https://techplay.jp/event/639134?utm_medium=referral&utm_source=ics&utm
 _campaign=ics
END:VEVENT
END:VCALENDAR
