| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957 |
- /* A Bison parser, made by GNU Bison 3.0.4. */
- /* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
- /* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
- /* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
- /* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
- /* Identify Bison output. */
- #define YYBISON 1
- /* Bison version. */
- #define YYBISON_VERSION "3.0.4"
- /* Skeleton name. */
- #define YYSKELETON_NAME "yacc.c"
- /* Pure parsers. */
- #define YYPURE 2
- /* Push parsers. */
- #define YYPUSH 0
- /* Pull parsers. */
- #define YYPULL 1
- /* Substitute the variable and function names. */
- #define yyparse cppyyparse
- #define yylex cppyylex
- #define yyerror cppyyerror
- #define yydebug cppyydebug
- #define yynerrs cppyynerrs
- /* Copy the first part of user declarations. */
- #line 7 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:339 */
- #include "cppBisonDefs.h"
- #include "cppParser.h"
- #include "cppClosureType.h"
- #include "cppExpression.h"
- #include "cppSimpleType.h"
- #include "cppExtensionType.h"
- #include "cppStructType.h"
- #include "cppEnumType.h"
- #include "cppFunctionType.h"
- #include "cppTBDType.h"
- #include "cppMakeProperty.h"
- #include "cppMakeSeq.h"
- #include "cppParameterList.h"
- #include "cppInstance.h"
- #include "cppClassTemplateParameter.h"
- #include "cppTemplateParameterList.h"
- #include "cppInstanceIdentifier.h"
- #include "cppTypedefType.h"
- #include "cppTypeDeclaration.h"
- #include "cppVisibility.h"
- #include "cppIdentifier.h"
- #include "cppScope.h"
- #include "cppTemplateScope.h"
- #include "cppNamespace.h"
- #include "cppUsing.h"
- ////////////////////////////////////////////////////////////////////
- // Defining the interface to the parser.
- ////////////////////////////////////////////////////////////////////
- CPPScope *current_scope = NULL;
- CPPScope *global_scope = NULL;
- CPPPreprocessor *current_lexer = NULL;
- static CPPStructType *current_struct = NULL;
- static CPPEnumType *current_enum = NULL;
- static int current_storage_class = 0;
- static CPPType *current_type = NULL;
- static CPPExpression *current_expr = NULL;
- static int publish_nest_level = 0;
- static CPPVisibility publish_previous;
- static YYLTYPE publish_loc;
- static std::vector<CPPScope *> last_scopes;
- static std::vector<int> last_storage_classes;
- static std::vector<CPPStructType *> last_structs;
- int yyparse();
- #define YYERROR_VERBOSE
- static void
- yyerror(const string &msg) {
- current_lexer->error(msg, current_lexer->_last_token_loc);
- }
- static void
- yyerror(YYLTYPE *loc, const string &msg) {
- current_lexer->error(msg, *loc);
- }
- static void
- yyerror(const string &msg, YYLTYPE &loc) {
- current_lexer->error(msg, loc);
- }
- static void
- yywarning(const string &msg, YYLTYPE &loc) {
- current_lexer->warning(msg, loc);
- }
- static int
- yylex(YYSTYPE *lval, YYLTYPE *lloc) {
- CPPToken token = current_lexer->get_next_token();
- *lval = token._lval;
- *lloc = token._lloc;
- return token._token;
- }
- void
- parse_cpp(CPPParser *cp) {
- CPPScope *old_scope = current_scope;
- CPPScope *old_global_scope = global_scope;
- CPPPreprocessor *old_lexer = current_lexer;
- current_scope = cp;
- global_scope = cp;
- current_lexer = cp;
- publish_nest_level = 0;
- yyparse();
- if (publish_nest_level != 0) {
- yyerror("Unclosed __begin_publish", publish_loc);
- publish_nest_level = 0;
- }
- current_scope = old_scope;
- global_scope = old_global_scope;
- current_lexer = old_lexer;
- }
- CPPExpression *
- parse_const_expr(CPPPreprocessor *pp, CPPScope *new_current_scope,
- CPPScope *new_global_scope) {
- CPPScope *old_scope = current_scope;
- CPPScope *old_global_scope = global_scope;
- CPPPreprocessor *old_lexer = current_lexer;
- CPPExpression *old_expr = current_expr;
- current_scope = new_current_scope;
- global_scope = new_global_scope;
- current_expr = (CPPExpression *)NULL;
- current_lexer = pp;
- yyparse();
- CPPExpression *result = current_expr;
- current_scope = old_scope;
- global_scope = old_global_scope;
- current_lexer = old_lexer;
- current_expr = old_expr;
- return result;
- }
- CPPType *
- parse_type(CPPPreprocessor *pp, CPPScope *new_current_scope,
- CPPScope *new_global_scope) {
- CPPScope *old_scope = current_scope;
- CPPScope *old_global_scope = global_scope;
- CPPPreprocessor *old_lexer = current_lexer;
- CPPType *old_type = current_type;
- current_scope = new_current_scope;
- global_scope = new_global_scope;
- current_type = (CPPType *)NULL;
- current_lexer = pp;
- yyparse();
- CPPType *result = current_type;
- current_scope = old_scope;
- global_scope = old_global_scope;
- current_lexer = old_lexer;
- current_type = old_type;
- return result;
- }
- static void
- push_scope(CPPScope *new_scope) {
- last_scopes.push_back(current_scope);
- if (new_scope != NULL) {
- current_scope = new_scope;
- }
- }
- static void
- pop_scope() {
- assert(!last_scopes.empty());
- current_scope = last_scopes.back();
- last_scopes.pop_back();
- }
- static void
- push_storage_class(int new_storage_class) {
- last_storage_classes.push_back(current_storage_class);
- current_storage_class = new_storage_class;
- }
- static void
- pop_storage_class() {
- assert(!last_storage_classes.empty());
- current_storage_class = last_storage_classes.back();
- last_storage_classes.pop_back();
- }
- static void
- push_struct(CPPStructType *new_struct) {
- last_structs.push_back(current_struct);
- current_struct = new_struct;
- }
- static void
- pop_struct() {
- assert(!last_structs.empty());
- current_struct = last_structs.back();
- last_structs.pop_back();
- }
- #line 268 "built/tmp/cppBison.yxx.c" /* yacc.c:339 */
- # ifndef YY_NULLPTR
- # if defined __cplusplus && 201103L <= __cplusplus
- # define YY_NULLPTR nullptr
- # else
- # define YY_NULLPTR 0
- # endif
- # endif
- /* Enabling verbose error messages. */
- #ifdef YYERROR_VERBOSE
- # undef YYERROR_VERBOSE
- # define YYERROR_VERBOSE 1
- #else
- # define YYERROR_VERBOSE 0
- #endif
- /* In a future release of Bison, this section will be replaced
- by #include "cppBison.yxx.h". */
- #ifndef YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED
- # define YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED
- /* Debug traces. */
- #ifndef YYDEBUG
- # define YYDEBUG 0
- #endif
- #if YYDEBUG
- extern int cppyydebug;
- #endif
- /* Token type. */
- #ifndef YYTOKENTYPE
- # define YYTOKENTYPE
- enum yytokentype
- {
- REAL = 258,
- INTEGER = 259,
- CHAR_TOK = 260,
- SIMPLE_STRING = 261,
- SIMPLE_IDENTIFIER = 262,
- STRING_LITERAL = 263,
- CUSTOM_LITERAL = 264,
- IDENTIFIER = 265,
- TYPENAME_IDENTIFIER = 266,
- TYPEPACK_IDENTIFIER = 267,
- SCOPING = 268,
- TYPEDEFNAME = 269,
- ELLIPSIS = 270,
- OROR = 271,
- ANDAND = 272,
- EQCOMPARE = 273,
- NECOMPARE = 274,
- LECOMPARE = 275,
- GECOMPARE = 276,
- LSHIFT = 277,
- RSHIFT = 278,
- POINTSAT_STAR = 279,
- DOT_STAR = 280,
- UNARY = 281,
- UNARY_NOT = 282,
- UNARY_NEGATE = 283,
- UNARY_MINUS = 284,
- UNARY_PLUS = 285,
- UNARY_STAR = 286,
- UNARY_REF = 287,
- POINTSAT = 288,
- SCOPE = 289,
- PLUSPLUS = 290,
- MINUSMINUS = 291,
- TIMESEQUAL = 292,
- DIVIDEEQUAL = 293,
- MODEQUAL = 294,
- PLUSEQUAL = 295,
- MINUSEQUAL = 296,
- OREQUAL = 297,
- ANDEQUAL = 298,
- XOREQUAL = 299,
- LSHIFTEQUAL = 300,
- RSHIFTEQUAL = 301,
- ATTR_LEFT = 302,
- ATTR_RIGHT = 303,
- KW_ALIGNAS = 304,
- KW_ALIGNOF = 305,
- KW_AUTO = 306,
- KW_BEGIN_PUBLISH = 307,
- KW_BLOCKING = 308,
- KW_BOOL = 309,
- KW_CATCH = 310,
- KW_CHAR = 311,
- KW_CHAR16_T = 312,
- KW_CHAR32_T = 313,
- KW_CLASS = 314,
- KW_CONST = 315,
- KW_CONSTEXPR = 316,
- KW_CONST_CAST = 317,
- KW_DECLTYPE = 318,
- KW_DEFAULT = 319,
- KW_DELETE = 320,
- KW_DOUBLE = 321,
- KW_DYNAMIC_CAST = 322,
- KW_ELSE = 323,
- KW_END_PUBLISH = 324,
- KW_ENUM = 325,
- KW_EXTENSION = 326,
- KW_EXTERN = 327,
- KW_EXPLICIT = 328,
- KW_PUBLISHED = 329,
- KW_FALSE = 330,
- KW_FINAL = 331,
- KW_FLOAT = 332,
- KW_FRIEND = 333,
- KW_FOR = 334,
- KW_GOTO = 335,
- KW_HAS_VIRTUAL_DESTRUCTOR = 336,
- KW_IF = 337,
- KW_INLINE = 338,
- KW_INT = 339,
- KW_IS_ABSTRACT = 340,
- KW_IS_BASE_OF = 341,
- KW_IS_CLASS = 342,
- KW_IS_CONSTRUCTIBLE = 343,
- KW_IS_CONVERTIBLE_TO = 344,
- KW_IS_DESTRUCTIBLE = 345,
- KW_IS_EMPTY = 346,
- KW_IS_ENUM = 347,
- KW_IS_FINAL = 348,
- KW_IS_FUNDAMENTAL = 349,
- KW_IS_POD = 350,
- KW_IS_POLYMORPHIC = 351,
- KW_IS_STANDARD_LAYOUT = 352,
- KW_IS_TRIVIAL = 353,
- KW_IS_UNION = 354,
- KW_LONG = 355,
- KW_MAKE_MAP_KEYS_SEQ = 356,
- KW_MAKE_MAP_PROPERTY = 357,
- KW_MAKE_PROPERTY = 358,
- KW_MAKE_PROPERTY2 = 359,
- KW_MAKE_SEQ = 360,
- KW_MAKE_SEQ_PROPERTY = 361,
- KW_MUTABLE = 362,
- KW_NAMESPACE = 363,
- KW_NEW = 364,
- KW_NOEXCEPT = 365,
- KW_NULLPTR = 366,
- KW_OPERATOR = 367,
- KW_OVERRIDE = 368,
- KW_PRIVATE = 369,
- KW_PROTECTED = 370,
- KW_PUBLIC = 371,
- KW_REGISTER = 372,
- KW_REINTERPRET_CAST = 373,
- KW_RETURN = 374,
- KW_SHORT = 375,
- KW_SIGNED = 376,
- KW_SIZEOF = 377,
- KW_STATIC = 378,
- KW_STATIC_ASSERT = 379,
- KW_STATIC_CAST = 380,
- KW_STRUCT = 381,
- KW_TEMPLATE = 382,
- KW_THREAD_LOCAL = 383,
- KW_THROW = 384,
- KW_TRUE = 385,
- KW_TRY = 386,
- KW_TYPEDEF = 387,
- KW_TYPEID = 388,
- KW_TYPENAME = 389,
- KW_UNDERLYING_TYPE = 390,
- KW_UNION = 391,
- KW_UNSIGNED = 392,
- KW_USING = 393,
- KW_VIRTUAL = 394,
- KW_VOID = 395,
- KW_VOLATILE = 396,
- KW_WCHAR_T = 397,
- KW_WHILE = 398,
- START_CPP = 399,
- START_CONST_EXPR = 400,
- START_TYPE = 401
- };
- #endif
- /* Tokens. */
- #define REAL 258
- #define INTEGER 259
- #define CHAR_TOK 260
- #define SIMPLE_STRING 261
- #define SIMPLE_IDENTIFIER 262
- #define STRING_LITERAL 263
- #define CUSTOM_LITERAL 264
- #define IDENTIFIER 265
- #define TYPENAME_IDENTIFIER 266
- #define TYPEPACK_IDENTIFIER 267
- #define SCOPING 268
- #define TYPEDEFNAME 269
- #define ELLIPSIS 270
- #define OROR 271
- #define ANDAND 272
- #define EQCOMPARE 273
- #define NECOMPARE 274
- #define LECOMPARE 275
- #define GECOMPARE 276
- #define LSHIFT 277
- #define RSHIFT 278
- #define POINTSAT_STAR 279
- #define DOT_STAR 280
- #define UNARY 281
- #define UNARY_NOT 282
- #define UNARY_NEGATE 283
- #define UNARY_MINUS 284
- #define UNARY_PLUS 285
- #define UNARY_STAR 286
- #define UNARY_REF 287
- #define POINTSAT 288
- #define SCOPE 289
- #define PLUSPLUS 290
- #define MINUSMINUS 291
- #define TIMESEQUAL 292
- #define DIVIDEEQUAL 293
- #define MODEQUAL 294
- #define PLUSEQUAL 295
- #define MINUSEQUAL 296
- #define OREQUAL 297
- #define ANDEQUAL 298
- #define XOREQUAL 299
- #define LSHIFTEQUAL 300
- #define RSHIFTEQUAL 301
- #define ATTR_LEFT 302
- #define ATTR_RIGHT 303
- #define KW_ALIGNAS 304
- #define KW_ALIGNOF 305
- #define KW_AUTO 306
- #define KW_BEGIN_PUBLISH 307
- #define KW_BLOCKING 308
- #define KW_BOOL 309
- #define KW_CATCH 310
- #define KW_CHAR 311
- #define KW_CHAR16_T 312
- #define KW_CHAR32_T 313
- #define KW_CLASS 314
- #define KW_CONST 315
- #define KW_CONSTEXPR 316
- #define KW_CONST_CAST 317
- #define KW_DECLTYPE 318
- #define KW_DEFAULT 319
- #define KW_DELETE 320
- #define KW_DOUBLE 321
- #define KW_DYNAMIC_CAST 322
- #define KW_ELSE 323
- #define KW_END_PUBLISH 324
- #define KW_ENUM 325
- #define KW_EXTENSION 326
- #define KW_EXTERN 327
- #define KW_EXPLICIT 328
- #define KW_PUBLISHED 329
- #define KW_FALSE 330
- #define KW_FINAL 331
- #define KW_FLOAT 332
- #define KW_FRIEND 333
- #define KW_FOR 334
- #define KW_GOTO 335
- #define KW_HAS_VIRTUAL_DESTRUCTOR 336
- #define KW_IF 337
- #define KW_INLINE 338
- #define KW_INT 339
- #define KW_IS_ABSTRACT 340
- #define KW_IS_BASE_OF 341
- #define KW_IS_CLASS 342
- #define KW_IS_CONSTRUCTIBLE 343
- #define KW_IS_CONVERTIBLE_TO 344
- #define KW_IS_DESTRUCTIBLE 345
- #define KW_IS_EMPTY 346
- #define KW_IS_ENUM 347
- #define KW_IS_FINAL 348
- #define KW_IS_FUNDAMENTAL 349
- #define KW_IS_POD 350
- #define KW_IS_POLYMORPHIC 351
- #define KW_IS_STANDARD_LAYOUT 352
- #define KW_IS_TRIVIAL 353
- #define KW_IS_UNION 354
- #define KW_LONG 355
- #define KW_MAKE_MAP_KEYS_SEQ 356
- #define KW_MAKE_MAP_PROPERTY 357
- #define KW_MAKE_PROPERTY 358
- #define KW_MAKE_PROPERTY2 359
- #define KW_MAKE_SEQ 360
- #define KW_MAKE_SEQ_PROPERTY 361
- #define KW_MUTABLE 362
- #define KW_NAMESPACE 363
- #define KW_NEW 364
- #define KW_NOEXCEPT 365
- #define KW_NULLPTR 366
- #define KW_OPERATOR 367
- #define KW_OVERRIDE 368
- #define KW_PRIVATE 369
- #define KW_PROTECTED 370
- #define KW_PUBLIC 371
- #define KW_REGISTER 372
- #define KW_REINTERPRET_CAST 373
- #define KW_RETURN 374
- #define KW_SHORT 375
- #define KW_SIGNED 376
- #define KW_SIZEOF 377
- #define KW_STATIC 378
- #define KW_STATIC_ASSERT 379
- #define KW_STATIC_CAST 380
- #define KW_STRUCT 381
- #define KW_TEMPLATE 382
- #define KW_THREAD_LOCAL 383
- #define KW_THROW 384
- #define KW_TRUE 385
- #define KW_TRY 386
- #define KW_TYPEDEF 387
- #define KW_TYPEID 388
- #define KW_TYPENAME 389
- #define KW_UNDERLYING_TYPE 390
- #define KW_UNION 391
- #define KW_UNSIGNED 392
- #define KW_USING 393
- #define KW_VIRTUAL 394
- #define KW_VOID 395
- #define KW_VOLATILE 396
- #define KW_WCHAR_T 397
- #define KW_WHILE 398
- #define START_CPP 399
- #define START_CONST_EXPR 400
- #define START_TYPE 401
- /* Value type. */
- /* Location type. */
- #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
- typedef struct YYLTYPE YYLTYPE;
- struct YYLTYPE
- {
- int first_line;
- int first_column;
- int last_line;
- int last_column;
- };
- # define YYLTYPE_IS_DECLARED 1
- # define YYLTYPE_IS_TRIVIAL 1
- #endif
- int cppyyparse (void);
- #endif /* !YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED */
- /* Copy the second part of user declarations. */
- #line 619 "built/tmp/cppBison.yxx.c" /* yacc.c:358 */
- #ifdef short
- # undef short
- #endif
- #ifdef YYTYPE_UINT8
- typedef YYTYPE_UINT8 yytype_uint8;
- #else
- typedef unsigned char yytype_uint8;
- #endif
- #ifdef YYTYPE_INT8
- typedef YYTYPE_INT8 yytype_int8;
- #else
- typedef signed char yytype_int8;
- #endif
- #ifdef YYTYPE_UINT16
- typedef YYTYPE_UINT16 yytype_uint16;
- #else
- typedef unsigned short int yytype_uint16;
- #endif
- #ifdef YYTYPE_INT16
- typedef YYTYPE_INT16 yytype_int16;
- #else
- typedef short int yytype_int16;
- #endif
- #ifndef YYSIZE_T
- # ifdef __SIZE_TYPE__
- # define YYSIZE_T __SIZE_TYPE__
- # elif defined size_t
- # define YYSIZE_T size_t
- # elif ! defined YYSIZE_T
- # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
- # define YYSIZE_T size_t
- # else
- # define YYSIZE_T unsigned int
- # endif
- #endif
- #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
- #ifndef YY_
- # if defined YYENABLE_NLS && YYENABLE_NLS
- # if ENABLE_NLS
- # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
- # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
- # endif
- # endif
- # ifndef YY_
- # define YY_(Msgid) Msgid
- # endif
- #endif
- #ifndef YY_ATTRIBUTE
- # if (defined __GNUC__ \
- && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
- || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
- # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
- # else
- # define YY_ATTRIBUTE(Spec) /* empty */
- # endif
- #endif
- #ifndef YY_ATTRIBUTE_PURE
- # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
- #endif
- #ifndef YY_ATTRIBUTE_UNUSED
- # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
- #endif
- #if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
- # if defined _MSC_VER && 1200 <= _MSC_VER
- # define _Noreturn __declspec (noreturn)
- # else
- # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
- # endif
- #endif
- /* Suppress unused-variable warnings by "using" E. */
- #if ! defined lint || defined __GNUC__
- # define YYUSE(E) ((void) (E))
- #else
- # define YYUSE(E) /* empty */
- #endif
- #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
- /* Suppress an incorrect diagnostic about yylval being uninitialized. */
- # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
- # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
- #else
- # define YY_INITIAL_VALUE(Value) Value
- #endif
- #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- # define YY_IGNORE_MAYBE_UNINITIALIZED_END
- #endif
- #ifndef YY_INITIAL_VALUE
- # define YY_INITIAL_VALUE(Value) /* Nothing. */
- #endif
- #if ! defined yyoverflow || YYERROR_VERBOSE
- /* The parser invokes alloca or malloc; define the necessary symbols. */
- # ifdef YYSTACK_USE_ALLOCA
- # if YYSTACK_USE_ALLOCA
- # ifdef __GNUC__
- # define YYSTACK_ALLOC __builtin_alloca
- # elif defined __BUILTIN_VA_ARG_INCR
- # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
- # elif defined _AIX
- # define YYSTACK_ALLOC __alloca
- # elif defined _MSC_VER
- # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
- # define alloca _alloca
- # else
- # define YYSTACK_ALLOC alloca
- # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
- # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- /* Use EXIT_SUCCESS as a witness for stdlib.h. */
- # ifndef EXIT_SUCCESS
- # define EXIT_SUCCESS 0
- # endif
- # endif
- # endif
- # endif
- # endif
- # ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
- # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
- # ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
- # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
- # endif
- # else
- # define YYSTACK_ALLOC YYMALLOC
- # define YYSTACK_FREE YYFREE
- # ifndef YYSTACK_ALLOC_MAXIMUM
- # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
- # endif
- # if (defined __cplusplus && ! defined EXIT_SUCCESS \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
- # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- # ifndef EXIT_SUCCESS
- # define EXIT_SUCCESS 0
- # endif
- # endif
- # ifndef YYMALLOC
- # define YYMALLOC malloc
- # if ! defined malloc && ! defined EXIT_SUCCESS
- void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
- # endif
- # endif
- # ifndef YYFREE
- # define YYFREE free
- # if ! defined free && ! defined EXIT_SUCCESS
- void free (void *); /* INFRINGES ON USER NAME SPACE */
- # endif
- # endif
- # endif
- #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
- #if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
- && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
- /* A type that is properly aligned for any stack member. */
- union yyalloc
- {
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;
- YYLTYPE yyls_alloc;
- };
- /* The size of the maximum gap between one aligned stack and the next. */
- # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
- /* The size of an array large to enough to hold all stacks, each with
- N elements. */
- # define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
- + 2 * YYSTACK_GAP_MAXIMUM)
- # define YYCOPY_NEEDED 1
- /* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
- # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
- #endif
- #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
- /* Copy COUNT objects from SRC to DST. The source and destination do
- not overlap. */
- # ifndef YYCOPY
- # if defined __GNUC__ && 1 < __GNUC__
- # define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
- # else
- # define YYCOPY(Dst, Src, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (Dst)[yyi] = (Src)[yyi]; \
- } \
- while (0)
- # endif
- # endif
- #endif /* !YYCOPY_NEEDED */
- /* YYFINAL -- State number of the termination state. */
- #define YYFINAL 104
- /* YYLAST -- Last index in YYTABLE. */
- #define YYLAST 7127
- /* YYNTOKENS -- Number of terminals. */
- #define YYNTOKENS 171
- /* YYNNTS -- Number of nonterminals. */
- #define YYNNTS 110
- /* YYNRULES -- Number of rules. */
- #define YYNRULES 763
- /* YYNSTATES -- Number of states. */
- #define YYNSTATES 1570
- /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
- #define YYUNDEFTOK 2
- #define YYMAXUTOK 401
- #define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
- /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
- static const yytype_uint8 yytranslate[] =
- {
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 169, 2, 2, 2, 162, 155, 2,
- 165, 167, 160, 158, 148, 159, 164, 161, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 150, 149,
- 156, 151, 157, 152, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 166, 2, 170, 154, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 147, 153, 168, 163, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146
- };
- #if YYDEBUG
- /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
- static const yytype_uint16 yyrline[] =
- {
- 0, 450, 450, 451, 455, 462, 463, 464, 468, 469,
- 473, 477, 481, 494, 493, 505, 506, 507, 508, 509,
- 510, 511, 524, 533, 537, 545, 549, 553, 574, 601,
- 622, 651, 687, 730, 742, 763, 799, 833, 855, 891,
- 913, 924, 938, 937, 952, 956, 961, 965, 976, 980,
- 984, 988, 992, 996, 1000, 1004, 1008, 1012, 1016, 1020,
- 1025, 1029, 1036, 1037, 1041, 1042, 1043, 1048, 1047, 1063,
- 1073, 1072, 1089, 1097, 1105, 1116, 1132, 1131, 1146, 1161,
- 1170, 1185, 1184, 1209, 1208, 1236, 1235, 1266, 1265, 1284,
- 1283, 1304, 1303, 1335, 1334, 1360, 1373, 1377, 1381, 1385,
- 1398, 1402, 1406, 1410, 1414, 1419, 1424, 1428, 1432, 1436,
- 1443, 1447, 1451, 1455, 1459, 1463, 1467, 1471, 1475, 1479,
- 1483, 1487, 1491, 1495, 1499, 1503, 1507, 1511, 1515, 1519,
- 1523, 1527, 1531, 1535, 1539, 1543, 1547, 1551, 1555, 1559,
- 1563, 1567, 1571, 1575, 1579, 1583, 1587, 1591, 1595, 1602,
- 1603, 1604, 1608, 1610, 1609, 1617, 1618, 1622, 1623, 1627,
- 1633, 1642, 1643, 1647, 1651, 1655, 1659, 1665, 1671, 1677,
- 1684, 1689, 1698, 1702, 1707, 1715, 1727, 1731, 1745, 1760,
- 1765, 1770, 1775, 1780, 1785, 1790, 1795, 1801, 1800, 1831,
- 1841, 1851, 1855, 1859, 1868, 1872, 1880, 1884, 1889, 1893,
- 1898, 1906, 1911, 1919, 1923, 1928, 1932, 1937, 1945, 1950,
- 1958, 1962, 1969, 1973, 1980, 1984, 1988, 1992, 1996, 2003,
- 2007, 2011, 2015, 2019, 2023, 2030, 2031, 2032, 2036, 2039,
- 2040, 2041, 2045, 2050, 2056, 2062, 2067, 2073, 2079, 2083,
- 2094, 2098, 2108, 2112, 2116, 2121, 2126, 2131, 2136, 2141,
- 2146, 2154, 2158, 2162, 2167, 2172, 2177, 2182, 2187, 2192,
- 2197, 2203, 2211, 2216, 2221, 2226, 2231, 2236, 2241, 2246,
- 2251, 2256, 2262, 2270, 2274, 2279, 2284, 2289, 2294, 2299,
- 2304, 2309, 2314, 2322, 2326, 2331, 2336, 2341, 2346, 2351,
- 2356, 2361, 2366, 2371, 2377, 2384, 2391, 2401, 2405, 2413,
- 2417, 2421, 2425, 2429, 2445, 2461, 2470, 2474, 2484, 2491,
- 2502, 2506, 2514, 2518, 2522, 2526, 2530, 2546, 2562, 2580,
- 2589, 2593, 2603, 2610, 2614, 2622, 2626, 2642, 2658, 2667,
- 2677, 2684, 2688, 2696, 2700, 2705, 2709, 2717, 2718, 2719,
- 2720, 2725, 2724, 2749, 2748, 2778, 2779, 2786, 2787, 2791,
- 2792, 2796, 2800, 2804, 2808, 2812, 2816, 2820, 2824, 2828,
- 2832, 2839, 2847, 2851, 2855, 2860, 2868, 2872, 2879, 2880,
- 2885, 2892, 2893, 2898, 2906, 2910, 2914, 2921, 2925, 2929,
- 2937, 2936, 2959, 2958, 2981, 2982, 2986, 2992, 2999, 3008,
- 3009, 3010, 3014, 3018, 3022, 3026, 3030, 3034, 3039, 3044,
- 3049, 3054, 3058, 3063, 3072, 3077, 3085, 3089, 3093, 3101,
- 3111, 3111, 3121, 3122, 3126, 3127, 3128, 3129, 3130, 3131,
- 3132, 3133, 3134, 3135, 3136, 3137, 3137, 3137, 3138, 3138,
- 3138, 3138, 3139, 3139, 3139, 3139, 3139, 3140, 3140, 3140,
- 3141, 3141, 3141, 3141, 3141, 3142, 3142, 3142, 3142, 3142,
- 3143, 3143, 3144, 3144, 3144, 3144, 3144, 3145, 3145, 3145,
- 3145, 3145, 3146, 3146, 3146, 3146, 3147, 3147, 3147, 3147,
- 3147, 3148, 3148, 3148, 3148, 3148, 3149, 3149, 3149, 3149,
- 3149, 3149, 3150, 3150, 3150, 3150, 3150, 3151, 3151, 3151,
- 3151, 3152, 3152, 3152, 3152, 3153, 3153, 3153, 3153, 3153,
- 3154, 3154, 3154, 3154, 3155, 3155, 3155, 3155, 3155, 3156,
- 3156, 3156, 3156, 3157, 3157, 3157, 3157, 3157, 3158, 3158,
- 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161, 3161,
- 3161, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162, 3162,
- 3162, 3163, 3163, 3167, 3171, 3178, 3182, 3189, 3193, 3200,
- 3204, 3208, 3212, 3216, 3220, 3224, 3228, 3240, 3244, 3248,
- 3252, 3256, 3260, 3264, 3268, 3272, 3276, 3280, 3284, 3288,
- 3292, 3296, 3300, 3304, 3308, 3312, 3316, 3320, 3324, 3328,
- 3332, 3336, 3340, 3344, 3348, 3352, 3356, 3360, 3368, 3372,
- 3376, 3380, 3384, 3388, 3392, 3402, 3412, 3418, 3424, 3430,
- 3436, 3442, 3448, 3455, 3462, 3469, 3476, 3482, 3488, 3492,
- 3504, 3508, 3512, 3516, 3520, 3531, 3542, 3546, 3550, 3554,
- 3558, 3562, 3566, 3570, 3574, 3578, 3582, 3586, 3590, 3594,
- 3598, 3602, 3606, 3610, 3614, 3618, 3622, 3626, 3630, 3634,
- 3638, 3642, 3646, 3650, 3654, 3658, 3662, 3669, 3673, 3677,
- 3681, 3685, 3689, 3693, 3697, 3701, 3707, 3713, 3717, 3723,
- 3730, 3734, 3738, 3742, 3746, 3750, 3754, 3758, 3762, 3766,
- 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3808, 3812, 3816,
- 3820, 3824, 3828, 3832, 3836, 3848, 3852, 3856, 3860, 3864,
- 3875, 3886, 3890, 3894, 3898, 3902, 3906, 3910, 3914, 3918,
- 3922, 3926, 3930, 3934, 3938, 3942, 3946, 3950, 3954, 3958,
- 3962, 3966, 3970, 3974, 3978, 3982, 3986, 3990, 3994, 3998,
- 4002, 4009, 4013, 4017, 4021, 4025, 4029, 4033, 4037, 4041,
- 4047, 4053, 4061, 4065, 4069, 4073, 4080, 4090, 4096, 4102,
- 4112, 4124, 4132, 4136, 4166, 4170, 4174, 4178, 4182, 4186,
- 4192, 4196, 4200, 4204, 4208, 4219, 4223, 4227, 4231, 4239,
- 4243, 4247, 4253, 4264
- };
- #endif
- #if YYDEBUG || YYERROR_VERBOSE || 0
- /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
- static const char *const yytname[] =
- {
- "$end", "error", "$undefined", "REAL", "INTEGER", "CHAR_TOK",
- "SIMPLE_STRING", "SIMPLE_IDENTIFIER", "STRING_LITERAL", "CUSTOM_LITERAL",
- "IDENTIFIER", "TYPENAME_IDENTIFIER", "TYPEPACK_IDENTIFIER", "SCOPING",
- "TYPEDEFNAME", "ELLIPSIS", "OROR", "ANDAND", "EQCOMPARE", "NECOMPARE",
- "LECOMPARE", "GECOMPARE", "LSHIFT", "RSHIFT", "POINTSAT_STAR",
- "DOT_STAR", "UNARY", "UNARY_NOT", "UNARY_NEGATE", "UNARY_MINUS",
- "UNARY_PLUS", "UNARY_STAR", "UNARY_REF", "POINTSAT", "SCOPE", "PLUSPLUS",
- "MINUSMINUS", "TIMESEQUAL", "DIVIDEEQUAL", "MODEQUAL", "PLUSEQUAL",
- "MINUSEQUAL", "OREQUAL", "ANDEQUAL", "XOREQUAL", "LSHIFTEQUAL",
- "RSHIFTEQUAL", "ATTR_LEFT", "ATTR_RIGHT", "KW_ALIGNAS", "KW_ALIGNOF",
- "KW_AUTO", "KW_BEGIN_PUBLISH", "KW_BLOCKING", "KW_BOOL", "KW_CATCH",
- "KW_CHAR", "KW_CHAR16_T", "KW_CHAR32_T", "KW_CLASS", "KW_CONST",
- "KW_CONSTEXPR", "KW_CONST_CAST", "KW_DECLTYPE", "KW_DEFAULT",
- "KW_DELETE", "KW_DOUBLE", "KW_DYNAMIC_CAST", "KW_ELSE", "KW_END_PUBLISH",
- "KW_ENUM", "KW_EXTENSION", "KW_EXTERN", "KW_EXPLICIT", "KW_PUBLISHED",
- "KW_FALSE", "KW_FINAL", "KW_FLOAT", "KW_FRIEND", "KW_FOR", "KW_GOTO",
- "KW_HAS_VIRTUAL_DESTRUCTOR", "KW_IF", "KW_INLINE", "KW_INT",
- "KW_IS_ABSTRACT", "KW_IS_BASE_OF", "KW_IS_CLASS", "KW_IS_CONSTRUCTIBLE",
- "KW_IS_CONVERTIBLE_TO", "KW_IS_DESTRUCTIBLE", "KW_IS_EMPTY",
- "KW_IS_ENUM", "KW_IS_FINAL", "KW_IS_FUNDAMENTAL", "KW_IS_POD",
- "KW_IS_POLYMORPHIC", "KW_IS_STANDARD_LAYOUT", "KW_IS_TRIVIAL",
- "KW_IS_UNION", "KW_LONG", "KW_MAKE_MAP_KEYS_SEQ", "KW_MAKE_MAP_PROPERTY",
- "KW_MAKE_PROPERTY", "KW_MAKE_PROPERTY2", "KW_MAKE_SEQ",
- "KW_MAKE_SEQ_PROPERTY", "KW_MUTABLE", "KW_NAMESPACE", "KW_NEW",
- "KW_NOEXCEPT", "KW_NULLPTR", "KW_OPERATOR", "KW_OVERRIDE", "KW_PRIVATE",
- "KW_PROTECTED", "KW_PUBLIC", "KW_REGISTER", "KW_REINTERPRET_CAST",
- "KW_RETURN", "KW_SHORT", "KW_SIGNED", "KW_SIZEOF", "KW_STATIC",
- "KW_STATIC_ASSERT", "KW_STATIC_CAST", "KW_STRUCT", "KW_TEMPLATE",
- "KW_THREAD_LOCAL", "KW_THROW", "KW_TRUE", "KW_TRY", "KW_TYPEDEF",
- "KW_TYPEID", "KW_TYPENAME", "KW_UNDERLYING_TYPE", "KW_UNION",
- "KW_UNSIGNED", "KW_USING", "KW_VIRTUAL", "KW_VOID", "KW_VOLATILE",
- "KW_WCHAR_T", "KW_WHILE", "START_CPP", "START_CONST_EXPR", "START_TYPE",
- "'{'", "','", "';'", "':'", "'='", "'?'", "'|'", "'^'", "'&'", "'<'",
- "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'.'", "'('", "'['",
- "')'", "'}'", "'!'", "']'", "$accept", "grammar", "cpp",
- "constructor_inits", "constructor_init", "extern_c", "$@1",
- "declaration", "friend_declaration", "$@2", "storage_class",
- "attribute_specifiers", "attribute_specifier", "type_like_declaration",
- "$@3", "$@4", "multiple_instance_identifiers", "typedef_declaration",
- "$@5", "typedef_instance_identifiers", "constructor_prototype", "$@6",
- "$@7", "function_prototype", "$@8", "$@9", "$@10", "$@11", "$@12",
- "function_post", "function_operator", "more_template_declaration",
- "template_declaration", "$@13", "template_formal_parameters",
- "template_nonempty_formal_parameters", "typename_keyword",
- "template_formal_parameter", "template_formal_parameter_type",
- "instance_identifier", "$@14",
- "instance_identifier_and_maybe_trailing_return_type",
- "maybe_trailing_return_type", "maybe_comma_identifier",
- "function_parameter_list", "function_parameters",
- "formal_parameter_list", "formal_parameters",
- "template_parameter_maybe_initialize", "maybe_initialize",
- "maybe_initialize_or_constructor_body",
- "maybe_initialize_or_function_body", "structure_init",
- "structure_init_body", "function_parameter", "formal_parameter",
- "not_paren_formal_parameter_identifier", "formal_parameter_identifier",
- "parameter_pack_identifier", "not_paren_empty_instance_identifier",
- "empty_instance_identifier", "type", "type_pack", "type_decl",
- "predefined_type", "var_type_decl", "full_type", "struct_attributes",
- "anonymous_struct", "$@15", "named_struct", "$@16", "maybe_final",
- "maybe_class_derivation", "class_derivation", "base_specification",
- "enum", "enum_decl", "enum_element_type", "enum_body_trailing_comma",
- "enum_body", "enum_keyword", "struct_keyword", "namespace_declaration",
- "$@17", "$@18", "using_declaration", "simple_type", "simple_int_type",
- "simple_float_type", "simple_void_type", "code", "$@19", "code_block",
- "element", "optional_const_expr", "optional_const_expr_comma",
- "const_expr_comma", "no_angle_bracket_const_expr", "const_expr",
- "const_operand", "formal_const_expr", "formal_const_operand",
- "capture_list", "capture", "class_derivation_name", "name",
- "name_no_final", "string_literal", "empty", YY_NULLPTR
- };
- #endif
- # ifdef YYPRINT
- /* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
- static const yytype_uint16 yytoknum[] =
- {
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 400, 401, 123, 44, 59,
- 58, 61, 63, 124, 94, 38, 60, 62, 43, 45,
- 42, 47, 37, 126, 46, 40, 91, 41, 125, 33,
- 93
- };
- # endif
- #define YYPACT_NINF -926
- #define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-926)))
- #define YYTABLE_NINF -759
- #define yytable_value_is_error(Yytable_value) \
- 0
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
- static const yytype_int16 yypact[] =
- {
- 162, -926, 3677, 5743, 39, 4864, -926, -926, -926, -926,
- -926, -926, -926, -926, -36, -99, -70, -37, -33, -11,
- -69, -5, 24, -926, -926, 19, 33, 44, 57, 64,
- 67, 78, 92, 96, 102, 144, 171, 174, 179, 185,
- 191, 197, 211, 216, 6057, -926, -926, 108, 220, 222,
- 20, 246, -926, 243, 245, 256, 3677, 3677, 3677, 3677,
- 3677, 1793, 1173, 3677, 3886, -926, 158, -926, -926, -926,
- -926, -926, -926, -926, -926, 5854, 264, -926, -23, -926,
- -926, 2240, 2171, 2171, -926, 4505, 272, -926, 2171, -926,
- -926, 305, 305, -926, -926, -926, -926, 152, 95, -926,
- -926, -926, -926, -926, -926, 6164, 280, -926, 6986, 6986,
- 6986, -926, 6986, 5233, 6986, 297, -926, 6971, 296, 298,
- 307, 314, 319, 324, 6986, 1206, 336, 342, 345, 6986,
- 6986, 331, 6778, 6986, 6986, 5065, 6986, 6986, -926, -926,
- -926, -926, 2195, -926, -926, -926, -926, -926, 3677, 3677,
- 5743, 3677, 3677, 3677, 3677, 5743, 3677, 5743, 3677, 5743,
- 3677, 5743, 5743, 5743, 5743, 5743, 5743, 5743, 5743, 5743,
- 5743, 5743, 5743, 5743, 5743, 5743, 3677, -926, -926, 332,
- 4505, 337, 338, 4505, -926, -926, 5743, 3677, 3677, 339,
- 5336, 5743, 1793, 3677, 3677, 88, 88, 88, 88, 88,
- -36, -70, -37, -33, -11, -5, 19, 44, 6195, 5244,
- 5695, 6068, 256, 334, -78, 3886, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, 4505, 4505,
- -85, 358, -926, -926, 88, 3677, 3677, 3677, 3677, 3677,
- 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677,
- 3677, 3677, 3677, 3677, 3677, 3677, 2732, 3677, -926, -926,
- 305, 305, 2867, -926, -926, -926, 2171, -926, -926, -926,
- -926, 5743, -926, 353, 261, 150, 305, 305, 150, 150,
- 4978, 349, -926, 350, -926, -926, -926, -926, -926, -926,
- 1338, 368, 5160, -926, 4505, 472, 371, 356, 1936, 5250,
- 6986, -926, -926, -926, -926, 6986, -926, -926, -926, -926,
- 6871, 1355, -926, 4505, 4505, 4505, 4505, 4505, 4505, -926,
- -926, 375, -926, -926, -926, -926, -926, 3677, -926, 4316,
- -926, 367, -926, 4408, -926, 4505, 74, -926, -926, -63,
- 364, -926, 365, 5941, 4505, 366, -926, 4505, -926, 239,
- 383, -926, -926, -926, -926, 792, -926, -926, 372, 386,
- -926, 369, 374, 382, 384, 390, 391, 393, 395, 396,
- 407, 408, 410, 412, 415, 414, -75, 424, 416, 419,
- 428, 429, 431, 432, 435, 436, 437, 438, 439, 3677,
- -926, 5743, 3677, -926, 6759, 425, 443, 446, 4505, 450,
- 451, 434, 452, 4177, 462, 463, 3677, 3677, -926, 524,
- -926, 1294, 467, 3677, -926, -926, 1444, 4862, 1629, 1629,
- 908, 908, 1658, 1658, -926, 2750, 1066, 4908, 5061, 908,
- 908, 166, 166, 88, 88, 88, -926, -926, -74, 1595,
- -926, -926, 468, 4477, 473, 150, 476, 479, 4505, 150,
- 150, 150, 150, 150, 477, -926, 349, -926, 349, -926,
- 477, 477, -926, 150, 6164, 5830, 5714, 150, 150, 481,
- 53, -926, 672, 720, -926, 3677, 4505, 484, -926, -926,
- -926, -926, 1338, -16, -14, -4, 6164, 489, 143, -926,
- -926, -926, 494, 6986, 6164, 3812, -36, 482, 4535, -926,
- -926, -926, 509, 511, 513, 515, 522, 525, 526, 6239,
- -926, 3831, 5486, 249, 492, 239, -926, -926, 523, -926,
- 5743, -926, 46, 3002, 6081, 916, -926, 5743, -926, 510,
- 202, -926, -926, 2079, -926, -926, 413, -926, 531, 5160,
- -926, -926, -926, -926, -926, -926, -926, 521, -926, 533,
- -926, -926, -926, -926, 5743, -926, 5743, -926, 5743, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- 4556, 529, 536, -926, 535, -926, -926, 537, -926, -926,
- 540, -926, -926, -926, -926, 88, 3886, -926, 4505, 358,
- 5593, 2226, -926, 3886, 3677, -926, -926, -926, -926, -926,
- 477, 150, -926, 477, 477, 477, 477, 477, 3677, -121,
- 658, 5854, 672, 720, -926, -29, 10, -926, -926, 5622,
- 555, 672, 672, 672, 672, 672, 672, -57, -926, -926,
- 558, 4505, 720, 720, 720, 720, 720, 720, 99, 551,
- 3886, -926, -52, -926, 582, 683, 1936, -926, 660, 6164,
- -926, -926, -926, -926, -926, -926, -926, -926, 569, 584,
- 589, -926, -926, 6057, -926, -926, 590, 35, 594, -926,
- 573, 3677, 3677, 3677, 3677, 1793, 3677, 585, 54, -926,
- -926, 4647, -926, 158, -926, 6986, 6986, 6312, -926, 741,
- 743, 744, 748, 754, 755, -926, -926, 290, 617, -926,
- -926, -926, -926, 5518, -926, 610, 620, 6753, -926, 495,
- -926, -926, 46, -926, 413, -926, 621, 5593, 609, 413,
- 5593, 612, 4574, 916, 616, 916, 916, 916, 916, 916,
- 266, -926, -926, 614, 6385, -926, -926, -926, 4505, 248,
- -926, 615, -926, 637, 638, 3137, 3024, 628, 413, 413,
- 4248, 413, 413, 413, 413, -926, 8, 250, -926, 1338,
- -926, 3677, 3677, 624, 626, 629, -926, -926, -926, 3677,
- -926, 3677, -926, 630, -926, 5970, 6164, -926, -926, -926,
- -926, -926, -926, 634, -926, -926, 653, -926, 3886, 477,
- 635, 641, 5714, 672, 720, -57, 99, 642, 644, 2226,
- -926, -926, 672, 645, 645, 645, 645, 645, 212, 3677,
- -926, 720, -926, 649, 649, 649, 649, 649, 275, 3677,
- -926, 650, -926, 3677, -926, 643, 4592, 6458, -926, 669,
- -926, -926, 5743, 5743, 5743, 655, 5743, 659, 5365, 5743,
- 1793, 88, 88, 88, 88, 656, -66, 88, -926, -926,
- 3953, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677,
- 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677,
- 3677, 3677, 3272, 3677, -926, -926, -926, -926, 678, -48,
- 685, 686, 690, 691, 6531, 23, -926, 495, 6944, 5486,
- 4505, 680, 681, 495, 495, 495, 495, 495, 495, 134,
- 649, -926, 250, -926, 675, 413, 240, 676, -926, -926,
- 288, 916, 679, 679, 679, 679, 679, -926, 3677, -926,
- -926, 5593, 687, 321, -926, -25, 697, 698, -926, 2564,
- -926, -926, -926, 3137, 692, 700, 3886, -926, -926, 413,
- 311, 311, 839, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, 684,
- 688, -926, -926, 311, 311, 311, 247, 849, -926, 3677,
- -926, 2079, 706, -926, 582, -44, -40, -926, -926, -926,
- -28, -22, -926, 6057, 305, 811, 471, -926, -926, 5593,
- -926, -57, 99, -926, -926, 5593, 5593, -926, 645, 699,
- 693, 649, 701, 695, 3294, -926, -926, -926, 5324, 723,
- 714, -926, 704, 710, 716, 3677, 724, 4505, 717, 721,
- 725, 722, 4629, 3677, -926, -926, -926, 1444, 4862, 1629,
- 1629, 908, 908, 1658, 1658, -926, 3564, 1066, 4908, 5061,
- 908, 908, 166, 166, 88, 88, 88, -926, -926, -6,
- 1958, 6604, 867, 873, 738, 880, 733, -926, 892, 893,
- 894, -926, 760, 134, 649, -926, -926, -926, -926, -926,
- -926, 5743, 495, 4093, -926, -926, 764, -926, -926, 269,
- 749, -926, -926, 679, 5593, 746, 751, -926, -926, 4505,
- 3677, 3677, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, -926, -926, 771, -926, 3407, 311, -926, -926,
- -926, -926, -926, 3812, 753, 3024, 413, -926, -926, -926,
- -926, 2226, 305, -926, -926, -926, 15, 776, 752, -926,
- -926, 778, 779, 5593, -926, 5593, -926, -926, 5705, 6090,
- 6150, 4505, 343, -926, -926, 932, -926, 5324, -926, 783,
- 784, 812, 813, 814, -926, -926, 815, -926, -926, 88,
- 3677, -926, -926, -926, 816, 1, -926, 834, 835, 14,
- 819, 59, -926, -926, -926, 822, 833, 837, 838, 38,
- 840, 4093, 4093, 4093, 4093, 4093, 1793, 4093, 4798, -926,
- 413, 4016, 825, -926, 4016, 5593, 828, -926, -926, 829,
- -926, 830, 842, 2396, -926, 3137, 3886, 845, -926, -926,
- 853, -926, 850, -926, -926, -926, -926, -926, 851, 852,
- 5929, -926, 5929, -926, 5929, -926, -926, 5929, 5929, 5929,
- -926, 6677, -926, 3677, 3677, -926, 3677, -926, 3677, 3886,
- 855, 992, 858, 1006, -926, 1010, 874, 875, 1012, 876,
- 5743, 5743, 5743, 5743, 861, 5457, 5743, 123, 123, 123,
- 123, 123, 860, 101, 123, 4093, 4093, 4093, 4093, 4093,
- 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093,
- 4093, 4093, 4093, 4093, 3542, 3677, -926, -926, 5593, 863,
- -926, 4016, -926, -926, 1013, -926, 864, -926, -926, -926,
- 2226, 2226, 2226, -926, -926, -926, -926, -926, -926, -926,
- -926, -926, 114, 147, 168, 175, -926, 885, -926, 868,
- 888, -926, -926, 176, -926, 872, 883, 884, 886, 4505,
- 877, 887, 895, 4093, -926, 4144, 5038, 1181, 1181, 1608,
- 1608, 2116, 2116, -926, 4744, 5088, 5104, 1648, 405, 405,
- 123, 123, 123, -926, -926, 181, 2329, 5593, 889, -926,
- 4016, -926, -926, 4016, 882, -926, -926, -926, 4016, 4016,
- -926, -926, -926, -926, 1043, 891, 906, 1049, 1050, 912,
- -926, 897, 899, 900, 910, -926, -926, 913, 123, 4093,
- -926, -926, 914, -926, 4016, -926, -926, 926, -926, 923,
- 192, -926, 3677, 3677, 3677, -926, 3677, 4798, -926, 2226,
- -926, 930, 1070, 934, 193, 199, 206, 213, 2226, -926,
- -926, 925, -926, -926, -926, -926, -926, -926, 944, -926
- };
- /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE does not specify something else to do. Zero
- means the default is an error. */
- static const yytype_uint16 yydefact[] =
- {
- 0, 763, 0, 0, 0, 763, 5, 651, 647, 650,
- 759, 760, 653, 654, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 649, 655, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 657, 656, 0, 0, 0,
- 0, 0, 648, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 763, 0, 3, 588, 652, 298, 309, 308,
- 392, 393, 395, 396, 377, 0, 0, 407, 374, 406,
- 401, 398, 397, 400, 378, 0, 0, 379, 399, 409,
- 394, 763, 763, 4, 300, 301, 302, 0, 363, 763,
- 297, 389, 390, 391, 1, 0, 0, 21, 763, 763,
- 763, 22, 763, 763, 763, 0, 42, 763, 0, 0,
- 0, 0, 0, 0, 763, 0, 0, 0, 0, 763,
- 763, 0, 763, 763, 763, 0, 763, 763, 6, 17,
- 7, 19, 0, 15, 16, 18, 73, 44, 763, 763,
- 0, 763, 763, 763, 763, 0, 763, 0, 763, 0,
- 763, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 763, 324, 330, 0,
- 0, 0, 612, 0, 763, 323, 0, 763, 763, 0,
- 0, 0, 0, 763, 763, 621, 619, 618, 620, 617,
- 298, 392, 393, 395, 396, 407, 406, 401, 398, 397,
- 400, 399, 394, 0, 0, 547, 744, 745, 746, 754,
- 747, 750, 748, 752, 751, 749, 753, 733, 734, 0,
- 0, 763, 739, 732, 616, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 761, 762,
- 763, 763, 0, 375, 376, 408, 398, 403, 402, 405,
- 299, 0, 404, 0, 284, 763, 763, 763, 763, 763,
- 763, 0, 333, 283, 335, 763, 755, 756, 757, 758,
- 0, 365, 0, 337, 0, 0, 62, 64, 0, 763,
- 763, 56, 45, 55, 57, 763, 46, 152, 51, 23,
- 763, 0, 49, 0, 0, 0, 0, 0, 0, 54,
- 763, 0, 26, 25, 24, 52, 48, 0, 156, 0,
- 155, 0, 58, 0, 20, 0, 0, 50, 53, 332,
- 311, 322, 0, 0, 0, 0, 13, 0, 70, 0,
- 331, 67, 313, 314, 315, 363, 763, 310, 0, 546,
- 545, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 325, 0, 763, 327, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 646, 737,
- 740, 0, 763, 0, 735, 212, 630, 631, 632, 633,
- 634, 635, 638, 639, 645, 0, 627, 628, 629, 636,
- 637, 625, 626, 622, 623, 624, 644, 643, 0, 0,
- 334, 336, 0, 0, 0, 763, 285, 0, 274, 763,
- 763, 763, 763, 763, 290, 273, 0, 286, 0, 287,
- 289, 288, 197, 763, 0, 0, 0, 763, 763, 0,
- 198, 201, 763, 0, 196, 763, 371, 0, 368, 367,
- 362, 366, 0, 744, 745, 746, 0, 0, 748, 341,
- 303, 343, 0, 763, 0, 763, 311, 0, 0, 47,
- 43, 763, 0, 0, 0, 0, 0, 0, 0, 763,
- 380, 0, 763, 332, 311, 0, 331, 76, 0, 386,
- 0, 81, 83, 0, 0, 763, 312, 0, 763, 0,
- 0, 410, 219, 0, 72, 69, 0, 318, 365, 0,
- 595, 594, 611, 601, 597, 599, 600, 0, 607, 0,
- 606, 660, 596, 661, 0, 663, 0, 664, 0, 667,
- 668, 669, 670, 671, 672, 673, 674, 675, 676, 603,
- 0, 0, 0, 326, 0, 602, 605, 0, 609, 608,
- 0, 614, 615, 604, 598, 589, 548, 738, 0, 763,
- 763, 763, 96, 213, 0, 642, 641, 306, 305, 307,
- 291, 763, 275, 280, 276, 277, 279, 278, 763, 0,
- 0, 0, 763, 0, 238, 0, 0, 763, 200, 0,
- 0, 763, 763, 763, 763, 763, 763, 763, 252, 251,
- 0, 262, 0, 0, 0, 0, 0, 0, 763, 0,
- 544, 543, 372, 361, 304, 0, 0, 763, 763, 0,
- 59, 63, 725, 721, 724, 727, 728, 204, 0, 0,
- 0, 723, 729, 0, 731, 730, 0, 0, 0, 722,
- 0, 0, 0, 0, 0, 0, 0, 0, 205, 240,
- 208, 241, 677, 726, 203, 763, 763, 763, 382, 0,
- 0, 0, 0, 0, 0, 384, 763, 0, 0, 173,
- 174, 175, 161, 0, 162, 0, 158, 163, 159, 763,
- 172, 157, 0, 78, 0, 388, 0, 763, 0, 0,
- 763, 0, 0, 763, 0, 763, 763, 763, 763, 763,
- 0, 243, 242, 0, 763, 85, 410, 214, 0, 0,
- 71, 0, 763, 0, 0, 763, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 68, 763, 763, 176, 0,
- 316, 0, 0, 0, 0, 0, 328, 329, 613, 0,
- 610, 0, 736, 0, 103, 0, 0, 97, 105, 100,
- 104, 99, 101, 0, 98, 102, 0, 191, 640, 281,
- 0, 0, 0, 763, 0, 763, 763, 0, 0, 763,
- 199, 202, 763, 257, 253, 254, 256, 255, 0, 763,
- 232, 0, 263, 268, 264, 265, 267, 266, 0, 763,
- 235, 292, 369, 0, 338, 0, 0, 763, 346, 763,
- 345, 66, 0, 0, 0, 687, 0, 0, 0, 0,
- 0, 695, 694, 693, 692, 0, 0, 691, 65, 207,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 61, 60, 385, 763, 0, 0,
- 763, 0, 0, 0, 763, 0, 41, 763, 763, 0,
- 166, 164, 0, 763, 763, 763, 763, 763, 763, 763,
- 170, 77, 763, 387, 0, 0, 0, 0, 320, 319,
- 0, 763, 248, 244, 245, 247, 246, 91, 763, 321,
- 14, 763, 0, 0, 8, 0, 0, 0, 220, 411,
- 412, 222, 223, 763, 0, 226, 228, 225, 221, 0,
- 183, 179, 0, 120, 121, 122, 123, 124, 125, 128,
- 129, 144, 132, 133, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 143, 148, 147, 131, 130, 117, 119,
- 118, 126, 127, 115, 116, 112, 113, 114, 111, 0,
- 0, 110, 177, 180, 182, 181, 0, 0, 187, 763,
- 189, 0, 0, 74, 317, 0, 0, 662, 665, 666,
- 0, 0, 763, 0, 763, 0, 0, 410, 282, 763,
- 239, 763, 763, 233, 236, 763, 763, 293, 258, 261,
- 0, 269, 272, 0, 373, 340, 339, 342, 0, 0,
- 348, 347, 0, 0, 0, 763, 0, 0, 0, 0,
- 0, 0, 0, 0, 720, 206, 209, 704, 705, 706,
- 707, 708, 709, 712, 713, 719, 0, 701, 702, 703,
- 710, 711, 699, 700, 696, 697, 698, 718, 717, 0,
- 0, 763, 0, 0, 0, 0, 0, 194, 0, 0,
- 0, 381, 0, 763, 171, 151, 149, 154, 150, 160,
- 167, 0, 763, 0, 168, 210, 0, 79, 763, 0,
- 0, 763, 93, 249, 763, 0, 0, 215, 410, 0,
- 763, 763, 217, 218, 414, 415, 419, 416, 424, 417,
- 418, 420, 421, 422, 423, 425, 426, 427, 428, 429,
- 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
- 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
- 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
- 470, 471, 472, 492, 473, 474, 475, 476, 477, 478,
- 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
- 489, 490, 491, 493, 494, 495, 496, 497, 498, 499,
- 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
- 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
- 763, 536, 537, 538, 529, 541, 525, 526, 524, 531,
- 532, 520, 521, 522, 523, 530, 528, 535, 533, 539,
- 534, 527, 540, 413, 0, 224, 227, 184, 178, 146,
- 145, 186, 190, 763, 0, 213, 0, 592, 591, 593,
- 590, 763, 763, 192, 109, 106, 0, 0, 0, 234,
- 237, 0, 0, 763, 259, 763, 270, 370, 752, 0,
- 751, 0, 0, 349, 351, 741, 763, 0, 686, 0,
- 0, 0, 0, 0, 684, 683, 0, 689, 690, 678,
- 0, 716, 715, 383, 0, 0, 33, 195, 0, 0,
- 0, 0, 40, 169, 165, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 211, 549,
- 0, 82, 0, 87, 84, 763, 0, 250, 763, 0,
- 9, 0, 0, 0, 229, 763, 230, 0, 185, 75,
- 0, 193, 0, 107, 658, 763, 763, 763, 0, 0,
- 0, 354, 0, 353, 0, 352, 742, 0, 0, 0,
- 743, 763, 350, 0, 0, 688, 0, 685, 0, 714,
- 0, 0, 0, 0, 27, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 564, 562, 561,
- 563, 560, 0, 0, 559, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 80, 89, 763, 0,
- 763, 86, 216, 12, 10, 542, 0, 763, 410, 108,
- 763, 763, 763, 763, 763, 360, 359, 358, 357, 356,
- 355, 344, 0, 0, 0, 0, 36, 763, 34, 0,
- 0, 37, 39, 0, 29, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 587, 573, 574, 575, 576, 577,
- 578, 579, 580, 586, 0, 570, 571, 572, 568, 569,
- 565, 566, 567, 585, 584, 0, 0, 763, 0, 763,
- 92, 11, 231, 188, 0, 296, 295, 294, 260, 271,
- 681, 680, 682, 679, 0, 0, 0, 0, 0, 0,
- 558, 0, 0, 0, 0, 556, 555, 0, 550, 0,
- 583, 582, 0, 763, 94, 659, 195, 0, 28, 0,
- 0, 30, 0, 0, 0, 557, 0, 581, 763, 763,
- 35, 0, 0, 0, 0, 0, 0, 0, 763, 88,
- 38, 0, 31, 553, 552, 554, 551, 90, 0, 32
- };
- /* YYPGOTO[NTERM-NUM]. */
- static const yytype_int16 yypgoto[] =
- {
- -926, -926, -313, -926, -13, -926, -926, 785, -128, -926,
- 104, -430, 449, -126, -926, -926, -155, -926, -926, -228,
- -926, -926, -926, 773, -926, -926, -926, -926, -926, -608,
- -926, -926, -111, -926, -926, -926, -926, 218, 409, -636,
- -926, -703, -728, -349, -576, -926, -142, -926, 30, -513,
- -926, -510, -925, -926, -428, 265, -648, 312, -218, 93,
- -82, -10, 22, -279, -640, 786, 1002, -159, -109, -926,
- -94, -926, -926, -926, -926, -171, -87, -926, -455, -926,
- -926, -18, -12, -926, -926, -926, -926, -32, -39, -926,
- -926, -715, -926, -103, -926, -561, -136, -60, 302, 715,
- -276, -926, -926, -926, 707, 13, 1196, -61, -492, -1
- };
- /* YYDEFGOTO[NTERM-NUM]. */
- static const yytype_int16 yydefgoto[] =
- {
- -1, 4, 5, 923, 924, 139, 528, 140, 141, 310,
- 142, 295, 296, 143, 536, 530, 755, 334, 714, 901,
- 348, 717, 720, 349, 921, 1428, 1497, 1104, 1335, 591,
- 982, 1087, 144, 331, 705, 706, 707, 708, 709, 756,
- 1253, 757, 786, 1076, 469, 470, 677, 678, 1094, 414,
- 740, 534, 934, 935, 471, 680, 730, 803, 813, 281,
- 282, 91, 92, 350, 182, 351, 93, 292, 94, 647,
- 95, 648, 829, 1029, 1030, 1283, 96, 97, 480, 476,
- 477, 98, 99, 145, 696, 877, 146, 100, 101, 102,
- 103, 741, 742, 929, 1243, 639, 358, 359, 1328, 215,
- 65, 681, 682, 230, 231, 1284, 1285, 628, 66, 147
- };
- /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule whose
- number is the opposite. If YYTABLE_NINF, syntax error. */
- static const yytype_int16 yytable[] =
- {
- 6, 214, 307, 683, 328, 713, 330, 509, 1244, 799,
- 284, 902, 185, 361, 773, 363, 364, 365, 366, 497,
- 368, 922, 370, 835, 372, 394, 183, 644, 990, 258,
- 1352, 259, 184, 352, 610, 189, 263, 291, 614, 104,
- 388, 775, 267, 268, 269, 608, 791, 790, 353, 272,
- 837, 396, 397, 1394, 516, 354, 645, 404, 405, 718,
- -755, 233, -756, 411, 651, 260, 150, 679, 618, 849,
- 407, 1017, -757, 556, 407, 910, 772, 912, 913, 914,
- 915, 916, 407, 906, -95, 412, -95, 155, -95, 408,
- 283, 283, 557, 595, 413, 151, 822, 261, 293, 823,
- 1073, 1044, 521, 264, 407, 286, 287, 288, 407, 809,
- 357, 148, 940, 941, 810, 983, 984, 985, 986, 1074,
- 407, 243, 1110, 1257, 355, 820, 407, 1258, 152, 149,
- 356, -755, 153, -756, -755, 1004, -756, 608, 797, 1259,
- 1111, 904, 407, -757, 907, 1260, -757, 360, 360, 1381,
- 360, 360, 360, 360, 154, 360, 1413, 360, 987, 360,
- 156, 1301, 1385, 447, 258, 448, 259, 449, 1382, 267,
- 268, 269, 272, 988, 989, 360, 608, 798, 440, 441,
- 157, 1386, 1353, 293, 158, 190, 360, 360, 687, 352,
- 1082, 801, 360, 360, 457, 459, 438, 539, 159, 243,
- 838, 619, 850, 1395, 353, 885, 719, 1388, 289, 160,
- 450, 354, 301, 302, 303, 734, 304, 306, 308, -758,
- 352, 312, 161, 519, 352, 520, 1389, 267, 319, 162,
- 415, 491, 163, 325, 326, 353, 329, 332, 333, 353,
- 337, 338, 354, 164, 992, 290, 354, 993, 1020, 407,
- 413, 481, 255, 256, 257, 638, 572, 165, 1023, 283,
- 283, 166, 407, 1103, 186, 819, 357, 167, 1474, 1099,
- 472, 216, 217, 218, 455, 283, 283, 455, 455, 474,
- 355, 1510, 1013, 1014, 478, 1093, 356, 1423, 1424, 1425,
- -758, 451, 1267, -758, 538, 407, 10, 357, 11, 285,
- 809, 357, 473, 1247, 994, 452, 1, 2, 3, 168,
- 453, 355, 926, 927, 1511, 355, 407, 356, 273, 6,
- 274, 356, 275, 407, 1518, 219, 252, 253, 254, 407,
- 255, 256, 257, 525, 827, 1512, 169, 220, 221, 170,
- 1552, 407, 1513, 1519, 171, 1106, 1005, 407, 1530, 736,
- 172, 737, 738, 739, 407, 293, 173, 1105, 683, 1553,
- 1563, 407, 174, 1262, 1010, 276, 1564, 825, 454, 456,
- 458, 460, 461, 1565, 222, 223, 175, 224, 809, 1019,
- 1566, 176, 225, 884, 226, 187, 531, 188, 532, 1096,
- 533, 360, 1097, 1339, 1261, 796, -95, 531, -95, 532,
- -95, 991, 191, 306, 312, 988, 989, 1100, 192, 499,
- 193, 592, 988, 989, 1251, 814, 815, 816, 817, 818,
- 1436, 194, 679, 286, 287, 288, 747, -274, 1254, 262,
- 748, 917, 918, 1268, 988, 989, 1332, 271, 1413, 1271,
- 1272, 819, 1022, 481, 455, 298, 277, 309, 455, 455,
- 455, 455, 455, 1102, 918, 612, 472, 1367, 1368, 1369,
- 278, 313, 455, 314, 731, 279, 455, 455, 1108, 1109,
- 280, 629, 315, 749, 641, 758, 988, 989, 491, 316,
- 710, 216, 217, 218, 317, 472, 322, 613, 473, 318,
- 1331, 900, 323, 1334, 684, 324, 327, 389, 1269, 1270,
- 6, 406, 391, 392, 398, 286, 287, 288, 892, 413,
- 631, 711, 893, 445, 723, 475, -273, 473, 482, 494,
- 493, 495, 510, 512, 732, 750, 289, 6, 1336, 522,
- 523, 527, 535, 1350, 407, 219, 541, 352, 600, 587,
- 540, 542, 603, 604, 605, 606, 607, 220, 221, 543,
- 547, 544, 353, 549, 751, 894, 609, 545, 546, 354,
- 615, 616, 548, 554, 1071, 1420, 1421, 1422, 752, 1423,
- 1424, 1425, 558, 753, 550, 551, 1012, 552, 754, 553,
- 472, 555, 574, 559, 222, 223, 560, 224, 415, 474,
- 787, 580, 225, 1021, 226, 561, 562, 650, 563, 564,
- 455, 793, 565, 566, 567, 568, 569, 641, 289, 472,
- 575, 629, 473, 576, 357, 846, 592, 578, 579, 581,
- 629, 629, 629, 629, 629, 629, 415, 902, 355, 583,
- 584, 185, 590, 794, 356, 597, 895, 415, 1265, 601,
- 599, 473, -275, 608, 649, 183, 6, 830, 617, 685,
- 896, 184, 643, 758, 646, 897, 688, 712, 758, 689,
- 898, 690, 731, 691, 731, 731, 731, 731, 731, 1084,
- 692, 710, 715, 693, 694, 735, 814, 815, 816, 817,
- 818, 759, 286, 287, 288, 620, 761, 758, 758, 621,
- 758, 758, 758, 758, 789, 6, 767, 1358, 762, 1359,
- 769, 995, 996, 768, 770, 771, 792, 472, 629, 1000,
- 472, 1001, 1505, 1506, 1507, 802, 474, 64, 811, 474,
- 481, 821, 732, 1504, 732, 732, 732, 732, 732, -364,
- 1431, 824, 622, 630, 832, 631, 828, 632, 840, 473,
- 833, 930, 473, 185, 937, 834, 836, 1440, 1441, 1442,
- 839, 878, 848, 879, 880, 787, 415, 183, 881, 1429,
- 1085, 683, 1086, 184, 882, 883, 886, 888, 889, 905,
- 903, 195, 196, 197, 198, 199, 911, 1088, 234, 908,
- 633, 919, 472, 928, 627, 289, 931, 932, 939, 874,
- 875, 997, 629, 998, 415, 415, 999, 1002, 787, 1006,
- 1007, 629, 483, 484, 485, 1008, 1009, 1015, 641, 1016,
- 1025, 809, 1069, 623, 473, 819, -282, 1329, 641, 1028,
- 1035, 1559, 1500, 1043, 1037, 679, 1072, 624, 1031, 1503,
- 1567, 1091, 625, 1075, 1078, 1508, 1509, 626, 1079, 1080,
- 472, 1092, 1098, 1101, 758, 918, 1112, 1113, 1246, 1248,
- 731, 1249, 1498, 1252, 1256, 1107, 219, 710, 1250, 1264,
- 1245, 634, 1287, 1274, 1273, 1276, 1275, 1289, 220, 221,
- 1286, 1288, 473, 1290, 1021, 635, 6, 1304, 758, 1077,
- 636, 1292, 1296, 1305, 1294, 637, 629, 1306, 1295, 1297,
- 1307, 1534, 629, 629, 629, 629, 629, 629, 1095, 1291,
- 1308, 415, 1309, 1310, 1311, 488, 223, 403, 224, 1312,
- 732, 472, 1330, 225, 1333, 226, 1337, 641, 1338, 1355,
- 474, 1532, 1263, 1348, 795, 1549, 286, 287, 288, 724,
- 241, 242, 937, 725, 804, 805, 806, 807, 808, 1344,
- 1558, 243, 290, 473, 1354, 1356, 1357, 1370, 1373, 1374,
- 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
- 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
- 436, 185, 439, 1371, 1341, 1342, 726, 443, 1376, 1375,
- 1378, 1377, 1383, 1380, 1384, 183, 1387, 1390, 641, 1391,
- 1427, 184, 329, 1392, 1393, 1430, 1396, 1432, 1433, 472,
- 1438, 592, 1457, 283, 1456, 472, 472, 1458, 474, 1434,
- 415, 415, 1437, 498, 474, 474, 1459, 1439, 1443, 1444,
- 1460, 899, 1463, 1461, 1462, 1464, 1469, 1473, 1501, 289,
- 1499, 473, 1502, 1514, 360, 1516, 1517, 473, 473, 1520,
- 1521, 1522, 511, 1523, 1525, 1329, 1329, 1329, 1329, 1329,
- 1535, 1329, 1527, 1536, 1526, 1538, 1533, 727, 1537, 1539,
- 1540, 1541, 1542, 213, 1543, 1544, 250, 251, 252, 253,
- 254, 728, 255, 256, 257, 1550, 729, 1545, 1546, 1560,
- 1561, 1548, 1095, 1562, 237, 238, 239, 240, 241, 242,
- 1551, 629, 1568, 1569, 472, 500, 1340, 592, 831, 243,
- 592, 1349, 1426, 474, 570, 1011, 515, 1089, 1515, 360,
- 360, 1347, 887, 1313, 1018, 1046, 1372, 1343, 589, 517,
- 0, 585, 586, 0, 0, 0, 473, 0, 593, 1329,
- 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329,
- 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 0, 0,
- 0, 0, 362, 0, 0, 0, 0, 367, 0, 369,
- 0, 371, 0, 373, 374, 375, 376, 377, 378, 379,
- 380, 381, 382, 383, 384, 385, 386, 387, 0, 0,
- 1351, 0, 0, 216, 217, 218, 0, 0, 395, 0,
- 640, 0, 400, 401, 402, 758, 0, 1329, 0, 1083,
- 0, 1409, 1410, 1411, 1412, 0, 804, 805, 806, 807,
- 808, 0, 0, 0, 1413, 0, 216, 217, 218, 930,
- 246, 247, 248, 249, 250, 251, 252, 253, 254, 0,
- 255, 256, 257, 0, 0, 0, 0, 219, 722, 0,
- 0, 0, 0, 472, 0, 0, 0, 0, 746, 220,
- 221, 0, 684, 1329, 0, 0, 0, 0, 232, 0,
- 787, 283, 0, 472, 0, 472, 1403, 0, 0, 758,
- 219, 0, 474, 444, 474, 473, 0, 0, 0, 0,
- 0, 270, 220, 221, 0, 6, 222, 223, 0, 224,
- 0, 1361, 1363, 1365, 225, 473, 226, 473, 0, 0,
- 0, 297, 0, 0, 216, 217, 218, 0, 0, 788,
- 0, 0, 0, 1452, 1453, 0, 1454, 0, 1455, 222,
- 223, 321, 224, 640, 227, 472, 0, 225, 228, 226,
- 0, 336, 0, 229, 474, 0, 0, 592, 0, 1418,
- 1419, 1420, 1421, 1422, 937, 1423, 1424, 1425, 0, 479,
- 0, 0, 0, 320, 592, 592, 592, 473, 219, 0,
- 0, 826, 0, 0, 1495, 216, 217, 218, 0, 0,
- 220, 221, 0, 1445, 0, 1446, 390, 1447, 0, 393,
- 1448, 1449, 1450, 0, 0, 0, 841, 842, 843, 844,
- 0, 847, 70, 571, 71, 72, 73, 0, 0, 0,
- 0, 0, 0, 0, 1018, 0, 0, 222, 223, 0,
- 224, 0, 0, 0, 0, 225, 0, 226, 472, 219,
- 0, 0, 80, 0, 409, 410, 0, 474, 0, 592,
- 0, 220, 221, 0, 0, 0, 592, 0, 266, 787,
- 787, 787, 592, 592, 0, 0, 0, 0, 0, 588,
- 473, 0, 0, 0, 229, 0, 1077, 0, 82, 83,
- 936, 236, 237, 238, 239, 240, 241, 242, 222, 223,
- 446, 224, 0, 0, 0, 88, 225, 243, 226, 0,
- 90, 0, 1554, 1555, 1556, 0, 1557, 472, 490, 0,
- 492, 0, 0, 0, 0, 0, 474, 0, 592, 0,
- 0, 0, 501, 0, 0, 0, 0, 502, 0, 503,
- 504, 505, 506, 507, 508, 0, 0, 0, 0, 473,
- 0, 0, 716, 0, 640, 0, 0, 0, 0, 733,
- 0, 518, 592, 0, 640, 0, 0, 0, 1024, 0,
- 526, 0, 0, 529, 0, 0, 0, 592, 787, 0,
- 0, 537, 0, 0, 0, 1042, 763, 787, 764, 0,
- 765, 0, 0, 0, 0, 0, 1047, 1048, 1049, 1050,
- 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060,
- 1061, 1062, 1063, 1064, 1065, 1066, 1067, 0, 1070, 0,
- 573, 0, 0, 0, 577, 0, 0, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 232, 255, 256,
- 257, 235, 236, 237, 238, 239, 240, 241, 242, 0,
- 0, 0, 0, 1397, 1398, 1399, 1400, 1401, 243, 1404,
- 1411, 1412, 0, 640, 0, 0, 0, 0, 0, 0,
- 0, 1413, 0, 0, 602, 0, 0, 0, 936, 239,
- 240, 241, 242, 0, 0, 0, 0, 0, 0, 0,
- 297, 0, 243, 0, 0, 0, 1407, 1408, 1409, 1410,
- 1411, 1412, 642, 0, 0, 0, 0, 845, 0, 0,
- 0, 1413, 297, 0, 0, 0, 0, 0, 0, 0,
- 297, 243, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 640, 0, 1255, 1475, 1476, 1477,
- 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487,
- 1488, 1489, 1490, 1491, 1492, 1493, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 760, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 1299, 255,
- 256, 257, 0, 0, 0, 596, 1418, 1419, 1420, 1421,
- 1422, 0, 1423, 1424, 1425, 1528, 0, 0, 0, 0,
- 0, 0, 0, 0, 409, 248, 249, 250, 251, 252,
- 253, 254, 0, 255, 256, 257, 7, 8, 9, 10,
- 0, 11, 12, 13, 200, 68, 1418, 1419, 1420, 1421,
- 1422, 0, 1423, 1424, 1425, 0, 250, 251, 252, 253,
- 254, 0, 255, 256, 257, 0, 0, 812, 0, 0,
- 0, 1547, 0, 0, 1032, 1033, 1034, 0, 1036, 0,
- 1039, 1040, 1041, 15, 69, 297, 0, 201, 0, 202,
- 203, 204, 74, 75, 0, 20, 76, 0, 0, 205,
- 22, 0, 0, 78, 0, 0, 0, 0, 23, 24,
- 206, 0, 0, 0, 26, 0, 0, 207, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 208, 0, 0, 0, 0, 0, 0,
- 0, 0, 44, 891, 45, 0, 46, 0, 0, 0,
- 0, 47, 0, 209, 210, 50, 0, 0, 51, 84,
- 0, 0, 0, 52, 0, 0, 53, 85, 86, 87,
- 211, 0, 0, 89, 925, 212, 0, 0, 0, 7,
- 8, 9, 10, 0, 11, 12, 13, 496, 56, 0,
- 0, 57, 58, 59, 0, 0, 60, 0, 61, 62,
- 0, 1346, 63, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 297, 0, 235, 236, 237, 238, 239, 240,
- 241, 242, 0, 0, 0, 0, 15, 341, 0, 0,
- 201, 243, 202, 203, 204, 74, 0, 0, 20, 342,
- 0, 0, 205, 22, 0, 0, 78, 0, 0, 0,
- 0, 23, 24, 206, 0, 1379, 0, 26, 0, 0,
- 207, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 208, 0, 0, 0,
- 0, 0, 0, 0, 0, 44, 0, 45, 0, 46,
- 0, 0, 0, 0, 47, 0, 209, 210, 50, 0,
- 936, 51, 84, 0, 0, 0, 52, 0, 0, 53,
- 344, 345, 87, 211, 0, 0, 89, 0, 212, 0,
- 0, 0, 7, 8, 9, 10, 1090, 11, 12, 13,
- 14, 56, 0, 1314, 57, 58, 59, 0, 0, 60,
- 0, 61, 62, 0, 0, 63, 0, 0, 0, 0,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 0, 255, 256, 257, 0, 0, 0, 1302, 15,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
- 1496, 20, 0, 743, 744, 21, 22, 0, 0, 1413,
- 0, 0, 0, 0, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
- 45, 0, 46, 0, 0, 0, 0, 47, 0, 48,
- 49, 50, 1266, 0, 51, 339, 340, 0, 0, 52,
- 0, 0, 53, 0, 0, 0, 54, 0, 0, 0,
- 0, 55, 0, 0, 0, 70, 745, 71, 72, 73,
- 0, 0, 0, 1293, 56, 0, 0, 57, 58, 59,
- 0, 0, 60, 774, 61, 62, 341, 0, 63, 70,
- 0, 71, 72, 73, 74, 80, 0, 0, 342, 775,
- 0, 77, 0, 0, 0, 78, 0, 0, 0, 0,
- 0, 266, 79, 776, 1418, 1419, 1420, 1421, 1422, 80,
- 1423, 1424, 1425, 0, 0, 0, 777, 778, 0, 0,
- 0, 82, 83, 0, 70, 81, 71, 72, 73, 0,
- 0, 0, 779, 0, 0, 925, 265, 343, 88, 0,
- 0, 0, 0, 90, 0, 82, 83, 0, 0, 0,
- 0, 84, 0, 0, 80, 0, 0, 0, 1402, 344,
- 345, 87, 88, 780, 0, 89, 781, 90, 0, 782,
- 266, 0, 346, 0, 0, 235, 236, 237, 238, 239,
- 240, 241, 242, 0, 0, 783, 0, 0, 347, 0,
- 82, 83, 243, 0, 0, 0, 0, 784, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
- 0, 785, 90, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1465, 1466, 1467, 1468, 0, 1471, 1472, 1114,
- 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124,
- 0, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133,
- 1134, 1135, 0, 0, 0, 0, 0, 0, 0, 1136,
- 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146,
- 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 0, 0,
- 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164,
- 1165, 1166, 1167, 1168, 1169, 0, 1170, 0, 1171, 1172,
- 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1366, 1180, 1181,
- 1182, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 0, 255, 256, 257, 1183, 0, 0, 1531,
- 0, 0, 0, 1184, 1185, 1186, 0, 1187, 1188, 1189,
- 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
- 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
- 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
- 0, 0, 0, 1220, 1221, 1222, 1223, 1224, 1225, 1226,
- 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236,
- 1237, 1238, 1239, 1240, 1435, 1241, 1242, 1114, 1115, 1116,
- 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 0, 1125,
- 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135,
- 0, 0, 0, 0, 0, 0, 0, 1136, 1137, 1138,
- 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148,
- 1149, 1150, 1151, 1152, 1153, 1154, 0, 0, 1155, 1156,
- 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166,
- 1167, 1168, 1169, 0, 1170, 0, 1171, 1172, 1173, 1174,
- 1175, 1176, 1177, 1178, 1179, 0, 1180, 1181, 1182, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1183, 1524, 0, 0, 0, 0,
- 0, 1184, 1185, 1186, 0, 1187, 1188, 1189, 1190, 1191,
- 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201,
- 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
- 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 0, 0,
- 0, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
- 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
- 1239, 1240, 0, 1241, 1242, 7, 8, 9, 10, 0,
- 11, 12, 13, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
- 239, 240, 241, 242, 0, 0, 0, 0, 0, 0,
- 0, 0, 15, 243, 0, 0, 16, 0, 17, 18,
- 19, 0, 0, 0, 20, 0, 0, 0, 21, 22,
- 0, 0, 0, 0, 0, 0, 0, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 44, 0, 45, 0, 46, 0, 0, 0, 0,
- 47, 0, 48, 49, 50, 0, 0, 51, 0, 0,
- 0, 0, 52, 0, 0, 53, 0, 0, 0, 54,
- 7, 8, 9, 10, 55, 11, 12, 13, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
- 57, 58, 59, 0, 0, 60, 0, 61, 62, 437,
- 594, 63, 244, 245, 246, 247, 248, 249, 250, 251,
- 252, 253, 254, 0, 255, 256, 257, 15, 442, 0,
- 0, 16, 0, 17, 18, 19, 0, 0, 0, 20,
- 0, 0, 0, 21, 22, 0, 0, 0, 0, 0,
- 0, 0, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 44, 0, 45, 0,
- 46, 0, 0, 0, 0, 47, 0, 48, 49, 50,
- 0, 0, 51, 0, 0, 0, 0, 52, 0, 0,
- 53, 0, 0, 0, 54, 7, 8, 9, 10, 55,
- 11, 12, 13, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 56, 0, 0, 57, 58, 59, 0, 0,
- 60, 0, 61, 62, 0, 0, 63, 0, 0, 0,
- 235, 236, 237, 238, 239, 240, 241, 242, 0, 0,
- 0, 0, 15, 721, 0, 0, 16, 243, 17, 18,
- 19, 0, 0, 0, 20, 0, 0, 0, 21, 22,
- 0, 0, 0, 0, 0, 0, 0, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 44, 0, 45, 0, 46, 0, 0, 0, 0,
- 47, 0, 48, 49, 50, 0, 0, 51, 0, 0,
- 0, 0, 52, 0, 0, 53, 0, 0, 0, 54,
- 7, 8, 9, 10, 55, 11, 12, 13, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
- 57, 58, 59, 0, 0, 60, 0, 61, 62, 0,
- 0, 63, 0, 938, 0, 0, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 15, 255, 256,
- 257, 16, 0, 17, 18, 19, 0, 0, 0, 20,
- 0, 0, 0, 21, 22, 0, 0, 0, 0, 0,
- 0, 0, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 44, 0, 45, 0,
- 46, 0, 0, 0, 0, 47, 0, 48, 49, 50,
- 0, 0, 51, 0, 0, 0, 0, 52, 0, 0,
- 53, 0, 0, 0, 54, 7, 8, 9, 10, 55,
- 11, 12, 13, 14, 933, 0, 0, 0, 0, 0,
- 0, 0, 56, 0, 0, 57, 58, 59, 0, 0,
- 60, 0, 61, 62, 0, 0, 63, 0, 0, 0,
- 235, 236, 237, 238, 239, 240, 241, 242, 0, 0,
- 0, 0, 15, 0, 0, 0, 16, 243, 17, 18,
- 19, 0, 0, 0, 20, 0, 0, 0, 21, 22,
- 0, 0, 0, 0, 0, 0, 0, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 44, 0, 45, 0, 46, 0, 0, 0, 0,
- 47, 0, 48, 49, 50, 0, 0, 51, 0, 0,
- 0, 0, 52, 0, 0, 53, 0, 0, 0, 54,
- 7, 8, 9, 10, 55, 11, 12, 13, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
- 57, 58, 59, 0, 0, 60, 0, 61, 62, 1068,
- 0, 63, 1277, 0, 0, 0, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 15, 255, 256,
- 257, 16, 0, 17, 18, 19, 0, 0, 0, 20,
- 0, 0, 0, 21, 22, 0, 0, 0, 0, 0,
- 0, 0, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 44, 0, 45, 0,
- 46, 0, 0, 0, 0, 47, 0, 48, 49, 50,
- 0, 0, 51, 0, 0, 0, 0, 52, 0, 0,
- 53, 0, 0, 0, 54, 7, 8, 9, 10, 55,
- 11, 12, 13, 14, 1345, 0, 0, 0, 0, 0,
- 0, 0, 56, 0, 0, 57, 58, 59, 0, 0,
- 60, 0, 61, 62, 0, 0, 63, 0, 0, 0,
- 235, 236, 237, 238, 239, 240, 241, 242, 0, 0,
- 0, 0, 15, 0, 0, 0, 16, 243, 17, 18,
- 19, 0, 0, 0, 20, 0, 0, 0, 21, 22,
- 0, 0, 0, 0, 0, 0, 0, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 44, 0, 45, 0, 46, 0, 0, 0, 0,
- 47, 0, 48, 49, 50, 0, 0, 51, 0, 0,
- 0, 0, 52, 0, 0, 53, 0, 0, 0, 54,
- 7, 8, 9, 10, 55, 11, 12, 13, 14, 0,
- 0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
- 57, 58, 59, 0, 0, 60, 0, 61, 62, 1494,
- 0, 63, 0, 0, 1300, 0, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 15, 255, 256,
- 257, 16, 0, 17, 18, 19, 0, 0, 0, 20,
- 0, 0, 0, 21, 22, 0, 0, 0, 0, 0,
- 0, 0, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 44, 0, 45, 0,
- 46, 0, 0, 0, 0, 47, 0, 48, 49, 50,
- 0, 0, 51, 0, 0, 0, 0, 52, 0, 0,
- 53, 0, 0, 0, 54, 652, 653, 654, 10, 55,
- 11, 655, 656, 67, 68, 0, 0, 657, 0, 0,
- 0, 0, 56, 0, 0, 57, 58, 59, 0, 0,
- 60, 0, 61, 62, 0, 0, 63, 235, 236, 237,
- 238, 239, 240, 241, 242, 0, 0, 0, 0, 464,
- 0, 0, 658, 69, 243, 0, 70, 0, 71, 72,
- 73, 74, 465, 0, 659, 76, 0, 0, 77, 660,
- 0, 0, 78, 0, 0, 0, 0, 661, 662, 79,
- 0, 0, 0, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
- 0, 0, 81, 0, 0, 0, 0, 0, 0, 243,
- 0, 663, 0, 664, 0, 665, 0, 0, 0, 466,
- 666, 0, 82, 83, 667, 0, 0, 668, 84, 0,
- 0, 0, 669, 0, 0, 670, 85, 86, 87, 88,
- 0, 0, 89, 0, 90, 0, 652, 653, 654, 10,
- 0, 11, 655, 656, 67, 68, 0, 671, 1045, 0,
- 672, 673, 0, 0, 0, 674, 0, 675, 0, 697,
- 0, 676, 0, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 0, 255, 256, 257, 698, 0,
- 464, 0, 0, 658, 69, 0, 0, 70, 0, 71,
- 72, 73, 74, 465, 0, 659, 76, 0, 0, 77,
- 660, 0, 0, 78, 0, 0, 0, 0, 661, 662,
- 79, 0, 0, 774, 0, 0, 0, 80, 244, 245,
- 246, 247, 248, 249, 250, 251, 252, 253, 254, 0,
- 255, 256, 257, 81, 0, 0, 0, 0, 0, 0,
- 0, 0, 663, 776, 664, 0, 665, 0, 0, 0,
- 466, 666, 0, 82, 83, 667, 777, 778, 668, 84,
- 0, 0, 0, 669, 0, 0, 670, 85, 86, 87,
- 88, 0, 779, 89, 0, 90, 7, 8, 9, 10,
- 0, 11, 12, 13, 0, 0, 0, 0, 671, 0,
- 0, 672, 673, 0, 0, 0, 674, 0, 675, 0,
- 0, 0, 676, 780, 0, 0, 781, 0, 0, 782,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1315, 0, 783, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1316, 0, 784, 0, 0,
- 1317, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 23, 24,
- 0, 785, 0, 0, 26, 0, 0, 1413, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 235, 236, 237, 238, 239, 240, 241,
- 242, 0, 0, 0, 45, 0, 46, 0, 0, 0,
- 243, 1318, 0, 0, 0, 1319, 0, 0, 1320, 0,
- 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1321, 0,
- 0, 1322, 1323, 1324, 942, 0, 1325, 0, 1326, 62,
- 0, 0, 1327, 0, 943, 944, 945, 946, 947, 948,
- 949, 950, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 951, 0, 952, 953, 954, 955, 956, 957, 958,
- 959, 960, 961, 962, 963, 0, 0, 1415, 1416, 1417,
- 0, 0, 1418, 1419, 1420, 1421, 1422, 0, 1423, 1424,
- 1425, 0, 0, 964, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 339, 340, 0, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 0, 255, 256, 257, 582, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 965, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 341, 0, 0,
- 70, 0, 71, 72, 73, 74, 0, 0, 0, 342,
- 0, 0, 77, 0, 0, 0, 78, 0, 0, 0,
- 0, 0, 0, 79, 0, 0, 966, 0, 0, 967,
- 80, 968, 969, 970, 971, 972, 973, 974, 975, 976,
- 977, 978, 0, 979, 980, 0, 81, 981, 513, 514,
- 0, 0, 0, 0, 0, 0, 0, 0, 343, 0,
- 0, 0, 0, 0, 0, 0, 82, 83, 0, 0,
- 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,
- 344, 345, 87, 88, 0, 0, 89, 0, 90, 341,
- 0, 0, 70, 0, 71, 72, 73, 74, 0, 0,
- 0, 342, 0, 0, 77, 0, 0, 0, 78, 347,
- 0, 0, 0, 0, 0, 79, 0, 0, 0, 0,
- 0, 0, 80, 235, 236, 237, 238, 239, 240, 241,
- 242, 0, 0, 0, 0, 0, 0, 0, 81, 0,
- 243, 0, 0, 0, 0, 216, 217, 218, 0, 0,
- 343, 0, 0, 0, 0, 0, 0, 0, 82, 83,
- 0, 0, 0, 0, 84, 0, 0, 0, 0, 0,
- 0, 0, 344, 345, 87, 88, 0, 0, 89, 0,
- 90, 235, 236, 237, 238, 239, 240, 241, 242, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 243, 219,
- 0, 347, 235, 236, 237, 238, 239, 240, 241, 242,
- 0, 220, 221, 0, 0, 0, 0, 0, 0, 243,
- 235, 236, 237, 238, 239, 240, 241, 242, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 243, 235, 236,
- 237, 238, 239, 240, 241, 242, 0, 0, 222, 223,
- 0, 224, 0, 0, 0, 243, 225, 0, 226, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 0, 255, 256, 257, 598, 235, 236, 237, 238, 239,
- 240, 241, 242, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 243, 851, 852, 853, 854, 855, 856, 857,
- 858, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 859, 0, 0, 0, 0, 0, 0, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 0, 255,
- 256, 257, 686, 0, 0, 0, 0, 0, 244, 245,
- 246, 247, 248, 249, 250, 251, 252, 253, 254, 0,
- 255, 256, 257, 766, 0, 0, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 0, 255, 256,
- 257, 909, 0, 0, 244, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 0, 255, 256, 257, 1026,
- 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0,
- 0, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 0, 255, 256, 257, 1298, 0, 0, 860,
- 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
- 0, 871, 872, 873, 1405, 1406, 1407, 1408, 1409, 1410,
- 1411, 1412, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1413, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 237, 238, 239, 240, 241, 242, 0, 0, 0, 0,
- 0, 0, 0, 0, 1529, 243, 1414, 1415, 1416, 1417,
- 0, 0, 1418, 1419, 1420, 1421, 1422, 0, 1423, 1424,
- 1425, 105, 0, 106, 0, 0, 107, 108, 0, 0,
- 0, 0, 0, 0, 109, 110, 237, 238, 239, 240,
- 241, 242, 0, 111, 0, 112, 113, 114, 115, 0,
- 0, 243, 116, 0, 0, 0, 0, 117, 0, 0,
- 1414, 1415, 1416, 1417, 0, 0, 1418, 1419, 1420, 1421,
- 1422, 0, 1423, 1424, 1425, 118, 119, 120, 121, 122,
- 123, 124, 125, 0, 0, 0, 0, 0, 126, 127,
- 128, 129, 0, 0, 0, 0, 0, 130, 131, 67,
- 68, 132, 133, 462, 0, 463, 134, 0, 0, 0,
- 0, 0, 135, 136, 0, 137, 0, 0, 0, 0,
- 0, 0, 0, 138, 0, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 464, 255, 256, 257, 69,
- 0, 0, 70, 0, 71, 72, 73, 74, 465, 0,
- 0, 76, 0, 0, 77, 0, 0, 0, 78, 0,
- 0, 0, 0, 0, 0, 79, 1407, 1408, 1409, 1410,
- 1411, 1412, 80, 247, 248, 249, 250, 251, 252, 253,
- 254, 1413, 255, 256, 257, 216, 217, 218, 81, 237,
- 238, 239, 240, 241, 242, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 243, 466, 0, 0, 82, 83,
- 0, 0, 0, 0, 84, 0, 1407, 1408, 1409, 1410,
- 1411, 1412, 85, 86, 87, 88, 0, 0, 89, 0,
- 90, 1413, 1407, 1408, 1409, 1410, 1411, 1412, 0, 219,
- 0, 0, 0, 467, 0, 0, 0, 1413, 468, 0,
- 0, 220, 221, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 483, 484, 485, 335, 0, 0, 0, 0, 222, 223,
- 0, 224, 0, 0, 0, 0, 225, 0, 226, 0,
- 0, 1415, 1416, 1417, 0, 0, 1418, 1419, 1420, 1421,
- 1422, 0, 1423, 1424, 1425, 0, 0, 486, 0, 487,
- 0, 0, 0, 0, 0, 0, 0, 248, 249, 250,
- 251, 252, 253, 254, 219, 255, 256, 257, 0, 0,
- 0, 0, 0, 0, 0, 0, 220, 221, 0, 305,
- 0, 0, 1416, 1417, 0, 0, 1418, 1419, 1420, 1421,
- 1422, 0, 1423, 1424, 1425, 0, 305, 0, 0, 1417,
- 0, 0, 1418, 1419, 1420, 1421, 1422, 0, 1423, 1424,
- 1425, 0, 0, 488, 223, 0, 224, 0, 0, 0,
- 105, 225, 106, 226, 0, 0, 108, 0, 0, 0,
- 0, 0, 0, 109, 110, 0, 0, 105, 70, 106,
- 71, 72, 73, 108, 112, 113, 114, 489, 0, 0,
- 109, 110, 0, 0, 0, 0, 300, 0, 0, 0,
- 0, 112, 299, 114, 0, 0, 0, 0, 80, 0,
- 0, 0, 0, 300, 216, 217, 218, 0, 0, 0,
- 124, 0, 0, 0, 266, 0, 399, 67, 68, 0,
- 129, 0, 0, 0, 0, 0, 130, 124, 0, 0,
- 132, 133, 0, 0, 82, 83, 0, 129, 0, 0,
- 0, 0, 136, 130, 137, 1038, 67, 68, 133, 0,
- 0, 88, 0, 0, 0, 0, 90, 69, 219, 136,
- 70, 137, 71, 72, 73, 74, 75, 0, 0, 76,
- 220, 221, 77, 0, 0, 0, 78, 0, 0, 187,
- 0, 0, 0, 79, 0, 0, 69, 0, 0, 70,
- 80, 71, 72, 73, 74, 75, 0, 0, 76, 0,
- 0, 77, 0, 0, 0, 78, 81, 222, 1278, 1279,
- 1280, 0, 79, 0, 0, 225, 0, 226, 0, 80,
- 0, 0, 0, 0, 0, 0, 82, 83, 1281, 0,
- 0, 0, 84, 1282, 0, 81, 0, 1470, 67, 68,
- 85, 86, 87, 88, 0, 0, 89, 0, 90, 0,
- 0, 0, 0, 0, 0, 82, 83, 0, 0, 0,
- 0, 84, 0, 0, 0, 0, 699, 700, 701, 85,
- 86, 87, 88, 0, 0, 89, 0, 90, 69, 0,
- 0, 70, 0, 71, 72, 73, 74, 75, 0, 0,
- 76, 0, 0, 77, 0, 0, 0, 78, 699, 700,
- 701, 0, 0, 0, 79, 0, 0, 0, 0, 0,
- 70, 80, 71, 72, 73, 702, 703, 0, 0, 0,
- 0, 0, 77, 0, 0, 0, 0, 81, 0, 0,
- 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
- 80, 0, 70, 0, 71, 72, 73, 82, 83, 0,
- 0, 0, 0, 84, 77, 0, 81, 0, 0, 0,
- 0, 85, 86, 87, 88, 79, 0, 89, 0, 90,
- 0, 0, 80, 0, 67, 68, 82, 83, 462, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
- 704, 0, 0, 88, 0, 0, 89, 0, 90, 0,
- 0, 0, 0, 67, 68, 0, 0, 800, 82, 83,
- 464, 0, 0, 0, 69, 0, 0, 70, 0, 71,
- 72, 73, 74, 465, 0, 88, 76, 0, 89, 77,
- 90, 0, 0, 78, 0, 0, 0, 0, 0, 464,
- 79, 0, 0, 69, 0, 0, 70, 80, 71, 72,
- 73, 74, 465, 0, 0, 76, 0, 0, 77, 0,
- 0, 0, 78, 81, 0, 0, 0, 0, 0, 79,
- 0, 0, 0, 0, 0, 0, 80, 0, 0, 0,
- 466, 0, 0, 82, 83, 216, 217, 218, 0, 84,
- 0, 0, 81, 0, 0, 67, 68, 85, 86, 87,
- 88, 0, 0, 89, 0, 90, 0, 0, 0, 466,
- 0, 0, 82, 83, 0, 0, 0, 0, 84, 70,
- 0, 71, 72, 73, 67, 68, 85, 86, 87, 88,
- 0, 464, 89, 0, 90, 69, 0, 0, 70, 219,
- 71, 72, 73, 74, 465, 0, 0, 76, 0, 80,
- 77, 220, 221, 0, 78, 0, 0, 0, 0, 0,
- 0, 79, 0, 0, 69, 266, 0, 70, 80, 71,
- 72, 73, 74, 75, 0, 0, 76, 0, 0, 77,
- 0, 0, 0, 78, 81, 82, 83, 0, 222, 223,
- 79, 224, 0, 0, 0, 0, 225, 80, 226, 0,
- 0, 466, 88, 0, 82, 83, 0, 90, 0, 1281,
- 84, 67, 68, 81, 1360, 0, 0, 0, 85, 86,
- 87, 88, 0, 0, 89, 0, 90, 0, 0, 0,
- 188, 0, 0, 82, 83, 67, 68, 0, 0, 84,
- 0, 0, 0, 0, 0, 0, 0, 85, 86, 87,
- 88, 69, 0, 89, 70, 90, 71, 72, 73, 74,
- 0, 0, 0, 76, 0, 0, 77, 0, 0, 0,
- 78, 0, 0, 0, 0, 69, 0, 79, 70, 0,
- 71, 72, 73, 74, 80, 0, 0, 76, 0, 0,
- 77, 0, 0, 0, 78, 0, 0, 0, 0, 0,
- 81, 79, 0, 0, 0, 0, 0, 0, 80, 216,
- 217, 218, 0, 0, 0, 0, 0, 611, 0, 0,
- 82, 83, 67, 0, 81, 0, 84, 0, 0, 0,
- 0, 0, 0, 0, 85, 86, 87, 88, 0, 0,
- 89, 0, 90, 0, 82, 83, 0, 0, 0, 0,
- 84, 177, 0, 0, 0, 0, 0, 0, 85, 86,
- 87, 88, 69, 219, 89, 70, 90, 71, 72, 73,
- 74, 524, 0, 0, 76, 220, 221, 77, 0, 0,
- 0, 78, 0, 0, 0, 0, 0, 0, 79, 0,
- 0, 178, 0, 0, 70, 80, 71, 72, 73, 74,
- 1003, 0, 0, 179, 0, 0, 77, 0, 0, 0,
- 78, 81, 222, 223, 0, 224, 0, 79, 0, 0,
- 225, 0, 226, 0, 80, 0, 0, 0, 0, 0,
- 0, 82, 83, 1281, 0, 0, 0, 84, 177, 0,
- 81, 0, 0, 0, 0, 85, 86, 87, 88, 0,
- 0, 89, 0, 90, 0, 0, 0, 0, 0, 0,
- 82, 83, 67, 0, 0, 0, 84, 0, 0, 0,
- 216, 217, 218, 0, 180, 181, 87, 88, 178, 0,
- 89, 70, 90, 71, 72, 73, 74, 0, 0, 0,
- 179, 0, 70, 77, 71, 72, 73, 78, 0, 0,
- 0, 0, 69, 0, 79, 70, 0, 71, 72, 73,
- 74, 80, 0, 0, 76, 0, 0, 77, 0, 0,
- 0, 78, 80, 0, 219, 0, 0, 81, 79, 0,
- 216, 217, 218, 0, 0, 80, 220, 221, 266, 0,
- 0, 0, 0, 0, 216, 217, 218, 82, 83, 0,
- 0, 81, 0, 84, 0, 0, 0, 0, 82, 83,
- 0, 180, 181, 87, 88, 0, 0, 89, 0, 90,
- 0, 82, 83, 222, 223, 88, 224, 84, 0, 0,
- 90, 225, 0, 226, 219, 85, 86, 87, 88, 0,
- 0, 89, 0, 90, 1281, 0, 220, 221, 219, 1362,
- 0, 0, 0, 193, 0, 0, 0, 0, 0, 0,
- 220, 221, 0, 0, 0, 0, 0, 0, 0, 70,
- 0, 71, 72, 73, 0, 0, 0, 0, 0, 0,
- 0, 265, 0, 222, 223, 0, 224, 0, 0, 0,
- 0, 225, 0, 226, 0, 0, 0, 222, 223, 80,
- 224, 0, 0, 0, 1281, 225, 105, 226, 106, 1364,
- 0, 107, 108, 0, 0, 266, 0, 0, 0, 109,
- 110, 0, 294, 0, 0, 0, 0, 0, 111, 0,
- 112, 113, 114, 115, 0, 82, 83, 116, 0, 0,
- 0, 0, 117, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 88, 0, 0, 0, 0, 90, 0, 0,
- 118, 119, 120, 121, 122, 123, 124, 125, 0, 0,
- 0, 0, 0, 126, 127, 128, 129, 0, 0, 105,
- 176, 106, 130, 131, 107, 108, 132, 133, 0, 0,
- 0, 134, 109, 110, 0, 0, 0, 135, 136, 0,
- 137, 111, 0, 112, 113, 114, 115, 0, 138, 0,
- 116, 0, 0, 0, 0, 117, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 695, 0, 0,
- 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
- 125, 0, 0, 0, 0, 0, 126, 127, 128, 129,
- 0, 0, 105, 0, 106, 130, 131, 107, 108, 132,
- 133, 0, 0, 0, 134, 109, 110, 0, 0, 0,
- 135, 136, 0, 137, 111, 0, 112, 113, 114, 115,
- 0, 138, 0, 116, 0, 0, 0, 0, 117, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 876, 0, 0, 0, 0, 0, 118, 119, 120, 121,
- 122, 123, 124, 125, 0, 0, 0, 0, 0, 126,
- 127, 128, 129, 0, 0, 105, 0, 106, 130, 131,
- 107, 108, 132, 133, 0, 0, 0, 134, 109, 110,
- 0, 0, 0, 135, 136, 0, 137, 111, 0, 112,
- 113, 114, 115, 0, 138, 0, 116, 0, 0, 0,
- 0, 117, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 920, 0, 0, 0, 0, 0, 118,
- 119, 120, 121, 122, 123, 124, 125, 0, 0, 0,
- 0, 0, 126, 127, 128, 129, 0, 0, 105, 0,
- 106, 130, 131, 107, 108, 132, 133, 0, 0, 0,
- 134, 109, 110, 0, 0, 0, 135, 136, 0, 137,
- 111, 0, 112, 113, 114, 115, 0, 138, 0, 116,
- 0, 0, 0, 0, 117, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0,
- 0, 0, 118, 119, 120, 121, 122, 123, 124, 125,
- 0, 0, 0, 0, 0, 126, 127, 128, 129, 0,
- 0, 105, 0, 106, 130, 131, 107, 108, 132, 133,
- 0, 0, 0, 134, 109, 110, 0, 0, 0, 135,
- 136, 0, 137, 111, 0, 112, 113, 114, 115, 0,
- 138, 0, 116, 0, 0, 0, 0, 117, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1081,
- 0, 0, 0, 0, 0, 118, 119, 120, 121, 122,
- 123, 124, 125, 0, 0, 0, 0, 0, 126, 127,
- 128, 129, 0, 0, 105, 0, 106, 130, 131, 107,
- 108, 132, 133, 0, 0, 0, 134, 109, 110, 0,
- 0, 0, 135, 136, 0, 137, 111, 0, 112, 113,
- 114, 115, 0, 138, 0, 116, 0, 0, 0, 0,
- 117, 0, 0, 216, 217, 218, 0, 0, 890, 216,
- 217, 218, 1303, 0, 0, 0, 0, 0, 118, 119,
- 120, 121, 122, 123, 124, 125, 0, 0, 0, 0,
- 0, 126, 127, 128, 129, 0, 0, 0, 0, 0,
- 130, 131, 0, 0, 132, 133, 486, 0, 487, 134,
- 0, 0, 0, 0, 0, 135, 136, 219, 137, 0,
- 0, 0, 0, 219, 0, 105, 138, 106, 0, 220,
- 221, 108, 0, 0, 0, 220, 221, 0, 109, 110,
- 0, 0, 0, 0, 0, 1451, 0, 0, 0, 112,
- 299, 114, 0, 0, 0, 0, 116, 0, 0, 0,
- 0, 300, 0, 0, 0, 0, 222, 223, 0, 224,
- 0, 0, 222, 223, 225, 224, 226, 0, 0, 0,
- 225, 0, 226, 0, 0, 124, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 129, 0, 0, 0, 0,
- 0, 130, 0, 0, 0, 0, 133, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 135, 136, 105, 137,
- 106, 0, 0, 107, 108, 0, 0, 0, 0, 0,
- 0, 109, 110, 0, -153, 0, 0, 0, 0, 0,
- 111, 0, 112, 113, 114, 115, 0, 0, 0, 116,
- 0, 0, 0, 0, 117, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 118, 119, 120, 121, 122, 123, 124, 125,
- 0, 0, 0, 0, 0, 126, 127, 128, 129, 0,
- 0, 105, 0, 106, 130, 131, 0, 108, 132, 133,
- 0, 0, 0, 134, 109, 110, 0, 0, 0, 135,
- 136, 0, 137, 0, 0, 112, 113, 114, 105, 0,
- 106, 0, 116, 0, 108, 0, 0, 300, 0, 0,
- 0, 109, 110, 105, 0, 106, 0, 0, 0, 108,
- 0, 0, 112, 299, 114, 0, 109, 110, 0, 0,
- 0, 124, 0, 0, 300, 0, 0, 112, 299, 114,
- 0, 129, 0, 0, 0, 0, 0, 130, 0, 300,
- 0, 132, 133, 0, 0, 0, 0, 0, 124, 311,
- 0, 0, 135, 136, 0, 137, 0, 0, 129, 0,
- 0, 0, 0, 124, 130, 0, 0, 0, 0, 133,
- 0, 0, 0, 129, 0, 0, 0, 0, 0, 130,
- 136, 0, 137, 0, 133, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 136, 0, 137
- };
- static const yytype_int16 yycheck[] =
- {
- 1, 61, 113, 495, 132, 515, 132, 320, 933, 617,
- 92, 714, 44, 149, 590, 151, 152, 153, 154, 298,
- 156, 736, 158, 663, 160, 184, 44, 482, 756, 6,
- 15, 8, 44, 142, 464, 15, 59, 98, 466, 0,
- 176, 33, 81, 82, 83, 166, 167, 608, 142, 88,
- 15, 187, 188, 15, 333, 142, 486, 193, 194, 13,
- 76, 62, 76, 148, 494, 75, 165, 495, 15, 15,
- 148, 799, 76, 148, 148, 723, 589, 725, 726, 727,
- 728, 729, 148, 719, 147, 170, 149, 156, 151, 167,
- 91, 92, 167, 167, 151, 165, 148, 75, 99, 151,
- 148, 167, 165, 126, 148, 10, 11, 12, 148, 166,
- 142, 147, 748, 749, 627, 751, 752, 753, 754, 167,
- 148, 33, 147, 167, 142, 638, 148, 167, 165, 165,
- 142, 147, 165, 147, 150, 775, 150, 166, 167, 167,
- 165, 717, 148, 147, 720, 167, 150, 148, 149, 148,
- 151, 152, 153, 154, 165, 156, 33, 158, 150, 160,
- 165, 167, 148, 13, 6, 15, 8, 17, 167, 208,
- 209, 210, 211, 165, 166, 176, 166, 167, 260, 261,
- 156, 167, 167, 184, 165, 165, 187, 188, 501, 298,
- 167, 619, 193, 194, 276, 277, 256, 356, 165, 33,
- 165, 148, 148, 165, 298, 697, 160, 148, 113, 165,
- 60, 298, 108, 109, 110, 528, 112, 113, 114, 76,
- 329, 117, 165, 149, 333, 151, 167, 266, 124, 165,
- 231, 292, 165, 129, 130, 329, 132, 133, 134, 333,
- 136, 137, 329, 165, 757, 150, 333, 757, 809, 148,
- 151, 290, 164, 165, 166, 473, 392, 165, 819, 260,
- 261, 165, 148, 911, 156, 166, 298, 165, 167, 905,
- 280, 10, 11, 12, 275, 276, 277, 278, 279, 280,
- 298, 167, 795, 796, 285, 151, 298, 164, 165, 166,
- 147, 141, 1007, 150, 355, 148, 6, 329, 8, 147,
- 166, 333, 280, 939, 759, 155, 144, 145, 146, 165,
- 160, 329, 64, 65, 167, 333, 148, 329, 13, 320,
- 15, 333, 17, 148, 148, 64, 160, 161, 162, 148,
- 164, 165, 166, 343, 647, 167, 165, 76, 77, 165,
- 148, 148, 167, 167, 165, 921, 776, 148, 167, 147,
- 165, 149, 150, 151, 148, 356, 165, 918, 850, 167,
- 167, 148, 165, 1003, 792, 60, 167, 646, 275, 276,
- 277, 278, 279, 167, 113, 114, 165, 116, 166, 167,
- 167, 165, 121, 696, 123, 165, 147, 165, 149, 902,
- 151, 392, 902, 1108, 1002, 613, 147, 147, 149, 149,
- 151, 151, 156, 299, 300, 165, 166, 167, 165, 305,
- 165, 412, 165, 166, 167, 633, 634, 635, 636, 637,
- 1345, 165, 850, 10, 11, 12, 13, 166, 989, 165,
- 17, 165, 166, 1009, 165, 166, 167, 165, 33, 1015,
- 1016, 166, 167, 482, 445, 165, 141, 150, 449, 450,
- 451, 452, 453, 165, 166, 465, 466, 114, 115, 116,
- 155, 165, 463, 165, 525, 160, 467, 468, 147, 148,
- 165, 472, 165, 60, 475, 536, 165, 166, 539, 165,
- 512, 10, 11, 12, 165, 495, 150, 465, 466, 165,
- 1098, 709, 150, 1101, 495, 150, 165, 165, 1011, 1012,
- 501, 167, 165, 165, 165, 10, 11, 12, 13, 151,
- 15, 512, 17, 160, 524, 166, 166, 495, 150, 148,
- 48, 165, 147, 156, 525, 112, 113, 528, 1104, 165,
- 165, 165, 149, 1261, 148, 64, 167, 646, 445, 15,
- 168, 167, 449, 450, 451, 452, 453, 76, 77, 167,
- 157, 167, 646, 157, 141, 60, 463, 167, 167, 646,
- 467, 468, 167, 148, 877, 160, 161, 162, 155, 164,
- 165, 166, 148, 160, 167, 167, 794, 167, 165, 167,
- 590, 167, 157, 167, 113, 114, 167, 116, 589, 590,
- 591, 157, 121, 811, 123, 167, 167, 493, 167, 167,
- 601, 611, 167, 167, 167, 167, 167, 608, 113, 619,
- 167, 612, 590, 167, 646, 675, 617, 167, 167, 167,
- 621, 622, 623, 624, 625, 626, 627, 1330, 646, 167,
- 167, 663, 165, 611, 646, 167, 141, 638, 167, 160,
- 167, 619, 166, 166, 150, 663, 647, 648, 167, 167,
- 155, 663, 168, 714, 165, 160, 147, 165, 719, 148,
- 165, 148, 723, 148, 725, 726, 727, 728, 729, 887,
- 148, 703, 149, 148, 148, 165, 894, 895, 896, 897,
- 898, 150, 10, 11, 12, 13, 165, 748, 749, 17,
- 751, 752, 753, 754, 601, 696, 167, 1273, 165, 1275,
- 165, 761, 762, 167, 167, 165, 48, 717, 709, 769,
- 720, 771, 1440, 1441, 1442, 160, 717, 2, 160, 720,
- 759, 170, 723, 1438, 725, 726, 727, 728, 729, 147,
- 1338, 48, 60, 13, 165, 15, 76, 17, 165, 717,
- 156, 742, 720, 775, 745, 156, 156, 1355, 1356, 1357,
- 156, 10, 167, 10, 10, 756, 757, 775, 10, 1335,
- 888, 1253, 888, 775, 10, 10, 149, 157, 148, 160,
- 149, 56, 57, 58, 59, 60, 160, 888, 63, 167,
- 60, 167, 792, 168, 472, 113, 149, 149, 160, 685,
- 686, 167, 793, 167, 795, 796, 167, 167, 799, 165,
- 147, 802, 10, 11, 12, 170, 165, 165, 809, 165,
- 167, 166, 872, 141, 792, 166, 166, 1093, 819, 150,
- 165, 1549, 1430, 167, 165, 1253, 148, 155, 829, 1437,
- 1558, 151, 160, 148, 148, 1443, 1444, 165, 148, 148,
- 850, 160, 167, 167, 905, 166, 149, 149, 148, 10,
- 911, 167, 1428, 4, 148, 168, 64, 889, 170, 48,
- 168, 141, 148, 170, 165, 170, 165, 157, 76, 77,
- 147, 167, 850, 157, 1092, 155, 877, 10, 939, 880,
- 160, 157, 157, 10, 167, 165, 887, 149, 167, 167,
- 10, 1499, 893, 894, 895, 896, 897, 898, 899, 1035,
- 167, 902, 10, 10, 10, 113, 114, 192, 116, 149,
- 911, 921, 148, 121, 165, 123, 170, 918, 167, 167,
- 921, 1497, 1004, 170, 612, 1533, 10, 11, 12, 13,
- 22, 23, 933, 17, 622, 623, 624, 625, 626, 168,
- 1548, 33, 150, 921, 168, 167, 167, 15, 165, 165,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 1003, 257, 1286, 1110, 1111, 60, 262, 165, 167,
- 165, 167, 148, 167, 149, 1003, 167, 165, 989, 156,
- 165, 1003, 888, 156, 156, 167, 156, 168, 168, 1009,
- 147, 1002, 10, 1004, 149, 1015, 1016, 149, 1009, 167,
- 1011, 1012, 167, 298, 1015, 1016, 10, 167, 167, 167,
- 10, 709, 10, 149, 149, 149, 165, 167, 15, 113,
- 167, 1009, 168, 148, 1035, 167, 148, 1015, 1016, 167,
- 157, 157, 327, 157, 167, 1321, 1322, 1323, 1324, 1325,
- 168, 1327, 157, 10, 167, 149, 167, 141, 167, 10,
- 10, 149, 165, 61, 165, 165, 158, 159, 160, 161,
- 162, 155, 164, 165, 166, 149, 160, 167, 165, 149,
- 10, 167, 1083, 149, 18, 19, 20, 21, 22, 23,
- 167, 1092, 167, 149, 1104, 310, 1109, 1098, 649, 33,
- 1101, 1256, 1330, 1104, 389, 793, 333, 889, 1457, 1110,
- 1111, 1253, 703, 1083, 802, 850, 1287, 1220, 411, 333,
- -1, 406, 407, -1, -1, -1, 1104, -1, 413, 1405,
- 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
- 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, -1, -1,
- -1, -1, 150, -1, -1, -1, -1, 155, -1, 157,
- -1, 159, -1, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, -1, -1,
- 1262, -1, -1, 10, 11, 12, -1, -1, 186, -1,
- 475, -1, 190, 191, 192, 1256, -1, 1473, -1, 887,
- -1, 20, 21, 22, 23, -1, 894, 895, 896, 897,
- 898, -1, -1, -1, 33, -1, 10, 11, 12, 1220,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, -1,
- 164, 165, 166, -1, -1, -1, -1, 64, 523, -1,
- -1, -1, -1, 1253, -1, -1, -1, -1, 533, 76,
- 77, -1, 1253, 1529, -1, -1, -1, -1, 62, -1,
- 1261, 1262, -1, 1273, -1, 1275, 1326, -1, -1, 1330,
- 64, -1, 1273, 271, 1275, 1253, -1, -1, -1, -1,
- -1, 85, 76, 77, -1, 1286, 113, 114, -1, 116,
- -1, 1278, 1279, 1280, 121, 1273, 123, 1275, -1, -1,
- -1, 105, -1, -1, 10, 11, 12, -1, -1, 594,
- -1, -1, -1, 1373, 1374, -1, 1376, -1, 1378, 113,
- 114, 125, 116, 608, 151, 1335, -1, 121, 155, 123,
- -1, 135, -1, 160, 1335, -1, -1, 1338, -1, 158,
- 159, 160, 161, 162, 1345, 164, 165, 166, -1, 11,
- -1, -1, -1, 147, 1355, 1356, 1357, 1335, 64, -1,
- -1, 646, -1, -1, 1424, 10, 11, 12, -1, -1,
- 76, 77, -1, 1360, -1, 1362, 180, 1364, -1, 183,
- 1367, 1368, 1369, -1, -1, -1, 671, 672, 673, 674,
- -1, 676, 54, 391, 56, 57, 58, -1, -1, -1,
- -1, -1, -1, -1, 1092, -1, -1, 113, 114, -1,
- 116, -1, -1, -1, -1, 121, -1, 123, 1428, 64,
- -1, -1, 84, -1, 228, 229, -1, 1428, -1, 1430,
- -1, 76, 77, -1, -1, -1, 1437, -1, 100, 1440,
- 1441, 1442, 1443, 1444, -1, -1, -1, -1, -1, 155,
- 1428, -1, -1, -1, 160, -1, 1457, -1, 120, 121,
- 745, 17, 18, 19, 20, 21, 22, 23, 113, 114,
- 274, 116, -1, -1, -1, 137, 121, 33, 123, -1,
- 142, -1, 1542, 1543, 1544, -1, 1546, 1497, 292, -1,
- 294, -1, -1, -1, -1, -1, 1497, -1, 1499, -1,
- -1, -1, 147, -1, -1, -1, -1, 311, -1, 313,
- 314, 315, 316, 317, 318, -1, -1, -1, -1, 1497,
- -1, -1, 520, -1, 809, -1, -1, -1, -1, 527,
- -1, 335, 1533, -1, 819, -1, -1, -1, 823, -1,
- 344, -1, -1, 347, -1, -1, -1, 1548, 1549, -1,
- -1, 355, -1, -1, -1, 840, 554, 1558, 556, -1,
- 558, -1, -1, -1, -1, -1, 851, 852, 853, 854,
- 855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
- 865, 866, 867, 868, 869, 870, 871, -1, 873, -1,
- 394, -1, -1, -1, 398, -1, -1, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 411, 164, 165,
- 166, 16, 17, 18, 19, 20, 21, 22, 23, -1,
- -1, -1, -1, 1321, 1322, 1323, 1324, 1325, 33, 1327,
- 22, 23, -1, 918, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, -1, 448, -1, -1, -1, 933, 20,
- 21, 22, 23, -1, -1, -1, -1, -1, -1, -1,
- 464, -1, 33, -1, -1, -1, 18, 19, 20, 21,
- 22, 23, 476, -1, -1, -1, -1, 675, -1, -1,
- -1, 33, 486, -1, -1, -1, -1, -1, -1, -1,
- 494, 33, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 989, -1, 991, 1405, 1406, 1407,
- 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
- 1418, 1419, 1420, 1421, 1422, 1423, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 539, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 1043, 164,
- 165, 166, -1, -1, -1, 170, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, 1473, -1, -1, -1, -1,
- -1, -1, -1, -1, 588, 156, 157, 158, 159, 160,
- 161, 162, -1, 164, 165, 166, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, 12, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, -1, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, -1, -1, 631, -1, -1,
- -1, 1529, -1, -1, 832, 833, 834, -1, 836, -1,
- 838, 839, 840, 50, 51, 649, -1, 54, -1, 56,
- 57, 58, 59, 60, -1, 62, 63, -1, -1, 66,
- 67, -1, -1, 70, -1, -1, -1, -1, 75, 76,
- 77, -1, -1, -1, 81, -1, -1, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, -1, -1, -1, -1, -1, -1,
- -1, -1, 109, 707, 111, -1, 113, -1, -1, -1,
- -1, 118, -1, 120, 121, 122, -1, -1, 125, 126,
- -1, -1, -1, 130, -1, -1, 133, 134, 135, 136,
- 137, -1, -1, 140, 738, 142, -1, -1, -1, 3,
- 4, 5, 6, -1, 8, 9, 10, 11, 155, -1,
- -1, 158, 159, 160, -1, -1, 163, -1, 165, 166,
- -1, 1246, 169, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 776, -1, 16, 17, 18, 19, 20, 21,
- 22, 23, -1, -1, -1, -1, 50, 51, -1, -1,
- 54, 33, 56, 57, 58, 59, -1, -1, 62, 63,
- -1, -1, 66, 67, -1, -1, 70, -1, -1, -1,
- -1, 75, 76, 77, -1, 1300, -1, 81, -1, -1,
- 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, 100, -1, -1, -1,
- -1, -1, -1, -1, -1, 109, -1, 111, -1, 113,
- -1, -1, -1, -1, 118, -1, 120, 121, 122, -1,
- 1345, 125, 126, -1, -1, -1, 130, -1, -1, 133,
- 134, 135, 136, 137, -1, -1, 140, -1, 142, -1,
- -1, -1, 3, 4, 5, 6, 890, 8, 9, 10,
- 11, 155, -1, 1091, 158, 159, 160, -1, -1, 163,
- -1, 165, 166, -1, -1, 169, -1, -1, -1, -1,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, -1, -1, -1, 170, 50,
- -1, -1, -1, 54, -1, 56, 57, 58, -1, -1,
- 1425, 62, -1, 64, 65, 66, 67, -1, -1, 33,
- -1, -1, -1, -1, 75, 76, 77, -1, -1, -1,
- 81, -1, -1, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- -1, -1, -1, -1, -1, -1, -1, -1, 109, -1,
- 111, -1, 113, -1, -1, -1, -1, 118, -1, 120,
- 121, 122, 1006, -1, 125, 10, 11, -1, -1, 130,
- -1, -1, 133, -1, -1, -1, 137, -1, -1, -1,
- -1, 142, -1, -1, -1, 54, 147, 56, 57, 58,
- -1, -1, -1, 1037, 155, -1, -1, 158, 159, 160,
- -1, -1, 163, 17, 165, 166, 51, -1, 169, 54,
- -1, 56, 57, 58, 59, 84, -1, -1, 63, 33,
- -1, 66, -1, -1, -1, 70, -1, -1, -1, -1,
- -1, 100, 77, 47, 158, 159, 160, 161, 162, 84,
- 164, 165, 166, -1, -1, -1, 60, 61, -1, -1,
- -1, 120, 121, -1, 54, 100, 56, 57, 58, -1,
- -1, -1, 76, -1, -1, 1109, 66, 112, 137, -1,
- -1, -1, -1, 142, -1, 120, 121, -1, -1, -1,
- -1, 126, -1, -1, 84, -1, -1, -1, 1326, 134,
- 135, 136, 137, 107, -1, 140, 110, 142, -1, 113,
- 100, -1, 147, -1, -1, 16, 17, 18, 19, 20,
- 21, 22, 23, -1, -1, 129, -1, -1, 163, -1,
- 120, 121, 33, -1, -1, -1, -1, 141, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 137, -1, -1,
- -1, 155, 142, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1390, 1391, 1392, 1393, -1, 1395, 1396, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, -1, -1, -1, -1, -1, -1, -1, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, -1, -1,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, -1, 70, -1, 72, 73,
- 74, 75, 76, 77, 78, 79, 80, 1281, 82, 83,
- 84, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, -1, 164, 165, 166, 100, -1, -1, 170,
- -1, -1, -1, 107, 108, 109, -1, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- -1, -1, -1, 147, 148, 149, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, 165, 166, 167, 168, 169, 170, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, -1, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- -1, -1, -1, -1, -1, -1, -1, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, -1, -1, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, -1, 70, -1, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, -1, 82, 83, 84, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 100, 1469, -1, -1, -1, -1,
- -1, 107, 108, 109, -1, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, -1, -1,
- -1, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, -1, 169, 170, 3, 4, 5, 6, -1,
- 8, 9, 10, 11, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 16, 17, 18, 19,
- 20, 21, 22, 23, -1, -1, -1, -1, -1, -1,
- -1, -1, 50, 33, -1, -1, 54, -1, 56, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, 66, 67,
- -1, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- -1, -1, -1, 81, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, -1, -1, -1, -1, -1, -1, -1,
- -1, 109, -1, 111, -1, 113, -1, -1, -1, -1,
- 118, -1, 120, 121, 122, -1, -1, 125, -1, -1,
- -1, -1, 130, -1, -1, 133, -1, -1, -1, 137,
- 3, 4, 5, 6, 142, 8, 9, 10, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, 155, -1, -1,
- 158, 159, 160, -1, -1, 163, -1, 165, 166, 167,
- 150, 169, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, -1, 164, 165, 166, 50, 51, -1,
- -1, 54, -1, 56, 57, 58, -1, -1, -1, 62,
- -1, -1, -1, 66, 67, -1, -1, -1, -1, -1,
- -1, -1, 75, 76, 77, -1, -1, -1, 81, -1,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, -1, -1,
- -1, -1, -1, -1, -1, -1, 109, -1, 111, -1,
- 113, -1, -1, -1, -1, 118, -1, 120, 121, 122,
- -1, -1, 125, -1, -1, -1, -1, 130, -1, -1,
- 133, -1, -1, -1, 137, 3, 4, 5, 6, 142,
- 8, 9, 10, 11, -1, -1, -1, -1, -1, -1,
- -1, -1, 155, -1, -1, 158, 159, 160, -1, -1,
- 163, -1, 165, 166, -1, -1, 169, -1, -1, -1,
- 16, 17, 18, 19, 20, 21, 22, 23, -1, -1,
- -1, -1, 50, 51, -1, -1, 54, 33, 56, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, 66, 67,
- -1, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- -1, -1, -1, 81, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, -1, -1, -1, -1, -1, -1, -1,
- -1, 109, -1, 111, -1, 113, -1, -1, -1, -1,
- 118, -1, 120, 121, 122, -1, -1, 125, -1, -1,
- -1, -1, 130, -1, -1, 133, -1, -1, -1, 137,
- 3, 4, 5, 6, 142, 8, 9, 10, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, 155, -1, -1,
- 158, 159, 160, -1, -1, 163, -1, 165, 166, -1,
- -1, 169, -1, 149, -1, -1, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 50, 164, 165,
- 166, 54, -1, 56, 57, 58, -1, -1, -1, 62,
- -1, -1, -1, 66, 67, -1, -1, -1, -1, -1,
- -1, -1, 75, 76, 77, -1, -1, -1, 81, -1,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, -1, -1,
- -1, -1, -1, -1, -1, -1, 109, -1, 111, -1,
- 113, -1, -1, -1, -1, 118, -1, 120, 121, 122,
- -1, -1, 125, -1, -1, -1, -1, 130, -1, -1,
- 133, -1, -1, -1, 137, 3, 4, 5, 6, 142,
- 8, 9, 10, 11, 147, -1, -1, -1, -1, -1,
- -1, -1, 155, -1, -1, 158, 159, 160, -1, -1,
- 163, -1, 165, 166, -1, -1, 169, -1, -1, -1,
- 16, 17, 18, 19, 20, 21, 22, 23, -1, -1,
- -1, -1, 50, -1, -1, -1, 54, 33, 56, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, 66, 67,
- -1, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- -1, -1, -1, 81, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, -1, -1, -1, -1, -1, -1, -1,
- -1, 109, -1, 111, -1, 113, -1, -1, -1, -1,
- 118, -1, 120, 121, 122, -1, -1, 125, -1, -1,
- -1, -1, 130, -1, -1, 133, -1, -1, -1, 137,
- 3, 4, 5, 6, 142, 8, 9, 10, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, 155, -1, -1,
- 158, 159, 160, -1, -1, 163, -1, 165, 166, 167,
- -1, 169, 148, -1, -1, -1, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 50, 164, 165,
- 166, 54, -1, 56, 57, 58, -1, -1, -1, 62,
- -1, -1, -1, 66, 67, -1, -1, -1, -1, -1,
- -1, -1, 75, 76, 77, -1, -1, -1, 81, -1,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, -1, -1,
- -1, -1, -1, -1, -1, -1, 109, -1, 111, -1,
- 113, -1, -1, -1, -1, 118, -1, 120, 121, 122,
- -1, -1, 125, -1, -1, -1, -1, 130, -1, -1,
- 133, -1, -1, -1, 137, 3, 4, 5, 6, 142,
- 8, 9, 10, 11, 147, -1, -1, -1, -1, -1,
- -1, -1, 155, -1, -1, 158, 159, 160, -1, -1,
- 163, -1, 165, 166, -1, -1, 169, -1, -1, -1,
- 16, 17, 18, 19, 20, 21, 22, 23, -1, -1,
- -1, -1, 50, -1, -1, -1, 54, 33, 56, 57,
- 58, -1, -1, -1, 62, -1, -1, -1, 66, 67,
- -1, -1, -1, -1, -1, -1, -1, 75, 76, 77,
- -1, -1, -1, 81, -1, -1, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
- 98, 99, 100, -1, -1, -1, -1, -1, -1, -1,
- -1, 109, -1, 111, -1, 113, -1, -1, -1, -1,
- 118, -1, 120, 121, 122, -1, -1, 125, -1, -1,
- -1, -1, 130, -1, -1, 133, -1, -1, -1, 137,
- 3, 4, 5, 6, 142, 8, 9, 10, 11, -1,
- -1, -1, -1, -1, -1, -1, -1, 155, -1, -1,
- 158, 159, 160, -1, -1, 163, -1, 165, 166, 167,
- -1, 169, -1, -1, 150, -1, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 50, 164, 165,
- 166, 54, -1, 56, 57, 58, -1, -1, -1, 62,
- -1, -1, -1, 66, 67, -1, -1, -1, -1, -1,
- -1, -1, 75, 76, 77, -1, -1, -1, 81, -1,
- -1, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, -1, -1,
- -1, -1, -1, -1, -1, -1, 109, -1, 111, -1,
- 113, -1, -1, -1, -1, 118, -1, 120, 121, 122,
- -1, -1, 125, -1, -1, -1, -1, 130, -1, -1,
- 133, -1, -1, -1, 137, 3, 4, 5, 6, 142,
- 8, 9, 10, 11, 12, -1, -1, 15, -1, -1,
- -1, -1, 155, -1, -1, 158, 159, 160, -1, -1,
- 163, -1, 165, 166, -1, -1, 169, 16, 17, 18,
- 19, 20, 21, 22, 23, -1, -1, -1, -1, 47,
- -1, -1, 50, 51, 33, -1, 54, -1, 56, 57,
- 58, 59, 60, -1, 62, 63, -1, -1, 66, 67,
- -1, -1, 70, -1, -1, -1, -1, 75, 76, 77,
- -1, -1, -1, -1, -1, -1, 84, -1, -1, -1,
- -1, -1, 16, 17, 18, 19, 20, 21, 22, 23,
- -1, -1, 100, -1, -1, -1, -1, -1, -1, 33,
- -1, 109, -1, 111, -1, 113, -1, -1, -1, 117,
- 118, -1, 120, 121, 122, -1, -1, 125, 126, -1,
- -1, -1, 130, -1, -1, 133, 134, 135, 136, 137,
- -1, -1, 140, -1, 142, -1, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, 12, -1, 155, 15, -1,
- 158, 159, -1, -1, -1, 163, -1, 165, -1, 148,
- -1, 169, -1, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, -1, 164, 165, 166, 167, -1,
- 47, -1, -1, 50, 51, -1, -1, 54, -1, 56,
- 57, 58, 59, 60, -1, 62, 63, -1, -1, 66,
- 67, -1, -1, 70, -1, -1, -1, -1, 75, 76,
- 77, -1, -1, 17, -1, -1, -1, 84, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, -1,
- 164, 165, 166, 100, -1, -1, -1, -1, -1, -1,
- -1, -1, 109, 47, 111, -1, 113, -1, -1, -1,
- 117, 118, -1, 120, 121, 122, 60, 61, 125, 126,
- -1, -1, -1, 130, -1, -1, 133, 134, 135, 136,
- 137, -1, 76, 140, -1, 142, 3, 4, 5, 6,
- -1, 8, 9, 10, -1, -1, -1, -1, 155, -1,
- -1, 158, 159, -1, -1, -1, 163, -1, 165, -1,
- -1, -1, 169, 107, -1, -1, 110, -1, -1, 113,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 50, -1, 129, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 62, -1, 141, -1, -1,
- 67, 17, 18, 19, 20, 21, 22, 23, 75, 76,
- -1, 155, -1, -1, 81, -1, -1, 33, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 16, 17, 18, 19, 20, 21, 22,
- 23, -1, -1, -1, 111, -1, 113, -1, -1, -1,
- 33, 118, -1, -1, -1, 122, -1, -1, 125, -1,
- -1, -1, -1, 130, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 155, -1,
- -1, 158, 159, 160, 6, -1, 163, -1, 165, 166,
- -1, -1, 169, -1, 16, 17, 18, 19, 20, 21,
- 22, 23, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, -1, -1, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, -1, 164, 165,
- 166, -1, -1, 65, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 10, 11, -1, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- -1, 164, 165, 166, 167, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 109, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 51, -1, -1,
- 54, -1, 56, 57, 58, 59, -1, -1, -1, 63,
- -1, -1, 66, -1, -1, -1, 70, -1, -1, -1,
- -1, -1, -1, 77, -1, -1, 148, -1, -1, 151,
- 84, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, -1, 165, 166, -1, 100, 169, 10, 11,
- -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
- -1, -1, -1, -1, -1, -1, 120, 121, -1, -1,
- -1, -1, 126, -1, -1, -1, -1, -1, -1, -1,
- 134, 135, 136, 137, -1, -1, 140, -1, 142, 51,
- -1, -1, 54, -1, 56, 57, 58, 59, -1, -1,
- -1, 63, -1, -1, 66, -1, -1, -1, 70, 163,
- -1, -1, -1, -1, -1, 77, -1, -1, -1, -1,
- -1, -1, 84, 16, 17, 18, 19, 20, 21, 22,
- 23, -1, -1, -1, -1, -1, -1, -1, 100, -1,
- 33, -1, -1, -1, -1, 10, 11, 12, -1, -1,
- 112, -1, -1, -1, -1, -1, -1, -1, 120, 121,
- -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
- -1, -1, 134, 135, 136, 137, -1, -1, 140, -1,
- 142, 16, 17, 18, 19, 20, 21, 22, 23, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 33, 64,
- -1, 163, 16, 17, 18, 19, 20, 21, 22, 23,
- -1, 76, 77, -1, -1, -1, -1, -1, -1, 33,
- 16, 17, 18, 19, 20, 21, 22, 23, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 33, 16, 17,
- 18, 19, 20, 21, 22, 23, -1, -1, 113, 114,
- -1, 116, -1, -1, -1, 33, 121, -1, 123, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- -1, 164, 165, 166, 167, 16, 17, 18, 19, 20,
- 21, 22, 23, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 33, 16, 17, 18, 19, 20, 21, 22,
- 23, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 33, -1, -1, -1, -1, -1, -1, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, -1, 164,
- 165, 166, 167, -1, -1, -1, -1, -1, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 161, 162, -1,
- 164, 165, 166, 167, -1, -1, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, -1, 164, 165,
- 166, 167, -1, -1, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, -1, 164, 165, 166, 167,
- 16, 17, 18, 19, 20, 21, 22, 23, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
- -1, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, -1, 164, 165, 166, 167, -1, -1, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- -1, 164, 165, 166, 16, 17, 18, 19, 20, 21,
- 22, 23, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 33, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 18, 19, 20, 21, 22, 23, -1, -1, -1, -1,
- -1, -1, -1, -1, 150, 33, 152, 153, 154, 155,
- -1, -1, 158, 159, 160, 161, 162, -1, 164, 165,
- 166, 47, -1, 49, -1, -1, 52, 53, -1, -1,
- -1, -1, -1, -1, 60, 61, 18, 19, 20, 21,
- 22, 23, -1, 69, -1, 71, 72, 73, 74, -1,
- -1, 33, 78, -1, -1, -1, -1, 83, -1, -1,
- 152, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, 101, 102, 103, 104, 105,
- 106, 107, 108, -1, -1, -1, -1, -1, 114, 115,
- 116, 117, -1, -1, -1, -1, -1, 123, 124, 11,
- 12, 127, 128, 15, -1, 17, 132, -1, -1, -1,
- -1, -1, 138, 139, -1, 141, -1, -1, -1, -1,
- -1, -1, -1, 149, -1, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 47, 164, 165, 166, 51,
- -1, -1, 54, -1, 56, 57, 58, 59, 60, -1,
- -1, 63, -1, -1, 66, -1, -1, -1, 70, -1,
- -1, -1, -1, -1, -1, 77, 18, 19, 20, 21,
- 22, 23, 84, 155, 156, 157, 158, 159, 160, 161,
- 162, 33, 164, 165, 166, 10, 11, 12, 100, 18,
- 19, 20, 21, 22, 23, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 33, 117, -1, -1, 120, 121,
- -1, -1, -1, -1, 126, -1, 18, 19, 20, 21,
- 22, 23, 134, 135, 136, 137, -1, -1, 140, -1,
- 142, 33, 18, 19, 20, 21, 22, 23, -1, 64,
- -1, -1, -1, 155, -1, -1, -1, 33, 160, -1,
- -1, 76, 77, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 10, 11, 12, 108, -1, -1, -1, -1, 113, 114,
- -1, 116, -1, -1, -1, -1, 121, -1, 123, -1,
- -1, 153, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, -1, -1, 47, -1, 49,
- -1, -1, -1, -1, -1, -1, -1, 156, 157, 158,
- 159, 160, 161, 162, 64, 164, 165, 166, -1, -1,
- -1, -1, -1, -1, -1, -1, 76, 77, -1, 6,
- -1, -1, 154, 155, -1, -1, 158, 159, 160, 161,
- 162, -1, 164, 165, 166, -1, 6, -1, -1, 155,
- -1, -1, 158, 159, 160, 161, 162, -1, 164, 165,
- 166, -1, -1, 113, 114, -1, 116, -1, -1, -1,
- 47, 121, 49, 123, -1, -1, 53, -1, -1, -1,
- -1, -1, -1, 60, 61, -1, -1, 47, 54, 49,
- 56, 57, 58, 53, 71, 72, 73, 147, -1, -1,
- 60, 61, -1, -1, -1, -1, 83, -1, -1, -1,
- -1, 71, 72, 73, -1, -1, -1, -1, 84, -1,
- -1, -1, -1, 83, 10, 11, 12, -1, -1, -1,
- 107, -1, -1, -1, 100, -1, 10, 11, 12, -1,
- 117, -1, -1, -1, -1, -1, 123, 107, -1, -1,
- 127, 128, -1, -1, 120, 121, -1, 117, -1, -1,
- -1, -1, 139, 123, 141, 10, 11, 12, 128, -1,
- -1, 137, -1, -1, -1, -1, 142, 51, 64, 139,
- 54, 141, 56, 57, 58, 59, 60, -1, -1, 63,
- 76, 77, 66, -1, -1, -1, 70, -1, -1, 165,
- -1, -1, -1, 77, -1, -1, 51, -1, -1, 54,
- 84, 56, 57, 58, 59, 60, -1, -1, 63, -1,
- -1, 66, -1, -1, -1, 70, 100, 113, 114, 115,
- 116, -1, 77, -1, -1, 121, -1, 123, -1, 84,
- -1, -1, -1, -1, -1, -1, 120, 121, 134, -1,
- -1, -1, 126, 139, -1, 100, -1, 10, 11, 12,
- 134, 135, 136, 137, -1, -1, 140, -1, 142, -1,
- -1, -1, -1, -1, -1, 120, 121, -1, -1, -1,
- -1, 126, -1, -1, -1, -1, 10, 11, 12, 134,
- 135, 136, 137, -1, -1, 140, -1, 142, 51, -1,
- -1, 54, -1, 56, 57, 58, 59, 60, -1, -1,
- 63, -1, -1, 66, -1, -1, -1, 70, 10, 11,
- 12, -1, -1, -1, 77, -1, -1, -1, -1, -1,
- 54, 84, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, -1, 66, -1, -1, -1, -1, 100, -1, -1,
- -1, -1, -1, 77, -1, -1, -1, -1, -1, -1,
- 84, -1, 54, -1, 56, 57, 58, 120, 121, -1,
- -1, -1, -1, 126, 66, -1, 100, -1, -1, -1,
- -1, 134, 135, 136, 137, 77, -1, 140, -1, 142,
- -1, -1, 84, -1, 11, 12, 120, 121, 15, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 100, -1,
- 134, -1, -1, 137, -1, -1, 140, -1, 142, -1,
- -1, -1, -1, 11, 12, -1, -1, 15, 120, 121,
- 47, -1, -1, -1, 51, -1, -1, 54, -1, 56,
- 57, 58, 59, 60, -1, 137, 63, -1, 140, 66,
- 142, -1, -1, 70, -1, -1, -1, -1, -1, 47,
- 77, -1, -1, 51, -1, -1, 54, 84, 56, 57,
- 58, 59, 60, -1, -1, 63, -1, -1, 66, -1,
- -1, -1, 70, 100, -1, -1, -1, -1, -1, 77,
- -1, -1, -1, -1, -1, -1, 84, -1, -1, -1,
- 117, -1, -1, 120, 121, 10, 11, 12, -1, 126,
- -1, -1, 100, -1, -1, 11, 12, 134, 135, 136,
- 137, -1, -1, 140, -1, 142, -1, -1, -1, 117,
- -1, -1, 120, 121, -1, -1, -1, -1, 126, 54,
- -1, 56, 57, 58, 11, 12, 134, 135, 136, 137,
- -1, 47, 140, -1, 142, 51, -1, -1, 54, 64,
- 56, 57, 58, 59, 60, -1, -1, 63, -1, 84,
- 66, 76, 77, -1, 70, -1, -1, -1, -1, -1,
- -1, 77, -1, -1, 51, 100, -1, 54, 84, 56,
- 57, 58, 59, 60, -1, -1, 63, -1, -1, 66,
- -1, -1, -1, 70, 100, 120, 121, -1, 113, 114,
- 77, 116, -1, -1, -1, -1, 121, 84, 123, -1,
- -1, 117, 137, -1, 120, 121, -1, 142, -1, 134,
- 126, 11, 12, 100, 139, -1, -1, -1, 134, 135,
- 136, 137, -1, -1, 140, -1, 142, -1, -1, -1,
- 165, -1, -1, 120, 121, 11, 12, -1, -1, 126,
- -1, -1, -1, -1, -1, -1, -1, 134, 135, 136,
- 137, 51, -1, 140, 54, 142, 56, 57, 58, 59,
- -1, -1, -1, 63, -1, -1, 66, -1, -1, -1,
- 70, -1, -1, -1, -1, 51, -1, 77, 54, -1,
- 56, 57, 58, 59, 84, -1, -1, 63, -1, -1,
- 66, -1, -1, -1, 70, -1, -1, -1, -1, -1,
- 100, 77, -1, -1, -1, -1, -1, -1, 84, 10,
- 11, 12, -1, -1, -1, -1, -1, 117, -1, -1,
- 120, 121, 11, -1, 100, -1, 126, -1, -1, -1,
- -1, -1, -1, -1, 134, 135, 136, 137, -1, -1,
- 140, -1, 142, -1, 120, 121, -1, -1, -1, -1,
- 126, 11, -1, -1, -1, -1, -1, -1, 134, 135,
- 136, 137, 51, 64, 140, 54, 142, 56, 57, 58,
- 59, 60, -1, -1, 63, 76, 77, 66, -1, -1,
- -1, 70, -1, -1, -1, -1, -1, -1, 77, -1,
- -1, 51, -1, -1, 54, 84, 56, 57, 58, 59,
- 60, -1, -1, 63, -1, -1, 66, -1, -1, -1,
- 70, 100, 113, 114, -1, 116, -1, 77, -1, -1,
- 121, -1, 123, -1, 84, -1, -1, -1, -1, -1,
- -1, 120, 121, 134, -1, -1, -1, 126, 11, -1,
- 100, -1, -1, -1, -1, 134, 135, 136, 137, -1,
- -1, 140, -1, 142, -1, -1, -1, -1, -1, -1,
- 120, 121, 11, -1, -1, -1, 126, -1, -1, -1,
- 10, 11, 12, -1, 134, 135, 136, 137, 51, -1,
- 140, 54, 142, 56, 57, 58, 59, -1, -1, -1,
- 63, -1, 54, 66, 56, 57, 58, 70, -1, -1,
- -1, -1, 51, -1, 77, 54, -1, 56, 57, 58,
- 59, 84, -1, -1, 63, -1, -1, 66, -1, -1,
- -1, 70, 84, -1, 64, -1, -1, 100, 77, -1,
- 10, 11, 12, -1, -1, 84, 76, 77, 100, -1,
- -1, -1, -1, -1, 10, 11, 12, 120, 121, -1,
- -1, 100, -1, 126, -1, -1, -1, -1, 120, 121,
- -1, 134, 135, 136, 137, -1, -1, 140, -1, 142,
- -1, 120, 121, 113, 114, 137, 116, 126, -1, -1,
- 142, 121, -1, 123, 64, 134, 135, 136, 137, -1,
- -1, 140, -1, 142, 134, -1, 76, 77, 64, 139,
- -1, -1, -1, 165, -1, -1, -1, -1, -1, -1,
- 76, 77, -1, -1, -1, -1, -1, -1, -1, 54,
- -1, 56, 57, 58, -1, -1, -1, -1, -1, -1,
- -1, 66, -1, 113, 114, -1, 116, -1, -1, -1,
- -1, 121, -1, 123, -1, -1, -1, 113, 114, 84,
- 116, -1, -1, -1, 134, 121, 47, 123, 49, 139,
- -1, 52, 53, -1, -1, 100, -1, -1, -1, 60,
- 61, -1, 138, -1, -1, -1, -1, -1, 69, -1,
- 71, 72, 73, 74, -1, 120, 121, 78, -1, -1,
- -1, -1, 83, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 137, -1, -1, -1, -1, 142, -1, -1,
- 101, 102, 103, 104, 105, 106, 107, 108, -1, -1,
- -1, -1, -1, 114, 115, 116, 117, -1, -1, 47,
- 165, 49, 123, 124, 52, 53, 127, 128, -1, -1,
- -1, 132, 60, 61, -1, -1, -1, 138, 139, -1,
- 141, 69, -1, 71, 72, 73, 74, -1, 149, -1,
- 78, -1, -1, -1, -1, 83, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 168, -1, -1,
- -1, -1, -1, 101, 102, 103, 104, 105, 106, 107,
- 108, -1, -1, -1, -1, -1, 114, 115, 116, 117,
- -1, -1, 47, -1, 49, 123, 124, 52, 53, 127,
- 128, -1, -1, -1, 132, 60, 61, -1, -1, -1,
- 138, 139, -1, 141, 69, -1, 71, 72, 73, 74,
- -1, 149, -1, 78, -1, -1, -1, -1, 83, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 168, -1, -1, -1, -1, -1, 101, 102, 103, 104,
- 105, 106, 107, 108, -1, -1, -1, -1, -1, 114,
- 115, 116, 117, -1, -1, 47, -1, 49, 123, 124,
- 52, 53, 127, 128, -1, -1, -1, 132, 60, 61,
- -1, -1, -1, 138, 139, -1, 141, 69, -1, 71,
- 72, 73, 74, -1, 149, -1, 78, -1, -1, -1,
- -1, 83, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 168, -1, -1, -1, -1, -1, 101,
- 102, 103, 104, 105, 106, 107, 108, -1, -1, -1,
- -1, -1, 114, 115, 116, 117, -1, -1, 47, -1,
- 49, 123, 124, 52, 53, 127, 128, -1, -1, -1,
- 132, 60, 61, -1, -1, -1, 138, 139, -1, 141,
- 69, -1, 71, 72, 73, 74, -1, 149, -1, 78,
- -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 168, -1, -1, -1,
- -1, -1, 101, 102, 103, 104, 105, 106, 107, 108,
- -1, -1, -1, -1, -1, 114, 115, 116, 117, -1,
- -1, 47, -1, 49, 123, 124, 52, 53, 127, 128,
- -1, -1, -1, 132, 60, 61, -1, -1, -1, 138,
- 139, -1, 141, 69, -1, 71, 72, 73, 74, -1,
- 149, -1, 78, -1, -1, -1, -1, 83, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 168,
- -1, -1, -1, -1, -1, 101, 102, 103, 104, 105,
- 106, 107, 108, -1, -1, -1, -1, -1, 114, 115,
- 116, 117, -1, -1, 47, -1, 49, 123, 124, 52,
- 53, 127, 128, -1, -1, -1, 132, 60, 61, -1,
- -1, -1, 138, 139, -1, 141, 69, -1, 71, 72,
- 73, 74, -1, 149, -1, 78, -1, -1, -1, -1,
- 83, -1, -1, 10, 11, 12, -1, -1, 15, 10,
- 11, 12, 168, -1, -1, -1, -1, -1, 101, 102,
- 103, 104, 105, 106, 107, 108, -1, -1, -1, -1,
- -1, 114, 115, 116, 117, -1, -1, -1, -1, -1,
- 123, 124, -1, -1, 127, 128, 47, -1, 49, 132,
- -1, -1, -1, -1, -1, 138, 139, 64, 141, -1,
- -1, -1, -1, 64, -1, 47, 149, 49, -1, 76,
- 77, 53, -1, -1, -1, 76, 77, -1, 60, 61,
- -1, -1, -1, -1, -1, 168, -1, -1, -1, 71,
- 72, 73, -1, -1, -1, -1, 78, -1, -1, -1,
- -1, 83, -1, -1, -1, -1, 113, 114, -1, 116,
- -1, -1, 113, 114, 121, 116, 123, -1, -1, -1,
- 121, -1, 123, -1, -1, 107, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 117, -1, -1, -1, -1,
- -1, 123, -1, -1, -1, -1, 128, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 138, 139, 47, 141,
- 49, -1, -1, 52, 53, -1, -1, -1, -1, -1,
- -1, 60, 61, -1, 156, -1, -1, -1, -1, -1,
- 69, -1, 71, 72, 73, 74, -1, -1, -1, 78,
- -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 101, 102, 103, 104, 105, 106, 107, 108,
- -1, -1, -1, -1, -1, 114, 115, 116, 117, -1,
- -1, 47, -1, 49, 123, 124, -1, 53, 127, 128,
- -1, -1, -1, 132, 60, 61, -1, -1, -1, 138,
- 139, -1, 141, -1, -1, 71, 72, 73, 47, -1,
- 49, -1, 78, -1, 53, -1, -1, 83, -1, -1,
- -1, 60, 61, 47, -1, 49, -1, -1, -1, 53,
- -1, -1, 71, 72, 73, -1, 60, 61, -1, -1,
- -1, 107, -1, -1, 83, -1, -1, 71, 72, 73,
- -1, 117, -1, -1, -1, -1, -1, 123, -1, 83,
- -1, 127, 128, -1, -1, -1, -1, -1, 107, 108,
- -1, -1, 138, 139, -1, 141, -1, -1, 117, -1,
- -1, -1, -1, 107, 123, -1, -1, -1, -1, 128,
- -1, -1, -1, 117, -1, -1, -1, -1, -1, 123,
- 139, -1, 141, -1, 128, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 139, -1, 141
- };
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
- static const yytype_uint16 yystos[] =
- {
- 0, 144, 145, 146, 172, 173, 280, 3, 4, 5,
- 6, 8, 9, 10, 11, 50, 54, 56, 57, 58,
- 62, 66, 67, 75, 76, 77, 81, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 109, 111, 113, 118, 120, 121,
- 122, 125, 130, 133, 137, 142, 155, 158, 159, 160,
- 163, 165, 166, 169, 270, 271, 279, 11, 12, 51,
- 54, 56, 57, 58, 59, 60, 63, 66, 70, 77,
- 84, 100, 120, 121, 126, 134, 135, 136, 137, 140,
- 142, 232, 233, 237, 239, 241, 247, 248, 252, 253,
- 258, 259, 260, 261, 0, 47, 49, 52, 53, 60,
- 61, 69, 71, 72, 73, 74, 78, 83, 101, 102,
- 103, 104, 105, 106, 107, 108, 114, 115, 116, 117,
- 123, 124, 127, 128, 132, 138, 139, 141, 149, 176,
- 178, 179, 181, 184, 203, 254, 257, 280, 147, 165,
- 165, 165, 165, 165, 165, 156, 165, 156, 165, 165,
- 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
- 165, 165, 165, 165, 165, 165, 165, 11, 51, 63,
- 134, 135, 235, 252, 253, 258, 156, 165, 165, 15,
- 165, 156, 165, 165, 165, 270, 270, 270, 270, 270,
- 11, 54, 56, 57, 58, 66, 77, 84, 100, 120,
- 121, 137, 142, 237, 268, 270, 10, 11, 12, 64,
- 76, 77, 113, 114, 116, 121, 123, 151, 155, 160,
- 274, 275, 277, 280, 270, 16, 17, 18, 19, 20,
- 21, 22, 23, 33, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 161, 162, 164, 165, 166, 6, 8,
- 232, 233, 165, 59, 126, 66, 100, 259, 259, 259,
- 277, 165, 259, 13, 15, 17, 60, 141, 155, 160,
- 165, 230, 231, 280, 231, 147, 10, 11, 12, 113,
- 150, 278, 238, 280, 138, 182, 183, 277, 165, 72,
- 83, 181, 181, 181, 181, 6, 181, 203, 181, 150,
- 180, 108, 181, 165, 165, 165, 165, 165, 165, 181,
- 147, 277, 150, 150, 150, 181, 181, 165, 179, 181,
- 184, 204, 181, 181, 188, 108, 277, 181, 181, 10,
- 11, 51, 63, 112, 134, 135, 147, 163, 191, 194,
- 234, 236, 239, 241, 247, 252, 253, 258, 267, 268,
- 280, 267, 237, 267, 267, 267, 267, 237, 267, 237,
- 267, 237, 267, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 267, 165,
- 277, 165, 165, 277, 238, 237, 267, 267, 165, 10,
- 237, 237, 237, 270, 267, 267, 167, 148, 167, 277,
- 277, 148, 170, 151, 220, 280, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 167, 268, 270,
- 231, 231, 51, 270, 237, 160, 277, 13, 15, 17,
- 60, 141, 155, 160, 230, 280, 230, 231, 230, 231,
- 230, 230, 15, 17, 47, 60, 117, 155, 160, 215,
- 216, 225, 232, 233, 280, 166, 250, 251, 280, 11,
- 249, 259, 150, 10, 11, 12, 47, 49, 113, 147,
- 277, 278, 277, 48, 148, 165, 11, 234, 270, 181,
- 178, 147, 277, 277, 277, 277, 277, 277, 277, 173,
- 147, 270, 156, 10, 11, 194, 234, 236, 277, 149,
- 151, 165, 165, 165, 60, 232, 277, 165, 177, 277,
- 186, 147, 149, 151, 222, 149, 185, 277, 278, 238,
- 168, 167, 167, 167, 167, 167, 167, 157, 167, 157,
- 167, 167, 167, 167, 148, 167, 148, 167, 148, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 270, 237, 267, 277, 157, 167, 167, 277, 167, 167,
- 157, 167, 167, 167, 167, 270, 270, 15, 155, 275,
- 165, 200, 280, 270, 150, 167, 170, 167, 167, 167,
- 230, 160, 277, 230, 230, 230, 230, 230, 166, 230,
- 182, 117, 232, 233, 225, 230, 230, 167, 15, 148,
- 13, 17, 60, 141, 155, 160, 165, 228, 278, 280,
- 13, 15, 17, 60, 141, 155, 160, 165, 229, 266,
- 270, 280, 277, 168, 249, 182, 165, 240, 242, 150,
- 181, 182, 3, 4, 5, 9, 10, 15, 50, 62,
- 67, 75, 76, 109, 111, 113, 118, 122, 125, 130,
- 133, 155, 158, 159, 163, 165, 169, 217, 218, 225,
- 226, 272, 273, 279, 280, 167, 167, 173, 147, 148,
- 148, 148, 148, 148, 148, 168, 255, 148, 167, 10,
- 11, 12, 59, 60, 134, 205, 206, 207, 208, 209,
- 258, 280, 165, 222, 189, 149, 237, 192, 13, 160,
- 193, 51, 270, 232, 13, 17, 60, 141, 155, 160,
- 227, 278, 280, 237, 173, 165, 147, 149, 150, 151,
- 221, 262, 263, 64, 65, 147, 270, 13, 17, 60,
- 112, 141, 155, 160, 165, 187, 210, 212, 278, 150,
- 277, 165, 165, 237, 237, 237, 167, 167, 167, 165,
- 167, 165, 220, 215, 17, 33, 47, 60, 61, 76,
- 107, 110, 113, 129, 141, 155, 213, 280, 270, 230,
- 266, 167, 48, 232, 233, 228, 229, 167, 167, 200,
- 15, 225, 160, 228, 228, 228, 228, 228, 228, 166,
- 220, 160, 277, 229, 229, 229, 229, 229, 229, 166,
- 220, 170, 148, 151, 48, 234, 270, 173, 76, 243,
- 280, 183, 165, 156, 156, 235, 156, 15, 165, 156,
- 165, 270, 270, 270, 270, 237, 268, 270, 167, 15,
- 148, 16, 17, 18, 19, 20, 21, 22, 23, 33,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 164, 165, 166, 181, 181, 168, 256, 10, 10,
- 10, 10, 10, 10, 173, 279, 149, 209, 157, 148,
- 15, 277, 13, 17, 60, 141, 155, 160, 165, 228,
- 229, 190, 212, 149, 215, 160, 210, 215, 167, 167,
- 227, 160, 227, 227, 227, 227, 227, 165, 166, 167,
- 168, 195, 262, 174, 175, 277, 64, 65, 168, 264,
- 280, 149, 149, 147, 223, 224, 270, 280, 149, 160,
- 210, 210, 6, 16, 17, 18, 19, 20, 21, 22,
- 23, 33, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 65, 109, 148, 151, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 165,
- 166, 169, 201, 210, 210, 210, 210, 150, 165, 166,
- 213, 151, 220, 222, 249, 268, 268, 167, 167, 167,
- 268, 268, 167, 60, 235, 182, 165, 147, 170, 165,
- 225, 228, 229, 220, 220, 165, 165, 213, 228, 167,
- 266, 229, 167, 266, 270, 167, 167, 168, 150, 244,
- 245, 280, 237, 237, 237, 165, 237, 165, 10, 237,
- 237, 237, 270, 167, 167, 15, 226, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 167, 268,
- 270, 173, 148, 148, 167, 148, 214, 280, 148, 148,
- 148, 168, 167, 228, 229, 179, 184, 202, 203, 208,
- 277, 151, 160, 151, 219, 280, 220, 222, 167, 210,
- 167, 167, 165, 227, 198, 266, 215, 168, 147, 148,
- 147, 165, 149, 149, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 70, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 82, 83, 84, 100, 107, 108, 109, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 169, 170, 265, 223, 168, 148, 210, 10, 167,
- 170, 167, 4, 211, 266, 270, 148, 167, 167, 167,
- 167, 200, 235, 231, 48, 167, 277, 262, 215, 220,
- 220, 215, 215, 165, 170, 165, 170, 148, 114, 115,
- 116, 134, 139, 246, 276, 277, 147, 148, 167, 157,
- 157, 267, 157, 277, 167, 167, 157, 167, 167, 270,
- 150, 167, 170, 168, 10, 10, 149, 10, 167, 10,
- 10, 10, 149, 219, 237, 50, 62, 67, 118, 122,
- 125, 155, 158, 159, 160, 163, 165, 169, 269, 271,
- 148, 200, 167, 165, 200, 199, 215, 170, 167, 262,
- 175, 267, 267, 264, 168, 147, 270, 217, 170, 187,
- 213, 231, 15, 167, 168, 167, 167, 167, 215, 215,
- 139, 276, 139, 276, 139, 276, 277, 114, 115, 116,
- 15, 173, 246, 165, 165, 167, 165, 167, 165, 270,
- 167, 148, 167, 148, 149, 148, 167, 167, 148, 167,
- 165, 156, 156, 156, 15, 165, 156, 269, 269, 269,
- 269, 269, 237, 268, 269, 16, 17, 18, 19, 20,
- 21, 22, 23, 33, 152, 153, 154, 155, 158, 159,
- 160, 161, 162, 164, 165, 166, 190, 165, 196, 215,
- 167, 200, 168, 168, 167, 168, 223, 167, 147, 167,
- 200, 200, 200, 167, 167, 276, 276, 276, 276, 276,
- 276, 168, 268, 268, 268, 268, 149, 10, 149, 10,
- 10, 149, 149, 10, 149, 237, 237, 237, 237, 165,
- 10, 237, 237, 167, 167, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 167, 268, 270, 197, 215, 167,
- 200, 15, 168, 200, 262, 213, 213, 213, 200, 200,
- 167, 167, 167, 167, 148, 214, 167, 148, 148, 167,
- 167, 157, 157, 157, 277, 167, 167, 157, 269, 150,
- 167, 170, 215, 167, 200, 168, 10, 167, 149, 10,
- 10, 149, 165, 165, 165, 167, 165, 269, 167, 200,
- 149, 167, 148, 167, 268, 268, 268, 268, 200, 213,
- 149, 10, 149, 167, 167, 167, 167, 213, 167, 149
- };
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
- static const yytype_uint16 yyr1[] =
- {
- 0, 171, 172, 172, 172, 173, 173, 173, 174, 174,
- 175, 175, 175, 177, 176, 178, 178, 178, 178, 178,
- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
- 178, 178, 180, 179, 181, 181, 181, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 181, 181, 182, 182, 183, 183, 183, 185, 184, 184,
- 186, 184, 184, 184, 187, 187, 189, 188, 188, 190,
- 190, 192, 191, 193, 191, 195, 194, 196, 194, 197,
- 194, 198, 194, 199, 194, 194, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
- 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
- 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
- 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
- 201, 201, 201, 201, 201, 201, 201, 201, 201, 202,
- 202, 202, 203, 204, 203, 203, 203, 205, 205, 206,
- 206, 207, 207, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 209, 209, 209, 209, 210, 210, 210, 210,
- 210, 210, 210, 210, 210, 210, 210, 211, 210, 212,
- 212, 213, 213, 213, 214, 214, 215, 215, 215, 215,
- 215, 216, 216, 217, 217, 217, 217, 217, 218, 218,
- 219, 219, 220, 220, 221, 221, 221, 221, 221, 222,
- 222, 222, 222, 222, 222, 223, 223, 223, 224, 224,
- 224, 224, 225, 225, 225, 225, 225, 225, 225, 225,
- 226, 226, 227, 227, 227, 227, 227, 227, 227, 227,
- 227, 228, 228, 228, 228, 228, 228, 228, 228, 228,
- 228, 228, 229, 229, 229, 229, 229, 229, 229, 229,
- 229, 229, 229, 230, 230, 230, 230, 230, 230, 230,
- 230, 230, 230, 231, 231, 231, 231, 231, 231, 231,
- 231, 231, 231, 231, 231, 231, 231, 232, 232, 232,
- 232, 232, 232, 232, 232, 232, 232, 232, 232, 233,
- 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
- 234, 234, 234, 235, 235, 235, 235, 235, 235, 235,
- 235, 236, 236, 237, 237, 237, 237, 238, 238, 238,
- 238, 240, 239, 242, 241, 243, 243, 244, 244, 245,
- 245, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 247, 248, 248, 248, 248, 249, 249, 250, 250,
- 250, 251, 251, 251, 252, 252, 252, 253, 253, 253,
- 255, 254, 256, 254, 254, 254, 257, 257, 257, 258,
- 258, 258, 259, 259, 259, 259, 259, 259, 259, 259,
- 259, 259, 259, 259, 259, 259, 260, 260, 260, 261,
- 263, 262, 264, 264, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
- 265, 265, 265, 266, 266, 267, 267, 268, 268, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 271, 271, 272, 272, 272,
- 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
- 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
- 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
- 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
- 272, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- 273, 273, 274, 274, 274, 274, 274, 275, 275, 275,
- 275, 276, 276, 276, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 278, 278, 278, 278, 279,
- 279, 279, 279, 280
- };
- /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
- static const yytype_uint8 yyr2[] =
- {
- 0, 2, 2, 2, 2, 1, 2, 2, 1, 3,
- 4, 5, 4, 0, 5, 1, 1, 1, 1, 1,
- 2, 1, 1, 2, 2, 2, 2, 8, 11, 9,
- 11, 13, 15, 7, 9, 12, 9, 9, 13, 9,
- 7, 5, 0, 3, 1, 2, 2, 3, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 4,
- 5, 5, 1, 3, 1, 4, 4, 0, 4, 3,
- 0, 4, 3, 1, 2, 4, 0, 4, 3, 2,
- 4, 0, 6, 0, 6, 0, 7, 0, 11, 0,
- 12, 0, 8, 0, 9, 1, 1, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 4, 5, 6, 4,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
- 1, 1, 2, 0, 6, 2, 2, 1, 1, 1,
- 3, 1, 1, 1, 2, 4, 2, 3, 3, 4,
- 2, 3, 1, 1, 1, 1, 1, 2, 3, 2,
- 2, 2, 2, 2, 3, 4, 3, 0, 6, 2,
- 3, 1, 3, 4, 1, 2, 1, 1, 1, 3,
- 2, 1, 3, 1, 1, 1, 3, 2, 1, 3,
- 1, 2, 1, 2, 1, 3, 5, 3, 3, 1,
- 3, 3, 3, 3, 4, 1, 1, 2, 1, 3,
- 3, 5, 3, 4, 5, 3, 4, 5, 2, 4,
- 1, 1, 1, 1, 2, 2, 2, 2, 2, 3,
- 4, 1, 1, 2, 2, 2, 2, 2, 3, 4,
- 7, 3, 1, 2, 2, 2, 2, 2, 2, 3,
- 4, 7, 3, 1, 1, 2, 2, 2, 2, 2,
- 2, 3, 4, 1, 1, 2, 2, 2, 2, 2,
- 2, 3, 4, 5, 9, 9, 9, 1, 1, 2,
- 1, 1, 1, 3, 4, 4, 4, 4, 1, 1,
- 1, 1, 2, 1, 1, 1, 3, 4, 2, 4,
- 4, 4, 1, 1, 1, 2, 3, 2, 4, 4,
- 1, 1, 1, 2, 3, 2, 3, 1, 4, 5,
- 5, 0, 6, 0, 9, 1, 1, 1, 1, 2,
- 3, 1, 2, 2, 2, 3, 3, 3, 3, 3,
- 3, 4, 3, 1, 4, 2, 1, 1, 1, 3,
- 5, 1, 2, 4, 1, 2, 2, 1, 1, 1,
- 0, 6, 0, 7, 4, 5, 3, 5, 4, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 2, 1, 1, 2, 1,
- 0, 2, 1, 2, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 1, 1, 1, 1, 1, 3, 1,
- 4, 7, 7, 7, 7, 4, 4, 5, 4, 2,
- 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 5, 4, 4, 3, 3, 3, 3, 1, 4,
- 7, 7, 7, 7, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 4, 2, 5, 4, 4, 2, 2, 2, 2,
- 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 5, 4, 4, 3, 3, 3, 3, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 8, 11,
- 4, 4, 6, 4, 4, 6, 6, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 1, 4, 7,
- 7, 7, 7, 4, 4, 5, 4, 2, 5, 4,
- 4, 2, 2, 2, 2, 2, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 5, 4, 4, 3, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 4, 2, 3, 1,
- 2, 1, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 2, 0
- };
- #define yyerrok (yyerrstatus = 0)
- #define yyclearin (yychar = YYEMPTY)
- #define YYEMPTY (-2)
- #define YYEOF 0
- #define YYACCEPT goto yyacceptlab
- #define YYABORT goto yyabortlab
- #define YYERROR goto yyerrorlab
- #define YYRECOVERING() (!!yyerrstatus)
- #define YYBACKUP(Token, Value) \
- do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (&yylloc, YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
- while (0)
- /* Error token number */
- #define YYTERROR 1
- #define YYERRCODE 256
- /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
- #ifndef YYLLOC_DEFAULT
- # define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (N) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (0)
- #endif
- #define YYRHSLOC(Rhs, K) ((Rhs)[K])
- /* Enable debugging if requested. */
- #if YYDEBUG
- # ifndef YYFPRINTF
- # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
- # define YYFPRINTF fprintf
- # endif
- # define YYDPRINTF(Args) \
- do { \
- if (yydebug) \
- YYFPRINTF Args; \
- } while (0)
- /* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
- #ifndef YY_LOCATION_PRINT
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
- /* Print *YYLOCP on YYO. Private, do not rely on its existence. */
- YY_ATTRIBUTE_UNUSED
- static unsigned
- yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
- {
- unsigned res = 0;
- int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
- if (0 <= yylocp->first_line)
- {
- res += YYFPRINTF (yyo, "%d", yylocp->first_line);
- if (0 <= yylocp->first_column)
- res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
- }
- if (0 <= yylocp->last_line)
- {
- if (yylocp->first_line < yylocp->last_line)
- {
- res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
- if (0 <= end_col)
- res += YYFPRINTF (yyo, ".%d", end_col);
- }
- else if (0 <= end_col && yylocp->first_column < end_col)
- res += YYFPRINTF (yyo, "-%d", end_col);
- }
- return res;
- }
- # define YY_LOCATION_PRINT(File, Loc) \
- yy_location_print_ (File, &(Loc))
- # else
- # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
- # endif
- #endif
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
- do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value, Location); \
- YYFPRINTF (stderr, "\n"); \
- } \
- } while (0)
- /*----------------------------------------.
- | Print this symbol's value on YYOUTPUT. |
- `----------------------------------------*/
- static void
- yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
- {
- FILE *yyo = yyoutput;
- YYUSE (yyo);
- YYUSE (yylocationp);
- if (!yyvaluep)
- return;
- # ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
- # endif
- YYUSE (yytype);
- }
- /*--------------------------------.
- | Print this symbol on YYOUTPUT. |
- `--------------------------------*/
- static void
- yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
- {
- YYFPRINTF (yyoutput, "%s %s (",
- yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
- YY_LOCATION_PRINT (yyoutput, *yylocationp);
- YYFPRINTF (yyoutput, ": ");
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
- YYFPRINTF (yyoutput, ")");
- }
- /*------------------------------------------------------------------.
- | yy_stack_print -- Print the state stack from its BOTTOM up to its |
- | TOP (included). |
- `------------------------------------------------------------------*/
- static void
- yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
- {
- YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
- YYFPRINTF (stderr, "\n");
- }
- # define YY_STACK_PRINT(Bottom, Top) \
- do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
- } while (0)
- /*------------------------------------------------.
- | Report that the YYRULE is going to be reduced. |
- `------------------------------------------------*/
- static void
- yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
- {
- unsigned long int yylno = yyrline[yyrule];
- int yynrhs = yyr2[yyrule];
- int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- , &(yylsp[(yyi + 1) - (yynrhs)]) );
- YYFPRINTF (stderr, "\n");
- }
- }
- # define YY_REDUCE_PRINT(Rule) \
- do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
- } while (0)
- /* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
- int yydebug;
- #else /* !YYDEBUG */
- # define YYDPRINTF(Args)
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
- # define YY_STACK_PRINT(Bottom, Top)
- # define YY_REDUCE_PRINT(Rule)
- #endif /* !YYDEBUG */
- /* YYINITDEPTH -- initial size of the parser's stacks. */
- #ifndef YYINITDEPTH
- # define YYINITDEPTH 200
- #endif
- /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
- #ifndef YYMAXDEPTH
- # define YYMAXDEPTH 10000
- #endif
- #if YYERROR_VERBOSE
- # ifndef yystrlen
- # if defined __GLIBC__ && defined _STRING_H
- # define yystrlen strlen
- # else
- /* Return the length of YYSTR. */
- static YYSIZE_T
- yystrlen (const char *yystr)
- {
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
- }
- # endif
- # endif
- # ifndef yystpcpy
- # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
- # define yystpcpy stpcpy
- # else
- /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
- static char *
- yystpcpy (char *yydest, const char *yysrc)
- {
- char *yyd = yydest;
- const char *yys = yysrc;
- while ((*yyd++ = *yys++) != '\0')
- continue;
- return yyd - 1;
- }
- # endif
- # endif
- # ifndef yytnamerr
- /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
- static YYSIZE_T
- yytnamerr (char *yyres, const char *yystr)
- {
- if (*yystr == '"')
- {
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
- if (! yyres)
- return yystrlen (yystr);
- return yystpcpy (yyres, yystr) - yyres;
- }
- # endif
- /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
- about the unexpected token YYTOKEN for the state stack whose top is
- YYSSP.
- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
- not large enough to hold the message. In that case, also set
- *YYMSG_ALLOC to the required number of bytes. Return 2 if the
- required number of bytes is too large to store. */
- static int
- yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
- {
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULLPTR;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[*yyssp];
- yyarg[yycount++] = yytname[yytoken];
- if (!yypact_value_is_default (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- {
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
- }
- }
- }
- switch (yycount)
- {
- # define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
- # undef YYCASE_
- }
- {
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
- if (*yymsg_alloc < yysize)
- {
- *yymsg_alloc = 2 * yysize;
- if (! (yysize <= *yymsg_alloc
- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
- return 1;
- }
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- {
- char *yyp = *yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat) != '\0')
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- return 0;
- }
- #endif /* YYERROR_VERBOSE */
- /*-----------------------------------------------.
- | Release the memory associated to this symbol. |
- `-----------------------------------------------*/
- static void
- yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
- {
- YYUSE (yyvaluep);
- YYUSE (yylocationp);
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- YYUSE (yytype);
- YY_IGNORE_MAYBE_UNINITIALIZED_END
- }
- /*----------.
- | yyparse. |
- `----------*/
- int
- yyparse (void)
- {
- /* The lookahead symbol. */
- int yychar;
- /* The semantic value of the lookahead symbol. */
- /* Default value used for initialization, for pacifying older GCCs
- or non-GCC compilers. */
- YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
- YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
- /* Location data for the lookahead symbol. */
- static YYLTYPE yyloc_default
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
- = { 1, 1, 1, 1 }
- # endif
- ;
- YYLTYPE yylloc = yyloc_default;
- /* Number of syntax errors so far. */
- int yynerrs;
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* The stacks and their tools:
- 'yyss': related to states.
- 'yyvs': related to semantic values.
- 'yyls': related to locations.
- Refer to the stacks through separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[3];
- YYSIZE_T yystacksize;
- int yyn;
- int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken = 0;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
- YYLTYPE yyloc;
- #if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
- #endif
- #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;
- yyssp = yyss = yyssa;
- yyvsp = yyvs = yyvsa;
- yylsp = yyls = yylsa;
- yystacksize = YYINITDEPTH;
- YYDPRINTF ((stderr, "Starting parse\n"));
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
- yylsp[0] = yylloc;
- goto yysetstate;
- /*------------------------------------------------------------.
- | yynewstate -- Push a new state, which is found in yystate. |
- `------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
- yysetstate:
- *yyssp = yystate;
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
- #ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
- YYLTYPE *yyls1 = yyls;
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yyls1, yysize * sizeof (*yylsp),
- &yystacksize);
- yyls = yyls1;
- yyss = yyss1;
- yyvs = yyvs1;
- }
- #else /* no yyoverflow */
- # ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
- # else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
- YYSTACK_RELOCATE (yyls_alloc, yyls);
- # undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
- # endif
- #endif /* no yyoverflow */
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
- yylsp = yyls + yysize - 1;
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- if (yystate == YYFINAL)
- YYACCEPT;
- goto yybackup;
- /*-----------.
- | yybackup. |
- `-----------*/
- yybackup:
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to lookahead token. */
- yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
- goto yydefault;
- /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = yylex (&yylval, &yylloc);
- }
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
- goto yydefault;
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yytable_value_is_error (yyn))
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
- /* Shift the lookahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token. */
- yychar = YYEMPTY;
- yystate = yyn;
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
- *++yylsp = yylloc;
- goto yynewstate;
- /*-----------------------------------------------------------.
- | yydefault -- do the default action for the current state. |
- `-----------------------------------------------------------*/
- yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
- /*-----------------------------.
- | yyreduce -- Do a reduction. |
- `-----------------------------*/
- yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'.
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
- /* Default location. */
- YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
- case 3:
- #line 452 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_expr = (yyvsp[0].u.expr);
- }
- #line 4026 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 4:
- #line 456 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_type = (yyvsp[0].u.type);
- }
- #line 4034 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 10:
- #line 474 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- delete (yyvsp[-1].u.expr);
- }
- #line 4042 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 11:
- #line 478 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- delete (yyvsp[-2].u.expr);
- }
- #line 4050 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 12:
- #line 482 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- delete (yyvsp[-1].u.expr);
- }
- #line 4058 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 13:
- #line 494 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) |
- ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding));
- }
- #line 4067 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 14:
- #line 499 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_storage_class();
- }
- #line 4075 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 21:
- #line 512 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (publish_nest_level != 0) {
- yyerror("Unclosed __begin_publish", publish_loc);
- publish_nest_level = 0;
- current_scope->set_current_vis(V_public);
- }
- publish_previous = current_scope->get_current_vis();
- publish_loc = (yylsp[0]);
- publish_nest_level++;
- current_scope->set_current_vis(V_published);
- }
- #line 4092 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 22:
- #line 525 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (publish_nest_level != 1) {
- yyerror("Unmatched __end_publish", (yylsp[0]));
- } else {
- current_scope->set_current_vis(publish_previous);
- }
- publish_nest_level = 0;
- }
- #line 4105 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 23:
- #line 534 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_scope->set_current_vis(V_published);
- }
- #line 4113 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 24:
- #line 538 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (publish_nest_level > 0) {
- current_scope->set_current_vis(V_published);
- } else {
- current_scope->set_current_vis(V_public);
- }
- }
- #line 4125 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 25:
- #line 546 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_scope->set_current_vis(V_protected);
- }
- #line 4133 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 26:
- #line 550 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_scope->set_current_vis(V_private);
- }
- #line 4141 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 27:
- #line 554 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-3].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-3].u.identifier)->get_fully_scoped_name(), (yylsp[-3]));
- } else {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-5].u.identifier), CPPMakeProperty::T_normal, current_scope, (yylsp[-7]).file);
- make_property->_get_function = getter->as_function_group();
- if ((yyvsp[-2].u.identifier) != nullptr) {
- CPPDeclaration *setter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-7]));
- }
- }
- #line 4166 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 28:
- #line 575 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
- } else {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-8].u.identifier), CPPMakeProperty::T_normal, current_scope, (yylsp[-10]).file);
- make_property->_get_function = getter->as_function_group();
- CPPDeclaration *setter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- CPPDeclaration *deleter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (deleter == nullptr || deleter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid delete method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_del_function = deleter->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10]));
- }
- }
- #line 4197 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 29:
- #line 602 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- length_getter = nullptr;
- }
- CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- getter = nullptr;
- }
- if (getter != nullptr && length_getter != nullptr) {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-6].u.identifier), CPPMakeProperty::T_sequence, current_scope, (yylsp[-8]).file);
- make_property->_get_function = getter->as_function_group();
- make_property->_length_function = length_getter->as_function_group();
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8]));
- }
- }
- #line 4222 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 30:
- #line 623 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *length_getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
- length_getter = nullptr;
- }
- CPPDeclaration *getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- getter = nullptr;
- }
- if (getter != nullptr && length_getter != nullptr) {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-8].u.identifier), CPPMakeProperty::T_sequence, current_scope, (yylsp[-10]).file);
- make_property->_get_function = getter->as_function_group();
- make_property->_length_function = length_getter->as_function_group();
- CPPDeclaration *setter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10]));
- }
- }
- #line 4255 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 31:
- #line 652 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *length_getter = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[-8].u.identifier)->get_fully_scoped_name(), (yylsp[-8]));
- length_getter = NULL;
- }
- CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
- getter = nullptr;
- }
- if (getter != nullptr && length_getter != nullptr) {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-10].u.identifier), CPPMakeProperty::T_sequence, current_scope, (yylsp[-12]).file);
- make_property->_get_function = getter->as_function_group();
- make_property->_length_function = length_getter->as_function_group();
- CPPDeclaration *setter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- CPPDeclaration *deleter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (deleter == nullptr || deleter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid delete method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_del_function = deleter->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12]));
- }
- }
- #line 4295 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 32:
- #line 688 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *length_getter = (yyvsp[-10].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[-10].u.identifier)->get_fully_scoped_name(), (yylsp[-10]));
- length_getter = NULL;
- }
- CPPDeclaration *getter = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-8].u.identifier)->get_fully_scoped_name(), (yylsp[-8]));
- getter = nullptr;
- }
- if (getter != nullptr && length_getter != nullptr) {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-12].u.identifier), CPPMakeProperty::T_sequence, current_scope, (yylsp[-14]).file);
- make_property->_get_function = getter->as_function_group();
- make_property->_length_function = length_getter->as_function_group();
- CPPDeclaration *setter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- CPPDeclaration *deleter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (deleter == nullptr || deleter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid delete method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- } else {
- make_property->_del_function = deleter->as_function_group();
- }
- CPPDeclaration *inserter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (inserter == nullptr || inserter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid append method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_insert_function = inserter->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-14]));
- }
- }
- #line 4342 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 33:
- #line 731 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid item getter method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-4].u.identifier), CPPMakeProperty::T_mapping, current_scope, (yylsp[-6]).file);
- make_property->_get_function = getter->as_function_group();
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6]));
- }
- }
- #line 4358 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 34:
- #line 743 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- CPPMakeProperty *make_property;
- make_property = new CPPMakeProperty((yyvsp[-6].u.identifier), CPPMakeProperty::T_mapping, current_scope, (yylsp[-8]).file);
- make_property->_get_function = getter->as_function_group();
- CPPDeclaration *hasser = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (hasser == nullptr || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid has/find method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- } else {
- make_property->_has_function = hasser->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8]));
- }
- }
- #line 4383 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 35:
- #line 764 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-5].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-5].u.identifier)->get_fully_scoped_name(), (yylsp[-5]));
- } else {
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-9].u.identifier), CPPMakeProperty::T_mapping, current_scope, (yylsp[-11]).file);
- make_property->_get_function = getter->as_function_group();
- CPPDeclaration *hasser = (yyvsp[-7].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (hasser == nullptr || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid has/find method: " + (yyvsp[-7].u.identifier)->get_fully_scoped_name(), (yylsp[-7]));
- } else {
- make_property->_has_function = hasser->as_function_group();
- }
- CPPDeclaration *setter = (yyvsp[-3].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-3].u.identifier)->get_fully_scoped_name(), (yylsp[-3]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- if ((yyvsp[-2].u.identifier) != nullptr) {
- CPPDeclaration *deleter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (deleter == nullptr || deleter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid delete method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_del_function = deleter->as_function_group();
- }
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-11]));
- }
- }
- #line 4423 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 36:
- #line 800 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- length_getter = nullptr;
- }
- CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- getter = nullptr;
- }
- if (getter != nullptr && length_getter != nullptr) {
- CPPMakeProperty *make_property = nullptr;
- for (size_t i = 0; i < current_scope->_declarations.size(); ++i) {
- make_property = current_scope->_declarations[i]->as_make_property();
- if (make_property != nullptr) {
- if (make_property->get_fully_scoped_name() == (yyvsp[-6].u.identifier)->get_fully_scoped_name()) {
- break;
- } else {
- make_property = nullptr;
- }
- }
- }
- if (make_property != nullptr) {
- make_property->_get_key_function = getter->as_function_group();
- make_property->_length_function = length_getter->as_function_group();
- } else {
- yyerror("reference to non-existent MAKE_MAP_PROPERTY: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
- }
- }
- }
- #line 4461 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 37:
- #line 834 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- CPPMakeProperty *make_property;
- make_property = new CPPMakeProperty((yyvsp[-6].u.identifier), CPPMakeProperty::T_normal,
- current_scope, (yylsp[-8]).file);
- make_property->_get_function = getter->as_function_group();
- CPPDeclaration *hasser = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (hasser == nullptr || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid has/find method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- } else {
- make_property->_has_function = hasser->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8]));
- }
- }
- #line 4487 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 38:
- #line 856 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
- } else {
- CPPMakeProperty *make_property;
- make_property = new CPPMakeProperty((yyvsp[-10].u.identifier), CPPMakeProperty::T_normal,
- current_scope, (yylsp[-12]).file);
- make_property->_get_function = getter->as_function_group();
- CPPDeclaration *hasser = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (hasser == nullptr || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid has/find method: " + (yyvsp[-8].u.identifier)->get_fully_scoped_name(), (yylsp[-8]));
- } else {
- make_property->_has_function = hasser->as_function_group();
- }
- CPPDeclaration *setter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (setter == nullptr || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid setter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- } else {
- make_property->_set_function = setter->as_function_group();
- }
- CPPDeclaration *clearer = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (clearer == nullptr || clearer->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid clear method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
- } else {
- make_property->_clear_function = clearer->as_function_group();
- }
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12]));
- }
- }
- #line 4527 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 39:
- #line 892 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- length_getter = NULL;
- }
- CPPDeclaration *element_getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (element_getter == (CPPDeclaration *)NULL || element_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid element method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
- element_getter = NULL;
- }
- if (length_getter != (CPPDeclaration *)NULL && element_getter != (CPPDeclaration *)NULL) {
- CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[-6].u.identifier),
- length_getter->as_function_group(),
- element_getter->as_function_group(),
- current_scope, (yylsp[-8]).file);
- current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8]));
- }
- }
- #line 4553 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 40:
- #line 914 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate();
- if (result._type == CPPExpression::RT_error) {
- yywarning("static_assert requires a constant expression", (yylsp[-4]));
- } else if (!result.as_boolean()) {
- stringstream str;
- str << *(yyvsp[-2].u.expr);
- yywarning("static_assert failed: " + str.str(), (yylsp[-4]));
- }
- }
- #line 4568 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 41:
- #line 925 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // This alternative version of static_assert was introduced in C++17.
- CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate();
- if (result._type == CPPExpression::RT_error) {
- yywarning("static_assert requires a constant expression", (yylsp[-2]));
- } else if (!result.as_boolean()) {
- yywarning("static_assert failed", (yylsp[-2]));
- }
- }
- #line 4582 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 42:
- #line 938 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"),
- V_public);
- push_scope(new_scope);
- }
- #line 4592 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 43:
- #line 944 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- delete current_scope;
- pop_scope();
- }
- #line 4601 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 44:
- #line 953 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = 0;
- }
- #line 4609 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 45:
- #line 957 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // This isn't really a storage class, but it helps with parsing.
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_const;
- }
- #line 4618 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 46:
- #line 962 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
- }
- #line 4626 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 47:
- #line 966 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
- if ((yyvsp[-1].str) == "C") {
- (yyval.u.integer) |= (int)CPPInstance::SC_c_binding;
- } else if ((yyvsp[-1].str) == "C++") {
- (yyval.u.integer) &= ~(int)CPPInstance::SC_c_binding;
- } else {
- yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1]));
- }
- }
- #line 4641 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 48:
- #line 977 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static;
- }
- #line 4649 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 49:
- #line 981 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline;
- }
- #line 4657 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 50:
- #line 985 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual;
- }
- #line 4665 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 51:
- #line 989 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit;
- }
- #line 4673 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 52:
- #line 993 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register;
- }
- #line 4681 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 53:
- #line 997 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile;
- }
- #line 4689 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 54:
- #line 1001 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable;
- }
- #line 4697 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 55:
- #line 1005 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr;
- }
- #line 4705 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 56:
- #line 1009 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking;
- }
- #line 4713 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 57:
- #line 1013 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension;
- }
- #line 4721 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 58:
- #line 1017 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local;
- }
- #line 4729 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 59:
- #line 1021 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // Ignore attribute specifiers for now.
- (yyval.u.integer) = (yyvsp[0].u.integer);
- }
- #line 4738 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 60:
- #line 1026 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer);
- }
- #line 4746 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 61:
- #line 1030 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[0].u.integer);
- }
- #line 4754 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 67:
- #line 1048 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // We don't need to push/pop type, because we can't nest
- // type_like_declaration.
- if ((yyvsp[0].u.decl)->as_type_declaration()) {
- current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
- } else {
- current_type = (yyvsp[0].u.decl)->as_type();
- }
- push_storage_class((yyvsp[-1].u.integer));
- }
- #line 4769 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 68:
- #line 1059 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_storage_class();
- }
- #line 4777 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 69:
- #line 1064 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // We don't really care about the storage class here. In fact, it's
- // not actually legal to define a class or struct using a particular
- // storage class, but we require it just to help yacc out in its
- // parsing.
- current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1]));
- }
- #line 4790 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 70:
- #line 1073 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[0].u.instance) != (CPPInstance *)NULL) {
- // Push the scope so that the initializers can make use of things defined
- // in the class body.
- push_scope((yyvsp[0].u.instance)->get_scope(current_scope, global_scope));
- (yyvsp[0].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-1].u.integer));
- }
- }
- #line 4803 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 71:
- #line 1082 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-2].u.instance) != (CPPInstance *)NULL) {
- pop_scope();
- current_scope->add_declaration((yyvsp[-2].u.instance), global_scope, current_lexer, (yylsp[-2]));
- (yyvsp[-2].u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- }
- #line 4815 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 72:
- #line 1090 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
- (yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
- current_scope->add_declaration((yyvsp[-1].u.instance), global_scope, current_lexer, (yylsp[-1]));
- (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- }
- #line 4827 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 74:
- #line 1106 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (current_storage_class & CPPInstance::SC_const) {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- }
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-1].u.inst_ident),
- current_storage_class,
- (yylsp[-1]).file);
- inst->set_initializer((yyvsp[0].u.expr));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1]));
- }
- #line 4842 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 75:
- #line 1117 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (current_storage_class & CPPInstance::SC_const) {
- (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const);
- }
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-3].u.inst_ident),
- current_storage_class,
- (yylsp[-3]).file);
- inst->set_initializer((yyvsp[-2].u.expr));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3]));
- }
- #line 4857 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 76:
- #line 1132 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // We don't need to push/pop type, because we can't nest
- // multiple_var_declarations.
- if ((yyvsp[0].u.decl)->as_type_declaration()) {
- current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
- } else {
- current_type = (yyvsp[0].u.decl)->as_type();
- }
- push_storage_class((yyvsp[-1].u.integer));
- }
- #line 4872 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 77:
- #line 1143 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_storage_class();
- }
- #line 4880 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 78:
- #line 1147 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-1].u.instance) != (CPPDeclaration *)NULL) {
- CPPInstance *inst = (yyvsp[-1].u.instance)->as_instance();
- if (inst != (CPPInstance *)NULL) {
- inst->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1]));
- CPPTypedefType *typedef_type = new CPPTypedefType(inst->_type, inst->_ident, current_scope);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1]));
- }
- }
- }
- #line 4896 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 79:
- #line 1162 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (current_storage_class & CPPInstance::SC_const) {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- }
- CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1]));
- }
- #line 4909 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 80:
- #line 1171 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if (current_storage_class & CPPInstance::SC_const) {
- (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const);
- }
- CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-3]));
- }
- #line 4922 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 81:
- #line 1185 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
- }
- #line 4930 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 82:
- #line 1189 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type;
- if ((yyvsp[-5].u.identifier)->get_simple_name() == current_scope->get_simple_name() ||
- (yyvsp[-5].u.identifier)->get_simple_name() == string("~") + current_scope->get_simple_name()) {
- // This is a constructor, and has no return.
- type = new CPPSimpleType(CPPSimpleType::T_void);
- } else {
- // This isn't a constructor, so it has an implicit return type of
- // int.
- yywarning("function has no return type, assuming int", (yylsp[-5]));
- type = new CPPSimpleType(CPPSimpleType::T_int);
- }
- pop_scope();
- CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[-5].u.identifier));
- ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file);
- }
- #line 4954 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 83:
- #line 1209 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
- }
- #line 4962 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 84:
- #line 1213 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- CPPType *type;
- if ((yyvsp[-5].u.identifier)->get_simple_name() == current_scope->get_simple_name()) {
- // This is a constructor, and has no return.
- type = new CPPSimpleType(CPPSimpleType::T_void);
- } else {
- // This isn't a constructor, so it has an implicit return type of
- // int.
- type = new CPPSimpleType(CPPSimpleType::T_int);
- }
- CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[-5].u.identifier));
- ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file);
- }
- #line 4984 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 85:
- #line 1236 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
- }
- #line 4992 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 86:
- #line 1240 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- if ((yyvsp[-5].u.identifier)->is_scoped()) {
- yyerror("Invalid destructor name: ~" + (yyvsp[-5].u.identifier)->get_fully_scoped_name(), (yylsp[-5]));
- } else {
- CPPIdentifier *ident =
- new CPPIdentifier("~" + (yyvsp[-5].u.identifier)->get_simple_name(), (yylsp[-5]));
- delete (yyvsp[-5].u.identifier);
- CPPType *type;
- type = new CPPSimpleType(CPPSimpleType::T_void);
- CPPInstanceIdentifier *ii = new CPPInstanceIdentifier(ident);
- ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file);
- }
- }
- #line 5015 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 87:
- #line 1266 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope));
- }
- #line 5023 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 88:
- #line 1270 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- CPPType *type = (yyvsp[-10].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[-10].u.identifier)->get_fully_scoped_name(), (yylsp[-10]));
- }
- assert(type != NULL);
- CPPInstanceIdentifier *ii = (yyvsp[-7].u.inst_ident);
- ii->add_modifier(IIT_pointer);
- ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-10]).file);
- }
- #line 5041 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 89:
- #line 1284 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope));
- }
- #line 5049 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 90:
- #line 1288 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- CPPType *type = (yyvsp[-11].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[-11].u.identifier)->get_fully_scoped_name(), (yylsp[-11]));
- }
- assert(type != NULL);
- CPPInstanceIdentifier *ii = (yyvsp[-7].u.inst_ident);
- ii->add_scoped_pointer_modifier((yyvsp[-9].u.identifier));
- ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file);
- }
- #line 5067 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 91:
- #line 1304 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-3].u.identifier) != NULL) {
- push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope));
- }
- }
- #line 5077 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 92:
- #line 1310 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-7].u.identifier) != NULL) {
- pop_scope();
- }
- // We use formal_parameter_identifier, because that can match a type
- // name with or without an identifier, but especially without, which
- // is what follows the keyword "operator" in a typecast function.
- // As an added bonus, the type of the formal_parameter will be the
- // typecast type, i.e. the return type of the typecast function.
- // We give typecast operators the name "operator typecast <name>",
- // where <name> is a simple name of the type to be typecast. Use
- // the method's return type to determine the full type description.
- string name = "operator typecast " + (yyvsp[-6].u.type)->get_simple_name();
- CPPIdentifier *ident = (yyvsp[-7].u.identifier);
- if (ident == NULL) {
- ident = new CPPIdentifier(name, (yylsp[-6]));
- } else {
- ident->add_name(name);
- }
- (yyval.u.instance) = CPPInstance::make_typecast_function
- (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- }
- #line 5106 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 93:
- #line 1335 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-4].u.identifier) != NULL) {
- push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope));
- }
- }
- #line 5116 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 94:
- #line 1341 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- if ((yyvsp[-8].u.identifier) != NULL) {
- pop_scope();
- }
- CPPIdentifier *ident = (yyvsp[-8].u.identifier);
- if (ident == NULL) {
- ident = new CPPIdentifier("operator typecast", (yylsp[-5]));
- } else {
- ident->add_name("operator typecast");
- }
- (yyvsp[-5].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = CPPInstance::make_typecast_function
- (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- }
- #line 5136 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 95:
- #line 1361 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *decl =
- (yyvsp[0].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (decl != (CPPDeclaration *)NULL) {
- (yyval.u.instance) = decl->as_instance();
- } else {
- (yyval.u.instance) = (CPPInstance *)NULL;
- }
- }
- #line 5150 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 96:
- #line 1374 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = 0;
- }
- #line 5158 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 97:
- #line 1378 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_const_method;
- }
- #line 5166 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 98:
- #line 1382 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_volatile_method;
- }
- #line 5174 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 99:
- #line 1386 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_noexcept;
- }
- #line 5182 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 100:
- #line 1399 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_final;
- }
- #line 5190 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 101:
- #line 1403 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_override;
- }
- #line 5198 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 102:
- #line 1407 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_lvalue_method;
- }
- #line 5206 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 103:
- #line 1411 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_rvalue_method;
- }
- #line 5214 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 104:
- #line 1415 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // Used for lambdas, currently ignored.
- (yyval.u.integer) = (yyvsp[-1].u.integer);
- }
- #line 5223 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 105:
- #line 1420 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // Used for lambdas in C++17, currently ignored.
- (yyval.u.integer) = (yyvsp[-1].u.integer);
- }
- #line 5232 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 106:
- #line 1425 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-3].u.integer);
- }
- #line 5240 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 107:
- #line 1429 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-4].u.integer);
- }
- #line 5248 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 108:
- #line 1433 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-5].u.integer);
- }
- #line 5256 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 109:
- #line 1437 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.integer) = (yyvsp[-3].u.integer);
- }
- #line 5264 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 110:
- #line 1444 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "!";
- }
- #line 5272 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 111:
- #line 1448 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "~";
- }
- #line 5280 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 112:
- #line 1452 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "*";
- }
- #line 5288 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 113:
- #line 1456 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "/";
- }
- #line 5296 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 114:
- #line 1460 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "%";
- }
- #line 5304 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 115:
- #line 1464 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "+";
- }
- #line 5312 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 116:
- #line 1468 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "-";
- }
- #line 5320 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 117:
- #line 1472 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "|";
- }
- #line 5328 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 118:
- #line 1476 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "&";
- }
- #line 5336 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 119:
- #line 1480 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "^";
- }
- #line 5344 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 120:
- #line 1484 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "||";
- }
- #line 5352 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 121:
- #line 1488 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "&&";
- }
- #line 5360 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 122:
- #line 1492 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "==";
- }
- #line 5368 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 123:
- #line 1496 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "!=";
- }
- #line 5376 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 124:
- #line 1500 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "<=";
- }
- #line 5384 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 125:
- #line 1504 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = ">=";
- }
- #line 5392 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 126:
- #line 1508 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "<";
- }
- #line 5400 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 127:
- #line 1512 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = ">";
- }
- #line 5408 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 128:
- #line 1516 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "<<";
- }
- #line 5416 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 129:
- #line 1520 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = ">>";
- }
- #line 5424 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 130:
- #line 1524 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "=";
- }
- #line 5432 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 131:
- #line 1528 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = ",";
- }
- #line 5440 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 132:
- #line 1532 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "++";
- }
- #line 5448 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 133:
- #line 1536 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "--";
- }
- #line 5456 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 134:
- #line 1540 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "*=";
- }
- #line 5464 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 135:
- #line 1544 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "/=";
- }
- #line 5472 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 136:
- #line 1548 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "%=";
- }
- #line 5480 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 137:
- #line 1552 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "+=";
- }
- #line 5488 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 138:
- #line 1556 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "-=";
- }
- #line 5496 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 139:
- #line 1560 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "|=";
- }
- #line 5504 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 140:
- #line 1564 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "&=";
- }
- #line 5512 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 141:
- #line 1568 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "^=";
- }
- #line 5520 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 142:
- #line 1572 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "<<=";
- }
- #line 5528 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 143:
- #line 1576 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = ">>=";
- }
- #line 5536 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 144:
- #line 1580 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "->";
- }
- #line 5544 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 145:
- #line 1584 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "[]";
- }
- #line 5552 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 146:
- #line 1588 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "()";
- }
- #line 5560 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 147:
- #line 1592 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "new";
- }
- #line 5568 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 148:
- #line 1596 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.str) = "delete";
- }
- #line 5576 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 153:
- #line 1610 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- push_scope(new CPPTemplateScope(current_scope));
- }
- #line 5584 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 154:
- #line 1614 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- }
- #line 5592 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 159:
- #line 1628 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPTemplateScope *ts = current_scope->as_template_scope();
- assert(ts != NULL);
- ts->add_template_parameter((yyvsp[0].u.decl));
- }
- #line 5602 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 160:
- #line 1634 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPTemplateScope *ts = current_scope->as_template_scope();
- assert(ts != NULL);
- ts->add_template_parameter((yyvsp[0].u.decl));
- }
- #line 5612 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 163:
- #line 1648 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((CPPIdentifier *)NULL));
- }
- #line 5620 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 164:
- #line 1652 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier)));
- }
- #line 5628 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 165:
- #line 1656 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type)));
- }
- #line 5636 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 166:
- #line 1660 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((CPPIdentifier *)NULL);
- ctp->_packed = true;
- (yyval.u.decl) = CPPType::new_type(ctp);
- }
- #line 5646 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 167:
- #line 1666 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[0].u.identifier));
- ctp->_packed = true;
- (yyval.u.decl) = CPPType::new_type(ctp);
- }
- #line 5656 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 168:
- #line 1672 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPInstance *inst = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
- inst->set_initializer((yyvsp[0].u.expr));
- (yyval.u.decl) = inst;
- }
- #line 5666 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 169:
- #line 1678 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
- inst->set_initializer((yyvsp[0].u.expr));
- (yyval.u.decl) = inst;
- }
- #line 5677 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 170:
- #line 1685 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file);
- (yyval.u.decl) = inst;
- }
- #line 5686 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 171:
- #line 1690 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file);
- (yyval.u.decl) = inst;
- }
- #line 5696 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 172:
- #line 1699 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
- }
- #line 5704 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 173:
- #line 1703 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- yywarning("Not a type: " + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown));
- }
- #line 5713 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 174:
- #line 1708 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- }
- assert((yyval.u.type) != NULL);
- }
- #line 5725 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 175:
- #line 1716 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- }
- assert((yyval.u.type) != NULL);
- }
- #line 5737 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 176:
- #line 1728 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
- }
- #line 5745 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 177:
- #line 1732 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // For an operator function. We implement this simply by building a
- // ficticious name for the function; in other respects it's just
- // like a regular function.
- CPPIdentifier *ident = (yyvsp[-1].u.identifier);
- if (ident == NULL) {
- ident = new CPPIdentifier("operator "+(yyvsp[0].str), (yylsp[0]));
- } else {
- ident->_names.push_back("operator "+(yyvsp[0].str));
- }
- (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident);
- }
- #line 5763 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 178:
- #line 1746 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // A C++11 literal operator.
- if (!(yyvsp[-1].str).empty()) {
- yyerror("expected empty string", (yylsp[-1]));
- }
- CPPIdentifier *ident = (yyvsp[-2].u.identifier);
- if (ident == NULL) {
- ident = new CPPIdentifier("operator \"\" "+(yyvsp[0].u.identifier)->get_simple_name(), (yylsp[0]));
- } else {
- ident->_names.push_back("operator \"\" "+(yyvsp[0].u.identifier)->get_simple_name());
- }
- (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident);
- }
- #line 5782 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 179:
- #line 1761 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
- }
- #line 5791 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 180:
- #line 1766 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_volatile);
- }
- #line 5800 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 181:
- #line 1771 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- }
- #line 5809 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 182:
- #line 1776 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- }
- #line 5818 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 183:
- #line 1781 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- }
- #line 5827 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 184:
- #line 1786 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
- }
- #line 5836 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 185:
- #line 1791 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
- }
- #line 5845 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 186:
- #line 1796 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- }
- #line 5854 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 187:
- #line 1801 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // Create a scope for this function (in case it is a function)
- CPPScope *scope = new CPPScope((yyvsp[-1].u.inst_ident)->get_scope(current_scope, global_scope),
- CPPNameComponent(""), V_private);
- // It still needs to be able to pick up any template arguments, if this is
- // a definition for a method template. Add a fake "using" declaration to
- // accomplish this.
- scope->_using.insert(current_scope);
- push_scope(scope);
- }
- #line 5871 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 188:
- #line 1814 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident);
- if ((yyvsp[-2].u.param_list)->is_parameter_expr() && (yyvsp[0].u.integer) == 0) {
- // Oops, this must have been an instance declaration with a
- // parameter list, not a function prototype.
- (yyval.u.inst_ident)->add_initializer_modifier((yyvsp[-2].u.param_list));
- } else {
- // This was (probably) a function prototype.
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- }
- }
- #line 5889 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 189:
- #line 1832 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // This is handled a bit awkwardly right now. Ideally it'd be wrapped
- // up in the instance_identifier rule, but then more needs to happen in
- // order to avoid shift/reduce conflicts.
- if ((yyvsp[0].u.type) != NULL) {
- (yyvsp[-1].u.inst_ident)->add_trailing_return_type((yyvsp[0].u.type));
- }
- (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
- }
- #line 5903 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 190:
- #line 1842 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // Bitfield definition.
- (yyvsp[-2].u.inst_ident)->_bit_width = (yyvsp[0].u.integer);
- (yyval.u.inst_ident) = (yyvsp[-2].u.inst_ident);
- }
- #line 5913 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 191:
- #line 1852 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = NULL;
- }
- #line 5921 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 192:
- #line 1856 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
- }
- #line 5929 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 193:
- #line 1860 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
- }
- #line 5938 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 194:
- #line 1869 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = NULL;
- }
- #line 5946 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 195:
- #line 1873 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 5954 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 196:
- #line 1881 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = new CPPParameterList;
- }
- #line 5962 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 197:
- #line 1885 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_includes_ellipsis = true;
- }
- #line 5971 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 198:
- #line 1890 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[0].u.param_list);
- }
- #line 5979 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 199:
- #line 1894 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[-2].u.param_list);
- (yyval.u.param_list)->_includes_ellipsis = true;
- }
- #line 5988 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 200:
- #line 1899 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[-1].u.param_list);
- (yyval.u.param_list)->_includes_ellipsis = true;
- }
- #line 5997 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 201:
- #line 1907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
- }
- #line 6006 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 202:
- #line 1912 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[-2].u.param_list);
- (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
- }
- #line 6015 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 203:
- #line 1920 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = new CPPParameterList;
- }
- #line 6023 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 204:
- #line 1924 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_includes_ellipsis = true;
- }
- #line 6032 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 205:
- #line 1929 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[0].u.param_list);
- }
- #line 6040 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 206:
- #line 1933 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[-2].u.param_list);
- (yyval.u.param_list)->_includes_ellipsis = true;
- }
- #line 6049 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 207:
- #line 1938 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[-1].u.param_list);
- (yyval.u.param_list)->_includes_ellipsis = true;
- }
- #line 6058 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 208:
- #line 1946 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
- }
- #line 6067 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 209:
- #line 1951 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.param_list) = (yyvsp[-2].u.param_list);
- (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
- }
- #line 6076 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 210:
- #line 1959 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6084 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 211:
- #line 1963 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 6092 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 212:
- #line 1970 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6100 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 213:
- #line 1974 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 6108 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 214:
- #line 1981 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6116 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 215:
- #line 1985 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6124 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 216:
- #line 1989 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6132 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 217:
- #line 1993 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_default());
- }
- #line 6140 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 218:
- #line 1997 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete());
- }
- #line 6148 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 219:
- #line 2004 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6156 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 220:
- #line 2008 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6164 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 221:
- #line 2012 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[-1].u.expr);
- }
- #line 6172 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 222:
- #line 2016 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_default());
- }
- #line 6180 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 223:
- #line 2020 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete());
- }
- #line 6188 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 224:
- #line 2024 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 6196 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 228:
- #line 2037 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- }
- #line 6203 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 232:
- #line 2046 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6212 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 233:
- #line 2051 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6222 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 234:
- #line 2057 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file);
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6232 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 235:
- #line 2063 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6241 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 236:
- #line 2068 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6251 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 237:
- #line 2074 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file);
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6261 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 238:
- #line 2080 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.instance) = (yyvsp[0].u.instance);
- }
- #line 6269 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 239:
- #line 2084 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.instance) = (yyvsp[0].u.instance);
- }
- #line 6277 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 240:
- #line 2095 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.instance) = (yyvsp[0].u.instance);
- }
- #line 6285 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 241:
- #line 2099 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter));
- (yyval.u.instance) = new CPPInstance(type, "expr");
- (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
- }
- #line 6296 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 242:
- #line 2109 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- }
- #line 6304 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 243:
- #line 2113 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
- }
- #line 6312 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 244:
- #line 2117 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
- }
- #line 6321 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 245:
- #line 2122 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_volatile);
- }
- #line 6330 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 246:
- #line 2127 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- }
- #line 6339 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 247:
- #line 2132 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- }
- #line 6348 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 248:
- #line 2137 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- }
- #line 6357 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 249:
- #line 2142 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
- }
- #line 6366 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 250:
- #line 2147 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
- }
- #line 6375 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 251:
- #line 2155 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- }
- #line 6383 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 252:
- #line 2159 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
- }
- #line 6391 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 253:
- #line 2163 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
- }
- #line 6400 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 254:
- #line 2168 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_volatile);
- }
- #line 6409 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 255:
- #line 2173 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- }
- #line 6418 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 256:
- #line 2178 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- }
- #line 6427 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 257:
- #line 2183 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- }
- #line 6436 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 258:
- #line 2188 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
- }
- #line 6445 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 259:
- #line 2193 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
- }
- #line 6454 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 260:
- #line 2198 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- }
- #line 6464 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 261:
- #line 2204 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- }
- #line 6473 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 262:
- #line 2212 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- (yyval.u.inst_ident)->_packed = true;
- }
- #line 6482 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 263:
- #line 2217 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
- (yyval.u.inst_ident)->_packed = true;
- }
- #line 6491 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 264:
- #line 2222 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
- }
- #line 6500 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 265:
- #line 2227 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_volatile);
- }
- #line 6509 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 266:
- #line 2232 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- }
- #line 6518 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 267:
- #line 2237 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- }
- #line 6527 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 268:
- #line 2242 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- }
- #line 6536 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 269:
- #line 2247 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
- }
- #line 6545 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 270:
- #line 2252 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
- }
- #line 6554 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 271:
- #line 2257 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- }
- #line 6564 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 272:
- #line 2263 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- }
- #line 6573 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 273:
- #line 2271 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- }
- #line 6581 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 274:
- #line 2275 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- (yyval.u.inst_ident)->_packed = true;
- }
- #line 6590 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 275:
- #line 2280 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
- (yyval.u.inst_ident)->_packed = true;
- }
- #line 6599 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 276:
- #line 2285 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
- }
- #line 6608 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 277:
- #line 2290 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_volatile);
- }
- #line 6617 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 278:
- #line 2295 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- }
- #line 6626 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 279:
- #line 2300 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- }
- #line 6635 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 280:
- #line 2305 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- }
- #line 6644 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 281:
- #line 2310 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
- }
- #line 6653 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 282:
- #line 2315 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
- }
- #line 6662 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 283:
- #line 2323 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- }
- #line 6670 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 284:
- #line 2327 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- (yyval.u.inst_ident)->_packed = true;
- }
- #line 6679 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 285:
- #line 2332 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
- (yyval.u.inst_ident)->_packed = true;
- }
- #line 6688 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 286:
- #line 2337 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
- }
- #line 6697 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 287:
- #line 2342 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_volatile);
- }
- #line 6706 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 288:
- #line 2347 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- }
- #line 6715 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 289:
- #line 2352 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- }
- #line 6724 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 290:
- #line 2357 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- }
- #line 6733 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 291:
- #line 2362 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
- }
- #line 6742 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 292:
- #line 2367 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
- }
- #line 6751 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 293:
- #line 2372 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
- }
- #line 6761 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 294:
- #line 2378 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
- }
- #line 6772 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 295:
- #line 2385 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
- }
- #line 6783 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 296:
- #line 2392 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
- }
- #line 6794 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 297:
- #line 2402 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
- }
- #line 6802 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 298:
- #line 2406 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- }
- assert((yyval.u.type) != NULL);
- }
- #line 6814 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 299:
- #line 2414 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
- }
- #line 6822 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 300:
- #line 2418 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type));
- }
- #line 6830 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 301:
- #line 2422 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type));
- }
- #line 6838 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 302:
- #line 2426 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type));
- }
- #line 6846 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 303:
- #line 2430 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.type) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-2]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.type) = et;
- }
- }
- #line 6866 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 304:
- #line 2446 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.type) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), current_scope, (yylsp[-3]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[-2].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.type) = et;
- }
- }
- #line 6886 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 305:
- #line 2462 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type();
- if ((yyval.u.type) == (CPPType *)NULL) {
- stringstream str;
- str << *(yyvsp[-1].u.expr);
- yyerror("could not determine type of " + str.str(), (yylsp[-1]));
- }
- }
- #line 6899 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 306:
- #line 2471 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
- }
- #line 6907 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 307:
- #line 2475 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type();
- if (enum_type == NULL) {
- yyerror("an enumeration type is required", (yylsp[-1]));
- (yyval.u.type) = (yyvsp[-1].u.type);
- } else {
- (yyval.u.type) = enum_type->get_underlying_type();
- }
- }
- #line 6921 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 308:
- #line 2485 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
- }
- #line 6929 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 309:
- #line 2492 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- }
- assert((yyval.u.type) != NULL);
- }
- #line 6941 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 310:
- #line 2503 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type));
- }
- #line 6949 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 311:
- #line 2507 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if ((yyval.u.decl) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- }
- assert((yyval.u.decl) != NULL);
- }
- #line 6961 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 312:
- #line 2515 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
- }
- #line 6969 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 313:
- #line 2519 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type));
- }
- #line 6977 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 314:
- #line 2523 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type)));
- }
- #line 6985 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 315:
- #line 2527 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type)));
- }
- #line 6993 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 316:
- #line 2531 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.decl) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-2]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.decl) = et;
- }
- }
- #line 7013 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 317:
- #line 2547 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.decl) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), current_scope, (yylsp[-3]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[-2].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.decl) = et;
- }
- }
- #line 7033 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 318:
- #line 2563 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[-1]));
- CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.decl) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.decl) = et;
- }
- }
- #line 7055 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 319:
- #line 2581 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = (yyvsp[-1].u.expr)->determine_type();
- if ((yyval.u.decl) == (CPPType *)NULL) {
- stringstream str;
- str << *(yyvsp[-1].u.expr);
- yyerror("could not determine type of " + str.str(), (yylsp[-1]));
- }
- }
- #line 7068 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 320:
- #line 2590 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
- }
- #line 7076 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 321:
- #line 2594 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type();
- if (enum_type == NULL) {
- yyerror("an enumeration type is required", (yylsp[-1]));
- (yyval.u.decl) = (yyvsp[-1].u.type);
- } else {
- (yyval.u.decl) = enum_type->get_underlying_type();
- }
- }
- #line 7090 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 322:
- #line 2604 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
- }
- #line 7098 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 323:
- #line 2611 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
- }
- #line 7106 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 324:
- #line 2615 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
- }
- assert((yyval.u.type) != NULL);
- }
- #line 7118 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 325:
- #line 2623 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
- }
- #line 7126 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 326:
- #line 2627 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.type) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-2]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.type) = et;
- }
- }
- #line 7146 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 327:
- #line 2643 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type != NULL) {
- (yyval.u.type) = type;
- } else {
- CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.type) = et;
- }
- }
- #line 7166 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 328:
- #line 2659 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type();
- if ((yyval.u.type) == (CPPType *)NULL) {
- stringstream str;
- str << *(yyvsp[-1].u.expr);
- yyerror("could not determine type of " + str.str(), (yylsp[-1]));
- }
- }
- #line 7179 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 329:
- #line 2668 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type();
- if (enum_type == NULL) {
- yyerror("an enumeration type is required", (yylsp[-1]));
- (yyval.u.type) = (yyvsp[-1].u.type);
- } else {
- (yyval.u.type) = enum_type->get_underlying_type();
- }
- }
- #line 7193 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 330:
- #line 2678 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
- }
- #line 7201 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 331:
- #line 2685 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.decl) = (yyvsp[0].u.decl);
- }
- #line 7209 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 332:
- #line 2689 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- yyerror(string("unknown type '") + (yyvsp[0].u.identifier)->get_fully_scoped_name() + "'", (yylsp[0]));
- (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown));
- }
- #line 7219 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 333:
- #line 2697 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
- }
- #line 7227 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 334:
- #line 2701 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
- }
- #line 7236 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 335:
- #line 2706 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
- }
- #line 7244 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 336:
- #line 2710 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
- }
- #line 7253 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 341:
- #line 2725 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPVisibility starting_vis =
- ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public;
- CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("anon"),
- starting_vis);
- CPPStructType *st = new CPPStructType((yyvsp[-2].u.extension_enum), NULL, current_scope,
- new_scope, (yylsp[-2]).file);
- new_scope->set_struct_type(st);
- push_scope(new_scope);
- push_struct(st);
- }
- #line 7271 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 342:
- #line 2739 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.struct_type) = current_struct;
- current_struct->_incomplete = false;
- pop_struct();
- pop_scope();
- }
- #line 7282 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 343:
- #line 2749 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPVisibility starting_vis =
- ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public;
- CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
- if (scope == NULL) {
- scope = current_scope;
- }
- CPPScope *new_scope = new CPPScope(scope, (yyvsp[0].u.identifier)->_names.back(),
- starting_vis);
- CPPStructType *st = new CPPStructType((yyvsp[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope,
- new_scope, (yylsp[-2]).file);
- new_scope->set_struct_type(st);
- current_scope->define_extension_type(st);
- push_scope(new_scope);
- push_struct(st);
- }
- #line 7306 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 344:
- #line 2769 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.struct_type) = current_struct;
- current_struct->_incomplete = false;
- pop_struct();
- pop_scope();
- }
- #line 7317 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 346:
- #line 2780 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->_final = true;
- }
- #line 7325 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 351:
- #line 2797 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false);
- }
- #line 7333 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 352:
- #line 2801 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_public, false);
- }
- #line 7341 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 353:
- #line 2805 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_protected, false);
- }
- #line 7349 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 354:
- #line 2809 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_private, false);
- }
- #line 7357 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 355:
- #line 2813 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_public, true);
- }
- #line 7365 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 356:
- #line 2817 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_protected, true);
- }
- #line 7373 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 357:
- #line 2821 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_private, true);
- }
- #line 7381 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 358:
- #line 2825 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_public, true);
- }
- #line 7389 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 359:
- #line 2829 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_protected, true);
- }
- #line 7397 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 360:
- #line 2833 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_struct->append_derivation((yyvsp[0].u.type), V_private, true);
- }
- #line 7405 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 361:
- #line 2840 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.enum_type) = current_enum;
- current_enum = NULL;
- }
- #line 7414 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 362:
- #line 2848 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_enum = new CPPEnumType((yyvsp[-2].u.extension_enum), NULL, (yyvsp[0].u.type), current_scope, NULL, (yylsp[-2]).file);
- }
- #line 7422 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 363:
- #line 2852 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_enum = new CPPEnumType((yyvsp[0].u.extension_enum), NULL, current_scope, NULL, (yylsp[0]).file);
- }
- #line 7430 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 364:
- #line 2856 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[-2].u.identifier)->_names.back(), V_public);
- current_enum = new CPPEnumType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-3]).file);
- }
- #line 7439 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 365:
- #line 2861 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[0].u.identifier)->_names.back(), V_public);
- current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-1]).file);
- }
- #line 7448 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 366:
- #line 2869 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
- }
- #line 7456 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 367:
- #line 2873 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- }
- #line 7464 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 369:
- #line 2881 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- assert(current_enum != NULL);
- current_enum->add_element((yyvsp[-1].u.identifier)->get_simple_name(), NULL, current_lexer, (yylsp[-1]));
- }
- #line 7473 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 370:
- #line 2886 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- assert(current_enum != NULL);
- current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr), current_lexer, (yylsp[-3]));
- }
- #line 7482 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 372:
- #line 2894 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- assert(current_enum != NULL);
- current_enum->add_element((yyvsp[0].u.identifier)->get_simple_name(), NULL, current_lexer, (yylsp[0]));
- }
- #line 7491 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 373:
- #line 2899 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- assert(current_enum != NULL);
- current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), (yyvsp[0].u.expr), current_lexer, (yylsp[-2]));
- }
- #line 7500 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 374:
- #line 2907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.extension_enum) = CPPExtensionType::T_enum;
- }
- #line 7508 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 375:
- #line 2911 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.extension_enum) = CPPExtensionType::T_enum_class;
- }
- #line 7516 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 376:
- #line 2915 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct;
- }
- #line 7524 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 377:
- #line 2922 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.extension_enum) = CPPExtensionType::T_class;
- }
- #line 7532 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 378:
- #line 2926 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.extension_enum) = CPPExtensionType::T_struct;
- }
- #line 7540 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 379:
- #line 2930 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.extension_enum) = CPPExtensionType::T_union;
- }
- #line 7548 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 380:
- #line 2937 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer);
- if (scope == NULL) {
- // This must be a new namespace declaration.
- CPPScope *parent_scope =
- (yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
- if (parent_scope == NULL) {
- parent_scope = current_scope;
- }
- scope = new CPPScope(parent_scope, (yyvsp[-1].u.identifier)->_names.back(), V_public);
- }
- CPPNamespace *nspace = new CPPNamespace((yyvsp[-1].u.identifier), scope, (yylsp[-2]).file);
- current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[-2]));
- current_scope->define_namespace(nspace);
- push_scope(scope);
- }
- #line 7570 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 381:
- #line 2955 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- }
- #line 7578 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 382:
- #line 2959 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer);
- if (scope == NULL) {
- // This must be a new namespace declaration.
- CPPScope *parent_scope =
- (yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
- if (parent_scope == NULL) {
- parent_scope = current_scope;
- }
- scope = new CPPScope(parent_scope, (yyvsp[-1].u.identifier)->_names.back(), V_public);
- }
- CPPNamespace *nspace = new CPPNamespace((yyvsp[-1].u.identifier), scope, (yylsp[-2]).file);
- nspace->_is_inline = true;
- current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[-2]));
- current_scope->define_namespace(nspace);
- push_scope(scope);
- }
- #line 7601 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 383:
- #line 2978 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- pop_scope();
- }
- #line 7609 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 386:
- #line 2987 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (yylsp[-2]).file);
- current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-2]));
- current_scope->add_using(using_decl, global_scope, current_lexer);
- }
- #line 7619 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 387:
- #line 2993 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // This is really just an alternative way to declare a typedef.
- CPPTypedefType *typedef_type = new CPPTypedefType((yyvsp[-1].u.type), (yyvsp[-3].u.identifier), current_scope);
- typedef_type->_using = true;
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-4]));
- }
- #line 7630 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 388:
- #line 3000 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), true, (yylsp[-3]).file);
- current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-3]));
- current_scope->add_using(using_decl, global_scope, current_lexer);
- }
- #line 7640 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 392:
- #line 3015 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool);
- }
- #line 7648 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 393:
- #line 3019 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char);
- }
- #line 7656 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 394:
- #line 3023 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t);
- }
- #line 7664 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 395:
- #line 3027 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t);
- }
- #line 7672 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 396:
- #line 3031 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t);
- }
- #line 7680 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 397:
- #line 3035 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_short);
- }
- #line 7689 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 398:
- #line 3040 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_long);
- }
- #line 7698 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 399:
- #line 3045 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_unsigned);
- }
- #line 7707 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 400:
- #line 3050 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_signed);
- }
- #line 7716 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 401:
- #line 3055 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int);
- }
- #line 7724 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 402:
- #line 3059 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short;
- }
- #line 7733 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 403:
- #line 3064 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
- if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) {
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_longlong;
- } else {
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_long;
- }
- }
- #line 7746 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 404:
- #line 3073 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned;
- }
- #line 7755 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 405:
- #line 3078 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed;
- }
- #line 7764 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 406:
- #line 3086 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float);
- }
- #line 7772 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 407:
- #line 3090 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double);
- }
- #line 7780 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 408:
- #line 3094 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double,
- CPPSimpleType::F_long);
- }
- #line 7789 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 409:
- #line 3102 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void);
- }
- #line 7797 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 410:
- #line 3111 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_lexer->_resolve_identifiers = false;
- }
- #line 7805 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 411:
- #line 3115 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- current_lexer->_resolve_identifiers = true;
- }
- #line 7813 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 519:
- #line 3159 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- }
- #line 7820 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 543:
- #line 3168 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 7828 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 544:
- #line 3172 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 7836 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 545:
- #line 3179 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
- }
- #line 7844 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 546:
- #line 3183 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 7852 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 547:
- #line 3190 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 7860 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 548:
- #line 3194 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 7868 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 549:
- #line 3201 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 7876 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 550:
- #line 3205 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
- }
- #line 7884 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 551:
- #line 3209 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast));
- }
- #line 7892 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 552:
- #line 3213 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast));
- }
- #line 7900 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 553:
- #line 3217 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast));
- }
- #line 7908 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 554:
- #line 3221 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast));
- }
- #line 7916 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 555:
- #line 3225 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
- }
- #line 7924 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 556:
- #line 3229 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *arg = (yyvsp[-1].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (arg == (CPPDeclaration *)NULL) {
- yyerror("undefined sizeof argument: " + (yyvsp[-1].u.identifier)->get_fully_scoped_name(), (yylsp[-1]));
- } else if (arg->get_subtype() == CPPDeclaration::ST_instance) {
- CPPInstance *inst = arg->as_instance();
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func(inst->_type));
- } else {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func(arg->as_type()));
- }
- }
- #line 7940 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 557:
- #line 3241 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier)));
- }
- #line 7948 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 558:
- #line 3245 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type)));
- }
- #line 7956 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 559:
- #line 3249 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
- }
- #line 7964 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 560:
- #line 3253 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
- }
- #line 7972 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 561:
- #line 3257 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
- }
- #line 7980 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 562:
- #line 3261 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr));
- }
- #line 7988 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 563:
- #line 3265 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr));
- }
- #line 7996 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 564:
- #line 3269 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
- }
- #line 8004 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 565:
- #line 3273 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8012 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 566:
- #line 3277 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8020 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 567:
- #line 3281 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8028 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 568:
- #line 3285 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8036 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 569:
- #line 3289 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8044 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 570:
- #line 3293 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8052 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 571:
- #line 3297 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8060 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 572:
- #line 3301 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8068 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 573:
- #line 3305 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8076 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 574:
- #line 3309 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8084 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 575:
- #line 3313 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8092 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 576:
- #line 3317 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8100 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 577:
- #line 3321 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8108 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 578:
- #line 3325 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8116 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 579:
- #line 3329 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8124 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 580:
- #line 3333 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8132 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 581:
- #line 3337 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8140 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 582:
- #line 3341 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
- }
- #line 8148 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 583:
- #line 3345 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
- }
- #line 8156 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 584:
- #line 3349 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr));
- }
- #line 8164 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 585:
- #line 3353 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8172 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 586:
- #line 3357 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8180 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 587:
- #line 3361 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[-1].u.expr);
- }
- #line 8188 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 588:
- #line 3369 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 8196 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 589:
- #line 3373 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
- }
- #line 8204 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 590:
- #line 3377 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast));
- }
- #line 8212 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 591:
- #line 3381 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast));
- }
- #line 8220 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 592:
- #line 3385 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast));
- }
- #line 8228 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 593:
- #line 3389 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast));
- }
- #line 8236 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 594:
- #line 3393 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // A constructor call.
- CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[-3].u.identifier)->get_fully_scoped_name(), (yylsp[-3]));
- }
- assert(type != NULL);
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8250 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 595:
- #line 3403 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // Aggregate initialization.
- CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[-3].u.identifier)->get_fully_scoped_name(), (yylsp[-3]));
- }
- assert(type != NULL);
- (yyval.u.expr) = new CPPExpression(CPPExpression::aggregate_init_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8264 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 596:
- #line 3413 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8274 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 597:
- #line 3419 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8284 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 598:
- #line 3425 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8294 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 599:
- #line 3431 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8304 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 600:
- #line 3437 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8314 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 601:
- #line 3443 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8324 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 602:
- #line 3449 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_short));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8335 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 603:
- #line 3456 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_long));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8346 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 604:
- #line 3463 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_unsigned));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8357 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 605:
- #line 3470 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
- CPPSimpleType::F_signed));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8368 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 606:
- #line 3477 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8378 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 607:
- #line 3483 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
- }
- #line 8388 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 608:
- #line 3489 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
- }
- #line 8396 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 609:
- #line 3493 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *arg = (yyvsp[-1].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (arg == (CPPDeclaration *)NULL) {
- yyerror("undefined sizeof argument: " + (yyvsp[-1].u.identifier)->get_fully_scoped_name(), (yylsp[-1]));
- } else if (arg->get_subtype() == CPPDeclaration::ST_instance) {
- CPPInstance *inst = arg->as_instance();
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func(inst->_type));
- } else {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func(arg->as_type()));
- }
- }
- #line 8412 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 610:
- #line 3505 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier)));
- }
- #line 8420 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 611:
- #line 3509 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type)));
- }
- #line 8428 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 612:
- #line 3513 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type)));
- }
- #line 8436 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 613:
- #line 3517 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr)));
- }
- #line 8444 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 614:
- #line 3521 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including <typeinfo>", (yylsp[-3]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info));
- }
- #line 8459 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 615:
- #line 3532 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including <typeinfo>", (yylsp[-3]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info));
- }
- #line 8474 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 616:
- #line 3543 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
- }
- #line 8482 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 617:
- #line 3547 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
- }
- #line 8490 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 618:
- #line 3551 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
- }
- #line 8498 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 619:
- #line 3555 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr));
- }
- #line 8506 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 620:
- #line 3559 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr));
- }
- #line 8514 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 621:
- #line 3563 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
- }
- #line 8522 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 622:
- #line 3567 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8530 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 623:
- #line 3571 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8538 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 624:
- #line 3575 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8546 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 625:
- #line 3579 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8554 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 626:
- #line 3583 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8562 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 627:
- #line 3587 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8570 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 628:
- #line 3591 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8578 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 629:
- #line 3595 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8586 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 630:
- #line 3599 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8594 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 631:
- #line 3603 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8602 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 632:
- #line 3607 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8610 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 633:
- #line 3611 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8618 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 634:
- #line 3615 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8626 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 635:
- #line 3619 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8634 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 636:
- #line 3623 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8642 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 637:
- #line 3627 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8650 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 638:
- #line 3631 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8658 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 639:
- #line 3635 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8666 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 640:
- #line 3639 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8674 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 641:
- #line 3643 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
- }
- #line 8682 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 642:
- #line 3647 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
- }
- #line 8690 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 643:
- #line 3651 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr));
- }
- #line 8698 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 644:
- #line 3655 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8706 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 645:
- #line 3659 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 8714 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 646:
- #line 3663 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[-1].u.expr);
- }
- #line 8722 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 647:
- #line 3670 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
- }
- #line 8730 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 648:
- #line 3674 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(true);
- }
- #line 8738 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 649:
- #line 3678 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(false);
- }
- #line 8746 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 650:
- #line 3682 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
- }
- #line 8754 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 651:
- #line 3686 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real));
- }
- #line 8762 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 652:
- #line 3690 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 8770 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 653:
- #line 3694 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 8778 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 654:
- #line 3698 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer);
- }
- #line 8786 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 655:
- #line 3702 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // A variable named "final". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0]));
- (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
- }
- #line 8796 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 656:
- #line 3708 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // A variable named "override". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0]));
- (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
- }
- #line 8806 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 657:
- #line 3714 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr());
- }
- #line 8814 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 658:
- #line 3718 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-6].u.closure_type)->_flags = (yyvsp[-4].u.integer);
- (yyvsp[-6].u.closure_type)->_return_type = (yyvsp[-3].u.type);
- (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-6].u.closure_type)));
- }
- #line 8824 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 659:
- #line 3724 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyvsp[-9].u.closure_type)->_parameters = (yyvsp[-6].u.param_list);
- (yyvsp[-9].u.closure_type)->_flags = (yyvsp[-4].u.integer);
- (yyvsp[-9].u.closure_type)->_return_type = (yyvsp[-3].u.type);
- (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-9].u.closure_type)));
- }
- #line 8835 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 660:
- #line 3731 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_HAS_VIRTUAL_DESTRUCTOR, (yyvsp[-1].u.type)));
- }
- #line 8843 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 661:
- #line 3735 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ABSTRACT, (yyvsp[-1].u.type)));
- }
- #line 8851 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 662:
- #line 3739 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-3].u.type), (yyvsp[-1].u.type)));
- }
- #line 8859 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 663:
- #line 3743 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-1].u.type)));
- }
- #line 8867 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 664:
- #line 3747 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-1].u.type)));
- }
- #line 8875 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 665:
- #line 3751 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-3].u.type), (yyvsp[-1].u.type)));
- }
- #line 8883 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 666:
- #line 3755 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONVERTIBLE_TO, (yyvsp[-3].u.type), (yyvsp[-1].u.type)));
- }
- #line 8891 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 667:
- #line 3759 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_DESTRUCTIBLE, (yyvsp[-1].u.type)));
- }
- #line 8899 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 668:
- #line 3763 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_EMPTY, (yyvsp[-1].u.type)));
- }
- #line 8907 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 669:
- #line 3767 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ENUM, (yyvsp[-1].u.type)));
- }
- #line 8915 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 670:
- #line 3771 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FINAL, (yyvsp[-1].u.type)));
- }
- #line 8923 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 671:
- #line 3775 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FUNDAMENTAL, (yyvsp[-1].u.type)));
- }
- #line 8931 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 672:
- #line 3779 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POD, (yyvsp[-1].u.type)));
- }
- #line 8939 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 673:
- #line 3783 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POLYMORPHIC, (yyvsp[-1].u.type)));
- }
- #line 8947 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 674:
- #line 3787 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_STANDARD_LAYOUT, (yyvsp[-1].u.type)));
- }
- #line 8955 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 675:
- #line 3791 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, (yyvsp[-1].u.type)));
- }
- #line 8963 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 676:
- #line 3795 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_UNION, (yyvsp[-1].u.type)));
- }
- #line 8971 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 677:
- #line 3809 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 8979 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 678:
- #line 3813 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
- }
- #line 8987 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 679:
- #line 3817 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast));
- }
- #line 8995 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 680:
- #line 3821 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast));
- }
- #line 9003 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 681:
- #line 3825 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast));
- }
- #line 9011 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 682:
- #line 3829 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast));
- }
- #line 9019 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 683:
- #line 3833 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
- }
- #line 9027 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 684:
- #line 3837 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPDeclaration *arg = (yyvsp[-1].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
- if (arg == (CPPDeclaration *)NULL) {
- yyerror("undefined sizeof argument: " + (yyvsp[-1].u.identifier)->get_fully_scoped_name(), (yylsp[-1]));
- } else if (arg->get_subtype() == CPPDeclaration::ST_instance) {
- CPPInstance *inst = arg->as_instance();
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func(inst->_type));
- } else {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func(arg->as_type()));
- }
- }
- #line 9043 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 685:
- #line 3849 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier)));
- }
- #line 9051 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 686:
- #line 3853 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type)));
- }
- #line 9059 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 687:
- #line 3857 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type)));
- }
- #line 9067 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 688:
- #line 3861 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr)));
- }
- #line 9075 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 689:
- #line 3865 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including <typeinfo>", (yylsp[-3]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info));
- }
- #line 9090 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 690:
- #line 3876 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including <typeinfo>", (yylsp[-3]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info));
- }
- #line 9105 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 691:
- #line 3887 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
- }
- #line 9113 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 692:
- #line 3891 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
- }
- #line 9121 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 693:
- #line 3895 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
- }
- #line 9129 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 694:
- #line 3899 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr));
- }
- #line 9137 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 695:
- #line 3903 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
- }
- #line 9145 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 696:
- #line 3907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9153 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 697:
- #line 3911 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9161 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 698:
- #line 3915 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9169 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 699:
- #line 3919 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9177 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 700:
- #line 3923 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9185 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 701:
- #line 3927 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9193 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 702:
- #line 3931 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9201 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 703:
- #line 3935 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9209 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 704:
- #line 3939 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9217 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 705:
- #line 3943 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9225 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 706:
- #line 3947 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9233 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 707:
- #line 3951 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9241 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 708:
- #line 3955 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9249 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 709:
- #line 3959 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9257 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 710:
- #line 3963 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9265 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 711:
- #line 3967 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9273 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 712:
- #line 3971 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9281 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 713:
- #line 3975 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9289 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 714:
- #line 3979 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9297 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 715:
- #line 3983 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
- }
- #line 9305 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 716:
- #line 3987 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
- }
- #line 9313 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 717:
- #line 3991 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr));
- }
- #line 9321 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 718:
- #line 3995 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9329 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 719:
- #line 3999 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
- }
- #line 9337 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 720:
- #line 4003 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[-1].u.expr);
- }
- #line 9345 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 721:
- #line 4010 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
- }
- #line 9353 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 722:
- #line 4014 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(true);
- }
- #line 9361 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 723:
- #line 4018 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(false);
- }
- #line 9369 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 724:
- #line 4022 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
- }
- #line 9377 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 725:
- #line 4026 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real));
- }
- #line 9385 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 726:
- #line 4030 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 9393 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 727:
- #line 4034 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 9401 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 728:
- #line 4038 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer);
- }
- #line 9409 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 729:
- #line 4042 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // A variable named "final". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0]));
- (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
- }
- #line 9419 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 730:
- #line 4048 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // A variable named "override". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0]));
- (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
- }
- #line 9429 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 731:
- #line 4054 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr());
- }
- #line 9437 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 732:
- #line 4062 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.closure_type) = new CPPClosureType();
- }
- #line 9445 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 733:
- #line 4066 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_value);
- }
- #line 9453 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 734:
- #line 4070 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_reference);
- }
- #line 9461 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 735:
- #line 4074 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.closure_type) = new CPPClosureType();
- (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr);
- (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture));
- delete (yyvsp[-1].u.capture);
- }
- #line 9472 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 736:
- #line 4081 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.closure_type) = (yyvsp[-3].u.closure_type);
- (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr);
- (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture));
- delete (yyvsp[-1].u.capture);
- }
- #line 9483 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 737:
- #line 4091 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.capture) = new CPPClosureType::Capture;
- (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name();
- (yyval.u.capture)->_type = CPPClosureType::CT_by_reference;
- }
- #line 9493 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 738:
- #line 4097 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.capture) = new CPPClosureType::Capture;
- (yyval.u.capture)->_name = (yyvsp[-1].u.identifier)->get_simple_name();
- (yyval.u.capture)->_type = CPPClosureType::CT_by_reference;
- }
- #line 9503 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 739:
- #line 4103 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.capture) = new CPPClosureType::Capture;
- (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name();
- if ((yyval.u.capture)->_name == "this") {
- (yyval.u.capture)->_type = CPPClosureType::CT_by_reference;
- } else {
- (yyval.u.capture)->_type = CPPClosureType::CT_by_value;
- }
- }
- #line 9517 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 740:
- #line 4113 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.capture) = new CPPClosureType::Capture;
- (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name();
- (yyval.u.capture)->_type = CPPClosureType::CT_by_value;
- if ((yyval.u.capture)->_name != "this") {
- yywarning("only capture name 'this' may be preceded by an asterisk", (yylsp[0]));
- }
- }
- #line 9530 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 741:
- #line 4125 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true);
- if (type == NULL) {
- type = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
- }
- (yyval.u.type) = type;
- }
- #line 9542 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 742:
- #line 4133 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
- }
- #line 9550 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 743:
- #line 4137 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[-1].u.identifier));
- ctp->_packed = true;
- (yyval.u.type) = CPPType::new_type(ctp);
- }
- #line 9560 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 744:
- #line 4167 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 9568 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 745:
- #line 4171 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 9576 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 746:
- #line 4175 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 9584 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 747:
- #line 4179 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0]));
- }
- #line 9592 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 748:
- #line 4183 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0]));
- }
- #line 9600 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 749:
- #line 4187 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // This is not a keyword in Python, so it is useful to be able to use this
- // in MAKE_PROPERTY definitions, etc.
- (yyval.u.identifier) = new CPPIdentifier("signed", (yylsp[0]));
- }
- #line 9610 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 750:
- #line 4193 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0]));
- }
- #line 9618 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 751:
- #line 4197 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0]));
- }
- #line 9626 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 752:
- #line 4201 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0]));
- }
- #line 9634 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 753:
- #line 4205 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("static", (yylsp[0]));
- }
- #line 9642 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 754:
- #line 4209 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("default", (yylsp[0]));
- }
- #line 9650 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 755:
- #line 4220 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 9658 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 756:
- #line 4224 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 9666 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 757:
- #line 4228 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = (yyvsp[0].u.identifier);
- }
- #line 9674 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 758:
- #line 4232 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0]));
- }
- #line 9682 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 759:
- #line 4240 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[0].str));
- }
- #line 9690 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 760:
- #line 4244 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- (yyval.u.expr) = (yyvsp[0].u.expr);
- }
- #line 9698 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 761:
- #line 4248 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // The right string takes on the literal type of the left.
- (yyval.u.expr) = (yyvsp[-1].u.expr);
- (yyval.u.expr)->_str += (yyvsp[0].str);
- }
- #line 9708 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- case 762:
- #line 4254 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
- {
- // We have to check that the two literal types match up.
- (yyval.u.expr) = (yyvsp[-1].u.expr);
- if ((yyvsp[0].u.expr)->_type != CPPExpression::T_string && (yyvsp[0].u.expr)->_type != (yyvsp[-1].u.expr)->_type) {
- yywarning("cannot concatenate two string literals of different types", (yyloc));
- }
- (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str;
- }
- #line 9721 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- break;
- #line 9725 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
- default: break;
- }
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- *++yyvsp = yyval;
- *++yylsp = yyloc;
- /* Now 'shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
- yyn = yyr1[yyn];
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
- goto yynewstate;
- /*--------------------------------------.
- | yyerrlab -- here on detecting error. |
- `--------------------------------------*/
- yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
- {
- ++yynerrs;
- #if ! YYERROR_VERBOSE
- yyerror (&yylloc, YY_("syntax error"));
- #else
- # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
- yyssp, yytoken)
- {
- char const *yymsgp = YY_("syntax error");
- int yysyntax_error_status;
- yysyntax_error_status = YYSYNTAX_ERROR;
- if (yysyntax_error_status == 0)
- yymsgp = yymsg;
- else if (yysyntax_error_status == 1)
- {
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
- if (!yymsg)
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- yysyntax_error_status = 2;
- }
- else
- {
- yysyntax_error_status = YYSYNTAX_ERROR;
- yymsgp = yymsg;
- }
- }
- yyerror (&yylloc, yymsgp);
- if (yysyntax_error_status == 2)
- goto yyexhaustedlab;
- }
- # undef YYSYNTAX_ERROR
- #endif
- }
- yyerror_range[1] = yylloc;
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval, &yylloc);
- yychar = YYEMPTY;
- }
- }
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab1;
- /*---------------------------------------------------.
- | yyerrorlab -- error raised explicitly by YYERROR. |
- `---------------------------------------------------*/
- yyerrorlab:
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
- yyerror_range[1] = yylsp[1-yylen];
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
- /*-------------------------------------------------------------.
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
- `-------------------------------------------------------------*/
- yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
- for (;;)
- {
- yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
- yyerror_range[1] = *yylsp;
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp, yylsp);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
- }
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
- yyerror_range[2] = yylloc;
- /* Using YYLLOC is tempting, but would change the location of
- the lookahead. YYLOC is available though. */
- YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
- *++yylsp = yyloc;
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
- yystate = yyn;
- goto yynewstate;
- /*-------------------------------------.
- | yyacceptlab -- YYACCEPT comes here. |
- `-------------------------------------*/
- yyacceptlab:
- yyresult = 0;
- goto yyreturn;
- /*-----------------------------------.
- | yyabortlab -- YYABORT comes here. |
- `-----------------------------------*/
- yyabortlab:
- yyresult = 1;
- goto yyreturn;
- #if !defined yyoverflow || YYERROR_VERBOSE
- /*-------------------------------------------------.
- | yyexhaustedlab -- memory exhaustion comes here. |
- `-------------------------------------------------*/
- yyexhaustedlab:
- yyerror (&yylloc, YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
- #endif
- yyreturn:
- if (yychar != YYEMPTY)
- {
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval, &yylloc);
- }
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
- {
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp, yylsp);
- YYPOPSTACK (1);
- }
- #ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
- #endif
- #if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- #endif
- return yyresult;
- }
|