Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
C Compiler in Crystal on Compile Time
Search
TSUYUSATO Kitsune
November 30, 2016
Programming
0
1.2k
C Compiler in Crystal on Compile Time
2016/11/29の東京 Crystal 勉強会 #4で発表したものです。
TSUYUSATO Kitsune
November 30, 2016
Tweet
Share
More Decks by TSUYUSATO Kitsune
See All by TSUYUSATO Kitsune
Make Parsers Compatible Using Automata Learning
makenowjust
3
9.3k
YAPC::Japan::Online 2022で発表して WEB+DB PRESSに記事を寄稿した話
makenowjust
0
39
Regular Expressions, REXML, Automata Learning
makenowjust
0
360
オートマトン学習しろ / Do automata learning
makenowjust
3
310
#kaigieffect LT 2024 - rexml-css_selector: A REXML extension for supporting CSS selector
makenowjust
1
400
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
1
1.7k
正規表現改善報告する回 / Regexp memoization progress report
makenowjust
2
620
Make Regexp#match much faster
makenowjust
1
2.8k
ReDoS 検出の最先端 recheck の紹介 / State of the Art of ReDoS Detection
makenowjust
10
3.7k
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地参加の土産話
n_takehata
0
100
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
800
GoのGenericsによるslice操作との付き合い方
syumai
2
660
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
270
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
880
Benchmark
sysong
0
220
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
2k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
240
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
140
Using AI Tools Around Software Development
inouehi
0
1.2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Bash Introduction
62gerente
614
210k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Producing Creativity
orderedlist
PRO
346
40k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Code Reviewing Like a Champion
maltzj
524
40k
Building Applications with DynamoDB
mza
95
6.5k
GraphQLとの向き合い方2022年版
quramy
46
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Music & Morning Musume
bryan
46
6.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
$$PNQJMFSJO$SZTUBM PO$PNQJMF5JNF 546:64"50l.BLF/PX+VTUz,JUTVOF
8IP"SF:PV w !NBLF@OPX@KVTU 5XJUUFS !.BLF/PX+VTU (JU)VC w ࿐ཬ͖ͭͶʢBLB͖ͬ͞࡞ͬͨʣ
w จܥେֶੜ w $SZTUBMʹίϯτϦϏϡʔτ͢Δਓ
࠷ۙͬͨ͜ͱ
ݴޠΛ͍͍Ճݮʹհ IUUQRJJUBDPNNBLF@OPX@KVTUJUFNTCBCGDE
CBTIͰNFNDBDIFEΛ࣮ IUUQRJJUBDPNNBLF@OPX@KVTUJUFNTGBBCBBDEC
ຊฤ
$$PNQJMFSJO$SZTUBM PO$PNQJMF5JNF
$SZTUBMͰॻ͔Εͨ ίϯύΠϧ࣌ʹಈ͘ $ίϯύΠϥ
SIZTEDDWJN IUUQTHJUIVCDPNSIZTEDDWJN
LXVEPODPOTUFYQSDD IUUQTHJUIVCDPNLXVEPODPOTUFYQSDD
ੈେ$ίϯύΠϥ࣮࣌
ͳͥʁ
&-7. IUUQTHJUIVCDPNTIJOIFMWN
&-7. w &TP-BOH7.$PNQJMFS*OGSBTUSVDUVSF w TIJOIࢯ࡞ w #SBJOG DLΈ͍ͨͳݴޠͰ࣮ߦՄೳͳ͘Β͍ γϯϓϧͳ7. w
ͦͷ্Ͱಈ͘$ίϯύΠϥఏڙ͞Ε͍ͯΔ w 7.ͷίʔυˠϓϩάϥϜͷมثΛ࡞Εɺ ͦͷݴޠͰ$ίϯύΠϥ͕ಈ͘Α͏ʹͳΔ
ࠓճɺ &-7.ˠ$SZTUBMͷϚΫϩ ͷมΛ࣮
$SZTUBMͷϚΫϩ w $SZTUBMͷۄػೳͷҰͭ w ίϯύΠϧ࣌ʹ࣮ߦ͞ΕΔ
ίϯύΠϧ࣌ʹίϚϯυΛ࣮ߦͯ͠ ݁ՌΛຒΊࠐΉ IUUQTHJUIVCDPNDSZTUBMMBOHDSZTUBMCMPC CBGEDDFGDEEFBTSDDPNQJMFSDSZTUBMDPOpHDS-
ςϯϓϨʔτΛύʔεͯ͠ ϓϩάϥϜʹຒΊࠐΉ w &$3ʢ$SZTUBMʹඪ४Ͱ͍͍ͭͯΔςϯϓϨʔτΤϯδϯʣ w ίϯύΠϧ࣌ʹςϯϓϨʔτ͕ύʔε͞Ε ϓϩάϥϜʹม͞ΕͯɺͦΕ͕ຒΊࠐ·ΕΔ w ͳͷͰͱͯૣ͍ w
ϚΫϩͱ͍͏͔ɺ෦ͰϚΫϩͷػೳΛͬͯ ςϯϓϨʔτΛύʔε͢Δ$SZTUBMͷϓϩάϥϜΛىಈ͍ͯ͠Δ
৭ʑͰ͖Δʁ
$SZTUBMͷϚΫϩͷ੍ w $SZTUBMͷϚΫϩͰ͑Δͷ$SZTUBMͷαϒηοτ w ͑Δϝιουʹ੍ݶ w ΦϒδΣΫτͷมߋ͕͋·ΓͰ͖ͳ͍ ʢྫ"SSBZQVTIɺ)BTI<>ͷΈʣ w XIJMFVOUJMͳͲͷϧʔϓ͑ͳ͍
ʢCSFBLOFYU͑ͳ͍ʣ w MPPQϝιου͑ͳ͍ˠແݶϧʔϓ͕Ͱ͖ͳ͍ʁ
ແݶϧʔϓ͕͑ͳ͍ʁ
GPSJO QVTI 1 {% begin %} 2 {% array =
[0] %} 3 {% i = 0 %} 4 {% for x in array %} 5 {% if i < 10 %} 6 {% array.push 0 %} # ͜͜ͰarrayͷதΛՃ 7 {% p i %} 8 {% i = i + 1 %} # ͳ͔ͥ += ͕͑ͳ͍… 9 {% end %} 10 {% end %} 11 {% end %}
ͦͷଞɺͭΒ͔ͬͨͱ͜Ζ w ॳɺ࠶ؼͰϧʔϓΛ࣮͠Α͏ͱͨ͠ ˠελοΫΦʔόʔϑϩʔ͢Δɺແཧ w ೖྗɺग़ྗʹ͍ͭͯଥڠ w ೖྗࣗࣗʹίϯύΠϧ࣌ϑϥάΛ͚ͯ TZTUFNϝιουͰىಈ͠ಡΈग़͢ w
ग़ྗ࣮ߦ࣌ʹ͢Δ
ڪΖ͘͠େ͖͍ MMIPVUDDDFJSDS SXYSYSYNBLFOPXKVTUTUB⒎.PVUDDDFJSDS
ڪΖ͍͘͠ ͔͚ͯQVUDIBS͢Δ͚ͩͷ$ͷίʔυͷ ίϯύΠϧ͕ऴΘΒͳ͍ఔ
·ͱΊ
$SZTUBMͷϚΫϩ ΕͰ͖Δࢠ ͔ͩΒ͏গ͠ػೳ૿ͯ͠΄͍͠ʝ
$SZTUBMͷϚΫϩ νϡʔϦϯάશ ͏গ͠ػೳΛʝ
ʹεϥΠυͷ༰Λ Ͱ্ͬͪ͛Δͷͱ͔ແཧ
͝ΊΜͳ͍͞ʝ