From 17740888b585e7dd98c835500a46d394454886f5 Mon Sep 17 00:00:00 2001 From: Florent DENEF Date: Thu, 2 Mar 2023 10:33:47 +0100 Subject: [PATCH] Adding prob7, unfinished. --- prob7.txt | 1027 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/prob7.rs | 17 + 2 files changed, 1044 insertions(+) create mode 100644 prob7.txt create mode 100644 src/prob7.rs diff --git a/prob7.txt b/prob7.txt new file mode 100644 index 0000000..27eadd0 --- /dev/null +++ b/prob7.txt @@ -0,0 +1,1027 @@ +$ cd / +$ ls +268495 jgfbgjdb +dir ltcqgnc +272455 pct.bbd +200036 phthcq +174378 qld +dir rbmstsf +130541 trhbvp.fmm +dir twjcmp +$ cd ltcqgnc +$ ls +227634 brjmpbfg.hjh +dir cmdzcq +dir dnbf +203609 fpj +dir frt +288222 lcr.nlr +dir ngm +dir ngsrlzc +5927 phrnnw.dzj +dir shjv +dir wsvfbb +$ cd cmdzcq +$ ls +37316 cfvhc.qsw +41839 mgwlr +dir pfmbt +281659 tlpqzz +dir vmd +189667 zdvj.sbl +$ cd pfmbt +$ ls +120151 bhzsnw.gft +45035 cfvhc.zpp +$ cd .. +$ cd vmd +$ ls +dir dnc +dir rgftffp +$ cd dnc +$ ls +dir dvndwjzs +216199 fzwrr.ndp +dir gwhtzlpg +dir lsfn +dir lzcv +237080 qld +131509 rwhffw.ldj +84024 wph +$ cd dvndwjzs +$ ls +264750 htjvzrv.plg +$ cd .. +$ cd gwhtzlpg +$ ls +dir cfvhc +285900 fpj +112604 gqng.zww +188180 phthcq +dir prgbvj +$ cd cfvhc +$ ls +136528 bbsmm +$ cd .. +$ cd prgbvj +$ ls +180538 hfgg.fbm +$ cd .. +$ cd .. +$ cd lsfn +$ ls +133375 fzwrr.ndp +242940 gcftj.nlb +$ cd .. +$ cd lzcv +$ ls +121565 plnqnqq.zwr +100302 wdmqc +$ cd .. +$ cd .. +$ cd rgftffp +$ ls +259406 rwhffw +$ cd .. +$ cd .. +$ cd .. +$ cd dnbf +$ ls +dir bft +219468 czjvl.brj +130503 fpj +120522 rwhffw.hrn +92338 sngz.qsd +dir vpmvnmfj +$ cd bft +$ ls +dir zdvj +$ cd zdvj +$ ls +50020 sngz.qsd +$ cd .. +$ cd .. +$ cd vpmvnmfj +$ ls +78395 dlch.vfb +270867 hnmq +172551 pct.bbd +186790 phthcq +65750 sjjlnf.bjn +$ cd .. +$ cd .. +$ cd frt +$ ls +dir bbsmm +dir cfvhc +22983 dpvmzlv +dir fptlqh +290097 fzwrr.ndp +dir hvwdzbsw +dir nlm +57046 pct.bbd +208565 qld.mms +261556 wcfvpmz +$ cd bbsmm +$ ls +dir bbsmm +238522 hmjvg.pfn +228873 nvvsml.bcg +dir rwhffw +dir sgbnzbqt +$ cd bbsmm +$ ls +dir lnz +dir msmpndgh +dir ncpbn +dir wfr +$ cd lnz +$ ls +99970 fjbmpmrz.ldw +$ cd .. +$ cd msmpndgh +$ ls +dir sfsqwrhg +$ cd sfsqwrhg +$ ls +dir vfqg +$ cd vfqg +$ ls +17855 bbsmm +$ cd .. +$ cd .. +$ cd .. +$ cd ncpbn +$ ls +dir nltglc +$ cd nltglc +$ ls +247577 qld.vjz +$ cd .. +$ cd .. +$ cd wfr +$ ls +135424 bbps +243274 hsvjddff.nfw +dir prg +158111 qld.zff +dir rwhffw +$ cd prg +$ ls +214834 lfpqlt.bdt +dir nclpwh +104870 phthcq +dir trrtpgd +$ cd nclpwh +$ ls +104441 mjjftn.sqt +$ cd .. +$ cd trrtpgd +$ ls +137542 qld +$ cd .. +$ cd .. +$ cd rwhffw +$ ls +dir glsrf +$ cd glsrf +$ ls +189772 phthcq +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd rwhffw +$ ls +dir bbsmm +$ cd bbsmm +$ ls +104690 cfvhc.nwc +$ cd .. +$ cd .. +$ cd sgbnzbqt +$ ls +191204 cfvhc.jnv +127263 vwfbr +$ cd .. +$ cd .. +$ cd cfvhc +$ ls +72894 bbsmm.dns +$ cd .. +$ cd fptlqh +$ ls +dir bbsmm +dir bdvp +162052 vnnjfh.stw +dir zshvq +$ cd bbsmm +$ ls +dir bbsmm +dir pchdq +dir rwhffw +$ cd bbsmm +$ ls +174590 bbsmm +45636 fpj +102831 qld +dir vpwcmgq +229136 zdvj.rtw +dir znw +$ cd vpwcmgq +$ ls +dir cfvhc +dir jvd +dir zdvj +$ cd cfvhc +$ ls +55907 ccvdlc +272581 fpj +29765 phthcq +$ cd .. +$ cd jvd +$ ls +dir cfvhc +$ cd cfvhc +$ ls +289471 cjzwdvs.gtn +$ cd .. +$ cd .. +$ cd zdvj +$ ls +98507 cmldvpnc.qtl +$ cd .. +$ cd .. +$ cd znw +$ ls +dir zdvj +$ cd zdvj +$ ls +46012 wrgvln.lmf +$ cd .. +$ cd .. +$ cd .. +$ cd pchdq +$ ls +dir cbssm +98102 cfvhc +259488 pct.bbd +dir rwhffw +7541 sngz.qsd +167971 wvgrzn.bds +$ cd cbssm +$ ls +45025 bbsmm +22500 fpj +$ cd .. +$ cd rwhffw +$ ls +dir fncszbm +166012 phthcq +165925 rbs +171350 tsbv.zws +$ cd fncszbm +$ ls +dir wzrlzvm +$ cd wzrlzvm +$ ls +191811 qzzs +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd rwhffw +$ ls +218844 dnbmcbr.wrc +201091 mmpvsgjv.wgs +dir mzt +223628 pct.bbd +dir qftlpdt +56441 sngz.qsd +33730 zdvj.jfs +$ cd mzt +$ ls +25768 sngz.qsd +283843 vjrmbw.jcs +$ cd .. +$ cd qftlpdt +$ ls +287536 mzhmjrg +223797 pcp +$ cd .. +$ cd .. +$ cd .. +$ cd bdvp +$ ls +dir lnvvwlm +$ cd lnvvwlm +$ ls +210345 zll.scl +$ cd .. +$ cd .. +$ cd zshvq +$ ls +251997 cfvhc.mcr +220501 pct.bbd +$ cd .. +$ cd .. +$ cd hvwdzbsw +$ ls +dir cfvhc +21816 fpj +251732 vcfcwjh.pjh +187137 zdvj.bzd +dir zgprrg +$ cd cfvhc +$ ls +99722 zgq.bbh +$ cd .. +$ cd zgprrg +$ ls +dir brzpsnjl +$ cd brzpsnjl +$ ls +dir qld +$ cd qld +$ ls +30055 phqdjs.zwv +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd nlm +$ ls +176700 fzwrr.ndp +256184 pct.bbd +25442 qhngw.jwm +dir rwhffw +160900 wqr.wdn +$ cd rwhffw +$ ls +240085 pcjjgjcr +$ cd .. +$ cd .. +$ cd .. +$ cd ngm +$ ls +118461 bbsmm +dir czjzwl +dir gjwws +43114 nwvltczv.jpf +dir qjpgzsj +145909 rjdzrjzc.fdr +dir tvmpgrq +75554 zdmfhpwz.rhc +dir zdvj +196704 zdvj.nfm +$ cd czjzwl +$ ls +dir btnsjtl +dir cfvhc +100911 cfvhc.mqg +dir gljbgjq +247017 jmrq +dir qld +$ cd btnsjtl +$ ls +76658 pmgnqr +$ cd .. +$ cd cfvhc +$ ls +189214 jvrcttm +265333 mmgd.sbn +$ cd .. +$ cd gljbgjq +$ ls +dir ccqsnp +dir fng +104525 fzwrr.ndp +31517 gmqhmwj.rbs +122232 htddmr.wjm +51362 rtlnr.mwh +42769 rvddl +$ cd ccqsnp +$ ls +192021 cfvhc.lww +dir mbmsfgtb +222388 nvgppmv +dir qbpnbsv +$ cd mbmsfgtb +$ ls +104492 jfwl.jlv +273739 phthcq +238815 rwhffw.tjp +$ cd .. +$ cd qbpnbsv +$ ls +176577 tlqnmmsc.gpt +$ cd .. +$ cd .. +$ cd fng +$ ls +243298 cfvhc.pvb +54364 fbrtb.hqd +dir hvhwh +dir rtcsp +$ cd hvhwh +$ ls +87079 zdvj.gfq +$ cd .. +$ cd rtcsp +$ ls +dir zdvj +$ cd zdvj +$ ls +288617 rwhffw.lzl +161000 sngz.qsd +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd qld +$ ls +113942 bbsmm.msn +239442 cchgv.mtd +181920 nnlfh.gwz +274766 rqtvc.frp +$ cd .. +$ cd .. +$ cd gjwws +$ ls +dir bpzsc +dir cfvhc +dir fsnf +dir zdvj +$ cd bpzsc +$ ls +88033 cndwmvj.pzm +275297 hslg.smz +dir qld +25067 qvntlcd.nzs +$ cd qld +$ ls +240593 bbsmm.bgn +dir dpqgcc +277540 fpj +dir qld +$ cd dpqgcc +$ ls +dir rhqvcfd +$ cd rhqvcfd +$ ls +199386 fzwrr.ndp +$ cd .. +$ cd .. +$ cd qld +$ ls +269177 cjrc.dvq +21631 fpj +263874 pct.bbd +$ cd .. +$ cd .. +$ cd .. +$ cd cfvhc +$ ls +dir nzd +$ cd nzd +$ ls +273225 qld.jmn +$ cd .. +$ cd .. +$ cd fsnf +$ ls +17887 fzwrr.ndp +$ cd .. +$ cd zdvj +$ ls +160076 rwhffw.trf +$ cd .. +$ cd .. +$ cd qjpgzsj +$ ls +227586 njqbnz.hwl +239840 zdvj.qcp +$ cd .. +$ cd tvmpgrq +$ ls +dir hdrsmnvc +dir psrjr +$ cd hdrsmnvc +$ ls +dir rjm +dir zdvj +$ cd rjm +$ ls +244666 bzvmdcm +$ cd .. +$ cd zdvj +$ ls +132943 gnz.ntd +$ cd .. +$ cd .. +$ cd psrjr +$ ls +dir nfvllp +dir plfgfs +94173 qmdhr +3133 swjh.rbg +dir zmp +$ cd nfvllp +$ ls +39707 zbsm.vsd +$ cd .. +$ cd plfgfs +$ ls +186603 cfvhc.sgb +183833 ljn +$ cd .. +$ cd zmp +$ ls +123313 fzwrr.ndp +$ cd .. +$ cd .. +$ cd .. +$ cd zdvj +$ ls +dir hzzs +230054 nhcvn.dfl +dir rgwfsqdc +dir zwtjr +$ cd hzzs +$ ls +58585 cbfhrf.vqn +dir cfvhc +dir fbzpmc +dir fdtjp +28182 fzwrr.ndp +35581 nzwndl.zzs +dir pmrv +253508 qgdnnl.tqq +$ cd cfvhc +$ ls +256186 nlgzqw.frl +$ cd .. +$ cd fbzpmc +$ ls +dir cfvhc +$ cd cfvhc +$ ls +193322 rwhffw.vwc +$ cd .. +$ cd .. +$ cd fdtjp +$ ls +dir bbsmm +140927 fzwrr.ndp +dir lcmpbs +94413 mpnfgpsm +dir qvrd +247202 tlp +$ cd bbsmm +$ ls +206896 clsqp.hbr +$ cd .. +$ cd lcmpbs +$ ls +dir bbsmm +dir cfvhc +dir rplqgm +dir tmh +dir zdvj +$ cd bbsmm +$ ls +235479 sngz.qsd +$ cd .. +$ cd cfvhc +$ ls +285029 fpj +29405 mhpr.czj +$ cd .. +$ cd rplqgm +$ ls +dir bbsmm +dir cfvhc +dir mwhf +$ cd bbsmm +$ ls +257187 hsldvt.jdt +186098 pct.bbd +$ cd .. +$ cd cfvhc +$ ls +dir rfw +$ cd rfw +$ ls +254454 fzf.ltl +$ cd .. +$ cd .. +$ cd mwhf +$ ls +3915 dtcjptnd +116218 fzwrr.ndp +$ cd .. +$ cd .. +$ cd tmh +$ ls +49016 ljsvgl.npd +258257 mlfq.rrr +$ cd .. +$ cd zdvj +$ ls +dir jjj +154441 lcpvwhp.mpq +$ cd jjj +$ ls +31731 bbsmm.mhb +$ cd .. +$ cd .. +$ cd .. +$ cd qvrd +$ ls +199473 pgqbpq +$ cd .. +$ cd .. +$ cd pmrv +$ ls +120831 cfvhc.btv +$ cd .. +$ cd .. +$ cd rgwfsqdc +$ ls +281099 cfvhc.trc +119483 mntqrvw.qwz +275572 zhphps +$ cd .. +$ cd zwtjr +$ ls +187404 gwjsj +230074 qmr +212641 wdhl.dfl +$ cd .. +$ cd .. +$ cd .. +$ cd ngsrlzc +$ ls +164729 lnc.mdg +33748 pct.bbd +119803 rfst.blw +dir zdvj +$ cd zdvj +$ ls +dir bbsmm +251550 sngz.qsd +120940 zlmcvg +$ cd bbsmm +$ ls +206509 bsddjdv +$ cd .. +$ cd .. +$ cd .. +$ cd shjv +$ ls +17754 lqqz.qmf +265175 rdmsqztj.lnt +$ cd .. +$ cd wsvfbb +$ ls +dir bhbb +271856 fzwrr.ndp +114188 hgfjq.jvn +dir jgnl +dir qnddp +51700 rwdnzwhv.vtr +$ cd bhbb +$ ls +107036 rwhffw.pld +$ cd .. +$ cd jgnl +$ ls +dir qld +$ cd qld +$ ls +39294 rbsvwh +$ cd .. +$ cd .. +$ cd qnddp +$ ls +dir vzmrb +58723 wcbz.dwh +$ cd vzmrb +$ ls +203361 rvrbgd.cpw +167876 zgpdcb.rql +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd rbmstsf +$ ls +dir bbsmm +dir cfvhc +63250 hcdlfmt.ccg +dir mgzl +dir ngflwbmp +dir shvjprl +123258 spqchmj.wpv +$ cd bbsmm +$ ls +dir cfvhc +dir gtvszgs +6558 nzdhg +121160 qld +dir rfjfp +dir rwhffw +dir sbfshph +$ cd cfvhc +$ ls +dir btmbjrw +dir pzq +133178 sngz.qsd +$ cd btmbjrw +$ ls +dir ftpvz +dir tjflfshs +dir wvncjmf +$ cd ftpvz +$ ls +dir lqlrh +$ cd lqlrh +$ ls +114380 pcn.cbn +$ cd .. +$ cd .. +$ cd tjflfshs +$ ls +274555 bbsmm.wpr +$ cd .. +$ cd wvncjmf +$ ls +dir nnrqcfmm +$ cd nnrqcfmm +$ ls +217188 pct.bbd +$ cd .. +$ cd .. +$ cd .. +$ cd pzq +$ ls +89797 sngz.qsd +255100 thg +$ cd .. +$ cd .. +$ cd gtvszgs +$ ls +87661 sngz.qsd +$ cd .. +$ cd rfjfp +$ ls +130164 cfvhc.rbt +dir lhf +dir qld +20799 qld.gts +dir qwzj +150977 sngz.qsd +$ cd lhf +$ ls +125848 lvgv.jtg +81087 mdcw.rbv +80091 qld +dir rmsggp +49093 thf.jnh +dir tmf +dir zdvj +$ cd rmsggp +$ ls +dir fznsmbq +dir lhghnn +dir zdvj +$ cd fznsmbq +$ ls +dir wqzwsspq +dir zdvj +$ cd wqzwsspq +$ ls +dir gbzfpfq +$ cd gbzfpfq +$ ls +185410 pct.bbd +$ cd .. +$ cd .. +$ cd zdvj +$ ls +140384 pct.bbd +$ cd .. +$ cd .. +$ cd lhghnn +$ ls +36868 fpj +181925 pct.bbd +$ cd .. +$ cd zdvj +$ ls +256916 bbsmm.mtr +dir rwhffw +75846 rwztfcj.qns +$ cd rwhffw +$ ls +234834 bbsmm.gtp +140315 pbwqrps +$ cd .. +$ cd .. +$ cd .. +$ cd tmf +$ ls +88583 dhndg +52796 qld.mlp +$ cd .. +$ cd zdvj +$ ls +8822 pct.bbd +221658 sngz.qsd +$ cd .. +$ cd .. +$ cd qld +$ ls +119026 dfc.bgr +87684 fzwrr.ndp +dir zdvj +212120 zdvj.jhw +$ cd zdvj +$ ls +dir cfvhc +169434 mhlpvf.vjz +$ cd cfvhc +$ ls +243919 brtvv +$ cd .. +$ cd .. +$ cd .. +$ cd qwzj +$ ls +101395 qcjvs.mjs +$ cd .. +$ cd .. +$ cd rwhffw +$ ls +94012 fzwrr.ndp +205816 hqrgfm.wwt +dir lzbmzw +155203 qjv +$ cd lzbmzw +$ ls +dir dfrdczdj +$ cd dfrdczdj +$ ls +126459 tphtshwc +$ cd .. +$ cd .. +$ cd .. +$ cd sbfshph +$ ls +229389 ccbgcv +135997 cfvhc.ctl +119490 rwhffw.pqp +94530 vjtjz.cfs +$ cd .. +$ cd .. +$ cd cfvhc +$ ls +dir cmr +dir jvh +dir mjs +$ cd cmr +$ ls +227026 fpj +$ cd .. +$ cd jvh +$ ls +dir qld +$ cd qld +$ ls +96968 phthcq +$ cd .. +$ cd .. +$ cd mjs +$ ls +98117 qld.ftd +$ cd .. +$ cd .. +$ cd mgzl +$ ls +198793 nfvnfqn.zwd +$ cd .. +$ cd ngflwbmp +$ ls +dir bbsmm +dir jthnmqs +137176 nrn +80344 ntbq.ssw +133166 phthcq +210691 sngz.qsd +255501 vgwn.gqr +dir zdvj +$ cd bbsmm +$ ls +98501 npwwzjgt +134593 sngz.qsd +46020 tjszcpm.brs +213591 zdvj.sgj +$ cd .. +$ cd jthnmqs +$ ls +dir bbsmm +dir cfdbp +dir dpwqmbw +67233 lzz.tmg +21344 pzvjlt.qdb +dir rwhffw +dir sdtntw +268059 vwhqh +dir zdvj +$ cd bbsmm +$ ls +263767 fpj +46528 tpq.wtb +$ cd .. +$ cd cfdbp +$ ls +dir grczc +$ cd grczc +$ ls +241829 vnnjnz.nww +$ cd .. +$ cd .. +$ cd dpwqmbw +$ ls +287899 pct.bbd +$ cd .. +$ cd rwhffw +$ ls +41741 ffsqr.cwc +dir ffzc +dir nrs +279620 qchg +$ cd ffzc +$ ls +10583 pct.bbd +$ cd .. +$ cd nrs +$ ls +195239 zdvj.npp +$ cd .. +$ cd .. +$ cd sdtntw +$ ls +245601 fpj +9552 lgftw.ntj +$ cd .. +$ cd zdvj +$ ls +dir smjvcql +$ cd smjvcql +$ ls +dir qcqljj +$ cd qcqljj +$ ls +286791 fhm +$ cd .. +$ cd .. +$ cd .. +$ cd .. +$ cd zdvj +$ ls +dir bcghd +57663 fzwrr.ndp +177473 gzpfmsz.tnw +53543 pswpr +251188 sngz.qsd +dir snqjl +$ cd bcghd +$ ls +106732 sjvhjd +dir vtgsnb +$ cd vtgsnb +$ ls +dir gtj +$ cd gtj +$ ls +151689 nncsjvn.vhd +$ cd .. +$ cd .. +$ cd .. +$ cd snqjl +$ ls +104993 bjjqd.pqv +233367 fzwrr.ndp +11942 sngz.qsd +$ cd .. +$ cd .. +$ cd .. +$ cd shvjprl +$ ls +130539 jpzsdjw.hlz +$ cd .. +$ cd .. +$ cd twjcmp +$ ls +86053 pct.bbd \ No newline at end of file diff --git a/src/prob7.rs b/src/prob7.rs new file mode 100644 index 0000000..24c01dc --- /dev/null +++ b/src/prob7.rs @@ -0,0 +1,17 @@ +use nom::{branch::alt, bytes::complete::tag, combinator::map, IResult}; + +use crate::prob7::Instructions::{Cd, Dir, Ls}; + +enum Instructions { + Ls, + Cd, + Dir, +} + +fn parse_instruction(i: &str) -> IResult<&str, Instructions> { + alt(( + map(tag("ls"), |_| Ls), + map(tag("cd"), |_| Cd), + map(tag("dir"), |_| Dir), + ))(i) +}