"automatic semicolon insertion in golang"
their discussion:
https://groups.google.com/g/golang-nuts/c/XuMrWI0Q8ukthe rule:
https://medium.com/golangspec/automatic-semicolon-insertion-in-go-1990338f2649my implementation(some years ago) in DevCPS.Get
Код:
StdCoder.Decode ..,, ..ZD0...3QwdONl9RhOO9vRbf9b8R7fJHPNGomCrlAyIhgs,CbKBhZ
xi2,CoruKu4qouqm8rtuGfa4.hOO9vRb1Y66wb8RTfQ9vQRtIdvPZHWKqtCa.E.U5UmR22U.Qk
lbeZ3DPuP7PNNvQRtId9NPuP7X2hgnRAXDJ.QCPuP7PNG2sET1.PuP.MHT9N9nt.G2sIdvPZnt
gcghghZcZRC8T0E.kV40T.rN62.,.5D0cU.ktAcoZimBhWhiohgnZcZRC.,.D,,6.I16.M.EJY
jyC.6.VQ.k3k.8Mtf.2.S00E.c4E.m80.e0.,6j3.C.8E,9T3U.EKE.EBU.U,2.I3.0ES,1.y0
CE,9T3U.kHE.0.p.0.x10EJ.6.V2Q0YU0Ky8.,Uv2.0E.c4E.m80.e0.,6YUVU1Q.M16,D.K,K
E,9T3U.EPU.EBU.6U,W.EJ.2U.2GkFUIU0Y.2UdU4IkmL,6.260.I16.,A.,I.0.J,E.0E6,56
.c2c.E.O,Ok,UPU5IkmL,2U.E74.2.p.0UZhN6.J,U.2GkFE.U4.,M1c.E.SE.c.E.G08.2U9U
5Q2,E.q..,65c,UB.E.SE.c.E.i0.,cBs.J.7s06.36.QU0U3Q1QUcW2Y,2UJU1I.67s.N.Dc1
s.Z,Dc6,U123o.k2E1.t..l,7.Ck0k1m.Gk2UwV6IkmL,2U...p.0UZ,,6.J,U.YLE10.Ds160
B.40240E0e.I12UEU4Q.s2s,N.,s.,U3g168c.JE.wU9U4.DMC60D.8L.M,T.K0O.s.M,Z.Ds6
6.t09c16.p.B.g1QU0.k,i00k,0.5M0c,UWU.gU..6.5,560c,UW.9.U.Q2QU6U4.i00k0.kC.
E5E0a.0E20.Ds.6,k1G10ECE,C.0EE6.D6,6.,,B.I2o.kEE1.,V.QU6U4.5M76.9.B.0kE..Q
U6U4.5M76.9.B.0kC.kQ.kC.E10.5M16.D6.wUoU.Y1I.6.z.DM,E5E1G.0E10.5616.1.7.0E
2k1C.G.wUoU.Y1I.6.,V.wU2U.A2oU1.36.o.EB.kC.kRE1U.g2.g1.25o.kDk,q00k0E1U.g1
.g4.Q1oU5U.A1s.EDU5.d.5M66.X.B6,6.n.C.o1c,6.,,Bs,kE.E8k1e0Y,oU1.x.B6,6.x.K
E.6.p.C.o1M,kDE1O.0EEE1S.0kEE1O.Q1oU1U..BM,6.j.C.0EDE1G.0ED.6.x.U.o1606.v.
Bs.kBE1O.0EAE1C.0EDE1K.0kDE1W.0kCE1C.0kBE1K.0k9U1U.o16,6.x.U.o1M,EBU1.x.i.
g2oU7U.o1s..606.3,U.I2.0kCE1C.o1c,6.,,B6,6.x.Bc,6.r.Bs.6.E1S.0kAU1.r.BM,6.
j.C.0EDE1S.A2oU4U.Q1oU1U.I.o..........................E8E1.1,....I2.o2.I2.
IAM.6.v.zT0VeITuE98FfeI986DONdf8,78hOEZ86bPSPfC,dEn8J9O8rN1HM0hOEZ86eHE8og
sC,tPN9Np76HeHdOFDOFZuCPM0H.SrlWKR0mVWoU8pRq.kqKLqGromoouqmmGE8qkCqpCLq4qt
WKR8obyIaKoUuoRqk2gV7AVEJeD,sETPPPPNR9RFdJ10NPORPNpdETuHkIin2WGJ0GmyKEuqrG
LE8rm4Km0mkOKuKKt0mmuKm0mrOKEOqomqm0GJam4ak28oWSoYuIEqk2ak2GomOrV0paumXKKu
mIISrlWqIin4aU7YdDxdEhV7k2m2U7sJFOGNOF,tR59O,ND,d6Fd6,7FT86PM0Hk26F..A3k2M
GB86jvM00eGF0GeWoWuIECorq4MPNPOAZUgV7A,HU3ZdHBd43Yr,v76V7Fl86d8G9WhZBIbxYe
Ghe3RbBA,a.9eH7O1HM0aU3lRqk2aU7MG.00.GomOrV..HFEKIgaIe0mWuIWi1A,H022GomO5g
cjZiUYe6V33f7,.HkY.g5.MP.U3pd2R5M0G2kX.AZBAV7AV7g6.HMGUU663N8376d8G6F..AZv
..k2a266Y6U3,km8LtWmOamR0mW.g,g6.59O,dCv76b8GTeId88jvMaWBkW665uPP1in4aUBM0
V0.NOORPN5uPPPP68HtCH68wZj2YUIZdg,aEfkvcC.cE.cI98I9OEd867ONh1S2Ud66feHdOGN
86FtR5HE6A7mIyIdWmvCKoUMBZvg,akYO2.7GE.70.Ud669eH7uCkl..UBkWEaaKr.sCM1aEc.
EVmqrCqpCorqqqEIO3q4IbUIcDxdA,0m2WGJ0We2YUIZj2YUI3M0h0VvMF99,tR59Op,.30.P9
PHfPgb4BcARe3RbBA,H6F..A3,N1HUG,gV7A,H6Q59O,dCwiXtC,NGB86jXU6A78K,,gBUI,,N
F.aEW..M8.feHdOG6Q59O,ND,t7Jt7Hd7FtR5HEkLSmI0mb8JIS56AlWBU7p6.DVUYe6h6G2..
HFEK2UX3BsI.k4MFcENvPsPUvUBM0V0.bONPPO5vPNvPR98bPSP1n8JaGR0GVy2sCcEk4ak2ak
V4odKIECrwqKEyIXqk2aUw3YdZgZphoZZUohphhWhgmZZUQioJidphbZZUIikBgmhgiZZUIiZZ
ipJiiZZUIiWJiVRhg2YmJACqmmGEKKrGKK0GsmquCLNmGEqqouquCLNeHE8pWGpe8Jb0Ge8peK
IEqk2MFNmW0GdKIeU4BcAR8r,HEbQbUgV7MF2YHhgh,QbUgVBgV7Ic3,Y6UZJim3ijRiUIbx2Y
2hAklKLt0rrCbh2YlQbUghpZB.O2663PM51kSOoUUBkf.FtMF96tND,d6,d6H76TeI,7859OqX
kAck2fd2YDJ8.D7LD76H7FT86Fd8HvNRvPZPN,tMTfPdfQT9P,tMFPMZPM59R9fQbf8HN1Hk2a
IXQgcV2,g66GsQnXugbUggjpgv2YGhcIVBAV7AV3Z7HWX,D,d8GM1AV7A78qkC4EE.b1cPf9PN
vC,7F9fRkX6859OHtC,dI900mWuIWg,ak28qkCqp.e1deIfmRQgc3YuEN0HgiHEq.K2.vFMG2d
0q.akY...5Xu.66,76,,.68JNNbvM19Q996NPORPNJN8PM0AV3,Cpmq4EIkI0GeWoW.s7rt7r7
6,78JNMf9RT96bPNPPOUeAZBA,akWMF,7F91.M1M09eHiHE.N0...uYBkWsCPU2,QioBgmZikx
hn3YuEW.C4kKk4aU1lWQgctHB86,76FFECKoobUIYUIYUIZdg,mbmIaMZZUIar2fu2YHZim3Zn
BZBAV7EFCGFeHECLEenSohZBiv2Y2hAkX..4GFeHEC5sPdvC,7F..iXU230mEmGE0mEqHE0GJa
0akYOYXlSIYxIYUY86FO5.Un3YuUZ769eH7O1HEyc73dC,N1Hk2CLEenSAgiZgv2Y2,.k4M0H0
UaIYUY8...9eH0GEW0Bd7,d8H,tXwJYu2YBUn,3PMZvC,7F91.k4kY.6T376d8G...,,whmRb3
pd2,mLy0GJa0EI8GR0GWK4.UB..I3.5068PPRN1M8r76P.HMGghp,66B76bON.W0.g,A,bfCvt
Q9PPH1QbBU7gcAVBA,aUjZhY3Yug570MNUv2Y5hgo3ZnBZv2Y2,.2YukrmKmiHEq.akWu2P.m2
CLEe1N9Q1fQ9n4ak2cHq.tXdIYu22Et0rkkR0GW.S2C4P.IZWIbUQC6RHnmCrR0GWK4..kJ8GR
006QNPRi1..i1A7C4s8376d8GsQ,,ENiHEG2..,NF.YZWIbUQCsMTPPPPMr7670.k4.Pd6p76U
hBhilR00..rN1..Pd6,7J..Iav..UUgcCl2UiIYu2Y2,.sC..uGF0GeU2,.EEC5gikZij3Y3Zd
Hh6UkhgmBhjZgUgcC,s93dC,7F..g,.UjIYUY86HHfPC2K4aWUg,ak2a2b0UcUd.g,A,b1.Q5M
098HM1M0y4EW.K4sCUn,..,,T1,,akWuYvg,6Ha251SGJ2YI37IcgxB.MP.A3U7A7q4.,,.23.
M1M0C5.sCk2K290A,T16F..r,...00y400AV3p7q.Y7QCsQNPMbnRqk2Eb.tXkIYioZWAbWIbU
odphhWlR0mt00uquq4qk2aEycC3dC,,kXkl.akYsMEFq1U2,.EEC5IgZRgjhhZRiUgcA,klYhj
769eHEysC3dC,tQktKqq.iHEG2.UB.mHFeX2,.sCP......22EqKqs0mWmod.sQb969eHk4A,g
bWIbUQCMNX9Pr7670.UB.B0.,,..U3VUUxgbUIZd.obWIbU..UB......00sN9PQ,NF.Eu8LEK
IbUwlU8GR0mYGqmuadpgdhgm3ZnBZvMGBGr4qqKKEqHE8mU8Jd4og8GEG3QCMMZfQ1PS,NFR0E
V8GR0mY..gV7.u4U0hc5B7376d0.3nnaKrqk2AV3Z7HWi,SGV8pW4oZSGEG3cCvdMZPN1vOPM0
..22aJF0Ge.,,ar4ak2aUCN1U1JYu2Y7,.U7MGB0.5OEbOF376d0.5PMbPNPM0HkWm2.UDpdHZ
eW2YI,.TfPb9RPM0a...mobCpW8GE..NvPbPNPM0..UD7JHeHfOF376d0.yaoBhihiZhV7A,u2
YDGIFeHEa2..MG.EWyIF00.YgjhV7A,98H..aIf8GEG3.AhqhV7A,u2U3JYu22..U7,.9eH7e6
,7J.MNR9NPM0HM098H..modKIF00.6PbPNPM0...aYW2YI,.AhahV7.66.6KH8J376.UsBhohV
7UC,tX4JYu22..00.cFTeI376d0.BvPZ969eH.aIFeHE..M1MG.kYOIF00.AhahV7kWm2.UCJY
U..uq4a...sI376d0.Cr4ak2..UB3eDJeIJYUY8.MPVvPZ9RPM0HM0u2YDmIFeHE..66.UAxdD
3eW2YI,Ugxhj3iUgcC,MH3dC,,.UBU7,.PuH7e6,,.qqrGq4aU7gcA,.UJZd3JYUYe6,.KLqKq
4ak2cHEycH3dC,,.UU..uoYmIF00.ohdZhUgcC,sH3dC,,.UBU7,.TeI3,.whmhV7A,98H..OI
F0Ge.UahV7A,..MJde6,,.giohV7M0u2YD0JFeHE...a2.2eGxd1,8GEGJY.6QZvP5PN7PRZPN
PM0HkWm2.UDBdCZe3JeW2YI,.TPOR9R9fQPM0cH.8JFeHE...a2.Ie3RcDJe2JYU..ZPN5vPZ9
NPM0akWm2..VOFIYU..2iZBgohV7...YeJFF0Ge..d1PM0HUC,tXIJYu22..U7,.d8G9eH376E
E.d9O9fPPM0gcA,.sH376.UjhV7...aJcKIF00.MSVPNPM0cH.KJFeHE..66.UJpdIB7376.ku
uKuaKq0mW.cJ3dC,,cN...OpU8JF00.oiVJiUgcC,sJ3dC,,.UBU7,.j8GH8H80.sRFPONPNP.
98H..aIeWIF0Ge.UdZichV7AV7cHEysF3d9Rd6Fe6N763dG379,d6Le6N763NI379,d6be6N76
WJFuGLIfWYZUMM3d9Rd6pf6N76yJFmGE2sWoZicp379,Fg9GLcx379,Fw9GLuWzLYu22..Pk2m
5re6p76b1mKl8rkiqR0GW.R,k4.ve6p76b18Ll8bf,...xe6p76b144TvRr7670..EG8GRQC6N
T9PNPMZvC,7F...iLFe1EqklQ570.kRq.P.gjWI5UmVX,..q.cT3dC.RvP6F...jdFleC,tQ,,
f9QQbUY6..MFNmW0m4M0b96cPf9P..UvU3p7rN1QithhUUnhV7gcC76DONdvCPcUXDJ9X1xhiZ
imFqKKtCLLCJuQcoJigZcZRiX3Ulb8..umVyKr.YcZRiX3.5011CLLUm,..Unp3.6F6.Zb.2U.
UIU.U76.0E..k.8ssH38pumqm8rtumdcIf9PY62Ulb8.CLL8pumqmY62UmT.6.QJwU.kFF.0U1
0.bf9bWHZitZhZZcZRC,Mw.ELMSN12Um5,,E..2,If.6.,6.IE.EL4Iu.6F6.G.0..670U.AU.
U.UUQoOF.2Uwpr,6C5XsQA4.2.8Mtf.2..c4E.k.Ue6T6.2UEC.6...xI....
--- end of encoding ---
a simple test
Код:
StdCoder.Decode ..,, ..Bd....3QwdONl9RhOO9vRbf9b8R7fJHPNGomCrlAyIhgs,CbKBhZ
xi2,CoruKu4qouqm8rtuGfa4.hOO9vRb1Y66wb8RTfQ9vQRtIdvPZHWKqtCa.E.U5UOD,6.5Qw
dONlnayKmKKqCLLCJuGqayKm6F9vQ5nsH3.bnayKmKa2,Cor.kay4.qorGqmQCU2,CJuyKtQC9
8P9PP7ONbXmb.2.Qp5k5kFT.,6.,.by.cU.ktAcoZimBhWhiohgnZcZRC.,.D,,6.I16.M.EJY
jyC.6.VQ.E9l.8Mtf.0E.696.c4E.2k.F.c8.2UE0WU.6.n.3cUZj0E.696.c4E.m80.e0U.2U
E08E.kIk,8Mtf.2.822.e,2.AU.E.e0.,6j3.O.2HIU1.d,,.eof5UM2y,cUXzId9NBuPN9Nbf
9BuPN9N7ONbvMQ.6.Ik,E4kq4.2.k,9z0U..w,wd,.,.p18Mtf.2.S00E.c4E.k.Ue.2.,6YUo
U,IEU...p.0U.460.J,U.2GE0E.u.4k2UwVzjV7AVGhcEhc,ZeBAV7gV7AVJpdIBdA3Ys3Yxgb
U2avgV72Y7Ie3ZeJJeC3YBAV7Us3YugbUIa72ZeIZdgV7A,UU2YU2YUwZj2YchggZhjBVBAV7g
,aIX0Gw0mS0GN0GeWoWuo4ak2ak4AV3pd23YBAV7UL3d7Zd33Ys3Yw2Yn2Y2xdBAV7AV0Je3Bc
9hV7AVU2YU2YU2jUIbxAamgV7A,5uHR8JHeHfOFPM0HM0HeF6D8HEG3UBM0K2kW.0.0EZ.cwL.
0.H,N.X.,6.4E.E.1U..A1QU2U.ABYU0Ky8U.2..c4E.0c.8.,Ue.6.,6YU12.IU.k.a.g,YU1
.d.7.Q,Y.6.d.7.I,Y.k52.7.0E66.7.I6.I.A.E3E0.d.7.I,.Y0Y.E3.k5E0U..7.0ENkzro
bGoemoW0mb8KwGpmCLuin4qk2OpU8JEWLR0mYuIeKoXKId0m4ak4akVyYHZeUQgX3Yx2YlIav2
YUgV7YeN3e3BVBAVG3Yx2Y33fIhcCRe7JcAhcUIe3RcDJe2hV7M1KIbQbBAVIB9qk28pmCKu0m
S0GdK2UgZZUYig2YmZZUIgu2Y7p7.aEwmGEaLR0GVaJeKIEWGJCrt4qtemIqk2K2PM0PM1PM0P
M0PEc8pbCoWGoe8pW0GWyKICKoeHECIY4IdmGECKo8HR0mVW2HdC,dETuHNOF1eH,N1HcE9uFH
eHPM08ZI,deIfOFrN1HM0hOEU0B9in4aUBM0BuHZ88l96pFE0nR0Gw0GSAakQbU2jfQZdYcD3Y
BAV7g,K2A,Ad4VxgbUAaUYe6h6M1akW.MGB0..AV3FEM0M1K2M1HM16I.Um2ZdgV7Ic3,o869,
NOp76HeHUBAV7.59Op,QbUgV7U7IU0gV76HTuHVO1HM0HMGB00mM002Y33f7ZeU2jUUlIaU2jU
I58Xs32A4KIbGIEM09Wvk2M0j02DcA,7FT86PUBkWM1UG7I.HsMF96pND0Hgqk2ake.FtMF96t
7637A3N8,78J761vQ1vQJFE0Gi0m4aU7AVDJeU2ZWAbW2Yw2YX3hd2Ya2YcQc,3ecQAHFS0GF4
IFaGEmp4ak2AVD783dK376t765OEV0aGEOGEQgc3YX22ze6H76B76ES6k3N8tO1HM0akbsMF96
v763tp3N8,7Lk2y2.jj6H76TeI,78H96v76ZNBhN8rN1Hk2ak4M0HM1M0PUG,UX,.f0.tVkM8.
.TeIPM0ak2WGFaHFkl66BV1,aWwkUkbg,AVccK3,50M8kl2YXkjEH.tV.HEy2M0FtMF96vVLXD
,aEI.SD66..q.P.K2,7FTfArN1PM1PMFR8FyIlW5oZ0CyIhACoruKu8rrmKqKKtCLLCJuQcoJi
gZcZRC,Mwd0.UiQcjpho,YcZRiX3.5011.85...CLL.U2V.Iy2U.UIU.U76.2..AU0CyIhA8pu
mqm8rtumdcIf9PY62Ulb8.CLL8pumqmY62UmT.6.Qp.k1kF1.,6.Css,ktumdsIdPSNPN7ONbv
M,Mw.ELMSN12Um5,,E..2,I92U.E,5D.oZ,Zio,6F6.G.0..676.16.6.665hK2.,6TxR.Wnl6
C5X,.,U0KSE..UO.,.1.e06.2UEC.6...gW0...
--- end of encoding ---
feature:
1, same as golang: auto insert semicolon in lexer
2, can break this rule by add backlash'\' at end of line
3,accept comments after backslash