SlideShare a Scribd company logo
1 of 27
Download to read offline
正規言語
                          と
                       プログラミング
                        Ryoma Sin’ya @ Tokyo Tech


Friday, March 29, 13
世の中には色んなプログラミ
                       ング・パラダイムがありますね
                        手続き型
                        オブジェクトしこー
                        ラムダ計算
                        制約論理型プログラミング
                        項書換えシステム
                        カテゴリカル・プログラミング
Friday, March 29, 13
新しいパラダイムを提案し
                       たい!

                       しかも「正規言語」を使っ
                       て!!
                        正規表現はプログラミング言語達の
                        手下じゃない!


Friday, March 29, 13
正規言語
                          で
                       プログラミング
                        Ryoma Sin’ya @ Tokyo Tech


Friday, March 29, 13
はじめに宣伝!




Friday, March 29, 13
僕が開発した「RANS」

                       正規表現を与えて
                        「受理文字列」と「自然数」
                        を対応させるツール




Friday, March 29, 13
僕が開発した「RANS」

                       正規表現を与えて
                        「受理文字列」と「自然数」
                        を対応させるツール

                       「対応」って何?


Friday, March 29, 13
文字列と数の対応
       例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...




Friday, March 29, 13
文字列と数の対応
       例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...


         /a*(ba*b)*a*/




Friday, March 29, 13
文字列と数の対応
       例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

                         長さ--辞書順で並べる
         /a*(ba*b)*a*/




Friday, March 29, 13
文字列と数の対応
       例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

                           長さ--辞書順で並べる
         /a*(ba*b)*a*/={!, a, aa, bb, aaa, abb, bab, ... }




Friday, March 29, 13
文字列と数の対応
       例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

                           長さ--辞書順で並べる
         /a*(ba*b)*a*/={!, a, aa, bb, aaa, abb, bab, ... }
                                                ...................
                         0, 1, 2, 3,    4,   5, ...................



Friday, March 29, 13
で,
                  プログラミングは?

Friday, March 29, 13
プログラミング言語Grass
                        “w”と“W”と“v”の三文字でプ
                        ログラミングする言語

                        ちょっと草植えときますね型言
                        語 (新パラダイム?)



Friday, March 29, 13
プログラミング言語Grass
                        “w”と“W”と“v”の三文字でプ
                        ログラミングする言語

                        ちょっと草植えときますね型言
                        語 (新パラダイム?)

                        つまり「ネタ言語」!!

Friday, March 29, 13
プログラミング言語Grass
                        “w”と“W”と“v”の三文字でプ
                        ログラミングする言語

                        ちょっと草植えときますね型言
                        語 (新パラダイム?)

                        つまり「ネタ言語」!!

Friday, March 29, 13
Grassはネタじゃない!

                       当たり前にちゅーりんぐ完全
                       (型無しラムダ計算がベース)

                       しかも... 文法が正規!!!!



Friday, March 29, 13
しかも文法が正規!!!




Friday, March 29, 13
しかも文法が正規!!!


                             BNFで書かれてるけど
                             これは正規!!!!!!!!
                            (プロなら一瞬で分かる)




Friday, March 29, 13
しかも文法が正規!!!

                       /([vw]*(W+w)*)*/
                                  [v-w]       W

                              w           W
                          0        1          2
                                          w




Friday, March 29, 13
Grassで「Hello, World」
                       wwvwwwWWWwwWwwWWWWwvwWWwwwWwwvwWwwwWwwvwWWwWWWWWwvwWWW
                       wwwwWWWWwWWWWwWWWWWWwWWWWWWWwWWWWWWWwWWWWWWWWwWw
                       wwwwwwwvwWWWwwwwwWWWWWwWWWWWwWWWWWWWwWWWWWWWWwWWWW
                       WWWWWwWwwwwwwwvwWWWWwwwwwwWWWWWWwWWWWWWwWWWWWWWwWW
                       WWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWWwwwwwwwWWWWWWWwWW
                       WWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWwWwwwwwwwvwW
                       WWWWWWwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWwWWWWW
                       WWWWWWwWwwwwwwvwWWWWWWWWwwwwwwwwwWWWWWWWWwWWWWWWWW
                       WwWWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwww
                       vwWWWWWWWWwwwwwwwwwwWWWWWWWWWwWWWWWWWWWWwWWWWWWWW
                        WWWwWWWWWWWWWWWWWwWwwwwwwvwWWWWWWWWWWwwwwwwwwwwwWW
                       WWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwvwWWWWW
                       WWWWWwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWW
                       WWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWwWwwww
                       wwwvwWWWWWWWWWWwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWW
                       wwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwvwWWwwwwW
                       WWwwwwwwwwwwWWWWwwwwwwwwwwWWWWWwwwwwwwwwwwwwWWWWWWwwww
                        wwwWWWWWWWwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwvwW
                        WWWWWWWWWWWWWWWwwwwwwwWwwvwWWWWwwwwwwwWWWWWwwwWWWW
                       WWwwwwwwwWWWWWWWwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwWWWWWW
                                     WWWwwwwwwwwwwwwwwvwWWwWWWWWw




Friday, March 29, 13
Grassで「Hello, World」
                       wwvwwwWWWwwWwwWWWWwvwWWwwwWwwvwWwwwWwwvwWWwWWWWWwvwWWW
                       wwwwWWWWwWWWWwWWWWWWwWWWWWWWwWWWWWWWwWWWWWWWWwWw
         1627617448163470612773078700688053137046638006297
                       wwwwwwwvwWWWwwwwwWWWWWwWWWWWwWWWWWWWwWWWWWWWWwWWWW
         3401969614529593658839588034299561019072802997488
                       WWWWWwWwwwwwwwvwWWWWwwwwwwWWWWWWwWWWWWWwWWWWWWWwWW
                       WWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWWwwwwwwwWWWWWWWwWW
         2284159495744660485071256759026955004704442396791
                       WWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWwWwwwwwwwvwW
         1761566040389550357483285036825249260668047548232
                       WWWWWWwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWwWWWWW
                       WWWWWWwWwwwwwwvwWWWWWWWWwwwwwwwwwWWWWWWWWwWWWWWWWW
         4809259888431440137005387911828231622152001940020
                       WwWWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwww

         1619612906107817505180340518910126515933931833672
                       vwWWWWWWWWwwwwwwwwwwWWWWWWWWWwWWWWWWWWWWwWWWWWWWW
                        WWWwWWWWWWWWWWWWWwWwwwwwwvwWWWWWWWWWWwwwwwwwwwwwWW
         2855919281300746470264479856011884839769266736505
                       WWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwvwWWWWW

         0537949162937125903768151493422519792535824464997
                       WWWWWwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWW
                       WWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWwWwwww
             03084436758664366464026061342507810037583
                       wwwvwWWWWWWWWWWwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWW
                       wwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwvwWWwwwwW
                       WWwwwwwwwwwwWWWWwwwwwwwwwwWWWWWwwwwwwwwwwwwwWWWWWWwwww


                       番目のGrassプログラム!!
                        wwwWWWWWWWwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwvwW
                        WWWWWWWWWWWWWWWwwwwwwwWwwvwWWWWwwwwwwwWWWWWwwwWWWW
                       WWwwwwwwwWWWWWWWwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwWWWWWW
                                     WWWwwwwwwwwwwwwwwvwWWwWWWWWw




Friday, March 29, 13
正規表現「で」プログラミング
                        正規表現(文法)を固定
                         数字を喰わせればプログ
                         ラムが得られる!
                        数字を固定
                         正規表現(文法)を喰
                         わせればプログラムが
                         得られる!
Friday, March 29, 13
正規言語
                          で
                       プログラミング
                        Ryoma Sin’ya @ Tokyo Tech


Friday, March 29, 13
説明が面倒くさいので終了




Friday, March 29, 13
説明が面倒くさいので終了

                _人人人人人人人人人人人人人人_
                > アイディア述べて終了!! <
                 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄




Friday, March 29, 13
続きが気になる人は...
                       RANSのプロジェクトページをチェッ
                       ク!!
                        http://sinya8282.github.com/RANS/
                       @sinya8282 に reply
                       直接質問(これが一番)
                       私のブログなど
                          http://swatmac.info
Friday, March 29, 13

More Related Content

Viewers also liked

サイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションサイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションsn_monochr
 
A new technique for proving non regularity based on the measure of a language
A new technique for proving non regularity based on the measure of a languageA new technique for proving non regularity based on the measure of a language
A new technique for proving non regularity based on the measure of a languageRyoma Sin'ya
 
正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜Ryoma Sin'ya
 
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety TheoremRyoma Sin'ya
 
正規表現++
正規表現++正規表現++
正規表現++Ryoma Sin'ya
 
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜Ryoma Sin'ya
 
EMNLP 2015 yomikai
EMNLP 2015 yomikai EMNLP 2015 yomikai
EMNLP 2015 yomikai Yo Ehara
 
Humor Recognition and Humor Anchor Extraction
Humor Recognition and Humor Anchor ExtractionHumor Recognition and Humor Anchor Extraction
Humor Recognition and Humor Anchor Extraction裕樹 奥田
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章Shuyo Nakatani
 
Learning Better Embeddings for Rare Words Using Distributional Representations
Learning Better Embeddings for Rare Words Using Distributional RepresentationsLearning Better Embeddings for Rare Words Using Distributional Representations
Learning Better Embeddings for Rare Words Using Distributional RepresentationsTakanori Nakai
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章Shuyo Nakatani
 
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...Shuyo Nakatani
 
A Neural Attention Model for Sentence Summarization [Rush+2015]
A Neural Attention Model for Sentence Summarization [Rush+2015]A Neural Attention Model for Sentence Summarization [Rush+2015]
A Neural Attention Model for Sentence Summarization [Rush+2015]Yuta Kikuchi
 
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)lestrrat
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
 
並列化と実行時コード生成を用いた正規表現マッチングの高速化
並列化と実行時コード生成を用いた正規表現マッチングの高速化並列化と実行時コード生成を用いた正規表現マッチングの高速化
並列化と実行時コード生成を用いた正規表現マッチングの高速化Ryoma Sin'ya
 
"Mix Automatic Sequences"(LATA'13) の紹介
"Mix Automatic Sequences"(LATA'13) の紹介"Mix Automatic Sequences"(LATA'13) の紹介
"Mix Automatic Sequences"(LATA'13) の紹介Ryoma Sin'ya
 
2016プロシンスポンサー 加筆版
2016プロシンスポンサー 加筆版2016プロシンスポンサー 加筆版
2016プロシンスポンサー 加筆版Hirokazu Nishio
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)Masahiro Sakai
 

Viewers also liked (20)

サイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーションサイボウズ・ラボユース 最終成果報告会プレゼンテーション
サイボウズ・ラボユース 最終成果報告会プレゼンテーション
 
A new technique for proving non regularity based on the measure of a language
A new technique for proving non regularity based on the measure of a languageA new technique for proving non regularity based on the measure of a language
A new technique for proving non regularity based on the measure of a language
 
正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜
 
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
 
正規表現++
正規表現++正規表現++
正規表現++
 
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
 
Emnlp読み会資料
Emnlp読み会資料Emnlp読み会資料
Emnlp読み会資料
 
EMNLP 2015 yomikai
EMNLP 2015 yomikai EMNLP 2015 yomikai
EMNLP 2015 yomikai
 
Humor Recognition and Humor Anchor Extraction
Humor Recognition and Humor Anchor ExtractionHumor Recognition and Humor Anchor Extraction
Humor Recognition and Humor Anchor Extraction
 
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
 
Learning Better Embeddings for Rare Words Using Distributional Representations
Learning Better Embeddings for Rare Words Using Distributional RepresentationsLearning Better Embeddings for Rare Words Using Distributional Representations
Learning Better Embeddings for Rare Words Using Distributional Representations
 
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
 
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
 
A Neural Attention Model for Sentence Summarization [Rush+2015]
A Neural Attention Model for Sentence Summarization [Rush+2015]A Neural Attention Model for Sentence Summarization [Rush+2015]
A Neural Attention Model for Sentence Summarization [Rush+2015]
 
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 
並列化と実行時コード生成を用いた正規表現マッチングの高速化
並列化と実行時コード生成を用いた正規表現マッチングの高速化並列化と実行時コード生成を用いた正規表現マッチングの高速化
並列化と実行時コード生成を用いた正規表現マッチングの高速化
 
"Mix Automatic Sequences"(LATA'13) の紹介
"Mix Automatic Sequences"(LATA'13) の紹介"Mix Automatic Sequences"(LATA'13) の紹介
"Mix Automatic Sequences"(LATA'13) の紹介
 
2016プロシンスポンサー 加筆版
2016プロシンスポンサー 加筆版2016プロシンスポンサー 加筆版
2016プロシンスポンサー 加筆版
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

正規言語でプログラミング

  • 1. 正規言語 と プログラミング Ryoma Sin’ya @ Tokyo Tech Friday, March 29, 13
  • 2. 世の中には色んなプログラミ ング・パラダイムがありますね 手続き型 オブジェクトしこー ラムダ計算 制約論理型プログラミング 項書換えシステム カテゴリカル・プログラミング Friday, March 29, 13
  • 3. 新しいパラダイムを提案し たい! しかも「正規言語」を使っ て!! 正規表現はプログラミング言語達の 手下じゃない! Friday, March 29, 13
  • 4. 正規言語 で プログラミング Ryoma Sin’ya @ Tokyo Tech Friday, March 29, 13
  • 6. 僕が開発した「RANS」 正規表現を与えて 「受理文字列」と「自然数」 を対応させるツール Friday, March 29, 13
  • 7. 僕が開発した「RANS」 正規表現を与えて 「受理文字列」と「自然数」 を対応させるツール 「対応」って何? Friday, March 29, 13
  • 8. 文字列と数の対応 例:正規表現/a*(ba*b)*a*/ で「対応」を取ると... Friday, March 29, 13
  • 9. 文字列と数の対応 例:正規表現/a*(ba*b)*a*/ で「対応」を取ると... /a*(ba*b)*a*/ Friday, March 29, 13
  • 10. 文字列と数の対応 例:正規表現/a*(ba*b)*a*/ で「対応」を取ると... 長さ--辞書順で並べる /a*(ba*b)*a*/ Friday, March 29, 13
  • 11. 文字列と数の対応 例:正規表現/a*(ba*b)*a*/ で「対応」を取ると... 長さ--辞書順で並べる /a*(ba*b)*a*/={!, a, aa, bb, aaa, abb, bab, ... } Friday, March 29, 13
  • 12. 文字列と数の対応 例:正規表現/a*(ba*b)*a*/ で「対応」を取ると... 長さ--辞書順で並べる /a*(ba*b)*a*/={!, a, aa, bb, aaa, abb, bab, ... } ................... 0, 1, 2, 3, 4, 5, ................... Friday, March 29, 13
  • 13. で, プログラミングは? Friday, March 29, 13
  • 14. プログラミング言語Grass “w”と“W”と“v”の三文字でプ ログラミングする言語 ちょっと草植えときますね型言 語 (新パラダイム?) Friday, March 29, 13
  • 15. プログラミング言語Grass “w”と“W”と“v”の三文字でプ ログラミングする言語 ちょっと草植えときますね型言 語 (新パラダイム?) つまり「ネタ言語」!! Friday, March 29, 13
  • 16. プログラミング言語Grass “w”と“W”と“v”の三文字でプ ログラミングする言語 ちょっと草植えときますね型言 語 (新パラダイム?) つまり「ネタ言語」!! Friday, March 29, 13
  • 17. Grassはネタじゃない! 当たり前にちゅーりんぐ完全 (型無しラムダ計算がベース) しかも... 文法が正規!!!! Friday, March 29, 13
  • 19. しかも文法が正規!!! BNFで書かれてるけど これは正規!!!!!!!! (プロなら一瞬で分かる) Friday, March 29, 13
  • 20. しかも文法が正規!!! /([vw]*(W+w)*)*/ [v-w] W w W 0 1 2 w Friday, March 29, 13
  • 21. Grassで「Hello, World」 wwvwwwWWWwwWwwWWWWwvwWWwwwWwwvwWwwwWwwvwWWwWWWWWwvwWWW wwwwWWWWwWWWWwWWWWWWwWWWWWWWwWWWWWWWwWWWWWWWWwWw wwwwwwwvwWWWwwwwwWWWWWwWWWWWwWWWWWWWwWWWWWWWWwWWWW WWWWWwWwwwwwwwvwWWWWwwwwwwWWWWWWwWWWWWWwWWWWWWWwWW WWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWWwwwwwwwWWWWWWWwWW WWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWwWwwwwwwwvwW WWWWWWwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWwWWWWW WWWWWWwWwwwwwwvwWWWWWWWWwwwwwwwwwWWWWWWWWwWWWWWWWW WwWWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwww vwWWWWWWWWwwwwwwwwwwWWWWWWWWWwWWWWWWWWWWwWWWWWWWW WWWwWWWWWWWWWWWWWwWwwwwwwvwWWWWWWWWWWwwwwwwwwwwwWW WWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwvwWWWWW WWWWWwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWW WWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWwWwwww wwwvwWWWWWWWWWWwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWW wwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwvwWWwwwwW WWwwwwwwwwwwWWWWwwwwwwwwwwWWWWWwwwwwwwwwwwwwWWWWWWwwww wwwWWWWWWWwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwvwW WWWWWWWWWWWWWWWwwwwwwwWwwvwWWWWwwwwwwwWWWWWwwwWWWW WWwwwwwwwWWWWWWWwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwWWWWWW WWWwwwwwwwwwwwwwwvwWWwWWWWWw Friday, March 29, 13
  • 22. Grassで「Hello, World」 wwvwwwWWWwwWwwWWWWwvwWWwwwWwwvwWwwwWwwvwWWwWWWWWwvwWWW wwwwWWWWwWWWWwWWWWWWwWWWWWWWwWWWWWWWwWWWWWWWWwWw 1627617448163470612773078700688053137046638006297 wwwwwwwvwWWWwwwwwWWWWWwWWWWWwWWWWWWWwWWWWWWWWwWWWW 3401969614529593658839588034299561019072802997488 WWWWWwWwwwwwwwvwWWWWwwwwwwWWWWWWwWWWWWWwWWWWWWWwWW WWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWWwwwwwwwWWWWWWWwWW 2284159495744660485071256759026955004704442396791 WWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWwWwwwwwwwvwW 1761566040389550357483285036825249260668047548232 WWWWWWwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWwWWWWW WWWWWWwWwwwwwwvwWWWWWWWWwwwwwwwwwWWWWWWWWwWWWWWWWW 4809259888431440137005387911828231622152001940020 WwWWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwww 1619612906107817505180340518910126515933931833672 vwWWWWWWWWwwwwwwwwwwWWWWWWWWWwWWWWWWWWWWwWWWWWWWW WWWwWWWWWWWWWWWWWwWwwwwwwvwWWWWWWWWWWwwwwwwwwwwwWW 2855919281300746470264479856011884839769266736505 WWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwvwWWWWW 0537949162937125903768151493422519792535824464997 WWWWWwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWW WWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWwWwwww 03084436758664366464026061342507810037583 wwwvwWWWWWWWWWWwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWW wwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwvwWWwwwwW WWwwwwwwwwwwWWWWwwwwwwwwwwWWWWWwwwwwwwwwwwwwWWWWWWwwww 番目のGrassプログラム!! wwwWWWWWWWwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwvwW WWWWWWWWWWWWWWWwwwwwwwWwwvwWWWWwwwwwwwWWWWWwwwWWWW WWwwwwwwwWWWWWWWwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwWWWWWW WWWwwwwwwwwwwwwwwvwWWwWWWWWw Friday, March 29, 13
  • 23. 正規表現「で」プログラミング 正規表現(文法)を固定 数字を喰わせればプログ ラムが得られる! 数字を固定 正規表現(文法)を喰 わせればプログラムが 得られる! Friday, March 29, 13
  • 24. 正規言語 で プログラミング Ryoma Sin’ya @ Tokyo Tech Friday, March 29, 13
  • 26. 説明が面倒くさいので終了 _人人人人人人人人人人人人人人_ > アイディア述べて終了!! <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ Friday, March 29, 13
  • 27. 続きが気になる人は... RANSのプロジェクトページをチェッ ク!! http://sinya8282.github.com/RANS/ @sinya8282 に reply 直接質問(これが一番) 私のブログなど http://swatmac.info Friday, March 29, 13