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
2
6.8k
YAPC::Japan::Online 2022で発表して WEB+DB PRESSに記事を寄稿した話
makenowjust
0
34
Regular Expressions, REXML, Automata Learning
makenowjust
0
340
オートマトン学習しろ / Do automata learning
makenowjust
3
280
#kaigieffect LT 2024 - rexml-css_selector: A REXML extension for supporting CSS selector
makenowjust
1
370
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
1
1.7k
正規表現改善報告する回 / Regexp memoization progress report
makenowjust
2
600
Make Regexp#match much faster
makenowjust
1
2.7k
ReDoS 検出の最先端 recheck の紹介 / State of the Art of ReDoS Detection
makenowjust
9
3.6k
Other Decks in Programming
See All in Programming
VitestのIn-Source Testingが便利
taro28
8
2.4k
Making TCPSocket.new "Happy"!
coe401_
1
2.9k
note の Elasticsearch 更新系を支える技術
tchov
9
3.4k
Ruby's Line Breaks
yui_knk
4
2.7k
SwiftDataのカスタムデータストアを試してみた
1mash0
0
140
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
3
530
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
280
ニーリーQAのこれまでとこれから
nealle
2
140
インプロセスQAにおいて大事にしていること / In-process QA Meetup
medley
0
130
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
1
4.7k
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
100
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Navigating Team Friction
lara
185
15k
Why Our Code Smells
bkeepers
PRO
336
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
780
Embracing the Ebb and Flow
colly
85
4.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
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ͷϚΫϩ νϡʔϦϯάશ ͏গ͠ػೳΛʝ
ʹεϥΠυͷ༰Λ Ͱ্ͬͪ͛Δͷͱ͔ແཧ
͝ΊΜͳ͍͞ʝ