From 73b9fe995695e1dcf902b3a8fd56ed0f99a78679 Mon Sep 17 00:00:00 2001 From: Stefan Wijnja Date: Tue, 31 Jul 2018 13:43:33 +0200 Subject: [PATCH 1/6] Workaround for odd git behaviour --- doc/base-automaton.png | Bin 13858 -> 0 bytes doc/bracket-automaton.png | Bin 36242 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/base-automaton.png delete mode 100644 doc/bracket-automaton.png diff --git a/doc/base-automaton.png b/doc/base-automaton.png deleted file mode 100644 index aa6a20710d1204db95a7abaf75c699851a17d40f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13858 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�X#l^H(^-ppJv&(ZU<8+~PDuq2# z8O~^U2oq`*qoL6pVWRnZ(A*E`E2%q1EJ?&+Q6!`N^r5Svp>X3;a7CxTo!s5SV!UXC ziJEW(xl>)S5V^6ZXJ+E6NwCmS-!sqC<<^D#-I|_G1QAm-R5OKVO0G3n-R9t4^>8fn746cg?=1GEGB;Ze+EQVn#Y`F#LVFVw@!bNovE*(fM#RksH0>GK}}#;$o_|R}4}M zG~5SHf<-5CDSR=pw3c3g-8-!(*`bj$`cRhHMD=oWZ~{F#CZ*}43KjvFPvPSsjut`e zLPA1=T3~r?baCLM&*?37Kwtsti%DrN?Lb=ne3)rbX_|X#=hnEUc$+n-<-uAY*irpx z#NJ23Z!m_)eK3%;cQG!DI<_-2qv;$QjmOi<;z~|YPm#HCTc%a~_xPB|y$9QFxXr9oTu6Wx!%yhM8RsT$iBQ&VV`G8vM~Kn7EWK%jO=ky;Y+8^j2n zqUSY!3g4 zA1~m}>H)fmM_engNbWKEU?i4-LZ7_>)adEyiPFkt0&JV0p7rrflJx_Lbho=LCQ{qi z@}`bus`?Od)13nqJ0GJi+v@E${LePu6Rl|=^(v-diXeA+|EK}KdL(%BYk5R_QeOL8 zC8V&57~TR1PxkiD)PWg38A6`yO>%5UPE5K3^b_k6P)K&_72xgtfGHD4{vHJx`QqYY zN1^?V4_aa2JJ2x6%bnFzkQ!}xjEZeFUq&FOiI^|E=_^& z0Az%|AFi!}zjK5<^DX=pdRv;Cd5-LYeN_%7X{8ZlqzLF}EZkjOg1KX28QVHchrUct zPtR$IBLjyZ(N^zi@j)>YO)s!D!_GE>o#qb#h1i$ES8fYS6GdHQwxHK&9L-7G$p+-- zqr3nSAR2akz8g<$nklKb(1(H}G+{sQMue5|@VwZS_7)=I%Y8L_e#7a?n=`KU@7_5( zIXO8!opA$hY-|kf5eR~sl^>=QdHbkmF=r1h%uCV~T`gAvm2-7vrb}SMGREzUY_@xY zydGNY*MM@kRIb4QHjTO5Y*dm|?U?9ju++$y!@8{w;aO3(XSorz33iWr2HTR8OxU;AO&m5{Et@SW*N?4a@E6`s{Jg!rMaVqB z_2I^=IQ+#&i;NG+{RU-}0RwuTRbwPZujKUPV*|9oE|bN?9$!jjsXE1A2qnKFd{!BZmkW8ynX#Pu%TX@O)a5%6IOCh0t);y+!2IpqIJ=jsz28!vR>Jtrl5Fvc|iK z=0?+;p9{ET>l(VD;tF=lQr` zEN9P9zaujUGqljw`>2c#bqY3oI8$+^fN@QRjIFB)V|pJQx(=CZXxLS*y|3q!NZKd; z^|LV~L1h-sFg$zMG4|+6E7mW-VLW+@kmumw0OT-T?bTC_Q!@&;l7^>ID}XI4EzSbk%iL}t_ACb6otl74YLJa z+b$_3ju;G7AhQ#m3|_-Q`usJwe$Xf7{1T5HEIL+Kk(z85$9vDqXQhXH5coK(%V_%s-COp=Ic#@#Z*L}B zfToME;^ZrluW@q$8D6c%ol0qG96 zlYSvz;8&k>dxd|FvZ_EbN8_u&uZ5YkoEuHBfrxmW=hq=(#Pxc3dd|RWBZ)hcWgsb8 zgs4;cJU_aBr&Y4bCwLpjBD_en$>AbMV{j9MQidxs6iBgCT0C8b^s=wfO;vG;Y|7*m zR71+r#_W$@y2xkN+^Yt&@DH>i0lUE{%S4Y8hFIacSU~G(@KnzrA~4ZQ9+C_ifI<;I z@(@!8|?usm)a*W+~Z(UV*^l?MOm#ywkPgXu#&Qu+XNSm}8XaQBQmJ(LowKvwE76gjnGJPvCxlZfv?ZU#lw3#jUz%@b~vGLtebW zIE6YL`bxl^8fd!;AC#}@Lleke%#2y0UhO^{MB8MbBxtA^h4)bYgUizth+$3*FM5&8 z)sWV|J!Pl{s|#xeMCZ^==Bldk!cf8OKtyoogP{7i#SSMFQa2agp09jcJpFd z|Ng5}^H^txcf74muC5^gs)$lVrX;QOp z;R(O__2v42E!hNX5WAQ^b(X%bW|U?LYJPBNh)uV_9GJTcor#|ZMb@!*6K)@(O@{lp z*fY~a3uG-xAvk1xOf`9a*>`pM*d zZ%Dd^hDNzErn)LDC#svQ+Si?(oeIwa$F1(;Hz?d@NzsW6_?Z?T?-9bMltGvAY_L~ zI6pVX>h>!SNI?AaJL*GRhvWqX1%NL|FHOu6>HbyK{B@NmrmXy7BSk=Qb+9=3Pq!%cPGX3?g7Al_sVToT5J!6apCg^bg75fnG$VuOUS*oM80BULG|bBoTuIm^ zrvG!T#?V>aHq?L?0}SXEguNpkUywM8MkQ)1EiP6)o7HS}*Z{sn@nQA_T|XM~81gK3 zEEO}hUh2(ryjLjf=g#KMepFQ98-^n+Le#NrV{Zuo(*am5*}$v z_wEAWqyQk`Q&CYh;EI$lZTE$YeW=i`t;xnWMr@K&FgaGj|@mbNOs^}_QC%z>Sl?x>G4lu9!EJLLo{5!ocry!v{?xeDrl z$9eYsN*S1D<$vAEdiOx+!(2(^JKREHt}RYdUzug^>Ct6#X9w?HBdXcZ>+qX{&{m{JBdP_hOBLP8oU zq)9Zo$1;AzpR!#y{{Tt{EYEP2V!t;Gk|r8-dV3%KsY6VC_D8XO11!&>JJu6u)4>?OIB_t(5YDJ98 zs}x0A6UW&CQwxmT$GbC*3$2a@RyP`#sgFu9gNq=U0(zXrFdx4o)`D3*hIW~iKxT0Q zs=)4}ip_x8y_~tZIdI|N5w<~pJpL!h(-e8=wbDT`LJ}{ld zLl80?%IWw2lQV$!5Su!P*yaw>F(4$EYd_M^^x6JrT@dM%#B$VP*Jn@gHGpeTYC}?Z zeZDi$XgLMs7Mw6;rna`WXbREXLI%?W&TplqAef<;Be*y}ukmpYG$p0M?OSH2-t$mR zggz}e-lo}lGg&(7cN2(>4Gq*q^gF>BSc|rb=)ROB29zy}v{FSRL=;awPCF8A-S3Rs z+uN10`PGzacumT}K}+u*arqPi`D)gs#lFK5<*?K9EEo=knM0BgG@&67x0tZhBMmz} z5+tsCz@qqjwYk#vX}hO^HpNa>v+lVS3GUMTRFZgqH1<3fm;_lzQZn@ zJ0u4&`ZnOjWZ%=$qsIxrzQtTb*&lm-x>BK514XFmDj0X&he!cgD%KSt`FRfv%yO9B6F_g1*S5)D zpN>Q=4#;$f?W_!(L_M2Te54brZqo)Gd=`G1JVs*4FHFzc7S}m zLK>m3lEF2!wzk&maCv%EUtj+QpA`ueb;{;9;DsYMNbt(Ars+`zw^bPwuDh2P zzr5rvBPZq}Ba*uHIk(MRG0aEH!ZU4SKf1~ey(gZmT~OIv7y6AbZ?X44Tlc$f+s@>^ z|8fw&1PnAZt~Ciha@eDtNrSDh;E00P!(<2vzV zinper{@sALMnd`iX28gwhTj@}J<5mM$mn}+{Kl7oE|N}_Km;>!(~ z!0>amARhaQWcf2rj3q}MZq(NS>NC(FfsZtEkyL$9%+ABzyaC*o{n3PY*An>@ z;CAPSVl$#3Apw$>-VJL$ftK;AmGp|#s?`@q`;x6RHP))t3V=gP1f6- zZ6D!GcPL)(BPKDt#rvveCKn8hXy>np9|M5Pwu_@q;n?$h8$scpJ|F{`QnU}m35roI z3>NhGjpT)^96yr9YwzOZ6o1lWK26EZ$Ot){BX;5)yaFw0HI;d=zhAtBofJh1#2=8# zOvZa?w9lh4qY!i}%S5uVu($z=(gZ@&%)d-&l*v%7m0k~^RsjR;VaZ7T!`aD6`6C8M zAuGR&`udey9=6<4=IztR@nohpS&%caoXM@;YKe}d5d|2UOuSEOWpxB}$H)77DJdyh zI=V6W;U~C_Hyd!8?Vak1t5knA>!pJ&>=>|+{_TF{Ft3YkgTemQb+=h*)YZ{)9{BKI6bj4_3VeJ7 z+yYZTX2{?BjG{_ygPqP1^Jc?y>tgGhO5Qkj0!ZuB!NQbtrNN))!kGFJgz)U`?Qg8;%RizM zEjy+K4V2vh((&;4D6uU-Wljy#w;O^XLOGR+kAL#@1)zq7TCzcpNdn9j$Xi7fCC388 zLy?p_ry!xt@ak|%YbeB=R>Ru5YzfPv1wl_Hj+~993D6Ou!ljYMCI!c}7Br{A4&ZaM zRlb(M*0G8JrX#S9s)gDou^@oFMaco ziKK_%vZI6m zc^%6Cf@IBfT#VAcZh_tpA`D=C74-aTARz%0E7cN>l5}9KwioyvsI*=LdSvcstc_&F z*NS|@NvPS7dcZ)yxEVu5ffII+^tAzFuqBDQv6&j)a)nT?mvs%EaD#RY@QGiEbPDW7 z-x(Fc)X_lLDVx_mGu-^j6Wc|P_V4q*I}nY1etuTd0cGy6(okYM4wC`705`Owy?xBT zzQMmU`ZzerV*Wen^yKGKl0Y#8^l%Vs`wT3`jFPW;`7wtP9uF)LZ~v|%P`f!forBo! zHR1|(PrI3-V)W9k*75oGPs{B4O{lMhl>{ z3jQxXAQ)H|{9~*XVk0par#Jw$2rLH>2eAiaZu4IRV=0Inn9l*oo3(7vtYEzqblD#T zsh?js&6Z*PvkvAm<~@Le2|8`}0zt3|Z22I20rmwiAD>_`u#`0L=I18Kq0hXmQWA>- z01yHn`@i6DQIX^3ccx8hP9XPvh(IR;H|Oy9II@;_!|Drex&>MwP)$S3T@Jx*(ctqo zK+7AaoLQ;+2phyJAfTJLuWjTFZ_f)9RnV{I2K!o#{anliKtDYgPXVMjH!co?a?mPp z3w%)Id63&G2YNLy%t6kI(f(}%M)|6zc#C3^l84#^DDWV=v6zQ_>iEW063n2f51Umm`yPp{Akzo?zd8D40&iw!r#H?Y&Y>wCex+zvE=W;!mnAD(wfA!3PmL-o5{{S z#0kU1!-Ged#6>3T6@OZ6RN`b}(w1}m6EKI(&2H7-F9o{fhDh~non&BQ9+gfzVRXaI z%^k7or%AL!oUzZq0-;r=+BZBLE>`OyG;PHaY|=7Y9n)qrUmEcI%eWz&1bS|9u^GsU z!0JhED=8_#ZCxPx@(A!7=#U^vh4>0*rmHOG<_?l^W8U#gKn;-zpi``diY|(d$=a9lRpJhhzt;4)j0=NZU7AjCww=T-^<<$5F(!I`!0? z4#2v(=zUii*rYPkgkjUX$ZS zn><{L4w|E9QC3pw@;u9hxdNeg=A>0lbQE7>lBsv|;Bgd7j*hM>ydcZ}oac0L@E`W!=pyZ^LrD`Nhg8vUneeihz diff --git a/doc/bracket-automaton.png b/doc/bracket-automaton.png deleted file mode 100644 index 1e9692c3e18f037500709a5c3d3b0899e34a4329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36242 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⪙BqQ3i8zojVf|{uJr}^ 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 Date: Tue, 31 Jul 2018 13:44:55 +0200 Subject: [PATCH 2/6] Clean up automata diagrams --- doc/base-automaton.png | Bin 0 -> 9686 bytes doc/bracket-automaton.png | Bin 0 -> 24107 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/base-automaton.png create mode 100644 doc/bracket-automaton.png diff --git a/doc/base-automaton.png b/doc/base-automaton.png new file mode 100644 index 0000000000000000000000000000000000000000..9954dc093165bf4a59216eeeee1a81ce99e92881 GIT binary patch literal 9686 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 ZQ256LL}brEroZx)oRqR;&3lv3{{=nSC#3)Y literal 0 HcmV?d00001 diff --git a/doc/bracket-automaton.png b/doc/bracket-automaton.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fa18aab026dc5456da156c1606a714386497f4 GIT binary patch literal 24107 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 Date: Tue, 31 Jul 2018 13:47:21 +0200 Subject: [PATCH 3/6] Remove strictly defined width/height from pngs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90a4655..201f0d7 100644 --- a/README.md +++ b/README.md @@ -241,7 +241,7 @@ A sequence of input symbols is recognized if this process leaves us in an accept Here's a quick drawing of what the two automata look like for this [grammar of nested arrays](https://ianh.github.io/owl/try/#nested): `a = [ '[' (a (',' a)*)? ']' ]`. -| | | +| | | | :---: | :---: | | *base automaton* | *bracket automaton* | From 9fd0551f2e6436245d338db752850a892ed0aa86 Mon Sep 17 00:00:00 2001 From: Stefan Wijnja Date: Tue, 31 Jul 2018 13:48:08 +0200 Subject: [PATCH 4/6] Change wording about automata diagrams --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 201f0d7..a5a7a1a 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,7 @@ Execution starts at the start state of the base automaton. A stack of states is A sequence of input symbols is recognized if this process leaves us in an accepting state of the base automaton. -Here's a quick drawing of what the two automata look like for this [grammar of nested arrays](https://ianh.github.io/owl/try/#nested): `a = [ '[' (a (',' a)*)? ']' ]`. +Here's a visual representation of what the two automata look like for this [grammar of nested arrays](https://ianh.github.io/owl/try/#nested): `a = [ '[' (a (',' a)*)? ']' ]`. | | | | :---: | :---: | From 4a0e1b5366a92048e4d95c501e66094af72fd570 Mon Sep 17 00:00:00 2001 From: Stefan Wijnja Date: Tue, 31 Jul 2018 13:48:51 +0200 Subject: [PATCH 5/6] Move grammar to its own line --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a5a7a1a..5f36ed5 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,9 @@ Execution starts at the start state of the base automaton. A stack of states is A sequence of input symbols is recognized if this process leaves us in an accepting state of the base automaton. -Here's a visual representation of what the two automata look like for this [grammar of nested arrays](https://ianh.github.io/owl/try/#nested): `a = [ '[' (a (',' a)*)? ']' ]`. +Here's a visual representation of what the two automata look like for this [grammar of nested arrays](https://ianh.github.io/owl/try/#nested): + +`a = [ '[' (a (',' a)*)? ']' ]` | | | | :---: | :---: | From 47f596f50989916aaa2ab27af974b9cc35627aae Mon Sep 17 00:00:00 2001 From: Stefan Wijnja Date: Tue, 31 Jul 2018 20:57:47 +0200 Subject: [PATCH 6/6] Add tex file for automata diagrams --- doc/automata.tex | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 doc/automata.tex diff --git a/doc/automata.tex b/doc/automata.tex new file mode 100644 index 0000000..8e66cc1 --- /dev/null +++ b/doc/automata.tex @@ -0,0 +1,45 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% PREAMBLE +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[11pt]{article} + +% packages needed for state diagrams +\usepackage{pgf} +\usepackage{tikz} +\usetikzlibrary{arrows,automata} + +% page margins +\usepackage[margin=2.5cm]{geometry} +\setlength{\parindent}{0pt} + +\begin{document} + +\begin{center} + \begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick] + \tikzstyle{every state}=[fill=white,draw=black,text=black] + \node[initial,state] (s0) {}; + \node[state,accepting] (s1) [right of=s0] {}; + \path + (s0) edge node {$[\ ]_{,}$} (s1); + \end{tikzpicture} +\end{center} + +\bigskip + +\begin{center} + \begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick] + \tikzstyle{every state}=[fill=white,draw=black,text=black] + \node[initial,state] (s0) {}; + \node[state] (s1) [right of=s0] {}; + \node[state] (s2) [below of=s1] {}; + \node[state] (s3) [below of=s2] {}; + \node[state,accepting,rectangle] (s4) [right of=s1] {$[\ ]_{,}$}; + \path + (s0) edge node {[} (s1) + (s1) edge node {]} (s4) edge node {$[\ ]_{,}$} (s2) + (s2) edge [bend right] node [swap] {'} (s3) edge [bend right] node {]} (s4) + (s3) edge [bend right] node [swap] {$[\ ]_{,}$} (s2); + \end{tikzpicture} +\end{center} +\end{document}