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
YAPC::Japan::Online 2022で発表して WEB+DB PRESSに記事を寄稿した話
makenowjust
0
25
Regular Expressions, REXML, Automata Learning
makenowjust
0
310
オートマトン学習しろ / Do automata learning
makenowjust
3
220
#kaigieffect LT 2024 - rexml-css_selector: A REXML extension for supporting CSS selector
makenowjust
1
340
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
1
1.5k
正規表現改善報告する回 / Regexp memoization progress report
makenowjust
2
580
Make Regexp#match much faster
makenowjust
1
2.7k
ReDoS 検出の最先端 recheck の紹介 / State of the Art of ReDoS Detection
makenowjust
9
3.5k
ReDoS 検出プログラム recheck の開発 / recheck: ReDoS check program
makenowjust
0
150
Other Decks in Programming
See All in Programming
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
210
CloudNativePGを布教したい
nnaka2992
0
100
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
140
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
400
PRレビューのお供にDanger
stoticdev
1
210
SpringBoot3.4の構造化ログ #kanjava
irof
3
1k
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
130
Spring gRPC について / About Spring gRPC
mackey0225
0
230
Conform を推す - Advocating for Conform
mizoguchicoji
3
700
Introduction to kotlinx.rpc
arawn
0
740
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
180
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
GraphQLとの向き合い方2022年版
quramy
44
13k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Designing for Performance
lara
604
68k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Practical Orchestrator
shlominoach
186
10k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Invisible Side of Design
smashingmag
299
50k
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ͷϚΫϩ νϡʔϦϯάશ ͏গ͠ػೳΛʝ
ʹεϥΠυͷ༰Λ Ͱ্ͬͪ͛Δͷͱ͔ແཧ
͝ΊΜͳ͍͞ʝ