mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 15:48:21 +00:00
Fix state switch error reporting bug. Add 'Not all code paths...' error.
Add corresponding tests too. Simplify the identifier renaming coverage test. Also remove extra newlines from library reading code. We've had to give up on the 'else if' loop-instead-of-recurse optimization, to properly propagate the LastWasReturn flag.
This commit is contained in:
parent
14e5b78d94
commit
67f3061e19
2 changed files with 89 additions and 715 deletions
738
testparser.py
738
testparser.py
|
@ -1,7 +1,7 @@
|
|||
from lslopt.lslparse import parser,EParseSyntax,EParseUEOF,EParseAlreadyDefined,\
|
||||
EParseUndefined,EParseTypeMismatch,EParseReturnShouldBeEmpty,EParseReturnIsEmpty,\
|
||||
EParseInvalidField,EParseFunctionMismatch,EParseDeclarationScope,\
|
||||
EParseDuplicateLabel,fieldpos
|
||||
EParseDuplicateLabel,EParseCantChangeState,EParseCodePathWithoutRet,fieldpos
|
||||
from lslopt.lsloutput import outscript
|
||||
from lslopt.lsloptimizer import optimizer
|
||||
from lslopt import lslfuncs
|
||||
|
@ -91,6 +91,7 @@ class Test02_Parser(UnitTestCase):
|
|||
L"\n\t\rxxxx";@lbl;jump lbl;
|
||||
{f;}
|
||||
[1,2,3];
|
||||
return 1;
|
||||
}
|
||||
fwd(string a,string b,string c){}
|
||||
default{touch(integer n){n;state default;state another;return;}timer(){}}
|
||||
|
@ -121,7 +122,7 @@ class Test02_Parser(UnitTestCase):
|
|||
self.assertRaises(EParseAlreadyDefined, self.parser.parse, '''default{timer(){@x;integer x;}}''')
|
||||
self.assertRaises(EParseUEOF, self.parser.parse, 'float x=3+3;', set(('extendedglobalexpr',)))
|
||||
self.assertRaises(EParseUndefined, self.parser.parse, '''float x=-2147483648;float y=z;''')
|
||||
self.assertRaises(EParseUndefined, self.parser.parse, '''float z(){;}float y=z;''')
|
||||
self.assertRaises(EParseUndefined, self.parser.parse, '''float z(){return 0;}float y=z;''')
|
||||
self.assertRaises(EParseUndefined, self.parser.parse, '''float y=z;float z;''')
|
||||
self.assertRaises(EParseUndefined, self.parser.parse, '''default{timer(){state blah;}}''')
|
||||
self.assertRaises(EParseUndefined, self.parser.parse, '''f(){k;}''')
|
||||
|
@ -179,6 +180,7 @@ class Test02_Parser(UnitTestCase):
|
|||
self.assertRaises(EParseUEOF, self.parser.parse, '''f(){(integer)''')
|
||||
self.assertRaises(EParseInvalidField, self.parser.parse, '''f(){vector v;v.s;}''')
|
||||
self.assertRaises(EParseDuplicateLabel, self.parser.parse, 'f(){@x;{@x;}}')
|
||||
self.assertRaises(EParseCantChangeState, self.parser.parse, 'f(){state default;}default{}')
|
||||
self.assertRaises(EParseSyntax, self.parser.parse, '''f(){<1,2,3,4==5>;}''')
|
||||
self.assertRaises(EParseSyntax, self.parser.parse, '''#blah;\ndefault{timer(){}}''')
|
||||
self.assertRaises(EParseTypeMismatch, self.parser.parse, '''f(){<1,2,3,4>"">;}''')
|
||||
|
@ -199,6 +201,8 @@ class Test02_Parser(UnitTestCase):
|
|||
#blah;
|
||||
string s = "1" "2";
|
||||
list L = [(key)""];
|
||||
integer fn1(){if (1) {return 3;}else if (2)return 4; return 5;}
|
||||
integer fn2(){if (1) return 3; else if (2) return 4; else return 5;}
|
||||
default{timer(){
|
||||
1+([]+(integer)~1);
|
||||
list a;
|
||||
|
@ -217,12 +221,17 @@ class Test02_Parser(UnitTestCase):
|
|||
'skippreproc', 'duplabels']
|
||||
))
|
||||
print self.parser.scopeindex
|
||||
#self.assertRaises(EParseUnexpected, self.parser.PopScope)
|
||||
|
||||
self.assertEqual(fieldpos("a,b",",",3),-1)
|
||||
self.assertEqual(fieldpos("a,b", ",", 3), -1)
|
||||
self.assertEqual(self.outscript.Value2LSL(lslfuncs.Key(u'')), '((key)"")')
|
||||
self.assertRaises(AssertionError, self.outscript.Value2LSL, '')
|
||||
|
||||
def test_regression(self):
|
||||
self.assertRaises(EParseCodePathWithoutRet, self.parser.parse,
|
||||
'''key f() { if (1) ; else if (2) return ""; else return ""; }''')
|
||||
self.parser.parse('f(){if(1) {state default;}if (1) if (1) state default; else state default;}default{timer(){}}')
|
||||
|
||||
|
||||
def tearDown(self):
|
||||
del self.parser
|
||||
del self.outscript
|
||||
|
@ -251,7 +260,9 @@ class Test03_Optimizer(UnitTestCase):
|
|||
float ffff=vvvv.x;
|
||||
vector vvvv2=vvvv;
|
||||
float ffff3 = v.z;
|
||||
integer fn(){return fn();}
|
||||
integer fn(){
|
||||
if (1) state default; else return 2;
|
||||
return fn();}
|
||||
|
||||
default{touch(integer n){
|
||||
1+([]+(integer)~1);
|
||||
|
@ -277,6 +288,7 @@ class Test03_Optimizer(UnitTestCase):
|
|||
i>>=i;
|
||||
if (1) do while (0); while (0); if (0); if (0);else; for(;0;);
|
||||
if (i) if (i); else ; while (i) ; do ; while (i); for(;i;);
|
||||
if (1) state default; else ;
|
||||
do while (1); while(1); for(;1;);
|
||||
for (i=0,i;0;);for(i=0,i=0;0;);return;
|
||||
(i-i)+(i-3)+(-i+i)+(-i-i)+(i+1)+(-i+1)+(i-1)+(-i-1)+(0.0+i);
|
||||
|
@ -300,15 +312,16 @@ class Test03_Optimizer(UnitTestCase):
|
|||
p = self.parser.parse(
|
||||
'''integer i1; integer i2; integer i3; integer i4; integer i5;
|
||||
string s1; string s2; string s3; string s4; string s5;
|
||||
f1(){jump x; @x;} f2(){integer i3; i4=0; s3=""; f1(); state another;}
|
||||
f1(){jump x; @x;} f2(){integer i3; i4=0; s3=""; f1();
|
||||
if (1) state another;}
|
||||
default { timer() { state another; } }
|
||||
state another { timer() { state default; } touch(integer num_det) {} }
|
||||
''',
|
||||
['optimize', 'shrinknames']
|
||||
)
|
||||
self.opt.optimize(p, ['optimize','shrinknames'])
|
||||
|
||||
print self.outscript.output(p)
|
||||
|
||||
p = self.parser.parse(
|
||||
'''integer i1; integer i2; integer i3; integer i4; integer i5;
|
||||
string a1; string a2; string a3; string a4; string a5;
|
||||
|
@ -327,687 +340,8 @@ class Test03_Optimizer(UnitTestCase):
|
|||
string o1; string o2; string o3; string o4; string o5;
|
||||
string p1; string p2; string p3; string p4; string p5;
|
||||
string s1; string s2; string s3; string s4; string s5;
|
||||
key k0000; key k0001; key k0002; key k0003; key k0004;
|
||||
key k0005; key k0006; key k0007; key k0008; key k0009;
|
||||
key k0010; key k0011; key k0012; key k0013; key k0014;
|
||||
key k0015; key k0016; key k0017; key k0018; key k0019;
|
||||
key k0020; key k0021; key k0022; key k0023; key k0024;
|
||||
key k0025; key k0026; key k0027; key k0028; key k0029;
|
||||
key k0030; key k0031; key k0032; key k0033; key k0034;
|
||||
key k0035; key k0036; key k0037; key k0038; key k0039;
|
||||
key k0040; key k0041; key k0042; key k0043; key k0044;
|
||||
key k0045; key k0046; key k0047; key k0048; key k0049;
|
||||
key k0050; key k0051; key k0052; key k0053; key k0054;
|
||||
key k0055; key k0056; key k0057; key k0058; key k0059;
|
||||
key k0060; key k0061; key k0062; key k0063; key k0064;
|
||||
key k0065; key k0066; key k0067; key k0068; key k0069;
|
||||
key k0070; key k0071; key k0072; key k0073; key k0074;
|
||||
key k0075; key k0076; key k0077; key k0078; key k0079;
|
||||
key k0080; key k0081; key k0082; key k0083; key k0084;
|
||||
key k0085; key k0086; key k0087; key k0088; key k0089;
|
||||
key k0090; key k0091; key k0092; key k0093; key k0094;
|
||||
key k0095; key k0096; key k0097; key k0098; key k0099;
|
||||
key k0100; key k0101; key k0102; key k0103; key k0104;
|
||||
key k0105; key k0106; key k0107; key k0108; key k0109;
|
||||
key k0110; key k0111; key k0112; key k0113; key k0114;
|
||||
key k0115; key k0116; key k0117; key k0118; key k0119;
|
||||
key k0120; key k0121; key k0122; key k0123; key k0124;
|
||||
key k0125; key k0126; key k0127; key k0128; key k0129;
|
||||
key k0130; key k0131; key k0132; key k0133; key k0134;
|
||||
key k0135; key k0136; key k0137; key k0138; key k0139;
|
||||
key k0140; key k0141; key k0142; key k0143; key k0144;
|
||||
key k0145; key k0146; key k0147; key k0148; key k0149;
|
||||
key k0150; key k0151; key k0152; key k0153; key k0154;
|
||||
key k0155; key k0156; key k0157; key k0158; key k0159;
|
||||
key k0160; key k0161; key k0162; key k0163; key k0164;
|
||||
key k0165; key k0166; key k0167; key k0168; key k0169;
|
||||
key k0170; key k0171; key k0172; key k0173; key k0174;
|
||||
key k0175; key k0176; key k0177; key k0178; key k0179;
|
||||
key k0180; key k0181; key k0182; key k0183; key k0184;
|
||||
key k0185; key k0186; key k0187; key k0188; key k0189;
|
||||
key k0190; key k0191; key k0192; key k0193; key k0194;
|
||||
key k0195; key k0196; key k0197; key k0198; key k0199;
|
||||
key k0200; key k0201; key k0202; key k0203; key k0204;
|
||||
key k0205; key k0206; key k0207; key k0208; key k0209;
|
||||
key k0210; key k0211; key k0212; key k0213; key k0214;
|
||||
key k0215; key k0216; key k0217; key k0218; key k0219;
|
||||
key k0220; key k0221; key k0222; key k0223; key k0224;
|
||||
key k0225; key k0226; key k0227; key k0228; key k0229;
|
||||
key k0230; key k0231; key k0232; key k0233; key k0234;
|
||||
key k0235; key k0236; key k0237; key k0238; key k0239;
|
||||
key k0240; key k0241; key k0242; key k0243; key k0244;
|
||||
key k0245; key k0246; key k0247; key k0248; key k0249;
|
||||
key k0250; key k0251; key k0252; key k0253; key k0254;
|
||||
key k0255; key k0256; key k0257; key k0258; key k0259;
|
||||
key k0260; key k0261; key k0262; key k0263; key k0264;
|
||||
key k0265; key k0266; key k0267; key k0268; key k0269;
|
||||
key k0270; key k0271; key k0272; key k0273; key k0274;
|
||||
key k0275; key k0276; key k0277; key k0278; key k0279;
|
||||
key k0280; key k0281; key k0282; key k0283; key k0284;
|
||||
key k0285; key k0286; key k0287; key k0288; key k0289;
|
||||
key k0290; key k0291; key k0292; key k0293; key k0294;
|
||||
key k0295; key k0296; key k0297; key k0298; key k0299;
|
||||
key k0300; key k0301; key k0302; key k0303; key k0304;
|
||||
key k0305; key k0306; key k0307; key k0308; key k0309;
|
||||
key k0310; key k0311; key k0312; key k0313; key k0314;
|
||||
key k0315; key k0316; key k0317; key k0318; key k0319;
|
||||
key k0320; key k0321; key k0322; key k0323; key k0324;
|
||||
key k0325; key k0326; key k0327; key k0328; key k0329;
|
||||
key k0330; key k0331; key k0332; key k0333; key k0334;
|
||||
key k0335; key k0336; key k0337; key k0338; key k0339;
|
||||
key k0340; key k0341; key k0342; key k0343; key k0344;
|
||||
key k0345; key k0346; key k0347; key k0348; key k0349;
|
||||
key k0350; key k0351; key k0352; key k0353; key k0354;
|
||||
key k0355; key k0356; key k0357; key k0358; key k0359;
|
||||
key k0360; key k0361; key k0362; key k0363; key k0364;
|
||||
key k0365; key k0366; key k0367; key k0368; key k0369;
|
||||
key k0370; key k0371; key k0372; key k0373; key k0374;
|
||||
key k0375; key k0376; key k0377; key k0378; key k0379;
|
||||
key k0380; key k0381; key k0382; key k0383; key k0384;
|
||||
key k0385; key k0386; key k0387; key k0388; key k0389;
|
||||
key k0390; key k0391; key k0392; key k0393; key k0394;
|
||||
key k0395; key k0396; key k0397; key k0398; key k0399;
|
||||
key k0400; key k0401; key k0402; key k0403; key k0404;
|
||||
key k0405; key k0406; key k0407; key k0408; key k0409;
|
||||
key k0410; key k0411; key k0412; key k0413; key k0414;
|
||||
key k0415; key k0416; key k0417; key k0418; key k0419;
|
||||
key k0420; key k0421; key k0422; key k0423; key k0424;
|
||||
key k0425; key k0426; key k0427; key k0428; key k0429;
|
||||
key k0430; key k0431; key k0432; key k0433; key k0434;
|
||||
key k0435; key k0436; key k0437; key k0438; key k0439;
|
||||
key k0440; key k0441; key k0442; key k0443; key k0444;
|
||||
key k0445; key k0446; key k0447; key k0448; key k0449;
|
||||
key k0450; key k0451; key k0452; key k0453; key k0454;
|
||||
key k0455; key k0456; key k0457; key k0458; key k0459;
|
||||
key k0460; key k0461; key k0462; key k0463; key k0464;
|
||||
key k0465; key k0466; key k0467; key k0468; key k0469;
|
||||
key k0470; key k0471; key k0472; key k0473; key k0474;
|
||||
key k0475; key k0476; key k0477; key k0478; key k0479;
|
||||
key k0480; key k0481; key k0482; key k0483; key k0484;
|
||||
key k0485; key k0486; key k0487; key k0488; key k0489;
|
||||
key k0490; key k0491; key k0492; key k0493; key k0494;
|
||||
key k0495; key k0496; key k0497; key k0498; key k0499;
|
||||
key k0500; key k0501; key k0502; key k0503; key k0504;
|
||||
key k0505; key k0506; key k0507; key k0508; key k0509;
|
||||
key k0510; key k0511; key k0512; key k0513; key k0514;
|
||||
key k0515; key k0516; key k0517; key k0518; key k0519;
|
||||
key k0520; key k0521; key k0522; key k0523; key k0524;
|
||||
key k0525; key k0526; key k0527; key k0528; key k0529;
|
||||
key k0530; key k0531; key k0532; key k0533; key k0534;
|
||||
key k0535; key k0536; key k0537; key k0538; key k0539;
|
||||
key k0540; key k0541; key k0542; key k0543; key k0544;
|
||||
key k0545; key k0546; key k0547; key k0548; key k0549;
|
||||
key k0550; key k0551; key k0552; key k0553; key k0554;
|
||||
key k0555; key k0556; key k0557; key k0558; key k0559;
|
||||
key k0560; key k0561; key k0562; key k0563; key k0564;
|
||||
key k0565; key k0566; key k0567; key k0568; key k0569;
|
||||
key k0570; key k0571; key k0572; key k0573; key k0574;
|
||||
key k0575; key k0576; key k0577; key k0578; key k0579;
|
||||
key k0580; key k0581; key k0582; key k0583; key k0584;
|
||||
key k0585; key k0586; key k0587; key k0588; key k0589;
|
||||
key k0590; key k0591; key k0592; key k0593; key k0594;
|
||||
key k0595; key k0596; key k0597; key k0598; key k0599;
|
||||
key k0600; key k0601; key k0602; key k0603; key k0604;
|
||||
key k0605; key k0606; key k0607; key k0608; key k0609;
|
||||
key k0610; key k0611; key k0612; key k0613; key k0614;
|
||||
key k0615; key k0616; key k0617; key k0618; key k0619;
|
||||
key k0620; key k0621; key k0622; key k0623; key k0624;
|
||||
key k0625; key k0626; key k0627; key k0628; key k0629;
|
||||
key k0630; key k0631; key k0632; key k0633; key k0634;
|
||||
key k0635; key k0636; key k0637; key k0638; key k0639;
|
||||
key k0640; key k0641; key k0642; key k0643; key k0644;
|
||||
key k0645; key k0646; key k0647; key k0648; key k0649;
|
||||
key k0650; key k0651; key k0652; key k0653; key k0654;
|
||||
key k0655; key k0656; key k0657; key k0658; key k0659;
|
||||
key k0660; key k0661; key k0662; key k0663; key k0664;
|
||||
key k0665; key k0666; key k0667; key k0668; key k0669;
|
||||
key k0670; key k0671; key k0672; key k0673; key k0674;
|
||||
key k0675; key k0676; key k0677; key k0678; key k0679;
|
||||
key k0680; key k0681; key k0682; key k0683; key k0684;
|
||||
key k0685; key k0686; key k0687; key k0688; key k0689;
|
||||
key k0690; key k0691; key k0692; key k0693; key k0694;
|
||||
key k0695; key k0696; key k0697; key k0698; key k0699;
|
||||
key k0700; key k0701; key k0702; key k0703; key k0704;
|
||||
key k0705; key k0706; key k0707; key k0708; key k0709;
|
||||
key k0710; key k0711; key k0712; key k0713; key k0714;
|
||||
key k0715; key k0716; key k0717; key k0718; key k0719;
|
||||
key k0720; key k0721; key k0722; key k0723; key k0724;
|
||||
key k0725; key k0726; key k0727; key k0728; key k0729;
|
||||
key k0730; key k0731; key k0732; key k0733; key k0734;
|
||||
key k0735; key k0736; key k0737; key k0738; key k0739;
|
||||
key k0740; key k0741; key k0742; key k0743; key k0744;
|
||||
key k0745; key k0746; key k0747; key k0748; key k0749;
|
||||
key k0750; key k0751; key k0752; key k0753; key k0754;
|
||||
key k0755; key k0756; key k0757; key k0758; key k0759;
|
||||
key k0760; key k0761; key k0762; key k0763; key k0764;
|
||||
key k0765; key k0766; key k0767; key k0768; key k0769;
|
||||
key k0770; key k0771; key k0772; key k0773; key k0774;
|
||||
key k0775; key k0776; key k0777; key k0778; key k0779;
|
||||
key k0780; key k0781; key k0782; key k0783; key k0784;
|
||||
key k0785; key k0786; key k0787; key k0788; key k0789;
|
||||
key k0790; key k0791; key k0792; key k0793; key k0794;
|
||||
key k0795; key k0796; key k0797; key k0798; key k0799;
|
||||
key k0800; key k0801; key k0802; key k0803; key k0804;
|
||||
key k0805; key k0806; key k0807; key k0808; key k0809;
|
||||
key k0810; key k0811; key k0812; key k0813; key k0814;
|
||||
key k0815; key k0816; key k0817; key k0818; key k0819;
|
||||
key k0820; key k0821; key k0822; key k0823; key k0824;
|
||||
key k0825; key k0826; key k0827; key k0828; key k0829;
|
||||
key k0830; key k0831; key k0832; key k0833; key k0834;
|
||||
key k0835; key k0836; key k0837; key k0838; key k0839;
|
||||
key k0840; key k0841; key k0842; key k0843; key k0844;
|
||||
key k0845; key k0846; key k0847; key k0848; key k0849;
|
||||
key k0850; key k0851; key k0852; key k0853; key k0854;
|
||||
key k0855; key k0856; key k0857; key k0858; key k0859;
|
||||
key k0860; key k0861; key k0862; key k0863; key k0864;
|
||||
key k0865; key k0866; key k0867; key k0868; key k0869;
|
||||
key k0870; key k0871; key k0872; key k0873; key k0874;
|
||||
key k0875; key k0876; key k0877; key k0878; key k0879;
|
||||
key k0880; key k0881; key k0882; key k0883; key k0884;
|
||||
key k0885; key k0886; key k0887; key k0888; key k0889;
|
||||
key k0890; key k0891; key k0892; key k0893; key k0894;
|
||||
key k0895; key k0896; key k0897; key k0898; key k0899;
|
||||
key k0900; key k0901; key k0902; key k0903; key k0904;
|
||||
key k0905; key k0906; key k0907; key k0908; key k0909;
|
||||
key k0910; key k0911; key k0912; key k0913; key k0914;
|
||||
key k0915; key k0916; key k0917; key k0918; key k0919;
|
||||
key k0920; key k0921; key k0922; key k0923; key k0924;
|
||||
key k0925; key k0926; key k0927; key k0928; key k0929;
|
||||
key k0930; key k0931; key k0932; key k0933; key k0934;
|
||||
key k0935; key k0936; key k0937; key k0938; key k0939;
|
||||
key k0940; key k0941; key k0942; key k0943; key k0944;
|
||||
key k0945; key k0946; key k0947; key k0948; key k0949;
|
||||
key k0950; key k0951; key k0952; key k0953; key k0954;
|
||||
key k0955; key k0956; key k0957; key k0958; key k0959;
|
||||
key k0960; key k0961; key k0962; key k0963; key k0964;
|
||||
key k0965; key k0966; key k0967; key k0968; key k0969;
|
||||
key k0970; key k0971; key k0972; key k0973; key k0974;
|
||||
key k0975; key k0976; key k0977; key k0978; key k0979;
|
||||
key k0980; key k0981; key k0982; key k0983; key k0984;
|
||||
key k0985; key k0986; key k0987; key k0988; key k0989;
|
||||
key k0990; key k0991; key k0992; key k0993; key k0994;
|
||||
key k0995; key k0996; key k0997; key k0998; key k0999;
|
||||
key k1000; key k1001; key k1002; key k1003; key k1004;
|
||||
key k1005; key k1006; key k1007; key k1008; key k1009;
|
||||
key k1010; key k1011; key k1012; key k1013; key k1014;
|
||||
key k1015; key k1016; key k1017; key k1018; key k1019;
|
||||
key k1020; key k1021; key k1022; key k1023; key k1024;
|
||||
key k1025; key k1026; key k1027; key k1028; key k1029;
|
||||
key k1030; key k1031; key k1032; key k1033; key k1034;
|
||||
key k1035; key k1036; key k1037; key k1038; key k1039;
|
||||
key k1040; key k1041; key k1042; key k1043; key k1044;
|
||||
key k1045; key k1046; key k1047; key k1048; key k1049;
|
||||
key k1050; key k1051; key k1052; key k1053; key k1054;
|
||||
key k1055; key k1056; key k1057; key k1058; key k1059;
|
||||
key k1060; key k1061; key k1062; key k1063; key k1064;
|
||||
key k1065; key k1066; key k1067; key k1068; key k1069;
|
||||
key k1070; key k1071; key k1072; key k1073; key k1074;
|
||||
key k1075; key k1076; key k1077; key k1078; key k1079;
|
||||
key k1080; key k1081; key k1082; key k1083; key k1084;
|
||||
key k1085; key k1086; key k1087; key k1088; key k1089;
|
||||
key k1090; key k1091; key k1092; key k1093; key k1094;
|
||||
key k1095; key k1096; key k1097; key k1098; key k1099;
|
||||
key k1100; key k1101; key k1102; key k1103; key k1104;
|
||||
key k1105; key k1106; key k1107; key k1108; key k1109;
|
||||
key k1110; key k1111; key k1112; key k1113; key k1114;
|
||||
key k1115; key k1116; key k1117; key k1118; key k1119;
|
||||
key k1120; key k1121; key k1122; key k1123; key k1124;
|
||||
key k1125; key k1126; key k1127; key k1128; key k1129;
|
||||
key k1130; key k1131; key k1132; key k1133; key k1134;
|
||||
key k1135; key k1136; key k1137; key k1138; key k1139;
|
||||
key k1140; key k1141; key k1142; key k1143; key k1144;
|
||||
key k1145; key k1146; key k1147; key k1148; key k1149;
|
||||
key k1150; key k1151; key k1152; key k1153; key k1154;
|
||||
key k1155; key k1156; key k1157; key k1158; key k1159;
|
||||
key k1160; key k1161; key k1162; key k1163; key k1164;
|
||||
key k1165; key k1166; key k1167; key k1168; key k1169;
|
||||
key k1170; key k1171; key k1172; key k1173; key k1174;
|
||||
key k1175; key k1176; key k1177; key k1178; key k1179;
|
||||
key k1180; key k1181; key k1182; key k1183; key k1184;
|
||||
key k1185; key k1186; key k1187; key k1188; key k1189;
|
||||
key k1190; key k1191; key k1192; key k1193; key k1194;
|
||||
key k1195; key k1196; key k1197; key k1198; key k1199;
|
||||
key k1200; key k1201; key k1202; key k1203; key k1204;
|
||||
key k1205; key k1206; key k1207; key k1208; key k1209;
|
||||
key k1210; key k1211; key k1212; key k1213; key k1214;
|
||||
key k1215; key k1216; key k1217; key k1218; key k1219;
|
||||
key k1220; key k1221; key k1222; key k1223; key k1224;
|
||||
key k1225; key k1226; key k1227; key k1228; key k1229;
|
||||
key k1230; key k1231; key k1232; key k1233; key k1234;
|
||||
key k1235; key k1236; key k1237; key k1238; key k1239;
|
||||
key k1240; key k1241; key k1242; key k1243; key k1244;
|
||||
key k1245; key k1246; key k1247; key k1248; key k1249;
|
||||
key k1250; key k1251; key k1252; key k1253; key k1254;
|
||||
key k1255; key k1256; key k1257; key k1258; key k1259;
|
||||
key k1260; key k1261; key k1262; key k1263; key k1264;
|
||||
key k1265; key k1266; key k1267; key k1268; key k1269;
|
||||
key k1270; key k1271; key k1272; key k1273; key k1274;
|
||||
key k1275; key k1276; key k1277; key k1278; key k1279;
|
||||
key k1280; key k1281; key k1282; key k1283; key k1284;
|
||||
key k1285; key k1286; key k1287; key k1288; key k1289;
|
||||
key k1290; key k1291; key k1292; key k1293; key k1294;
|
||||
key k1295; key k1296; key k1297; key k1298; key k1299;
|
||||
key k1300; key k1301; key k1302; key k1303; key k1304;
|
||||
key k1305; key k1306; key k1307; key k1308; key k1309;
|
||||
key k1310; key k1311; key k1312; key k1313; key k1314;
|
||||
key k1315; key k1316; key k1317; key k1318; key k1319;
|
||||
key k1320; key k1321; key k1322; key k1323; key k1324;
|
||||
key k1325; key k1326; key k1327; key k1328; key k1329;
|
||||
key k1330; key k1331; key k1332; key k1333; key k1334;
|
||||
key k1335; key k1336; key k1337; key k1338; key k1339;
|
||||
key k1340; key k1341; key k1342; key k1343; key k1344;
|
||||
key k1345; key k1346; key k1347; key k1348; key k1349;
|
||||
key k1350; key k1351; key k1352; key k1353; key k1354;
|
||||
key k1355; key k1356; key k1357; key k1358; key k1359;
|
||||
key k1360; key k1361; key k1362; key k1363; key k1364;
|
||||
key k1365; key k1366; key k1367; key k1368; key k1369;
|
||||
key k1370; key k1371; key k1372; key k1373; key k1374;
|
||||
key k1375; key k1376; key k1377; key k1378; key k1379;
|
||||
key k1380; key k1381; key k1382; key k1383; key k1384;
|
||||
key k1385; key k1386; key k1387; key k1388; key k1389;
|
||||
key k1390; key k1391; key k1392; key k1393; key k1394;
|
||||
key k1395; key k1396; key k1397; key k1398; key k1399;
|
||||
key k1400; key k1401; key k1402; key k1403; key k1404;
|
||||
key k1405; key k1406; key k1407; key k1408; key k1409;
|
||||
key k1410; key k1411; key k1412; key k1413; key k1414;
|
||||
key k1415; key k1416; key k1417; key k1418; key k1419;
|
||||
key k1420; key k1421; key k1422; key k1423; key k1424;
|
||||
key k1425; key k1426; key k1427; key k1428; key k1429;
|
||||
key k1430; key k1431; key k1432; key k1433; key k1434;
|
||||
key k1435; key k1436; key k1437; key k1438; key k1439;
|
||||
key k1440; key k1441; key k1442; key k1443; key k1444;
|
||||
key k1445; key k1446; key k1447; key k1448; key k1449;
|
||||
key k1450; key k1451; key k1452; key k1453; key k1454;
|
||||
key k1455; key k1456; key k1457; key k1458; key k1459;
|
||||
key k1460; key k1461; key k1462; key k1463; key k1464;
|
||||
key k1465; key k1466; key k1467; key k1468; key k1469;
|
||||
key k1470; key k1471; key k1472; key k1473; key k1474;
|
||||
key k1475; key k1476; key k1477; key k1478; key k1479;
|
||||
key k1480; key k1481; key k1482; key k1483; key k1484;
|
||||
key k1485; key k1486; key k1487; key k1488; key k1489;
|
||||
key k1490; key k1491; key k1492; key k1493; key k1494;
|
||||
key k1495; key k1496; key k1497; key k1498; key k1499;
|
||||
key k1500; key k1501; key k1502; key k1503; key k1504;
|
||||
key k1505; key k1506; key k1507; key k1508; key k1509;
|
||||
key k1510; key k1511; key k1512; key k1513; key k1514;
|
||||
key k1515; key k1516; key k1517; key k1518; key k1519;
|
||||
key k1520; key k1521; key k1522; key k1523; key k1524;
|
||||
key k1525; key k1526; key k1527; key k1528; key k1529;
|
||||
key k1530; key k1531; key k1532; key k1533; key k1534;
|
||||
key k1535; key k1536; key k1537; key k1538; key k1539;
|
||||
key k1540; key k1541; key k1542; key k1543; key k1544;
|
||||
key k1545; key k1546; key k1547; key k1548; key k1549;
|
||||
key k1550; key k1551; key k1552; key k1553; key k1554;
|
||||
key k1555; key k1556; key k1557; key k1558; key k1559;
|
||||
key k1560; key k1561; key k1562; key k1563; key k1564;
|
||||
key k1565; key k1566; key k1567; key k1568; key k1569;
|
||||
key k1570; key k1571; key k1572; key k1573; key k1574;
|
||||
key k1575; key k1576; key k1577; key k1578; key k1579;
|
||||
key k1580; key k1581; key k1582; key k1583; key k1584;
|
||||
key k1585; key k1586; key k1587; key k1588; key k1589;
|
||||
key k1590; key k1591; key k1592; key k1593; key k1594;
|
||||
key k1595; key k1596; key k1597; key k1598; key k1599;
|
||||
key k1600; key k1601; key k1602; key k1603; key k1604;
|
||||
key k1605; key k1606; key k1607; key k1608; key k1609;
|
||||
key k1610; key k1611; key k1612; key k1613; key k1614;
|
||||
key k1615; key k1616; key k1617; key k1618; key k1619;
|
||||
key k1620; key k1621; key k1622; key k1623; key k1624;
|
||||
key k1625; key k1626; key k1627; key k1628; key k1629;
|
||||
key k1630; key k1631; key k1632; key k1633; key k1634;
|
||||
key k1635; key k1636; key k1637; key k1638; key k1639;
|
||||
key k1640; key k1641; key k1642; key k1643; key k1644;
|
||||
key k1645; key k1646; key k1647; key k1648; key k1649;
|
||||
key k1650; key k1651; key k1652; key k1653; key k1654;
|
||||
key k1655; key k1656; key k1657; key k1658; key k1659;
|
||||
key k1660; key k1661; key k1662; key k1663; key k1664;
|
||||
key k1665; key k1666; key k1667; key k1668; key k1669;
|
||||
key k1670; key k1671; key k1672; key k1673; key k1674;
|
||||
key k1675; key k1676; key k1677; key k1678; key k1679;
|
||||
key k1680; key k1681; key k1682; key k1683; key k1684;
|
||||
key k1685; key k1686; key k1687; key k1688; key k1689;
|
||||
key k1690; key k1691; key k1692; key k1693; key k1694;
|
||||
key k1695; key k1696; key k1697; key k1698; key k1699;
|
||||
key k1700; key k1701; key k1702; key k1703; key k1704;
|
||||
key k1705; key k1706; key k1707; key k1708; key k1709;
|
||||
key k1710; key k1711; key k1712; key k1713; key k1714;
|
||||
key k1715; key k1716; key k1717; key k1718; key k1719;
|
||||
key k1720; key k1721; key k1722; key k1723; key k1724;
|
||||
key k1725; key k1726; key k1727; key k1728; key k1729;
|
||||
key k1730; key k1731; key k1732; key k1733; key k1734;
|
||||
key k1735; key k1736; key k1737; key k1738; key k1739;
|
||||
key k1740; key k1741; key k1742; key k1743; key k1744;
|
||||
key k1745; key k1746; key k1747; key k1748; key k1749;
|
||||
key k1750; key k1751; key k1752; key k1753; key k1754;
|
||||
key k1755; key k1756; key k1757; key k1758; key k1759;
|
||||
key k1760; key k1761; key k1762; key k1763; key k1764;
|
||||
key k1765; key k1766; key k1767; key k1768; key k1769;
|
||||
key k1770; key k1771; key k1772; key k1773; key k1774;
|
||||
key k1775; key k1776; key k1777; key k1778; key k1779;
|
||||
key k1780; key k1781; key k1782; key k1783; key k1784;
|
||||
key k1785; key k1786; key k1787; key k1788; key k1789;
|
||||
key k1790; key k1791; key k1792; key k1793; key k1794;
|
||||
key k1795; key k1796; key k1797; key k1798; key k1799;
|
||||
key k1800; key k1801; key k1802; key k1803; key k1804;
|
||||
key k1805; key k1806; key k1807; key k1808; key k1809;
|
||||
key k1810; key k1811; key k1812; key k1813; key k1814;
|
||||
key k1815; key k1816; key k1817; key k1818; key k1819;
|
||||
key k1820; key k1821; key k1822; key k1823; key k1824;
|
||||
key k1825; key k1826; key k1827; key k1828; key k1829;
|
||||
key k1830; key k1831; key k1832; key k1833; key k1834;
|
||||
key k1835; key k1836; key k1837; key k1838; key k1839;
|
||||
key k1840; key k1841; key k1842; key k1843; key k1844;
|
||||
key k1845; key k1846; key k1847; key k1848; key k1849;
|
||||
key k1850; key k1851; key k1852; key k1853; key k1854;
|
||||
key k1855; key k1856; key k1857; key k1858; key k1859;
|
||||
key k1860; key k1861; key k1862; key k1863; key k1864;
|
||||
key k1865; key k1866; key k1867; key k1868; key k1869;
|
||||
key k1870; key k1871; key k1872; key k1873; key k1874;
|
||||
key k1875; key k1876; key k1877; key k1878; key k1879;
|
||||
key k1880; key k1881; key k1882; key k1883; key k1884;
|
||||
key k1885; key k1886; key k1887; key k1888; key k1889;
|
||||
key k1890; key k1891; key k1892; key k1893; key k1894;
|
||||
key k1895; key k1896; key k1897; key k1898; key k1899;
|
||||
key k1900; key k1901; key k1902; key k1903; key k1904;
|
||||
key k1905; key k1906; key k1907; key k1908; key k1909;
|
||||
key k1910; key k1911; key k1912; key k1913; key k1914;
|
||||
key k1915; key k1916; key k1917; key k1918; key k1919;
|
||||
key k1920; key k1921; key k1922; key k1923; key k1924;
|
||||
key k1925; key k1926; key k1927; key k1928; key k1929;
|
||||
key k1930; key k1931; key k1932; key k1933; key k1934;
|
||||
key k1935; key k1936; key k1937; key k1938; key k1939;
|
||||
key k1940; key k1941; key k1942; key k1943; key k1944;
|
||||
key k1945; key k1946; key k1947; key k1948; key k1949;
|
||||
key k1950; key k1951; key k1952; key k1953; key k1954;
|
||||
key k1955; key k1956; key k1957; key k1958; key k1959;
|
||||
key k1960; key k1961; key k1962; key k1963; key k1964;
|
||||
key k1965; key k1966; key k1967; key k1968; key k1969;
|
||||
key k1970; key k1971; key k1972; key k1973; key k1974;
|
||||
key k1975; key k1976; key k1977; key k1978; key k1979;
|
||||
key k1980; key k1981; key k1982; key k1983; key k1984;
|
||||
key k1985; key k1986; key k1987; key k1988; key k1989;
|
||||
key k1990; key k1991; key k1992; key k1993; key k1994;
|
||||
key k1995; key k1996; key k1997; key k1998; key k1999;
|
||||
key k2000; key k2001; key k2002; key k2003; key k2004;
|
||||
key k2005; key k2006; key k2007; key k2008; key k2009;
|
||||
key k2010; key k2011; key k2012; key k2013; key k2014;
|
||||
key k2015; key k2016; key k2017; key k2018; key k2019;
|
||||
key k2020; key k2021; key k2022; key k2023; key k2024;
|
||||
key k2025; key k2026; key k2027; key k2028; key k2029;
|
||||
key k2030; key k2031; key k2032; key k2033; key k2034;
|
||||
key k2035; key k2036; key k2037; key k2038; key k2039;
|
||||
key k2040; key k2041; key k2042; key k2043; key k2044;
|
||||
key k2045; key k2046; key k2047; key k2048; key k2049;
|
||||
key k2050; key k2051; key k2052; key k2053; key k2054;
|
||||
key k2055; key k2056; key k2057; key k2058; key k2059;
|
||||
key k2060; key k2061; key k2062; key k2063; key k2064;
|
||||
key k2065; key k2066; key k2067; key k2068; key k2069;
|
||||
key k2070; key k2071; key k2072; key k2073; key k2074;
|
||||
key k2075; key k2076; key k2077; key k2078; key k2079;
|
||||
key k2080; key k2081; key k2082; key k2083; key k2084;
|
||||
key k2085; key k2086; key k2087; key k2088; key k2089;
|
||||
key k2090; key k2091; key k2092; key k2093; key k2094;
|
||||
key k2095; key k2096; key k2097; key k2098; key k2099;
|
||||
key k2100; key k2101; key k2102; key k2103; key k2104;
|
||||
key k2105; key k2106; key k2107; key k2108; key k2109;
|
||||
key k2110; key k2111; key k2112; key k2113; key k2114;
|
||||
key k2115; key k2116; key k2117; key k2118; key k2119;
|
||||
key k2120; key k2121; key k2122; key k2123; key k2124;
|
||||
key k2125; key k2126; key k2127; key k2128; key k2129;
|
||||
key k2130; key k2131; key k2132; key k2133; key k2134;
|
||||
key k2135; key k2136; key k2137; key k2138; key k2139;
|
||||
key k2140; key k2141; key k2142; key k2143; key k2144;
|
||||
key k2145; key k2146; key k2147; key k2148; key k2149;
|
||||
key k2150; key k2151; key k2152; key k2153; key k2154;
|
||||
key k2155; key k2156; key k2157; key k2158; key k2159;
|
||||
key k2160; key k2161; key k2162; key k2163; key k2164;
|
||||
key k2165; key k2166; key k2167; key k2168; key k2169;
|
||||
key k2170; key k2171; key k2172; key k2173; key k2174;
|
||||
key k2175; key k2176; key k2177; key k2178; key k2179;
|
||||
key k2180; key k2181; key k2182; key k2183; key k2184;
|
||||
key k2185; key k2186; key k2187; key k2188; key k2189;
|
||||
key k2190; key k2191; key k2192; key k2193; key k2194;
|
||||
key k2195; key k2196; key k2197; key k2198; key k2199;
|
||||
key k2200; key k2201; key k2202; key k2203; key k2204;
|
||||
key k2205; key k2206; key k2207; key k2208; key k2209;
|
||||
key k2210; key k2211; key k2212; key k2213; key k2214;
|
||||
key k2215; key k2216; key k2217; key k2218; key k2219;
|
||||
key k2220; key k2221; key k2222; key k2223; key k2224;
|
||||
key k2225; key k2226; key k2227; key k2228; key k2229;
|
||||
key k2230; key k2231; key k2232; key k2233; key k2234;
|
||||
key k2235; key k2236; key k2237; key k2238; key k2239;
|
||||
key k2240; key k2241; key k2242; key k2243; key k2244;
|
||||
key k2245; key k2246; key k2247; key k2248; key k2249;
|
||||
key k2250; key k2251; key k2252; key k2253; key k2254;
|
||||
key k2255; key k2256; key k2257; key k2258; key k2259;
|
||||
key k2260; key k2261; key k2262; key k2263; key k2264;
|
||||
key k2265; key k2266; key k2267; key k2268; key k2269;
|
||||
key k2270; key k2271; key k2272; key k2273; key k2274;
|
||||
key k2275; key k2276; key k2277; key k2278; key k2279;
|
||||
key k2280; key k2281; key k2282; key k2283; key k2284;
|
||||
key k2285; key k2286; key k2287; key k2288; key k2289;
|
||||
key k2290; key k2291; key k2292; key k2293; key k2294;
|
||||
key k2295; key k2296; key k2297; key k2298; key k2299;
|
||||
key k2300; key k2301; key k2302; key k2303; key k2304;
|
||||
key k2305; key k2306; key k2307; key k2308; key k2309;
|
||||
key k2310; key k2311; key k2312; key k2313; key k2314;
|
||||
key k2315; key k2316; key k2317; key k2318; key k2319;
|
||||
key k2320; key k2321; key k2322; key k2323; key k2324;
|
||||
key k2325; key k2326; key k2327; key k2328; key k2329;
|
||||
key k2330; key k2331; key k2332; key k2333; key k2334;
|
||||
key k2335; key k2336; key k2337; key k2338; key k2339;
|
||||
key k2340; key k2341; key k2342; key k2343; key k2344;
|
||||
key k2345; key k2346; key k2347; key k2348; key k2349;
|
||||
key k2350; key k2351; key k2352; key k2353; key k2354;
|
||||
key k2355; key k2356; key k2357; key k2358; key k2359;
|
||||
key k2360; key k2361; key k2362; key k2363; key k2364;
|
||||
key k2365; key k2366; key k2367; key k2368; key k2369;
|
||||
key k2370; key k2371; key k2372; key k2373; key k2374;
|
||||
key k2375; key k2376; key k2377; key k2378; key k2379;
|
||||
key k2380; key k2381; key k2382; key k2383; key k2384;
|
||||
key k2385; key k2386; key k2387; key k2388; key k2389;
|
||||
key k2390; key k2391; key k2392; key k2393; key k2394;
|
||||
key k2395; key k2396; key k2397; key k2398; key k2399;
|
||||
key k2400; key k2401; key k2402; key k2403; key k2404;
|
||||
key k2405; key k2406; key k2407; key k2408; key k2409;
|
||||
key k2410; key k2411; key k2412; key k2413; key k2414;
|
||||
key k2415; key k2416; key k2417; key k2418; key k2419;
|
||||
key k2420; key k2421; key k2422; key k2423; key k2424;
|
||||
key k2425; key k2426; key k2427; key k2428; key k2429;
|
||||
key k2430; key k2431; key k2432; key k2433; key k2434;
|
||||
key k2435; key k2436; key k2437; key k2438; key k2439;
|
||||
key k2440; key k2441; key k2442; key k2443; key k2444;
|
||||
key k2445; key k2446; key k2447; key k2448; key k2449;
|
||||
key k2450; key k2451; key k2452; key k2453; key k2454;
|
||||
key k2455; key k2456; key k2457; key k2458; key k2459;
|
||||
key k2460; key k2461; key k2462; key k2463; key k2464;
|
||||
key k2465; key k2466; key k2467; key k2468; key k2469;
|
||||
key k2470; key k2471; key k2472; key k2473; key k2474;
|
||||
key k2475; key k2476; key k2477; key k2478; key k2479;
|
||||
key k2480; key k2481; key k2482; key k2483; key k2484;
|
||||
key k2485; key k2486; key k2487; key k2488; key k2489;
|
||||
key k2490; key k2491; key k2492; key k2493; key k2494;
|
||||
key k2495; key k2496; key k2497; key k2498; key k2499;
|
||||
key k2500; key k2501; key k2502; key k2503; key k2504;
|
||||
key k2505; key k2506; key k2507; key k2508; key k2509;
|
||||
key k2510; key k2511; key k2512; key k2513; key k2514;
|
||||
key k2515; key k2516; key k2517; key k2518; key k2519;
|
||||
key k2520; key k2521; key k2522; key k2523; key k2524;
|
||||
key k2525; key k2526; key k2527; key k2528; key k2529;
|
||||
key k2530; key k2531; key k2532; key k2533; key k2534;
|
||||
key k2535; key k2536; key k2537; key k2538; key k2539;
|
||||
key k2540; key k2541; key k2542; key k2543; key k2544;
|
||||
key k2545; key k2546; key k2547; key k2548; key k2549;
|
||||
key k2550; key k2551; key k2552; key k2553; key k2554;
|
||||
key k2555; key k2556; key k2557; key k2558; key k2559;
|
||||
key k2560; key k2561; key k2562; key k2563; key k2564;
|
||||
key k2565; key k2566; key k2567; key k2568; key k2569;
|
||||
key k2570; key k2571; key k2572; key k2573; key k2574;
|
||||
key k2575; key k2576; key k2577; key k2578; key k2579;
|
||||
key k2580; key k2581; key k2582; key k2583; key k2584;
|
||||
key k2585; key k2586; key k2587; key k2588; key k2589;
|
||||
key k2590; key k2591; key k2592; key k2593; key k2594;
|
||||
key k2595; key k2596; key k2597; key k2598; key k2599;
|
||||
key k2600; key k2601; key k2602; key k2603; key k2604;
|
||||
key k2605; key k2606; key k2607; key k2608; key k2609;
|
||||
key k2610; key k2611; key k2612; key k2613; key k2614;
|
||||
key k2615; key k2616; key k2617; key k2618; key k2619;
|
||||
key k2620; key k2621; key k2622; key k2623; key k2624;
|
||||
key k2625; key k2626; key k2627; key k2628; key k2629;
|
||||
key k2630; key k2631; key k2632; key k2633; key k2634;
|
||||
key k2635; key k2636; key k2637; key k2638; key k2639;
|
||||
key k2640; key k2641; key k2642; key k2643; key k2644;
|
||||
key k2645; key k2646; key k2647; key k2648; key k2649;
|
||||
key k2650; key k2651; key k2652; key k2653; key k2654;
|
||||
key k2655; key k2656; key k2657; key k2658; key k2659;
|
||||
key k2660; key k2661; key k2662; key k2663; key k2664;
|
||||
key k2665; key k2666; key k2667; key k2668; key k2669;
|
||||
key k2670; key k2671; key k2672; key k2673; key k2674;
|
||||
key k2675; key k2676; key k2677; key k2678; key k2679;
|
||||
key k2680; key k2681; key k2682; key k2683; key k2684;
|
||||
key k2685; key k2686; key k2687; key k2688; key k2689;
|
||||
key k2690; key k2691; key k2692; key k2693; key k2694;
|
||||
key k2695; key k2696; key k2697; key k2698; key k2699;
|
||||
key k2700; key k2701; key k2702; key k2703; key k2704;
|
||||
key k2705; key k2706; key k2707; key k2708; key k2709;
|
||||
key k2710; key k2711; key k2712; key k2713; key k2714;
|
||||
key k2715; key k2716; key k2717; key k2718; key k2719;
|
||||
key k2720; key k2721; key k2722; key k2723; key k2724;
|
||||
key k2725; key k2726; key k2727; key k2728; key k2729;
|
||||
key k2730; key k2731; key k2732; key k2733; key k2734;
|
||||
key k2735; key k2736; key k2737; key k2738; key k2739;
|
||||
key k2740; key k2741; key k2742; key k2743; key k2744;
|
||||
key k2745; key k2746; key k2747; key k2748; key k2749;
|
||||
key k2750; key k2751; key k2752; key k2753; key k2754;
|
||||
key k2755; key k2756; key k2757; key k2758; key k2759;
|
||||
key k2760; key k2761; key k2762; key k2763; key k2764;
|
||||
key k2765; key k2766; key k2767; key k2768; key k2769;
|
||||
key k2770; key k2771; key k2772; key k2773; key k2774;
|
||||
key k2775; key k2776; key k2777; key k2778; key k2779;
|
||||
key k2780; key k2781; key k2782; key k2783; key k2784;
|
||||
key k2785; key k2786; key k2787; key k2788; key k2789;
|
||||
key k2790; key k2791; key k2792; key k2793; key k2794;
|
||||
key k2795; key k2796; key k2797; key k2798; key k2799;
|
||||
key k2800; key k2801; key k2802; key k2803; key k2804;
|
||||
key k2805; key k2806; key k2807; key k2808; key k2809;
|
||||
key k2810; key k2811; key k2812; key k2813; key k2814;
|
||||
key k2815; key k2816; key k2817; key k2818; key k2819;
|
||||
key k2820; key k2821; key k2822; key k2823; key k2824;
|
||||
key k2825; key k2826; key k2827; key k2828; key k2829;
|
||||
key k2830; key k2831; key k2832; key k2833; key k2834;
|
||||
key k2835; key k2836; key k2837; key k2838; key k2839;
|
||||
key k2840; key k2841; key k2842; key k2843; key k2844;
|
||||
key k2845; key k2846; key k2847; key k2848; key k2849;
|
||||
key k2850; key k2851; key k2852; key k2853; key k2854;
|
||||
key k2855; key k2856; key k2857; key k2858; key k2859;
|
||||
key k2860; key k2861; key k2862; key k2863; key k2864;
|
||||
key k2865; key k2866; key k2867; key k2868; key k2869;
|
||||
key k2870; key k2871; key k2872; key k2873; key k2874;
|
||||
key k2875; key k2876; key k2877; key k2878; key k2879;
|
||||
key k2880; key k2881; key k2882; key k2883; key k2884;
|
||||
key k2885; key k2886; key k2887; key k2888; key k2889;
|
||||
key k2890; key k2891; key k2892; key k2893; key k2894;
|
||||
key k2895; key k2896; key k2897; key k2898; key k2899;
|
||||
key k2900; key k2901; key k2902; key k2903; key k2904;
|
||||
key k2905; key k2906; key k2907; key k2908; key k2909;
|
||||
key k2910; key k2911; key k2912; key k2913; key k2914;
|
||||
key k2915; key k2916; key k2917; key k2918; key k2919;
|
||||
key k2920; key k2921; key k2922; key k2923; key k2924;
|
||||
key k2925; key k2926; key k2927; key k2928; key k2929;
|
||||
key k2930; key k2931; key k2932; key k2933; key k2934;
|
||||
key k2935; key k2936; key k2937; key k2938; key k2939;
|
||||
key k2940; key k2941; key k2942; key k2943; key k2944;
|
||||
key k2945; key k2946; key k2947; key k2948; key k2949;
|
||||
key k2950; key k2951; key k2952; key k2953; key k2954;
|
||||
key k2955; key k2956; key k2957; key k2958; key k2959;
|
||||
key k2960; key k2961; key k2962; key k2963; key k2964;
|
||||
key k2965; key k2966; key k2967; key k2968; key k2969;
|
||||
key k2970; key k2971; key k2972; key k2973; key k2974;
|
||||
key k2975; key k2976; key k2977; key k2978; key k2979;
|
||||
key k2980; key k2981; key k2982; key k2983; key k2984;
|
||||
key k2985; key k2986; key k2987; key k2988; key k2989;
|
||||
key k2990; key k2991; key k2992; key k2993; key k2994;
|
||||
key k2995; key k2996; key k2997; key k2998; key k2999;
|
||||
key k3000; key k3001; key k3002; key k3003; key k3004;
|
||||
key k3005; key k3006; key k3007; key k3008; key k3009;
|
||||
key k3010; key k3011; key k3012; key k3013; key k3014;
|
||||
key k3015; key k3016; key k3017; key k3018; key k3019;
|
||||
key k3020; key k3021; key k3022; key k3023; key k3024;
|
||||
key k3025; key k3026; key k3027; key k3028; key k3029;
|
||||
key k3030; key k3031; key k3032; key k3033; key k3034;
|
||||
key k3035; key k3036; key k3037; key k3038; key k3039;
|
||||
key k3040; key k3041; key k3042; key k3043; key k3044;
|
||||
key k3045; key k3046; key k3047; key k3048; key k3049;
|
||||
key k3050; key k3051; key k3052; key k3053; key k3054;
|
||||
key k3055; key k3056; key k3057; key k3058; key k3059;
|
||||
key k3060; key k3061; key k3062; key k3063; key k3064;
|
||||
key k3065; key k3066; key k3067; key k3068; key k3069;
|
||||
key k3070; key k3071; key k3072; key k3073; key k3074;
|
||||
key k3075; key k3076; key k3077; key k3078; key k3079;
|
||||
key k3080; key k3081; key k3082; key k3083; key k3084;
|
||||
key k3085; key k3086; key k3087; key k3088; key k3089;
|
||||
key k3090; key k3091; key k3092; key k3093; key k3094;
|
||||
key k3095; key k3096; key k3097; key k3098; key k3099;
|
||||
key k3100; key k3101; key k3102; key k3103; key k3104;
|
||||
key k3105; key k3106; key k3107; key k3108; key k3109;
|
||||
key k3110; key k3111; key k3112; key k3113; key k3114;
|
||||
key k3115; key k3116; key k3117; key k3118; key k3119;
|
||||
key k3120; key k3121; key k3122; key k3123; key k3124;
|
||||
key k3125; key k3126; key k3127; key k3128; key k3129;
|
||||
key k3130; key k3131; key k3132; key k3133; key k3134;
|
||||
key k3135; key k3136; key k3137; key k3138; key k3139;
|
||||
key k3140; key k3141; key k3142; key k3143; key k3144;
|
||||
key k3145; key k3146; key k3147; key k3148; key k3149;
|
||||
key k3150; key k3151; key k3152; key k3153; key k3154;
|
||||
key k3155; key k3156; key k3157; key k3158; key k3159;
|
||||
key k3160; key k3161; key k3162; key k3163; key k3164;
|
||||
key k3165; key k3166; key k3167; key k3168; key k3169;
|
||||
key k3170; key k3171; key k3172; key k3173; key k3174;
|
||||
key k3175; key k3176; key k3177; key k3178; key k3179;
|
||||
key k3180; key k3181; key k3182; key k3183; key k3184;
|
||||
key k3185; key k3186; key k3187; key k3188; key k3189;
|
||||
key k3190; key k3191; key k3192; key k3193; key k3194;
|
||||
key k3195; key k3196; key k3197; key k3198; key k3199;
|
||||
key k3200; key k3201; key k3202; key k3203; key k3204;
|
||||
key k3205; key k3206; key k3207; key k3208; key k3209;
|
||||
key k3210; key k3211; key k3212; key k3213; key k3214;
|
||||
key k3215; key k3216; key k3217; key k3218; key k3219;
|
||||
key k3220; key k3221; key k3222; key k3223; key k3224;
|
||||
key k3225; key k3226; key k3227; key k3228; key k3229;
|
||||
key k3230; key k3231; key k3232; key k3233; key k3234;
|
||||
key k3235; key k3236; key k3237; key k3238; key k3239;
|
||||
key k3240; key k3241; key k3242; key k3243; key k3244;
|
||||
key k3245; key k3246; key k3247; key k3248; key k3249;
|
||||
key k3250; key k3251; key k3252; key k3253; key k3254;
|
||||
key k3255; key k3256; key k3257; key k3258; key k3259;
|
||||
key k3260; key k3261; key k3262; key k3263; key k3264;
|
||||
key k3265; key k3266; key k3267; key k3268; key k3269;
|
||||
key k3270; key k3271; key k3272; key k3273; key k3274;
|
||||
key k3275; key k3276; key k3277; key k3278; key k3279;
|
||||
key k3280; key k3281; key k3282; key k3283; key k3284;
|
||||
key k3285; key k3286; key k3287; key k3288; key k3289;
|
||||
key k3290; key k3291; key k3292; key k3293; key k3294;
|
||||
key k3295; key k3296; key k3297; key k3298; key k3299;
|
||||
key k3300; key k3301; key k3302; key k3303; key k3304;
|
||||
key k3305; key k3306; key k3307; key k3308; key k3309;
|
||||
key k3310; key k3311; key k3312; key k3313; key k3314;
|
||||
key k3315; key k3316; key k3317; key k3318; key k3319;
|
||||
key k3320; key k3321; key k3322; key k3323; key k3324;
|
||||
key k3325; key k3326; key k3327; key k3328; key k3329;
|
||||
key k3330; key k3331; key k3332; key k3333; key k3334;
|
||||
key k3335; key k3336; key k3337; key k3338; key k3339;
|
||||
key k3340; key k3341; key k3342; key k3343; key k3344;
|
||||
key k3345; key k3346; key k3347; key k3348; key k3349;
|
||||
key k3350; key k3351; key k3352; key k3353; key k3354;
|
||||
key k3355; key k3356; key k3357; key k3358; key k3359;
|
||||
key k3360; key k3361; key k3362; key k3363; key k3364;
|
||||
key k3365; key k3366; key k3367; key k3368; key k3369;
|
||||
key k3370; key k3371; key k3372; key k3373; key k3374;
|
||||
key k3375; key k3376; key k3377; key k3378; key k3379;
|
||||
key k3380; key k3381; key k3382; key k3383; key k3384;
|
||||
key k3385; key k3386; key k3387; key k3388; key k3389;
|
||||
key k3390; key k3391; key k3392; key k3393; key k3394;
|
||||
key k3395; key k3396; key k3397; key k3398; key k3399;
|
||||
fn1(){jump x; @x;} fn2(){integer i3; i4=0; s3=""; fn1(); state another;}
|
||||
fn1(){jump x; @x;} fn2(){integer i3; i4=0; s3=""; fn1();
|
||||
if (1) state another;}
|
||||
default { timer() { state another; } state_exit() {} }
|
||||
state another { timer() { state default; } touch(integer num_det) {} }
|
||||
''',
|
||||
|
@ -1016,6 +350,34 @@ class Test03_Optimizer(UnitTestCase):
|
|||
self.opt.optimize(p, ['optimize','shrinknames'])
|
||||
print self.outscript.output(p)
|
||||
|
||||
p = self.parser.parse(
|
||||
'''integer i1; integer i2; integer i3; integer i4; integer i5;
|
||||
string a1; string a2; string a3; string a4; string a5;
|
||||
string b1; string b2; string b3; string b4; string b5;
|
||||
string c1; string c2; string c3; string c4; string c5;
|
||||
string d1; string d2; string d3; string d4; string d5;
|
||||
string e1; string e2; string e3; string e4; string e5;
|
||||
string f1; string f2; string f3; string f4; string f5;
|
||||
string g1; string g2; string g3; string g4; string g5;
|
||||
string h1; string h2; string h3; string h4; string h5;
|
||||
string j1; string j2; string j3; string j4; string j5;
|
||||
string k1; string k2; string k3; string k4; string k5;
|
||||
string l1; string l2; string l3; string l4; string l5;
|
||||
string m1; string m2; string m3; string m4; string m5;
|
||||
string n1; string n2; string n3; string n4; string n5;
|
||||
string o1; string o2; string o3; string o4; string o5;
|
||||
string p1; string p2; string p3; string p4; string p5;
|
||||
string s1; string s2; string s3; string s4; string s5;'''
|
||||
+ ''.join('key k'+str(i).zfill(4)+';\n' for i in xrange(3400))
|
||||
+ '''fn1(){jump x; @x;} fn2(){integer i3; i4=0; s3=""; fn1();
|
||||
if (1) state another;}
|
||||
default { timer() { state another; } state_exit() {} }
|
||||
state another { timer() { state default; } touch(integer num_det) {} }
|
||||
''',
|
||||
['optimize', 'shrinknames']
|
||||
)
|
||||
self.opt.optimize(p, ['optimize','shrinknames'])
|
||||
|
||||
p = self.parser.parse(
|
||||
'''integer i1; integer i2;
|
||||
f(integer a, integer b, integer c, integer d, integer e){}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue