strict_cpp_re.inc 202 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077
  1. /* Generated by re2c 1.0.2 on Sat Oct 24 21:16:00 2020 */
  2. #line 1 "strict_cpp.re"
  3. /*=============================================================================
  4. Boost.Wave: A Standard compliant C++ preprocessor library
  5. Copyright (c) 2001 Daniel C. Nuffer
  6. Copyright (c) 2001-2011 Hartmut Kaiser.
  7. Distributed under the Boost Software License, Version 1.0. (See accompanying
  8. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9. This is a strict lexer conforming to the Standard as close as possible.
  10. It does not allow the '$' to be part of identifiers. If you need the '$'
  11. character in identifiers please include the lexer definition provided
  12. in the cpp.re file.
  13. TODO:
  14. handle errors better.
  15. =============================================================================*/
  16. #line 40 "strict_cpp.re"
  17. #line 25 "strict_cpp_re.inc"
  18. {
  19. YYCTYPE yych;
  20. unsigned int yyaccept = 0;
  21. static const unsigned char yybm[] = {
  22. /* table 1 .. 8: 0 */
  23. 0, 0, 0, 0, 0, 0, 0, 0,
  24. 0, 203, 8, 203, 203, 8, 0, 0,
  25. 0, 0, 0, 0, 0, 0, 0, 0,
  26. 0, 0, 0, 0, 0, 0, 0, 0,
  27. 203, 203, 138, 203, 203, 203, 203, 201,
  28. 203, 203, 227, 203, 203, 203, 203, 203,
  29. 203, 203, 203, 203, 203, 203, 203, 203,
  30. 203, 203, 203, 203, 203, 203, 75, 204,
  31. 203, 203, 203, 203, 203, 203, 203, 203,
  32. 203, 203, 203, 203, 203, 203, 203, 203,
  33. 203, 203, 203, 203, 203, 203, 203, 203,
  34. 203, 203, 203, 203, 216, 203, 203, 203,
  35. 203, 203, 203, 203, 203, 203, 203, 203,
  36. 203, 203, 203, 203, 203, 203, 203, 203,
  37. 203, 203, 203, 203, 203, 203, 203, 203,
  38. 203, 203, 203, 203, 203, 203, 203, 203,
  39. 203, 203, 203, 203, 203, 203, 203, 203,
  40. 203, 203, 203, 203, 203, 203, 203, 203,
  41. 203, 203, 203, 203, 203, 203, 203, 203,
  42. 203, 203, 203, 203, 203, 203, 203, 203,
  43. 203, 203, 203, 203, 203, 203, 203, 203,
  44. 203, 203, 203, 203, 203, 203, 203, 203,
  45. 203, 203, 203, 203, 203, 203, 203, 203,
  46. 203, 203, 203, 203, 203, 203, 203, 203,
  47. 203, 203, 203, 203, 203, 203, 203, 203,
  48. 203, 203, 203, 203, 203, 203, 203, 203,
  49. 203, 203, 203, 203, 203, 203, 203, 203,
  50. 203, 203, 203, 203, 203, 203, 203, 203,
  51. 203, 203, 203, 203, 203, 203, 203, 203,
  52. 203, 203, 203, 203, 203, 203, 203, 203,
  53. 203, 203, 203, 203, 203, 203, 203, 203,
  54. 203, 203, 203, 203, 203, 203, 203, 203,
  55. /* table 9 .. 10: 256 */
  56. 0, 0, 0, 0, 0, 0, 0, 0,
  57. 0, 64, 0, 64, 64, 0, 0, 0,
  58. 0, 0, 0, 0, 0, 0, 0, 0,
  59. 0, 0, 0, 0, 0, 0, 0, 0,
  60. 64, 0, 0, 0, 0, 0, 0, 0,
  61. 0, 0, 0, 0, 0, 0, 0, 0,
  62. 128, 128, 128, 128, 128, 128, 128, 128,
  63. 128, 128, 0, 0, 0, 0, 0, 0,
  64. 0, 128, 128, 128, 128, 128, 128, 128,
  65. 128, 128, 128, 128, 128, 128, 128, 128,
  66. 128, 128, 128, 128, 128, 128, 128, 128,
  67. 128, 128, 128, 0, 0, 0, 0, 128,
  68. 0, 128, 128, 128, 128, 128, 128, 128,
  69. 128, 128, 128, 128, 128, 128, 128, 128,
  70. 128, 128, 128, 128, 128, 128, 128, 128,
  71. 128, 128, 128, 0, 0, 0, 0, 0,
  72. 0, 0, 0, 0, 0, 0, 0, 0,
  73. 0, 0, 0, 0, 0, 0, 0, 0,
  74. 0, 0, 0, 0, 0, 0, 0, 0,
  75. 0, 0, 0, 0, 0, 0, 0, 0,
  76. 0, 0, 0, 0, 0, 0, 0, 0,
  77. 0, 0, 0, 0, 0, 0, 0, 0,
  78. 0, 0, 0, 0, 0, 0, 0, 0,
  79. 0, 0, 0, 0, 0, 0, 0, 0,
  80. 0, 0, 0, 0, 0, 0, 0, 0,
  81. 0, 0, 0, 0, 0, 0, 0, 0,
  82. 0, 0, 0, 0, 0, 0, 0, 0,
  83. 0, 0, 0, 0, 0, 0, 0, 0,
  84. 0, 0, 0, 0, 0, 0, 0, 0,
  85. 0, 0, 0, 0, 0, 0, 0, 0,
  86. 0, 0, 0, 0, 0, 0, 0, 0,
  87. 0, 0, 0, 0, 0, 0, 0, 0,
  88. };
  89. if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17);
  90. yych = *YYCURSOR;
  91. if (yybm[256+yych] & 64) {
  92. goto yy6;
  93. }
  94. switch (yych) {
  95. case 0x00: goto yy2;
  96. case 0x01:
  97. case 0x02:
  98. case 0x03:
  99. case 0x04:
  100. case 0x05:
  101. case 0x06:
  102. case 0x07:
  103. case 0x08:
  104. case 0x0E:
  105. case 0x0F:
  106. case 0x10:
  107. case 0x11:
  108. case 0x12:
  109. case 0x13:
  110. case 0x14:
  111. case 0x15:
  112. case 0x16:
  113. case 0x17:
  114. case 0x18:
  115. case 0x19:
  116. case 0x1A:
  117. case 0x1B:
  118. case 0x1C:
  119. case 0x1D:
  120. case 0x1E:
  121. case 0x1F: goto yy4;
  122. case '\t':
  123. case '\n': goto yy9;
  124. case '\v':
  125. case '\f':
  126. case '\r': goto yy11;
  127. case ' ':
  128. case '!': goto yy12;
  129. case '"': goto yy14;
  130. case '#': goto yy16;
  131. case '%': goto yy19;
  132. case '&': goto yy21;
  133. case '\'': goto yy23;
  134. case '(': goto yy24;
  135. case ')': goto yy26;
  136. case '*': goto yy28;
  137. case '+': goto yy30;
  138. case ',': goto yy32;
  139. case '-': goto yy34;
  140. case '.': goto yy36;
  141. case '/': goto yy38;
  142. case '0':
  143. case '1':
  144. case '2':
  145. case '3':
  146. case '4':
  147. case '5':
  148. case '6':
  149. case '7':
  150. case '8':
  151. case '9': goto yy40;
  152. case ':': goto yy42;
  153. case ';': goto yy44;
  154. case '<': goto yy46;
  155. case '=': goto yy48;
  156. case '>': goto yy50;
  157. case '?': goto yy52;
  158. case 'A':
  159. case 'B':
  160. case 'C':
  161. case 'D':
  162. case 'E':
  163. case 'F':
  164. case 'G':
  165. case 'H':
  166. case 'I':
  167. case 'J':
  168. case 'K':
  169. case 'M':
  170. case 'N':
  171. case 'O':
  172. case 'P':
  173. case 'Q':
  174. case 'S':
  175. case 'T':
  176. case 'V':
  177. case 'W':
  178. case 'X':
  179. case 'Y':
  180. case 'Z':
  181. case 'h':
  182. case 'j':
  183. case 'k':
  184. case 'q':
  185. case 'y':
  186. case 'z': goto yy54;
  187. case 'L': goto yy57;
  188. case 'R': goto yy58;
  189. case 'U': goto yy59;
  190. case '[': goto yy60;
  191. case '\\': goto yy62;
  192. case ']': goto yy63;
  193. case '^': goto yy65;
  194. case '_': goto yy67;
  195. case 'a': goto yy68;
  196. case 'b': goto yy69;
  197. case 'c': goto yy70;
  198. case 'd': goto yy71;
  199. case 'e': goto yy72;
  200. case 'f': goto yy73;
  201. case 'g': goto yy74;
  202. case 'i': goto yy75;
  203. case 'l': goto yy76;
  204. case 'm': goto yy77;
  205. case 'n': goto yy78;
  206. case 'o': goto yy79;
  207. case 'p': goto yy80;
  208. case 'r': goto yy81;
  209. case 's': goto yy82;
  210. case 't': goto yy83;
  211. case 'u': goto yy84;
  212. case 'v': goto yy85;
  213. case 'w': goto yy86;
  214. case 'x': goto yy87;
  215. case '{': goto yy88;
  216. case '|': goto yy90;
  217. case '}': goto yy92;
  218. case '~': goto yy94;
  219. default: goto yy18;
  220. }
  221. yy2:
  222. ++YYCURSOR;
  223. #line 353 "strict_cpp.re"
  224. {
  225. if (s->eof && cursor != s->eof)
  226. {
  227. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  228. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  229. "invalid character '\\000' in input stream");
  230. }
  231. BOOST_WAVE_RET(T_EOF);
  232. }
  233. #line 241 "strict_cpp_re.inc"
  234. yy4:
  235. ++YYCURSOR;
  236. #line 366 "strict_cpp.re"
  237. {
  238. // flag the error
  239. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  240. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  241. "invalid character '\\%03o' in input stream", *--YYCURSOR);
  242. }
  243. #line 251 "strict_cpp_re.inc"
  244. yy6:
  245. ++YYCURSOR;
  246. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  247. yych = *YYCURSOR;
  248. if (yybm[256+yych] & 64) {
  249. goto yy6;
  250. }
  251. #line 343 "strict_cpp.re"
  252. { BOOST_WAVE_RET(T_SPACE); }
  253. #line 261 "strict_cpp_re.inc"
  254. yy9:
  255. ++YYCURSOR;
  256. yy10:
  257. #line 346 "strict_cpp.re"
  258. {
  259. s->line++;
  260. cursor.column = 1;
  261. BOOST_WAVE_RET(T_NEWLINE);
  262. }
  263. #line 271 "strict_cpp_re.inc"
  264. yy11:
  265. yych = *++YYCURSOR;
  266. if (yych == '\n') goto yy9;
  267. goto yy10;
  268. yy12:
  269. yych = *++YYCURSOR;
  270. if (yych == '=') goto yy96;
  271. #line 209 "strict_cpp.re"
  272. { BOOST_WAVE_RET(T_NOT); }
  273. #line 281 "strict_cpp_re.inc"
  274. yy14:
  275. yyaccept = 0;
  276. yych = *(YYMARKER = ++YYCURSOR);
  277. if (yych <= '\n') {
  278. if (yych == '\t') goto yy99;
  279. } else {
  280. if (yych <= '\f') goto yy99;
  281. if (yych >= ' ') goto yy99;
  282. }
  283. yy15:
  284. #line 363 "strict_cpp.re"
  285. { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); }
  286. #line 294 "strict_cpp_re.inc"
  287. yy16:
  288. yyaccept = 1;
  289. yych = *(YYMARKER = ++YYCURSOR);
  290. if (yych <= 'c') {
  291. if (yych <= ' ') {
  292. if (yych <= '\n') {
  293. if (yych == '\t') goto yy106;
  294. } else {
  295. if (yych <= '\f') goto yy106;
  296. if (yych >= ' ') goto yy106;
  297. }
  298. } else {
  299. if (yych <= '.') {
  300. if (yych == '#') goto yy107;
  301. } else {
  302. if (yych <= '/') goto yy106;
  303. if (yych == '?') goto yy110;
  304. }
  305. }
  306. } else {
  307. if (yych <= 'p') {
  308. if (yych <= 'i') {
  309. if (yych <= 'e') goto yy106;
  310. if (yych >= 'i') goto yy106;
  311. } else {
  312. if (yych == 'l') goto yy106;
  313. if (yych >= 'p') goto yy106;
  314. }
  315. } else {
  316. if (yych <= 't') {
  317. if (yych == 'r') goto yy106;
  318. } else {
  319. if (yych == 'v') goto yy17;
  320. if (yych <= 'w') goto yy106;
  321. }
  322. }
  323. }
  324. yy17:
  325. #line 158 "strict_cpp.re"
  326. { BOOST_WAVE_RET(T_POUND); }
  327. #line 335 "strict_cpp_re.inc"
  328. yy18:
  329. ++YYCURSOR;
  330. goto yy15;
  331. yy19:
  332. yych = *++YYCURSOR;
  333. if (yych <= '<') {
  334. if (yych == ':') goto yy119;
  335. } else {
  336. if (yych <= '=') goto yy121;
  337. if (yych <= '>') goto yy123;
  338. }
  339. #line 197 "strict_cpp.re"
  340. { BOOST_WAVE_RET(T_PERCENT); }
  341. #line 349 "strict_cpp_re.inc"
  342. yy21:
  343. yych = *++YYCURSOR;
  344. if (yych == '&') goto yy125;
  345. if (yych == '=') goto yy127;
  346. #line 201 "strict_cpp.re"
  347. { BOOST_WAVE_RET(T_AND); }
  348. #line 356 "strict_cpp_re.inc"
  349. yy23:
  350. yyaccept = 0;
  351. yych = *(YYMARKER = ++YYCURSOR);
  352. if (yych <= '\f') {
  353. if (yych == '\t') goto yy130;
  354. if (yych <= '\n') goto yy15;
  355. goto yy130;
  356. } else {
  357. if (yych <= 0x1F) goto yy15;
  358. if (yych == '\'') goto yy15;
  359. goto yy130;
  360. }
  361. yy24:
  362. ++YYCURSOR;
  363. #line 166 "strict_cpp.re"
  364. { BOOST_WAVE_RET(T_LEFTPAREN); }
  365. #line 373 "strict_cpp_re.inc"
  366. yy26:
  367. ++YYCURSOR;
  368. #line 167 "strict_cpp.re"
  369. { BOOST_WAVE_RET(T_RIGHTPAREN); }
  370. #line 378 "strict_cpp_re.inc"
  371. yy28:
  372. yych = *++YYCURSOR;
  373. if (yych == '=') goto yy133;
  374. #line 195 "strict_cpp.re"
  375. { BOOST_WAVE_RET(T_STAR); }
  376. #line 384 "strict_cpp_re.inc"
  377. yy30:
  378. yych = *++YYCURSOR;
  379. if (yych == '+') goto yy135;
  380. if (yych == '=') goto yy137;
  381. #line 193 "strict_cpp.re"
  382. { BOOST_WAVE_RET(T_PLUS); }
  383. #line 391 "strict_cpp_re.inc"
  384. yy32:
  385. ++YYCURSOR;
  386. #line 255 "strict_cpp.re"
  387. { BOOST_WAVE_RET(T_COMMA); }
  388. #line 396 "strict_cpp_re.inc"
  389. yy34:
  390. yych = *++YYCURSOR;
  391. if (yych <= '<') {
  392. if (yych == '-') goto yy139;
  393. } else {
  394. if (yych <= '=') goto yy141;
  395. if (yych <= '>') goto yy143;
  396. }
  397. #line 194 "strict_cpp.re"
  398. { BOOST_WAVE_RET(T_MINUS); }
  399. #line 407 "strict_cpp_re.inc"
  400. yy36:
  401. yyaccept = 2;
  402. yych = *(YYMARKER = ++YYCURSOR);
  403. if (yych <= '-') {
  404. if (yych == '*') goto yy145;
  405. } else {
  406. if (yych <= '.') goto yy147;
  407. if (yych <= '/') goto yy37;
  408. if (yych <= '9') goto yy40;
  409. }
  410. yy37:
  411. #line 182 "strict_cpp.re"
  412. { BOOST_WAVE_RET(T_DOT); }
  413. #line 421 "strict_cpp_re.inc"
  414. yy38:
  415. yych = *++YYCURSOR;
  416. if (yych <= '.') {
  417. if (yych == '*') goto yy148;
  418. } else {
  419. if (yych <= '/') goto yy150;
  420. if (yych == '=') goto yy152;
  421. }
  422. #line 196 "strict_cpp.re"
  423. { BOOST_WAVE_RET(T_DIVIDE); }
  424. #line 432 "strict_cpp_re.inc"
  425. yy40:
  426. ++YYCURSOR;
  427. #line 45 "strict_cpp.re"
  428. { goto pp_number; }
  429. #line 437 "strict_cpp_re.inc"
  430. yy42:
  431. yych = *++YYCURSOR;
  432. if (yych == ':') goto yy154;
  433. if (yych == '>') goto yy156;
  434. #line 169 "strict_cpp.re"
  435. { BOOST_WAVE_RET(T_COLON); }
  436. #line 444 "strict_cpp_re.inc"
  437. yy44:
  438. ++YYCURSOR;
  439. #line 168 "strict_cpp.re"
  440. { BOOST_WAVE_RET(T_SEMICOLON); }
  441. #line 449 "strict_cpp_re.inc"
  442. yy46:
  443. yych = *++YYCURSOR;
  444. if (yych <= ':') {
  445. if (yych == '%') goto yy158;
  446. if (yych >= ':') goto yy160;
  447. } else {
  448. if (yych <= ';') goto yy47;
  449. if (yych <= '<') goto yy162;
  450. if (yych <= '=') goto yy164;
  451. }
  452. yy47:
  453. #line 212 "strict_cpp.re"
  454. { BOOST_WAVE_RET(T_LESS); }
  455. #line 463 "strict_cpp_re.inc"
  456. yy48:
  457. yych = *++YYCURSOR;
  458. if (yych == '=') goto yy166;
  459. #line 211 "strict_cpp.re"
  460. { BOOST_WAVE_RET(T_ASSIGN); }
  461. #line 469 "strict_cpp_re.inc"
  462. yy50:
  463. yych = *++YYCURSOR;
  464. if (yych <= '<') goto yy51;
  465. if (yych <= '=') goto yy168;
  466. if (yych <= '>') goto yy170;
  467. yy51:
  468. #line 213 "strict_cpp.re"
  469. { BOOST_WAVE_RET(T_GREATER); }
  470. #line 478 "strict_cpp_re.inc"
  471. yy52:
  472. yyaccept = 3;
  473. yych = *(YYMARKER = ++YYCURSOR);
  474. if (yych == '?') goto yy172;
  475. yy53:
  476. #line 171 "strict_cpp.re"
  477. { BOOST_WAVE_RET(T_QUESTION_MARK); }
  478. #line 486 "strict_cpp_re.inc"
  479. yy54:
  480. yyaccept = 4;
  481. YYMARKER = ++YYCURSOR;
  482. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  483. yych = *YYCURSOR;
  484. yy55:
  485. if (yybm[256+yych] & 128) {
  486. goto yy54;
  487. }
  488. if (yych == '?') goto yy173;
  489. if (yych == '\\') goto yy174;
  490. yy56:
  491. #line 314 "strict_cpp.re"
  492. { BOOST_WAVE_RET(T_IDENTIFIER); }
  493. #line 501 "strict_cpp_re.inc"
  494. yy57:
  495. yyaccept = 4;
  496. yych = *(YYMARKER = ++YYCURSOR);
  497. if (yych <= '&') {
  498. if (yych == '"') goto yy98;
  499. goto yy55;
  500. } else {
  501. if (yych <= '\'') goto yy175;
  502. if (yych != 'R') goto yy55;
  503. }
  504. yy58:
  505. yyaccept = 4;
  506. yych = *(YYMARKER = ++YYCURSOR);
  507. if (yych == '"') goto yy176;
  508. goto yy55;
  509. yy59:
  510. yyaccept = 4;
  511. yych = *(YYMARKER = ++YYCURSOR);
  512. if (yych <= '&') {
  513. if (yych == '"') goto yy178;
  514. goto yy55;
  515. } else {
  516. if (yych <= '\'') goto yy180;
  517. if (yych == 'R') goto yy182;
  518. goto yy55;
  519. }
  520. yy60:
  521. ++YYCURSOR;
  522. #line 152 "strict_cpp.re"
  523. { BOOST_WAVE_RET(T_LEFTBRACKET); }
  524. #line 532 "strict_cpp_re.inc"
  525. yy62:
  526. yyaccept = 0;
  527. yych = *(YYMARKER = ++YYCURSOR);
  528. if (yych == 'U') goto yy183;
  529. if (yych == 'u') goto yy184;
  530. goto yy15;
  531. yy63:
  532. ++YYCURSOR;
  533. #line 155 "strict_cpp.re"
  534. { BOOST_WAVE_RET(T_RIGHTBRACKET); }
  535. #line 543 "strict_cpp_re.inc"
  536. yy65:
  537. yych = *++YYCURSOR;
  538. if (yych == '=') goto yy185;
  539. #line 198 "strict_cpp.re"
  540. { BOOST_WAVE_RET(T_XOR); }
  541. #line 549 "strict_cpp_re.inc"
  542. yy67:
  543. yyaccept = 4;
  544. yych = *(YYMARKER = ++YYCURSOR);
  545. switch (yych) {
  546. case '_': goto yy187;
  547. case 'a': goto yy188;
  548. case 'b': goto yy189;
  549. case 'c': goto yy190;
  550. case 'd': goto yy191;
  551. case 'f': goto yy192;
  552. case 'i': goto yy193;
  553. case 's': goto yy194;
  554. default: goto yy55;
  555. }
  556. yy68:
  557. yyaccept = 4;
  558. yych = *(YYMARKER = ++YYCURSOR);
  559. switch (yych) {
  560. case 'l': goto yy195;
  561. case 'n': goto yy196;
  562. case 's': goto yy197;
  563. case 'u': goto yy198;
  564. default: goto yy55;
  565. }
  566. yy69:
  567. yyaccept = 4;
  568. yych = *(YYMARKER = ++YYCURSOR);
  569. if (yych <= 'n') {
  570. if (yych == 'i') goto yy199;
  571. goto yy55;
  572. } else {
  573. if (yych <= 'o') goto yy200;
  574. if (yych == 'r') goto yy201;
  575. goto yy55;
  576. }
  577. yy70:
  578. yyaccept = 4;
  579. yych = *(YYMARKER = ++YYCURSOR);
  580. switch (yych) {
  581. case 'a': goto yy202;
  582. case 'h': goto yy203;
  583. case 'l': goto yy204;
  584. case 'o': goto yy205;
  585. default: goto yy55;
  586. }
  587. yy71:
  588. yyaccept = 4;
  589. yych = *(YYMARKER = ++YYCURSOR);
  590. if (yych <= 'n') {
  591. if (yych == 'e') goto yy206;
  592. goto yy55;
  593. } else {
  594. if (yych <= 'o') goto yy207;
  595. if (yych == 'y') goto yy209;
  596. goto yy55;
  597. }
  598. yy72:
  599. yyaccept = 4;
  600. yych = *(YYMARKER = ++YYCURSOR);
  601. if (yych <= 'm') {
  602. if (yych == 'l') goto yy210;
  603. goto yy55;
  604. } else {
  605. if (yych <= 'n') goto yy211;
  606. if (yych == 'x') goto yy212;
  607. goto yy55;
  608. }
  609. yy73:
  610. yyaccept = 4;
  611. yych = *(YYMARKER = ++YYCURSOR);
  612. switch (yych) {
  613. case 'a': goto yy213;
  614. case 'l': goto yy214;
  615. case 'o': goto yy215;
  616. case 'r': goto yy216;
  617. default: goto yy55;
  618. }
  619. yy74:
  620. yyaccept = 4;
  621. yych = *(YYMARKER = ++YYCURSOR);
  622. if (yych == 'o') goto yy217;
  623. goto yy55;
  624. yy75:
  625. yyaccept = 4;
  626. yych = *(YYMARKER = ++YYCURSOR);
  627. if (yych <= 'l') {
  628. if (yych == 'f') goto yy218;
  629. goto yy55;
  630. } else {
  631. if (yych <= 'm') goto yy220;
  632. if (yych <= 'n') goto yy221;
  633. goto yy55;
  634. }
  635. yy76:
  636. yyaccept = 4;
  637. yych = *(YYMARKER = ++YYCURSOR);
  638. if (yych == 'o') goto yy222;
  639. goto yy55;
  640. yy77:
  641. yyaccept = 4;
  642. yych = *(YYMARKER = ++YYCURSOR);
  643. if (yych == 'u') goto yy223;
  644. goto yy55;
  645. yy78:
  646. yyaccept = 4;
  647. yych = *(YYMARKER = ++YYCURSOR);
  648. switch (yych) {
  649. case 'a': goto yy224;
  650. case 'e': goto yy225;
  651. case 'o': goto yy226;
  652. case 'u': goto yy227;
  653. default: goto yy55;
  654. }
  655. yy79:
  656. yyaccept = 4;
  657. yych = *(YYMARKER = ++YYCURSOR);
  658. if (yych == 'p') goto yy228;
  659. if (yych == 'r') goto yy229;
  660. goto yy55;
  661. yy80:
  662. yyaccept = 4;
  663. yych = *(YYMARKER = ++YYCURSOR);
  664. if (yych == 'r') goto yy231;
  665. if (yych == 'u') goto yy232;
  666. goto yy55;
  667. yy81:
  668. yyaccept = 4;
  669. yych = *(YYMARKER = ++YYCURSOR);
  670. if (yych == 'e') goto yy233;
  671. goto yy55;
  672. yy82:
  673. yyaccept = 4;
  674. yych = *(YYMARKER = ++YYCURSOR);
  675. if (yych <= 's') {
  676. if (yych <= 'g') goto yy55;
  677. if (yych <= 'h') goto yy234;
  678. if (yych <= 'i') goto yy235;
  679. goto yy55;
  680. } else {
  681. if (yych <= 't') goto yy236;
  682. if (yych == 'w') goto yy237;
  683. goto yy55;
  684. }
  685. yy83:
  686. yyaccept = 4;
  687. yych = *(YYMARKER = ++YYCURSOR);
  688. switch (yych) {
  689. case 'e': goto yy238;
  690. case 'h': goto yy239;
  691. case 'r': goto yy240;
  692. case 'y': goto yy241;
  693. default: goto yy55;
  694. }
  695. yy84:
  696. yyaccept = 4;
  697. yych = *(YYMARKER = ++YYCURSOR);
  698. if (yych <= '8') {
  699. if (yych <= '&') {
  700. if (yych == '"') goto yy178;
  701. goto yy55;
  702. } else {
  703. if (yych <= '\'') goto yy180;
  704. if (yych <= '7') goto yy55;
  705. goto yy242;
  706. }
  707. } else {
  708. if (yych <= 'm') {
  709. if (yych == 'R') goto yy182;
  710. goto yy55;
  711. } else {
  712. if (yych <= 'n') goto yy243;
  713. if (yych == 's') goto yy244;
  714. goto yy55;
  715. }
  716. }
  717. yy85:
  718. yyaccept = 4;
  719. yych = *(YYMARKER = ++YYCURSOR);
  720. if (yych == 'i') goto yy245;
  721. if (yych == 'o') goto yy246;
  722. goto yy55;
  723. yy86:
  724. yyaccept = 4;
  725. yych = *(YYMARKER = ++YYCURSOR);
  726. if (yych == 'c') goto yy247;
  727. if (yych == 'h') goto yy248;
  728. goto yy55;
  729. yy87:
  730. yyaccept = 4;
  731. yych = *(YYMARKER = ++YYCURSOR);
  732. if (yych == 'o') goto yy249;
  733. goto yy55;
  734. yy88:
  735. ++YYCURSOR;
  736. #line 146 "strict_cpp.re"
  737. { BOOST_WAVE_RET(T_LEFTBRACE); }
  738. #line 746 "strict_cpp_re.inc"
  739. yy90:
  740. yyaccept = 5;
  741. yych = *(YYMARKER = ++YYCURSOR);
  742. if (yych <= '>') {
  743. if (yych == '=') goto yy250;
  744. } else {
  745. if (yych <= '?') goto yy252;
  746. if (yych == '|') goto yy253;
  747. }
  748. yy91:
  749. #line 203 "strict_cpp.re"
  750. { BOOST_WAVE_RET(T_OR); }
  751. #line 759 "strict_cpp_re.inc"
  752. yy92:
  753. ++YYCURSOR;
  754. #line 149 "strict_cpp.re"
  755. { BOOST_WAVE_RET(T_RIGHTBRACE); }
  756. #line 764 "strict_cpp_re.inc"
  757. yy94:
  758. ++YYCURSOR;
  759. #line 206 "strict_cpp.re"
  760. { BOOST_WAVE_RET(T_COMPL); }
  761. #line 769 "strict_cpp_re.inc"
  762. yy96:
  763. ++YYCURSOR;
  764. #line 232 "strict_cpp.re"
  765. { BOOST_WAVE_RET(T_NOTEQUAL); }
  766. #line 774 "strict_cpp_re.inc"
  767. yy98:
  768. ++YYCURSOR;
  769. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  770. yych = *YYCURSOR;
  771. yy99:
  772. if (yybm[0+yych] & 1) {
  773. goto yy98;
  774. }
  775. if (yych <= 0x1F) goto yy100;
  776. if (yych <= '"') goto yy101;
  777. if (yych <= '?') goto yy103;
  778. goto yy104;
  779. yy100:
  780. YYCURSOR = YYMARKER;
  781. if (yyaccept <= 60) {
  782. if (yyaccept <= 30) {
  783. if (yyaccept <= 15) {
  784. if (yyaccept <= 7) {
  785. if (yyaccept <= 3) {
  786. if (yyaccept <= 1) {
  787. if (yyaccept == 0) {
  788. goto yy15;
  789. } else {
  790. goto yy17;
  791. }
  792. } else {
  793. if (yyaccept == 2) {
  794. goto yy37;
  795. } else {
  796. goto yy53;
  797. }
  798. }
  799. } else {
  800. if (yyaccept <= 5) {
  801. if (yyaccept == 4) {
  802. goto yy56;
  803. } else {
  804. goto yy91;
  805. }
  806. } else {
  807. if (yyaccept == 6) {
  808. goto yy120;
  809. } else {
  810. goto yy208;
  811. }
  812. }
  813. }
  814. } else {
  815. if (yyaccept <= 11) {
  816. if (yyaccept <= 9) {
  817. if (yyaccept == 8) {
  818. goto yy219;
  819. } else {
  820. goto yy230;
  821. }
  822. } else {
  823. if (yyaccept == 10) {
  824. goto yy268;
  825. } else {
  826. goto yy294;
  827. }
  828. }
  829. } else {
  830. if (yyaccept <= 13) {
  831. if (yyaccept == 12) {
  832. goto yy304;
  833. } else {
  834. goto yy308;
  835. }
  836. } else {
  837. if (yyaccept == 14) {
  838. goto yy330;
  839. } else {
  840. goto yy332;
  841. }
  842. }
  843. }
  844. }
  845. } else {
  846. if (yyaccept <= 23) {
  847. if (yyaccept <= 19) {
  848. if (yyaccept <= 17) {
  849. if (yyaccept == 16) {
  850. goto yy356;
  851. } else {
  852. goto yy362;
  853. }
  854. } else {
  855. if (yyaccept == 18) {
  856. goto yy367;
  857. } else {
  858. goto yy370;
  859. }
  860. }
  861. } else {
  862. if (yyaccept <= 21) {
  863. if (yyaccept == 20) {
  864. goto yy392;
  865. } else {
  866. goto yy403;
  867. }
  868. } else {
  869. if (yyaccept == 22) {
  870. goto yy450;
  871. } else {
  872. goto yy460;
  873. }
  874. }
  875. }
  876. } else {
  877. if (yyaccept <= 27) {
  878. if (yyaccept <= 25) {
  879. if (yyaccept == 24) {
  880. goto yy464;
  881. } else {
  882. goto yy467;
  883. }
  884. } else {
  885. if (yyaccept == 26) {
  886. goto yy470;
  887. } else {
  888. goto yy485;
  889. }
  890. }
  891. } else {
  892. if (yyaccept <= 29) {
  893. if (yyaccept == 28) {
  894. goto yy487;
  895. } else {
  896. goto yy495;
  897. }
  898. } else {
  899. goto yy499;
  900. }
  901. }
  902. }
  903. }
  904. } else {
  905. if (yyaccept <= 45) {
  906. if (yyaccept <= 38) {
  907. if (yyaccept <= 34) {
  908. if (yyaccept <= 32) {
  909. if (yyaccept == 31) {
  910. goto yy522;
  911. } else {
  912. goto yy526;
  913. }
  914. } else {
  915. if (yyaccept == 33) {
  916. goto yy533;
  917. } else {
  918. goto yy102;
  919. }
  920. }
  921. } else {
  922. if (yyaccept <= 36) {
  923. if (yyaccept == 35) {
  924. goto yy277;
  925. } else {
  926. goto yy572;
  927. }
  928. } else {
  929. if (yyaccept == 37) {
  930. goto yy583;
  931. } else {
  932. goto yy585;
  933. }
  934. }
  935. }
  936. } else {
  937. if (yyaccept <= 42) {
  938. if (yyaccept <= 40) {
  939. if (yyaccept == 39) {
  940. goto yy587;
  941. } else {
  942. goto yy592;
  943. }
  944. } else {
  945. if (yyaccept == 41) {
  946. goto yy597;
  947. } else {
  948. goto yy600;
  949. }
  950. }
  951. } else {
  952. if (yyaccept <= 44) {
  953. if (yyaccept == 43) {
  954. goto yy611;
  955. } else {
  956. goto yy613;
  957. }
  958. } else {
  959. goto yy624;
  960. }
  961. }
  962. }
  963. } else {
  964. if (yyaccept <= 53) {
  965. if (yyaccept <= 49) {
  966. if (yyaccept <= 47) {
  967. if (yyaccept == 46) {
  968. goto yy633;
  969. } else {
  970. goto yy642;
  971. }
  972. } else {
  973. if (yyaccept == 48) {
  974. goto yy647;
  975. } else {
  976. goto yy650;
  977. }
  978. }
  979. } else {
  980. if (yyaccept <= 51) {
  981. if (yyaccept == 50) {
  982. goto yy655;
  983. } else {
  984. goto yy684;
  985. }
  986. } else {
  987. if (yyaccept == 52) {
  988. goto yy687;
  989. } else {
  990. goto yy689;
  991. }
  992. }
  993. }
  994. } else {
  995. if (yyaccept <= 57) {
  996. if (yyaccept <= 55) {
  997. if (yyaccept == 54) {
  998. goto yy697;
  999. } else {
  1000. goto yy699;
  1001. }
  1002. } else {
  1003. if (yyaccept == 56) {
  1004. goto yy714;
  1005. } else {
  1006. goto yy716;
  1007. }
  1008. }
  1009. } else {
  1010. if (yyaccept <= 59) {
  1011. if (yyaccept == 58) {
  1012. goto yy720;
  1013. } else {
  1014. goto yy722;
  1015. }
  1016. } else {
  1017. goto yy724;
  1018. }
  1019. }
  1020. }
  1021. }
  1022. }
  1023. } else {
  1024. if (yyaccept <= 91) {
  1025. if (yyaccept <= 76) {
  1026. if (yyaccept <= 68) {
  1027. if (yyaccept <= 64) {
  1028. if (yyaccept <= 62) {
  1029. if (yyaccept == 61) {
  1030. goto yy726;
  1031. } else {
  1032. goto yy728;
  1033. }
  1034. } else {
  1035. if (yyaccept == 63) {
  1036. goto yy733;
  1037. } else {
  1038. goto yy739;
  1039. }
  1040. }
  1041. } else {
  1042. if (yyaccept <= 66) {
  1043. if (yyaccept == 65) {
  1044. goto yy744;
  1045. } else {
  1046. goto yy746;
  1047. }
  1048. } else {
  1049. if (yyaccept == 67) {
  1050. goto yy748;
  1051. } else {
  1052. goto yy750;
  1053. }
  1054. }
  1055. }
  1056. } else {
  1057. if (yyaccept <= 72) {
  1058. if (yyaccept <= 70) {
  1059. if (yyaccept == 69) {
  1060. goto yy752;
  1061. } else {
  1062. goto yy754;
  1063. }
  1064. } else {
  1065. if (yyaccept == 71) {
  1066. goto yy759;
  1067. } else {
  1068. goto yy766;
  1069. }
  1070. }
  1071. } else {
  1072. if (yyaccept <= 74) {
  1073. if (yyaccept == 73) {
  1074. goto yy781;
  1075. } else {
  1076. goto yy783;
  1077. }
  1078. } else {
  1079. if (yyaccept == 75) {
  1080. goto yy785;
  1081. } else {
  1082. goto yy787;
  1083. }
  1084. }
  1085. }
  1086. }
  1087. } else {
  1088. if (yyaccept <= 84) {
  1089. if (yyaccept <= 80) {
  1090. if (yyaccept <= 78) {
  1091. if (yyaccept == 77) {
  1092. goto yy791;
  1093. } else {
  1094. goto yy794;
  1095. }
  1096. } else {
  1097. if (yyaccept == 79) {
  1098. goto yy796;
  1099. } else {
  1100. goto yy800;
  1101. }
  1102. }
  1103. } else {
  1104. if (yyaccept <= 82) {
  1105. if (yyaccept == 81) {
  1106. goto yy805;
  1107. } else {
  1108. goto yy813;
  1109. }
  1110. } else {
  1111. if (yyaccept == 83) {
  1112. goto yy817;
  1113. } else {
  1114. goto yy821;
  1115. }
  1116. }
  1117. }
  1118. } else {
  1119. if (yyaccept <= 88) {
  1120. if (yyaccept <= 86) {
  1121. if (yyaccept == 85) {
  1122. goto yy824;
  1123. } else {
  1124. goto yy833;
  1125. }
  1126. } else {
  1127. if (yyaccept == 87) {
  1128. goto yy837;
  1129. } else {
  1130. goto yy840;
  1131. }
  1132. }
  1133. } else {
  1134. if (yyaccept <= 90) {
  1135. if (yyaccept == 89) {
  1136. goto yy843;
  1137. } else {
  1138. goto yy847;
  1139. }
  1140. } else {
  1141. goto yy852;
  1142. }
  1143. }
  1144. }
  1145. }
  1146. } else {
  1147. if (yyaccept <= 106) {
  1148. if (yyaccept <= 99) {
  1149. if (yyaccept <= 95) {
  1150. if (yyaccept <= 93) {
  1151. if (yyaccept == 92) {
  1152. goto yy854;
  1153. } else {
  1154. goto yy856;
  1155. }
  1156. } else {
  1157. if (yyaccept == 94) {
  1158. goto yy858;
  1159. } else {
  1160. goto yy861;
  1161. }
  1162. }
  1163. } else {
  1164. if (yyaccept <= 97) {
  1165. if (yyaccept == 96) {
  1166. goto yy867;
  1167. } else {
  1168. goto yy869;
  1169. }
  1170. } else {
  1171. if (yyaccept == 98) {
  1172. goto yy872;
  1173. } else {
  1174. goto yy875;
  1175. }
  1176. }
  1177. }
  1178. } else {
  1179. if (yyaccept <= 103) {
  1180. if (yyaccept <= 101) {
  1181. if (yyaccept == 100) {
  1182. goto yy877;
  1183. } else {
  1184. goto yy880;
  1185. }
  1186. } else {
  1187. if (yyaccept == 102) {
  1188. goto yy883;
  1189. } else {
  1190. goto yy887;
  1191. }
  1192. }
  1193. } else {
  1194. if (yyaccept <= 105) {
  1195. if (yyaccept == 104) {
  1196. goto yy890;
  1197. } else {
  1198. goto yy892;
  1199. }
  1200. } else {
  1201. goto yy894;
  1202. }
  1203. }
  1204. }
  1205. } else {
  1206. if (yyaccept <= 114) {
  1207. if (yyaccept <= 110) {
  1208. if (yyaccept <= 108) {
  1209. if (yyaccept == 107) {
  1210. goto yy903;
  1211. } else {
  1212. goto yy905;
  1213. }
  1214. } else {
  1215. if (yyaccept == 109) {
  1216. goto yy907;
  1217. } else {
  1218. goto yy909;
  1219. }
  1220. }
  1221. } else {
  1222. if (yyaccept <= 112) {
  1223. if (yyaccept == 111) {
  1224. goto yy912;
  1225. } else {
  1226. goto yy914;
  1227. }
  1228. } else {
  1229. if (yyaccept == 113) {
  1230. goto yy916;
  1231. } else {
  1232. goto yy919;
  1233. }
  1234. }
  1235. }
  1236. } else {
  1237. if (yyaccept <= 118) {
  1238. if (yyaccept <= 116) {
  1239. if (yyaccept == 115) {
  1240. goto yy921;
  1241. } else {
  1242. goto yy936;
  1243. }
  1244. } else {
  1245. if (yyaccept == 117) {
  1246. goto yy953;
  1247. } else {
  1248. goto yy957;
  1249. }
  1250. }
  1251. } else {
  1252. if (yyaccept <= 120) {
  1253. if (yyaccept == 119) {
  1254. goto yy961;
  1255. } else {
  1256. goto yy964;
  1257. }
  1258. } else {
  1259. goto yy968;
  1260. }
  1261. }
  1262. }
  1263. }
  1264. }
  1265. }
  1266. yy101:
  1267. ++YYCURSOR;
  1268. yy102:
  1269. #line 273 "strict_cpp.re"
  1270. { BOOST_WAVE_RET(T_STRINGLIT); }
  1271. #line 1279 "strict_cpp_re.inc"
  1272. yy103:
  1273. ++YYCURSOR;
  1274. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1275. yych = *YYCURSOR;
  1276. if (yybm[0+yych] & 1) {
  1277. goto yy98;
  1278. }
  1279. if (yych <= 0x1F) goto yy100;
  1280. if (yych <= '"') goto yy101;
  1281. if (yych <= '?') goto yy255;
  1282. yy104:
  1283. ++YYCURSOR;
  1284. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1285. yych = *YYCURSOR;
  1286. if (yych <= '`') {
  1287. if (yych <= '7') {
  1288. if (yych <= '&') {
  1289. if (yych == '"') goto yy98;
  1290. goto yy100;
  1291. } else {
  1292. if (yych <= '\'') goto yy98;
  1293. if (yych <= '/') goto yy100;
  1294. goto yy98;
  1295. }
  1296. } else {
  1297. if (yych <= 'T') {
  1298. if (yych == '?') goto yy98;
  1299. goto yy100;
  1300. } else {
  1301. if (yych <= 'U') goto yy257;
  1302. if (yych == '\\') goto yy98;
  1303. goto yy100;
  1304. }
  1305. }
  1306. } else {
  1307. if (yych <= 'r') {
  1308. if (yych <= 'f') {
  1309. if (yych <= 'b') goto yy98;
  1310. if (yych <= 'e') goto yy100;
  1311. goto yy98;
  1312. } else {
  1313. if (yych == 'n') goto yy98;
  1314. if (yych <= 'q') goto yy100;
  1315. goto yy98;
  1316. }
  1317. } else {
  1318. if (yych <= 'u') {
  1319. if (yych <= 's') goto yy100;
  1320. if (yych <= 't') goto yy98;
  1321. goto yy258;
  1322. } else {
  1323. if (yych <= 'v') goto yy98;
  1324. if (yych == 'x') goto yy259;
  1325. goto yy100;
  1326. }
  1327. }
  1328. }
  1329. yy105:
  1330. ++YYCURSOR;
  1331. if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
  1332. yych = *YYCURSOR;
  1333. yy106:
  1334. if (yych <= 'h') {
  1335. if (yych <= ' ') {
  1336. if (yych <= '\n') {
  1337. if (yych == '\t') goto yy105;
  1338. goto yy100;
  1339. } else {
  1340. if (yych <= '\f') goto yy105;
  1341. if (yych <= 0x1F) goto yy100;
  1342. goto yy105;
  1343. }
  1344. } else {
  1345. if (yych <= 'c') {
  1346. if (yych == '/') goto yy109;
  1347. goto yy100;
  1348. } else {
  1349. if (yych <= 'd') goto yy111;
  1350. if (yych <= 'e') goto yy112;
  1351. goto yy100;
  1352. }
  1353. }
  1354. } else {
  1355. if (yych <= 'q') {
  1356. if (yych <= 'l') {
  1357. if (yych <= 'i') goto yy113;
  1358. if (yych <= 'k') goto yy100;
  1359. goto yy114;
  1360. } else {
  1361. if (yych == 'p') goto yy115;
  1362. goto yy100;
  1363. }
  1364. } else {
  1365. if (yych <= 'u') {
  1366. if (yych <= 'r') goto yy116;
  1367. if (yych <= 't') goto yy100;
  1368. goto yy117;
  1369. } else {
  1370. if (yych == 'w') goto yy118;
  1371. goto yy100;
  1372. }
  1373. }
  1374. }
  1375. yy107:
  1376. ++YYCURSOR;
  1377. #line 161 "strict_cpp.re"
  1378. { BOOST_WAVE_RET(T_POUND_POUND); }
  1379. #line 1387 "strict_cpp_re.inc"
  1380. yy109:
  1381. ++YYCURSOR;
  1382. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1383. yych = *YYCURSOR;
  1384. if (yych == '*') goto yy260;
  1385. goto yy100;
  1386. yy110:
  1387. yych = *++YYCURSOR;
  1388. if (yych == '?') goto yy262;
  1389. goto yy100;
  1390. yy111:
  1391. yych = *++YYCURSOR;
  1392. if (yych == 'e') goto yy263;
  1393. goto yy100;
  1394. yy112:
  1395. yych = *++YYCURSOR;
  1396. if (yych <= 'm') {
  1397. if (yych == 'l') goto yy264;
  1398. goto yy100;
  1399. } else {
  1400. if (yych <= 'n') goto yy265;
  1401. if (yych == 'r') goto yy266;
  1402. goto yy100;
  1403. }
  1404. yy113:
  1405. yych = *++YYCURSOR;
  1406. if (yych == 'f') goto yy267;
  1407. if (yych == 'n') goto yy269;
  1408. goto yy100;
  1409. yy114:
  1410. yych = *++YYCURSOR;
  1411. if (yych == 'i') goto yy270;
  1412. goto yy100;
  1413. yy115:
  1414. yych = *++YYCURSOR;
  1415. if (yych == 'r') goto yy271;
  1416. goto yy100;
  1417. yy116:
  1418. yych = *++YYCURSOR;
  1419. if (yych == 'e') goto yy272;
  1420. goto yy100;
  1421. yy117:
  1422. yych = *++YYCURSOR;
  1423. if (yych == 'n') goto yy273;
  1424. goto yy100;
  1425. yy118:
  1426. yych = *++YYCURSOR;
  1427. if (yych == 'a') goto yy274;
  1428. goto yy100;
  1429. yy119:
  1430. yyaccept = 6;
  1431. yych = *(YYMARKER = ++YYCURSOR);
  1432. if (yych <= 'e') {
  1433. if (yych <= ' ') {
  1434. if (yych <= '\n') {
  1435. if (yych == '\t') goto yy106;
  1436. } else {
  1437. if (yych <= '\f') goto yy106;
  1438. if (yych >= ' ') goto yy106;
  1439. }
  1440. } else {
  1441. if (yych <= '.') {
  1442. if (yych == '%') goto yy275;
  1443. } else {
  1444. if (yych <= '/') goto yy106;
  1445. if (yych >= 'd') goto yy106;
  1446. }
  1447. }
  1448. } else {
  1449. if (yych <= 'p') {
  1450. if (yych <= 'k') {
  1451. if (yych == 'i') goto yy106;
  1452. } else {
  1453. if (yych <= 'l') goto yy106;
  1454. if (yych >= 'p') goto yy106;
  1455. }
  1456. } else {
  1457. if (yych <= 't') {
  1458. if (yych == 'r') goto yy106;
  1459. } else {
  1460. if (yych == 'v') goto yy120;
  1461. if (yych <= 'w') goto yy106;
  1462. }
  1463. }
  1464. }
  1465. yy120:
  1466. #line 159 "strict_cpp.re"
  1467. { BOOST_WAVE_RET(T_POUND_ALT); }
  1468. #line 1476 "strict_cpp_re.inc"
  1469. yy121:
  1470. ++YYCURSOR;
  1471. #line 218 "strict_cpp.re"
  1472. { BOOST_WAVE_RET(T_PERCENTASSIGN); }
  1473. #line 1481 "strict_cpp_re.inc"
  1474. yy123:
  1475. ++YYCURSOR;
  1476. #line 151 "strict_cpp.re"
  1477. { BOOST_WAVE_RET(T_RIGHTBRACE_ALT); }
  1478. #line 1486 "strict_cpp_re.inc"
  1479. yy125:
  1480. ++YYCURSOR;
  1481. #line 246 "strict_cpp.re"
  1482. { BOOST_WAVE_RET(T_ANDAND); }
  1483. #line 1491 "strict_cpp_re.inc"
  1484. yy127:
  1485. ++YYCURSOR;
  1486. #line 222 "strict_cpp.re"
  1487. { BOOST_WAVE_RET(T_ANDASSIGN); }
  1488. #line 1496 "strict_cpp_re.inc"
  1489. yy129:
  1490. ++YYCURSOR;
  1491. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1492. yych = *YYCURSOR;
  1493. yy130:
  1494. if (yybm[0+yych] & 2) {
  1495. goto yy129;
  1496. }
  1497. if (yych <= 0x1F) goto yy100;
  1498. if (yych <= '\'') goto yy276;
  1499. if (yych >= '@') goto yy132;
  1500. yy131:
  1501. ++YYCURSOR;
  1502. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1503. yych = *YYCURSOR;
  1504. if (yybm[0+yych] & 2) {
  1505. goto yy129;
  1506. }
  1507. if (yych <= 0x1F) goto yy100;
  1508. if (yych <= '\'') goto yy276;
  1509. if (yych <= '?') goto yy278;
  1510. yy132:
  1511. ++YYCURSOR;
  1512. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1513. yych = *YYCURSOR;
  1514. if (yych <= '`') {
  1515. if (yych <= '7') {
  1516. if (yych <= '&') {
  1517. if (yych == '"') goto yy129;
  1518. goto yy100;
  1519. } else {
  1520. if (yych <= '\'') goto yy129;
  1521. if (yych <= '/') goto yy100;
  1522. goto yy129;
  1523. }
  1524. } else {
  1525. if (yych <= 'T') {
  1526. if (yych == '?') goto yy129;
  1527. goto yy100;
  1528. } else {
  1529. if (yych <= 'U') goto yy280;
  1530. if (yych == '\\') goto yy129;
  1531. goto yy100;
  1532. }
  1533. }
  1534. } else {
  1535. if (yych <= 'r') {
  1536. if (yych <= 'f') {
  1537. if (yych <= 'b') goto yy129;
  1538. if (yych <= 'e') goto yy100;
  1539. goto yy129;
  1540. } else {
  1541. if (yych == 'n') goto yy129;
  1542. if (yych <= 'q') goto yy100;
  1543. goto yy129;
  1544. }
  1545. } else {
  1546. if (yych <= 'u') {
  1547. if (yych <= 's') goto yy100;
  1548. if (yych <= 't') goto yy129;
  1549. goto yy281;
  1550. } else {
  1551. if (yych <= 'v') goto yy129;
  1552. if (yych == 'x') goto yy282;
  1553. goto yy100;
  1554. }
  1555. }
  1556. }
  1557. yy133:
  1558. ++YYCURSOR;
  1559. #line 216 "strict_cpp.re"
  1560. { BOOST_WAVE_RET(T_STARASSIGN); }
  1561. #line 1569 "strict_cpp_re.inc"
  1562. yy135:
  1563. ++YYCURSOR;
  1564. #line 253 "strict_cpp.re"
  1565. { BOOST_WAVE_RET(T_PLUSPLUS); }
  1566. #line 1574 "strict_cpp_re.inc"
  1567. yy137:
  1568. ++YYCURSOR;
  1569. #line 214 "strict_cpp.re"
  1570. { BOOST_WAVE_RET(T_PLUSASSIGN); }
  1571. #line 1579 "strict_cpp_re.inc"
  1572. yy139:
  1573. ++YYCURSOR;
  1574. #line 254 "strict_cpp.re"
  1575. { BOOST_WAVE_RET(T_MINUSMINUS); }
  1576. #line 1584 "strict_cpp_re.inc"
  1577. yy141:
  1578. ++YYCURSOR;
  1579. #line 215 "strict_cpp.re"
  1580. { BOOST_WAVE_RET(T_MINUSASSIGN); }
  1581. #line 1589 "strict_cpp_re.inc"
  1582. yy143:
  1583. yych = *++YYCURSOR;
  1584. if (yych == '*') goto yy283;
  1585. #line 266 "strict_cpp.re"
  1586. { BOOST_WAVE_RET(T_ARROW); }
  1587. #line 1595 "strict_cpp_re.inc"
  1588. yy145:
  1589. ++YYCURSOR;
  1590. #line 184 "strict_cpp.re"
  1591. {
  1592. if (s->act_in_c99_mode) {
  1593. --YYCURSOR;
  1594. BOOST_WAVE_RET(T_DOT);
  1595. }
  1596. else {
  1597. BOOST_WAVE_RET(T_DOTSTAR);
  1598. }
  1599. }
  1600. #line 1608 "strict_cpp_re.inc"
  1601. yy147:
  1602. yych = *++YYCURSOR;
  1603. if (yych == '.') goto yy285;
  1604. goto yy100;
  1605. yy148:
  1606. ++YYCURSOR;
  1607. #line 43 "strict_cpp.re"
  1608. { goto ccomment; }
  1609. #line 1617 "strict_cpp_re.inc"
  1610. yy150:
  1611. ++YYCURSOR;
  1612. #line 44 "strict_cpp.re"
  1613. { goto cppcomment; }
  1614. #line 1622 "strict_cpp_re.inc"
  1615. yy152:
  1616. ++YYCURSOR;
  1617. #line 217 "strict_cpp.re"
  1618. { BOOST_WAVE_RET(T_DIVIDEASSIGN); }
  1619. #line 1627 "strict_cpp_re.inc"
  1620. yy154:
  1621. ++YYCURSOR;
  1622. #line 173 "strict_cpp.re"
  1623. {
  1624. if (s->act_in_c99_mode) {
  1625. --YYCURSOR;
  1626. BOOST_WAVE_RET(T_COLON);
  1627. }
  1628. else {
  1629. BOOST_WAVE_RET(T_COLON_COLON);
  1630. }
  1631. }
  1632. #line 1640 "strict_cpp_re.inc"
  1633. yy156:
  1634. ++YYCURSOR;
  1635. #line 157 "strict_cpp.re"
  1636. { BOOST_WAVE_RET(T_RIGHTBRACKET_ALT); }
  1637. #line 1645 "strict_cpp_re.inc"
  1638. yy158:
  1639. ++YYCURSOR;
  1640. #line 148 "strict_cpp.re"
  1641. { BOOST_WAVE_RET(T_LEFTBRACE_ALT); }
  1642. #line 1650 "strict_cpp_re.inc"
  1643. yy160:
  1644. ++YYCURSOR;
  1645. #line 154 "strict_cpp.re"
  1646. { BOOST_WAVE_RET(T_LEFTBRACKET_ALT); }
  1647. #line 1655 "strict_cpp_re.inc"
  1648. yy162:
  1649. yych = *++YYCURSOR;
  1650. if (yych == '=') goto yy287;
  1651. #line 227 "strict_cpp.re"
  1652. { BOOST_WAVE_RET(T_SHIFTLEFT); }
  1653. #line 1661 "strict_cpp_re.inc"
  1654. yy164:
  1655. yych = *++YYCURSOR;
  1656. if (yych == '>') goto yy289;
  1657. #line 244 "strict_cpp.re"
  1658. { BOOST_WAVE_RET(T_LESSEQUAL); }
  1659. #line 1667 "strict_cpp_re.inc"
  1660. yy166:
  1661. ++YYCURSOR;
  1662. #line 231 "strict_cpp.re"
  1663. { BOOST_WAVE_RET(T_EQUAL); }
  1664. #line 1672 "strict_cpp_re.inc"
  1665. yy168:
  1666. ++YYCURSOR;
  1667. #line 245 "strict_cpp.re"
  1668. { BOOST_WAVE_RET(T_GREATEREQUAL); }
  1669. #line 1677 "strict_cpp_re.inc"
  1670. yy170:
  1671. yych = *++YYCURSOR;
  1672. if (yych == '=') goto yy291;
  1673. #line 228 "strict_cpp.re"
  1674. { BOOST_WAVE_RET(T_SHIFTRIGHT); }
  1675. #line 1683 "strict_cpp_re.inc"
  1676. yy172:
  1677. yych = *++YYCURSOR;
  1678. switch (yych) {
  1679. case '!': goto yy293;
  1680. case '\'': goto yy295;
  1681. case '(': goto yy297;
  1682. case ')': goto yy299;
  1683. case '-': goto yy301;
  1684. case '/': goto yy303;
  1685. case '<': goto yy305;
  1686. case '=': goto yy307;
  1687. case '>': goto yy309;
  1688. default: goto yy100;
  1689. }
  1690. yy173:
  1691. ++YYCURSOR;
  1692. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1693. yych = *YYCURSOR;
  1694. if (yych == '?') goto yy311;
  1695. goto yy100;
  1696. yy174:
  1697. ++YYCURSOR;
  1698. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1699. yych = *YYCURSOR;
  1700. if (yych == 'U') goto yy183;
  1701. if (yych == 'u') goto yy184;
  1702. goto yy100;
  1703. yy175:
  1704. yych = *++YYCURSOR;
  1705. if (yych == '\'') goto yy100;
  1706. goto yy130;
  1707. yy176:
  1708. ++YYCURSOR;
  1709. #line 276 "strict_cpp.re"
  1710. {
  1711. if (s->act_in_cpp0x_mode)
  1712. {
  1713. rawstringdelim = "";
  1714. goto extrawstringlit;
  1715. }
  1716. --YYCURSOR;
  1717. BOOST_WAVE_RET(T_IDENTIFIER);
  1718. }
  1719. #line 1727 "strict_cpp_re.inc"
  1720. yy178:
  1721. ++YYCURSOR;
  1722. #line 295 "strict_cpp.re"
  1723. {
  1724. if (s->act_in_cpp0x_mode)
  1725. goto extstringlit;
  1726. --YYCURSOR;
  1727. BOOST_WAVE_RET(T_IDENTIFIER);
  1728. }
  1729. #line 1737 "strict_cpp_re.inc"
  1730. yy180:
  1731. ++YYCURSOR;
  1732. #line 287 "strict_cpp.re"
  1733. {
  1734. if (s->act_in_cpp0x_mode)
  1735. goto extcharlit;
  1736. --YYCURSOR;
  1737. BOOST_WAVE_RET(T_IDENTIFIER);
  1738. }
  1739. #line 1747 "strict_cpp_re.inc"
  1740. yy182:
  1741. yyaccept = 4;
  1742. yych = *(YYMARKER = ++YYCURSOR);
  1743. if (yych == '"') goto yy312;
  1744. goto yy55;
  1745. yy183:
  1746. ++YYCURSOR;
  1747. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1748. yych = *YYCURSOR;
  1749. if (yych <= '@') {
  1750. if (yych <= '/') goto yy100;
  1751. if (yych <= '9') goto yy314;
  1752. goto yy100;
  1753. } else {
  1754. if (yych <= 'F') goto yy314;
  1755. if (yych <= '`') goto yy100;
  1756. if (yych <= 'f') goto yy314;
  1757. goto yy100;
  1758. }
  1759. yy184:
  1760. ++YYCURSOR;
  1761. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  1762. yych = *YYCURSOR;
  1763. if (yych <= '@') {
  1764. if (yych <= '/') goto yy100;
  1765. if (yych <= '9') goto yy315;
  1766. goto yy100;
  1767. } else {
  1768. if (yych <= 'F') goto yy315;
  1769. if (yych <= '`') goto yy100;
  1770. if (yych <= 'f') goto yy315;
  1771. goto yy100;
  1772. }
  1773. yy185:
  1774. ++YYCURSOR;
  1775. #line 219 "strict_cpp.re"
  1776. { BOOST_WAVE_RET(T_XORASSIGN); }
  1777. #line 1785 "strict_cpp_re.inc"
  1778. yy187:
  1779. yyaccept = 4;
  1780. yych = *(YYMARKER = ++YYCURSOR);
  1781. switch (yych) {
  1782. case 'a': goto yy188;
  1783. case 'b': goto yy189;
  1784. case 'c': goto yy190;
  1785. case 'd': goto yy191;
  1786. case 'e': goto yy316;
  1787. case 'f': goto yy317;
  1788. case 'i': goto yy318;
  1789. case 'l': goto yy319;
  1790. case 's': goto yy194;
  1791. case 't': goto yy320;
  1792. default: goto yy55;
  1793. }
  1794. yy188:
  1795. yyaccept = 4;
  1796. yych = *(YYMARKER = ++YYCURSOR);
  1797. if (yych == 's') goto yy321;
  1798. goto yy55;
  1799. yy189:
  1800. yyaccept = 4;
  1801. yych = *(YYMARKER = ++YYCURSOR);
  1802. if (yych == 'a') goto yy322;
  1803. goto yy55;
  1804. yy190:
  1805. yyaccept = 4;
  1806. yych = *(YYMARKER = ++YYCURSOR);
  1807. if (yych == 'd') goto yy323;
  1808. goto yy55;
  1809. yy191:
  1810. yyaccept = 4;
  1811. yych = *(YYMARKER = ++YYCURSOR);
  1812. if (yych == 'e') goto yy324;
  1813. goto yy55;
  1814. yy192:
  1815. yyaccept = 4;
  1816. yych = *(YYMARKER = ++YYCURSOR);
  1817. if (yych == 'a') goto yy325;
  1818. goto yy55;
  1819. yy193:
  1820. yyaccept = 4;
  1821. yych = *(YYMARKER = ++YYCURSOR);
  1822. if (yych == 'n') goto yy326;
  1823. goto yy55;
  1824. yy194:
  1825. yyaccept = 4;
  1826. yych = *(YYMARKER = ++YYCURSOR);
  1827. if (yych == 't') goto yy327;
  1828. goto yy55;
  1829. yy195:
  1830. yyaccept = 4;
  1831. yych = *(YYMARKER = ++YYCURSOR);
  1832. if (yych == 'i') goto yy328;
  1833. goto yy55;
  1834. yy196:
  1835. yyaccept = 4;
  1836. yych = *(YYMARKER = ++YYCURSOR);
  1837. if (yych == 'd') goto yy329;
  1838. goto yy55;
  1839. yy197:
  1840. yyaccept = 4;
  1841. yych = *(YYMARKER = ++YYCURSOR);
  1842. if (yych == 'm') goto yy331;
  1843. goto yy55;
  1844. yy198:
  1845. yyaccept = 4;
  1846. yych = *(YYMARKER = ++YYCURSOR);
  1847. if (yych == 't') goto yy333;
  1848. goto yy55;
  1849. yy199:
  1850. yyaccept = 4;
  1851. yych = *(YYMARKER = ++YYCURSOR);
  1852. if (yych == 't') goto yy334;
  1853. goto yy55;
  1854. yy200:
  1855. yyaccept = 4;
  1856. yych = *(YYMARKER = ++YYCURSOR);
  1857. if (yych == 'o') goto yy335;
  1858. goto yy55;
  1859. yy201:
  1860. yyaccept = 4;
  1861. yych = *(YYMARKER = ++YYCURSOR);
  1862. if (yych == 'e') goto yy336;
  1863. goto yy55;
  1864. yy202:
  1865. yyaccept = 4;
  1866. yych = *(YYMARKER = ++YYCURSOR);
  1867. if (yych <= 'r') goto yy55;
  1868. if (yych <= 's') goto yy337;
  1869. if (yych <= 't') goto yy338;
  1870. goto yy55;
  1871. yy203:
  1872. yyaccept = 4;
  1873. yych = *(YYMARKER = ++YYCURSOR);
  1874. if (yych == 'a') goto yy339;
  1875. goto yy55;
  1876. yy204:
  1877. yyaccept = 4;
  1878. yych = *(YYMARKER = ++YYCURSOR);
  1879. if (yych == 'a') goto yy340;
  1880. goto yy55;
  1881. yy205:
  1882. yyaccept = 4;
  1883. yych = *(YYMARKER = ++YYCURSOR);
  1884. if (yych <= 'l') {
  1885. if (yych == '_') goto yy341;
  1886. goto yy55;
  1887. } else {
  1888. if (yych <= 'm') goto yy342;
  1889. if (yych <= 'n') goto yy343;
  1890. goto yy55;
  1891. }
  1892. yy206:
  1893. yyaccept = 4;
  1894. yych = *(YYMARKER = ++YYCURSOR);
  1895. if (yych <= 'e') {
  1896. if (yych == 'c') goto yy344;
  1897. goto yy55;
  1898. } else {
  1899. if (yych <= 'f') goto yy345;
  1900. if (yych == 'l') goto yy346;
  1901. goto yy55;
  1902. }
  1903. yy207:
  1904. yyaccept = 7;
  1905. yych = *(YYMARKER = ++YYCURSOR);
  1906. if (yych <= '[') {
  1907. if (yych <= '>') {
  1908. if (yych <= '/') goto yy208;
  1909. if (yych <= '9') goto yy54;
  1910. } else {
  1911. if (yych <= '?') goto yy173;
  1912. if (yych <= '@') goto yy208;
  1913. if (yych <= 'Z') goto yy54;
  1914. }
  1915. } else {
  1916. if (yych <= '`') {
  1917. if (yych <= '\\') goto yy174;
  1918. if (yych == '_') goto yy54;
  1919. } else {
  1920. if (yych == 'u') goto yy347;
  1921. if (yych <= 'z') goto yy54;
  1922. }
  1923. }
  1924. yy208:
  1925. #line 73 "strict_cpp.re"
  1926. { BOOST_WAVE_RET(T_DO); }
  1927. #line 1935 "strict_cpp_re.inc"
  1928. yy209:
  1929. yyaccept = 4;
  1930. yych = *(YYMARKER = ++YYCURSOR);
  1931. if (yych == 'n') goto yy348;
  1932. goto yy55;
  1933. yy210:
  1934. yyaccept = 4;
  1935. yych = *(YYMARKER = ++YYCURSOR);
  1936. if (yych == 's') goto yy349;
  1937. goto yy55;
  1938. yy211:
  1939. yyaccept = 4;
  1940. yych = *(YYMARKER = ++YYCURSOR);
  1941. if (yych == 'u') goto yy350;
  1942. goto yy55;
  1943. yy212:
  1944. yyaccept = 4;
  1945. yych = *(YYMARKER = ++YYCURSOR);
  1946. if (yych == 'p') goto yy351;
  1947. if (yych == 't') goto yy352;
  1948. goto yy55;
  1949. yy213:
  1950. yyaccept = 4;
  1951. yych = *(YYMARKER = ++YYCURSOR);
  1952. if (yych == 'l') goto yy353;
  1953. goto yy55;
  1954. yy214:
  1955. yyaccept = 4;
  1956. yych = *(YYMARKER = ++YYCURSOR);
  1957. if (yych == 'o') goto yy354;
  1958. goto yy55;
  1959. yy215:
  1960. yyaccept = 4;
  1961. yych = *(YYMARKER = ++YYCURSOR);
  1962. if (yych == 'r') goto yy355;
  1963. goto yy55;
  1964. yy216:
  1965. yyaccept = 4;
  1966. yych = *(YYMARKER = ++YYCURSOR);
  1967. if (yych == 'i') goto yy357;
  1968. goto yy55;
  1969. yy217:
  1970. yyaccept = 4;
  1971. yych = *(YYMARKER = ++YYCURSOR);
  1972. if (yych == 't') goto yy358;
  1973. goto yy55;
  1974. yy218:
  1975. yyaccept = 8;
  1976. yych = *(YYMARKER = ++YYCURSOR);
  1977. if (yybm[256+yych] & 128) {
  1978. goto yy54;
  1979. }
  1980. if (yych == '?') goto yy173;
  1981. if (yych == '\\') goto yy174;
  1982. yy219:
  1983. #line 86 "strict_cpp.re"
  1984. { BOOST_WAVE_RET(T_IF); }
  1985. #line 1993 "strict_cpp_re.inc"
  1986. yy220:
  1987. yyaccept = 4;
  1988. yych = *(YYMARKER = ++YYCURSOR);
  1989. if (yych == 'p') goto yy359;
  1990. goto yy55;
  1991. yy221:
  1992. yyaccept = 4;
  1993. yych = *(YYMARKER = ++YYCURSOR);
  1994. if (yych == 'l') goto yy360;
  1995. if (yych == 't') goto yy361;
  1996. goto yy55;
  1997. yy222:
  1998. yyaccept = 4;
  1999. yych = *(YYMARKER = ++YYCURSOR);
  2000. if (yych == 'n') goto yy363;
  2001. goto yy55;
  2002. yy223:
  2003. yyaccept = 4;
  2004. yych = *(YYMARKER = ++YYCURSOR);
  2005. if (yych == 't') goto yy364;
  2006. goto yy55;
  2007. yy224:
  2008. yyaccept = 4;
  2009. yych = *(YYMARKER = ++YYCURSOR);
  2010. if (yych == 'm') goto yy365;
  2011. goto yy55;
  2012. yy225:
  2013. yyaccept = 4;
  2014. yych = *(YYMARKER = ++YYCURSOR);
  2015. if (yych == 'w') goto yy366;
  2016. goto yy55;
  2017. yy226:
  2018. yyaccept = 4;
  2019. yych = *(YYMARKER = ++YYCURSOR);
  2020. if (yych == 'e') goto yy368;
  2021. if (yych == 't') goto yy369;
  2022. goto yy55;
  2023. yy227:
  2024. yyaccept = 4;
  2025. yych = *(YYMARKER = ++YYCURSOR);
  2026. if (yych == 'l') goto yy371;
  2027. goto yy55;
  2028. yy228:
  2029. yyaccept = 4;
  2030. yych = *(YYMARKER = ++YYCURSOR);
  2031. if (yych == 'e') goto yy372;
  2032. goto yy55;
  2033. yy229:
  2034. yyaccept = 9;
  2035. yych = *(YYMARKER = ++YYCURSOR);
  2036. if (yych <= 'Z') {
  2037. if (yych <= '>') {
  2038. if (yych <= '/') goto yy230;
  2039. if (yych <= '9') goto yy54;
  2040. } else {
  2041. if (yych <= '?') goto yy173;
  2042. if (yych >= 'A') goto yy54;
  2043. }
  2044. } else {
  2045. if (yych <= '^') {
  2046. if (yych == '\\') goto yy174;
  2047. } else {
  2048. if (yych <= '_') goto yy373;
  2049. if (yych <= '`') goto yy230;
  2050. if (yych <= 'z') goto yy54;
  2051. }
  2052. }
  2053. yy230:
  2054. #line 251 "strict_cpp.re"
  2055. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OROR_ALT); }
  2056. #line 2064 "strict_cpp_re.inc"
  2057. yy231:
  2058. yyaccept = 4;
  2059. yych = *(YYMARKER = ++YYCURSOR);
  2060. if (yych == 'i') goto yy374;
  2061. if (yych == 'o') goto yy375;
  2062. goto yy55;
  2063. yy232:
  2064. yyaccept = 4;
  2065. yych = *(YYMARKER = ++YYCURSOR);
  2066. if (yych == 'b') goto yy376;
  2067. goto yy55;
  2068. yy233:
  2069. yyaccept = 4;
  2070. yych = *(YYMARKER = ++YYCURSOR);
  2071. switch (yych) {
  2072. case 'g': goto yy377;
  2073. case 'i': goto yy378;
  2074. case 'q': goto yy379;
  2075. case 't': goto yy380;
  2076. default: goto yy55;
  2077. }
  2078. yy234:
  2079. yyaccept = 4;
  2080. yych = *(YYMARKER = ++YYCURSOR);
  2081. if (yych == 'o') goto yy381;
  2082. goto yy55;
  2083. yy235:
  2084. yyaccept = 4;
  2085. yych = *(YYMARKER = ++YYCURSOR);
  2086. if (yych == 'g') goto yy382;
  2087. if (yych == 'z') goto yy383;
  2088. goto yy55;
  2089. yy236:
  2090. yyaccept = 4;
  2091. yych = *(YYMARKER = ++YYCURSOR);
  2092. if (yych == 'a') goto yy384;
  2093. if (yych == 'r') goto yy385;
  2094. goto yy55;
  2095. yy237:
  2096. yyaccept = 4;
  2097. yych = *(YYMARKER = ++YYCURSOR);
  2098. if (yych == 'i') goto yy386;
  2099. goto yy55;
  2100. yy238:
  2101. yyaccept = 4;
  2102. yych = *(YYMARKER = ++YYCURSOR);
  2103. if (yych == 'm') goto yy387;
  2104. goto yy55;
  2105. yy239:
  2106. yyaccept = 4;
  2107. yych = *(YYMARKER = ++YYCURSOR);
  2108. if (yych == 'i') goto yy388;
  2109. if (yych == 'r') goto yy389;
  2110. goto yy55;
  2111. yy240:
  2112. yyaccept = 4;
  2113. yych = *(YYMARKER = ++YYCURSOR);
  2114. if (yych == 'u') goto yy390;
  2115. if (yych == 'y') goto yy391;
  2116. goto yy55;
  2117. yy241:
  2118. yyaccept = 4;
  2119. yych = *(YYMARKER = ++YYCURSOR);
  2120. if (yych == 'p') goto yy393;
  2121. goto yy55;
  2122. yy242:
  2123. yyaccept = 4;
  2124. yych = *(YYMARKER = ++YYCURSOR);
  2125. if (yych == '"') goto yy178;
  2126. if (yych == 'R') goto yy182;
  2127. goto yy55;
  2128. yy243:
  2129. yyaccept = 4;
  2130. yych = *(YYMARKER = ++YYCURSOR);
  2131. if (yych == 'i') goto yy394;
  2132. if (yych == 's') goto yy395;
  2133. goto yy55;
  2134. yy244:
  2135. yyaccept = 4;
  2136. yych = *(YYMARKER = ++YYCURSOR);
  2137. if (yych == 'i') goto yy396;
  2138. goto yy55;
  2139. yy245:
  2140. yyaccept = 4;
  2141. yych = *(YYMARKER = ++YYCURSOR);
  2142. if (yych == 'r') goto yy397;
  2143. goto yy55;
  2144. yy246:
  2145. yyaccept = 4;
  2146. yych = *(YYMARKER = ++YYCURSOR);
  2147. if (yych == 'i') goto yy398;
  2148. if (yych == 'l') goto yy399;
  2149. goto yy55;
  2150. yy247:
  2151. yyaccept = 4;
  2152. yych = *(YYMARKER = ++YYCURSOR);
  2153. if (yych == 'h') goto yy400;
  2154. goto yy55;
  2155. yy248:
  2156. yyaccept = 4;
  2157. yych = *(YYMARKER = ++YYCURSOR);
  2158. if (yych == 'i') goto yy401;
  2159. goto yy55;
  2160. yy249:
  2161. yyaccept = 4;
  2162. yych = *(YYMARKER = ++YYCURSOR);
  2163. if (yych == 'r') goto yy402;
  2164. goto yy55;
  2165. yy250:
  2166. ++YYCURSOR;
  2167. #line 224 "strict_cpp.re"
  2168. { BOOST_WAVE_RET(T_ORASSIGN); }
  2169. #line 2177 "strict_cpp_re.inc"
  2170. yy252:
  2171. yych = *++YYCURSOR;
  2172. if (yych == '?') goto yy404;
  2173. goto yy100;
  2174. yy253:
  2175. ++YYCURSOR;
  2176. #line 248 "strict_cpp.re"
  2177. { BOOST_WAVE_RET(T_OROR); }
  2178. #line 2186 "strict_cpp_re.inc"
  2179. yy255:
  2180. ++YYCURSOR;
  2181. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2182. yych = *YYCURSOR;
  2183. if (yybm[0+yych] & 4) {
  2184. goto yy255;
  2185. }
  2186. if (yych <= '!') {
  2187. if (yych <= '\n') {
  2188. if (yych == '\t') goto yy98;
  2189. goto yy100;
  2190. } else {
  2191. if (yych <= '\f') goto yy98;
  2192. if (yych <= 0x1F) goto yy100;
  2193. goto yy98;
  2194. }
  2195. } else {
  2196. if (yych <= '/') {
  2197. if (yych <= '"') goto yy101;
  2198. if (yych <= '.') goto yy98;
  2199. goto yy405;
  2200. } else {
  2201. if (yych == '\\') goto yy104;
  2202. goto yy98;
  2203. }
  2204. }
  2205. yy257:
  2206. ++YYCURSOR;
  2207. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2208. yych = *YYCURSOR;
  2209. if (yych <= '@') {
  2210. if (yych <= '/') goto yy100;
  2211. if (yych <= '9') goto yy407;
  2212. goto yy100;
  2213. } else {
  2214. if (yych <= 'F') goto yy407;
  2215. if (yych <= '`') goto yy100;
  2216. if (yych <= 'f') goto yy407;
  2217. goto yy100;
  2218. }
  2219. yy258:
  2220. ++YYCURSOR;
  2221. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2222. yych = *YYCURSOR;
  2223. if (yych <= '@') {
  2224. if (yych <= '/') goto yy100;
  2225. if (yych <= '9') goto yy408;
  2226. goto yy100;
  2227. } else {
  2228. if (yych <= 'F') goto yy408;
  2229. if (yych <= '`') goto yy100;
  2230. if (yych <= 'f') goto yy408;
  2231. goto yy100;
  2232. }
  2233. yy259:
  2234. ++YYCURSOR;
  2235. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2236. yych = *YYCURSOR;
  2237. if (yych <= '@') {
  2238. if (yych <= '/') goto yy100;
  2239. if (yych <= '9') goto yy98;
  2240. goto yy100;
  2241. } else {
  2242. if (yych <= 'F') goto yy98;
  2243. if (yych <= '`') goto yy100;
  2244. if (yych <= 'f') goto yy98;
  2245. goto yy100;
  2246. }
  2247. yy260:
  2248. ++YYCURSOR;
  2249. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2250. yych = *YYCURSOR;
  2251. if (yybm[0+yych] & 8) {
  2252. goto yy260;
  2253. }
  2254. if (yych <= 0x1F) goto yy100;
  2255. goto yy409;
  2256. yy262:
  2257. yych = *++YYCURSOR;
  2258. if (yych == '=') goto yy411;
  2259. goto yy100;
  2260. yy263:
  2261. yych = *++YYCURSOR;
  2262. if (yych == 'f') goto yy413;
  2263. goto yy100;
  2264. yy264:
  2265. yych = *++YYCURSOR;
  2266. if (yych == 'i') goto yy414;
  2267. if (yych == 's') goto yy415;
  2268. goto yy100;
  2269. yy265:
  2270. yych = *++YYCURSOR;
  2271. if (yych == 'd') goto yy416;
  2272. goto yy100;
  2273. yy266:
  2274. yych = *++YYCURSOR;
  2275. if (yych == 'r') goto yy417;
  2276. goto yy100;
  2277. yy267:
  2278. yyaccept = 10;
  2279. yych = *(YYMARKER = ++YYCURSOR);
  2280. if (yych == 'd') goto yy418;
  2281. if (yych == 'n') goto yy419;
  2282. yy268:
  2283. #line 325 "strict_cpp.re"
  2284. { BOOST_WAVE_RET(T_PP_IF); }
  2285. #line 2293 "strict_cpp_re.inc"
  2286. yy269:
  2287. yych = *++YYCURSOR;
  2288. if (yych == 'c') goto yy420;
  2289. goto yy100;
  2290. yy270:
  2291. yych = *++YYCURSOR;
  2292. if (yych == 'n') goto yy421;
  2293. goto yy100;
  2294. yy271:
  2295. yych = *++YYCURSOR;
  2296. if (yych == 'a') goto yy422;
  2297. goto yy100;
  2298. yy272:
  2299. yych = *++YYCURSOR;
  2300. if (yych == 'g') goto yy423;
  2301. goto yy100;
  2302. yy273:
  2303. yych = *++YYCURSOR;
  2304. if (yych == 'd') goto yy424;
  2305. goto yy100;
  2306. yy274:
  2307. yych = *++YYCURSOR;
  2308. if (yych == 'r') goto yy425;
  2309. goto yy100;
  2310. yy275:
  2311. yych = *++YYCURSOR;
  2312. if (yych == ':') goto yy426;
  2313. goto yy100;
  2314. yy276:
  2315. ++YYCURSOR;
  2316. yy277:
  2317. #line 270 "strict_cpp.re"
  2318. { BOOST_WAVE_RET(T_CHARLIT); }
  2319. #line 2327 "strict_cpp_re.inc"
  2320. yy278:
  2321. ++YYCURSOR;
  2322. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2323. yych = *YYCURSOR;
  2324. if (yych <= '\'') {
  2325. if (yych <= '\n') {
  2326. if (yych == '\t') goto yy129;
  2327. goto yy100;
  2328. } else {
  2329. if (yych <= '\f') goto yy129;
  2330. if (yych <= 0x1F) goto yy100;
  2331. if (yych <= '&') goto yy129;
  2332. goto yy276;
  2333. }
  2334. } else {
  2335. if (yych <= '>') {
  2336. if (yych == '/') goto yy428;
  2337. goto yy129;
  2338. } else {
  2339. if (yych <= '?') goto yy278;
  2340. if (yych == '\\') goto yy132;
  2341. goto yy129;
  2342. }
  2343. }
  2344. yy280:
  2345. ++YYCURSOR;
  2346. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2347. yych = *YYCURSOR;
  2348. if (yych <= '@') {
  2349. if (yych <= '/') goto yy100;
  2350. if (yych <= '9') goto yy430;
  2351. goto yy100;
  2352. } else {
  2353. if (yych <= 'F') goto yy430;
  2354. if (yych <= '`') goto yy100;
  2355. if (yych <= 'f') goto yy430;
  2356. goto yy100;
  2357. }
  2358. yy281:
  2359. ++YYCURSOR;
  2360. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2361. yych = *YYCURSOR;
  2362. if (yych <= '@') {
  2363. if (yych <= '/') goto yy100;
  2364. if (yych <= '9') goto yy431;
  2365. goto yy100;
  2366. } else {
  2367. if (yych <= 'F') goto yy431;
  2368. if (yych <= '`') goto yy100;
  2369. if (yych <= 'f') goto yy431;
  2370. goto yy100;
  2371. }
  2372. yy282:
  2373. ++YYCURSOR;
  2374. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2375. yych = *YYCURSOR;
  2376. if (yych <= '@') {
  2377. if (yych <= '/') goto yy100;
  2378. if (yych <= '9') goto yy129;
  2379. goto yy100;
  2380. } else {
  2381. if (yych <= 'F') goto yy129;
  2382. if (yych <= '`') goto yy100;
  2383. if (yych <= 'f') goto yy129;
  2384. goto yy100;
  2385. }
  2386. yy283:
  2387. ++YYCURSOR;
  2388. #line 257 "strict_cpp.re"
  2389. {
  2390. if (s->act_in_c99_mode) {
  2391. --YYCURSOR;
  2392. BOOST_WAVE_RET(T_ARROW);
  2393. }
  2394. else {
  2395. BOOST_WAVE_RET(T_ARROWSTAR);
  2396. }
  2397. }
  2398. #line 2406 "strict_cpp_re.inc"
  2399. yy285:
  2400. ++YYCURSOR;
  2401. #line 170 "strict_cpp.re"
  2402. { BOOST_WAVE_RET(T_ELLIPSIS); }
  2403. #line 2411 "strict_cpp_re.inc"
  2404. yy287:
  2405. ++YYCURSOR;
  2406. #line 230 "strict_cpp.re"
  2407. { BOOST_WAVE_RET(T_SHIFTLEFTASSIGN); }
  2408. #line 2416 "strict_cpp_re.inc"
  2409. yy289:
  2410. ++YYCURSOR;
  2411. #line 235 "strict_cpp.re"
  2412. {
  2413. if (s->act_in_cpp2a_mode) {
  2414. BOOST_WAVE_RET(T_SPACESHIP);
  2415. }
  2416. else {
  2417. --YYCURSOR;
  2418. BOOST_WAVE_RET(T_LESSEQUAL);
  2419. }
  2420. }
  2421. #line 2429 "strict_cpp_re.inc"
  2422. yy291:
  2423. ++YYCURSOR;
  2424. #line 229 "strict_cpp.re"
  2425. { BOOST_WAVE_RET(T_SHIFTRIGHTASSIGN); }
  2426. #line 2434 "strict_cpp_re.inc"
  2427. yy293:
  2428. yyaccept = 11;
  2429. yych = *(YYMARKER = ++YYCURSOR);
  2430. if (yych <= '>') {
  2431. if (yych == '=') goto yy432;
  2432. } else {
  2433. if (yych <= '?') goto yy434;
  2434. if (yych == '|') goto yy435;
  2435. }
  2436. yy294:
  2437. #line 205 "strict_cpp.re"
  2438. { BOOST_WAVE_RET(T_OR_TRIGRAPH); }
  2439. #line 2447 "strict_cpp_re.inc"
  2440. yy295:
  2441. yych = *++YYCURSOR;
  2442. if (yych == '=') goto yy437;
  2443. #line 199 "strict_cpp.re"
  2444. { BOOST_WAVE_RET(T_XOR_TRIGRAPH); }
  2445. #line 2453 "strict_cpp_re.inc"
  2446. yy297:
  2447. ++YYCURSOR;
  2448. #line 153 "strict_cpp.re"
  2449. { BOOST_WAVE_RET(T_LEFTBRACKET_TRIGRAPH); }
  2450. #line 2458 "strict_cpp_re.inc"
  2451. yy299:
  2452. ++YYCURSOR;
  2453. #line 156 "strict_cpp.re"
  2454. { BOOST_WAVE_RET(T_RIGHTBRACKET_TRIGRAPH); }
  2455. #line 2463 "strict_cpp_re.inc"
  2456. yy301:
  2457. ++YYCURSOR;
  2458. #line 207 "strict_cpp.re"
  2459. { BOOST_WAVE_RET(T_COMPL_TRIGRAPH); }
  2460. #line 2468 "strict_cpp_re.inc"
  2461. yy303:
  2462. yyaccept = 12;
  2463. yych = *(YYMARKER = ++YYCURSOR);
  2464. if (yych == 'U') goto yy183;
  2465. if (yych == 'u') goto yy184;
  2466. yy304:
  2467. #line 267 "strict_cpp.re"
  2468. { BOOST_WAVE_RET(T_ANY_TRIGRAPH); }
  2469. #line 2477 "strict_cpp_re.inc"
  2470. yy305:
  2471. ++YYCURSOR;
  2472. #line 147 "strict_cpp.re"
  2473. { BOOST_WAVE_RET(T_LEFTBRACE_TRIGRAPH); }
  2474. #line 2482 "strict_cpp_re.inc"
  2475. yy307:
  2476. yyaccept = 13;
  2477. yych = *(YYMARKER = ++YYCURSOR);
  2478. if (yych <= 'c') {
  2479. if (yych <= ' ') {
  2480. if (yych <= '\n') {
  2481. if (yych == '\t') goto yy106;
  2482. } else {
  2483. if (yych <= '\f') goto yy106;
  2484. if (yych >= ' ') goto yy106;
  2485. }
  2486. } else {
  2487. if (yych <= '.') {
  2488. if (yych == '#') goto yy439;
  2489. } else {
  2490. if (yych <= '/') goto yy106;
  2491. if (yych == '?') goto yy441;
  2492. }
  2493. }
  2494. } else {
  2495. if (yych <= 'p') {
  2496. if (yych <= 'i') {
  2497. if (yych <= 'e') goto yy106;
  2498. if (yych >= 'i') goto yy106;
  2499. } else {
  2500. if (yych == 'l') goto yy106;
  2501. if (yych >= 'p') goto yy106;
  2502. }
  2503. } else {
  2504. if (yych <= 't') {
  2505. if (yych == 'r') goto yy106;
  2506. } else {
  2507. if (yych == 'v') goto yy308;
  2508. if (yych <= 'w') goto yy106;
  2509. }
  2510. }
  2511. }
  2512. yy308:
  2513. #line 160 "strict_cpp.re"
  2514. { BOOST_WAVE_RET(T_POUND_TRIGRAPH); }
  2515. #line 2523 "strict_cpp_re.inc"
  2516. yy309:
  2517. ++YYCURSOR;
  2518. #line 150 "strict_cpp.re"
  2519. { BOOST_WAVE_RET(T_RIGHTBRACE_TRIGRAPH); }
  2520. #line 2528 "strict_cpp_re.inc"
  2521. yy311:
  2522. ++YYCURSOR;
  2523. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2524. yych = *YYCURSOR;
  2525. if (yych == '/') goto yy174;
  2526. goto yy100;
  2527. yy312:
  2528. ++YYCURSOR;
  2529. #line 303 "strict_cpp.re"
  2530. {
  2531. if (s->act_in_cpp0x_mode)
  2532. {
  2533. rawstringdelim = "";
  2534. goto extrawstringlit;
  2535. }
  2536. --YYCURSOR;
  2537. BOOST_WAVE_RET(T_IDENTIFIER);
  2538. }
  2539. #line 2547 "strict_cpp_re.inc"
  2540. yy314:
  2541. ++YYCURSOR;
  2542. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2543. yych = *YYCURSOR;
  2544. if (yych <= '@') {
  2545. if (yych <= '/') goto yy100;
  2546. if (yych <= '9') goto yy442;
  2547. goto yy100;
  2548. } else {
  2549. if (yych <= 'F') goto yy442;
  2550. if (yych <= '`') goto yy100;
  2551. if (yych <= 'f') goto yy442;
  2552. goto yy100;
  2553. }
  2554. yy315:
  2555. ++YYCURSOR;
  2556. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  2557. yych = *YYCURSOR;
  2558. if (yych <= '@') {
  2559. if (yych <= '/') goto yy100;
  2560. if (yych <= '9') goto yy443;
  2561. goto yy100;
  2562. } else {
  2563. if (yych <= 'F') goto yy443;
  2564. if (yych <= '`') goto yy100;
  2565. if (yych <= 'f') goto yy443;
  2566. goto yy100;
  2567. }
  2568. yy316:
  2569. yyaccept = 4;
  2570. yych = *(YYMARKER = ++YYCURSOR);
  2571. if (yych == 'x') goto yy444;
  2572. goto yy55;
  2573. yy317:
  2574. yyaccept = 4;
  2575. yych = *(YYMARKER = ++YYCURSOR);
  2576. if (yych == 'a') goto yy325;
  2577. if (yych == 'i') goto yy445;
  2578. goto yy55;
  2579. yy318:
  2580. yyaccept = 4;
  2581. yych = *(YYMARKER = ++YYCURSOR);
  2582. if (yych == 'n') goto yy446;
  2583. goto yy55;
  2584. yy319:
  2585. yyaccept = 4;
  2586. yych = *(YYMARKER = ++YYCURSOR);
  2587. if (yych == 'e') goto yy447;
  2588. goto yy55;
  2589. yy320:
  2590. yyaccept = 4;
  2591. yych = *(YYMARKER = ++YYCURSOR);
  2592. if (yych == 'r') goto yy448;
  2593. goto yy55;
  2594. yy321:
  2595. yyaccept = 4;
  2596. yych = *(YYMARKER = ++YYCURSOR);
  2597. if (yych == 'm') goto yy449;
  2598. goto yy55;
  2599. yy322:
  2600. yyaccept = 4;
  2601. yych = *(YYMARKER = ++YYCURSOR);
  2602. if (yych == 's') goto yy451;
  2603. goto yy55;
  2604. yy323:
  2605. yyaccept = 4;
  2606. yych = *(YYMARKER = ++YYCURSOR);
  2607. if (yych == 'e') goto yy452;
  2608. goto yy55;
  2609. yy324:
  2610. yyaccept = 4;
  2611. yych = *(YYMARKER = ++YYCURSOR);
  2612. if (yych == 'c') goto yy453;
  2613. goto yy55;
  2614. yy325:
  2615. yyaccept = 4;
  2616. yych = *(YYMARKER = ++YYCURSOR);
  2617. if (yych == 's') goto yy454;
  2618. goto yy55;
  2619. yy326:
  2620. yyaccept = 4;
  2621. yych = *(YYMARKER = ++YYCURSOR);
  2622. if (yych == 'l') goto yy455;
  2623. goto yy55;
  2624. yy327:
  2625. yyaccept = 4;
  2626. yych = *(YYMARKER = ++YYCURSOR);
  2627. if (yych == 'd') goto yy456;
  2628. goto yy55;
  2629. yy328:
  2630. yyaccept = 4;
  2631. yych = *(YYMARKER = ++YYCURSOR);
  2632. if (yych == 'g') goto yy457;
  2633. goto yy55;
  2634. yy329:
  2635. yyaccept = 14;
  2636. yych = *(YYMARKER = ++YYCURSOR);
  2637. if (yych <= 'Z') {
  2638. if (yych <= '>') {
  2639. if (yych <= '/') goto yy330;
  2640. if (yych <= '9') goto yy54;
  2641. } else {
  2642. if (yych <= '?') goto yy173;
  2643. if (yych >= 'A') goto yy54;
  2644. }
  2645. } else {
  2646. if (yych <= '^') {
  2647. if (yych == '\\') goto yy174;
  2648. } else {
  2649. if (yych <= '_') goto yy458;
  2650. if (yych <= '`') goto yy330;
  2651. if (yych <= 'z') goto yy54;
  2652. }
  2653. }
  2654. yy330:
  2655. #line 247 "strict_cpp.re"
  2656. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDAND_ALT); }
  2657. #line 2665 "strict_cpp_re.inc"
  2658. yy331:
  2659. yyaccept = 15;
  2660. yych = *(YYMARKER = ++YYCURSOR);
  2661. if (yybm[256+yych] & 128) {
  2662. goto yy54;
  2663. }
  2664. if (yych == '?') goto yy173;
  2665. if (yych == '\\') goto yy174;
  2666. yy332:
  2667. #line 49 "strict_cpp.re"
  2668. { BOOST_WAVE_RET(T_ASM); }
  2669. #line 2677 "strict_cpp_re.inc"
  2670. yy333:
  2671. yyaccept = 4;
  2672. yych = *(YYMARKER = ++YYCURSOR);
  2673. if (yych == 'o') goto yy459;
  2674. goto yy55;
  2675. yy334:
  2676. yyaccept = 4;
  2677. yych = *(YYMARKER = ++YYCURSOR);
  2678. if (yych == 'a') goto yy461;
  2679. if (yych == 'o') goto yy462;
  2680. goto yy55;
  2681. yy335:
  2682. yyaccept = 4;
  2683. yych = *(YYMARKER = ++YYCURSOR);
  2684. if (yych == 'l') goto yy463;
  2685. goto yy55;
  2686. yy336:
  2687. yyaccept = 4;
  2688. yych = *(YYMARKER = ++YYCURSOR);
  2689. if (yych == 'a') goto yy465;
  2690. goto yy55;
  2691. yy337:
  2692. yyaccept = 4;
  2693. yych = *(YYMARKER = ++YYCURSOR);
  2694. if (yych == 'e') goto yy466;
  2695. goto yy55;
  2696. yy338:
  2697. yyaccept = 4;
  2698. yych = *(YYMARKER = ++YYCURSOR);
  2699. if (yych == 'c') goto yy468;
  2700. goto yy55;
  2701. yy339:
  2702. yyaccept = 4;
  2703. yych = *(YYMARKER = ++YYCURSOR);
  2704. if (yych == 'r') goto yy469;
  2705. goto yy55;
  2706. yy340:
  2707. yyaccept = 4;
  2708. yych = *(YYMARKER = ++YYCURSOR);
  2709. if (yych == 's') goto yy471;
  2710. goto yy55;
  2711. yy341:
  2712. yyaccept = 4;
  2713. yych = *(YYMARKER = ++YYCURSOR);
  2714. if (yych <= 'q') {
  2715. if (yych == 'a') goto yy472;
  2716. goto yy55;
  2717. } else {
  2718. if (yych <= 'r') goto yy473;
  2719. if (yych == 'y') goto yy474;
  2720. goto yy55;
  2721. }
  2722. yy342:
  2723. yyaccept = 4;
  2724. yych = *(YYMARKER = ++YYCURSOR);
  2725. if (yych == 'p') goto yy475;
  2726. goto yy55;
  2727. yy343:
  2728. yyaccept = 4;
  2729. yych = *(YYMARKER = ++YYCURSOR);
  2730. if (yych <= 'r') {
  2731. if (yych == 'c') goto yy476;
  2732. goto yy55;
  2733. } else {
  2734. if (yych <= 's') goto yy477;
  2735. if (yych <= 't') goto yy478;
  2736. goto yy55;
  2737. }
  2738. yy344:
  2739. yyaccept = 4;
  2740. yych = *(YYMARKER = ++YYCURSOR);
  2741. if (yych == 'l') goto yy479;
  2742. goto yy55;
  2743. yy345:
  2744. yyaccept = 4;
  2745. yych = *(YYMARKER = ++YYCURSOR);
  2746. if (yych == 'a') goto yy480;
  2747. goto yy55;
  2748. yy346:
  2749. yyaccept = 4;
  2750. yych = *(YYMARKER = ++YYCURSOR);
  2751. if (yych == 'e') goto yy481;
  2752. goto yy55;
  2753. yy347:
  2754. yyaccept = 4;
  2755. yych = *(YYMARKER = ++YYCURSOR);
  2756. if (yych == 'b') goto yy482;
  2757. goto yy55;
  2758. yy348:
  2759. yyaccept = 4;
  2760. yych = *(YYMARKER = ++YYCURSOR);
  2761. if (yych == 'a') goto yy483;
  2762. goto yy55;
  2763. yy349:
  2764. yyaccept = 4;
  2765. yych = *(YYMARKER = ++YYCURSOR);
  2766. if (yych == 'e') goto yy484;
  2767. goto yy55;
  2768. yy350:
  2769. yyaccept = 4;
  2770. yych = *(YYMARKER = ++YYCURSOR);
  2771. if (yych == 'm') goto yy486;
  2772. goto yy55;
  2773. yy351:
  2774. yyaccept = 4;
  2775. yych = *(YYMARKER = ++YYCURSOR);
  2776. if (yych == 'l') goto yy488;
  2777. if (yych == 'o') goto yy489;
  2778. goto yy55;
  2779. yy352:
  2780. yyaccept = 4;
  2781. yych = *(YYMARKER = ++YYCURSOR);
  2782. if (yych == 'e') goto yy490;
  2783. goto yy55;
  2784. yy353:
  2785. yyaccept = 4;
  2786. yych = *(YYMARKER = ++YYCURSOR);
  2787. if (yych == 's') goto yy491;
  2788. goto yy55;
  2789. yy354:
  2790. yyaccept = 4;
  2791. yych = *(YYMARKER = ++YYCURSOR);
  2792. if (yych == 'a') goto yy492;
  2793. goto yy55;
  2794. yy355:
  2795. yyaccept = 16;
  2796. yych = *(YYMARKER = ++YYCURSOR);
  2797. if (yybm[256+yych] & 128) {
  2798. goto yy54;
  2799. }
  2800. if (yych == '?') goto yy173;
  2801. if (yych == '\\') goto yy174;
  2802. yy356:
  2803. #line 83 "strict_cpp.re"
  2804. { BOOST_WAVE_RET(T_FOR); }
  2805. #line 2813 "strict_cpp_re.inc"
  2806. yy357:
  2807. yyaccept = 4;
  2808. yych = *(YYMARKER = ++YYCURSOR);
  2809. if (yych == 'e') goto yy493;
  2810. goto yy55;
  2811. yy358:
  2812. yyaccept = 4;
  2813. yych = *(YYMARKER = ++YYCURSOR);
  2814. if (yych == 'o') goto yy494;
  2815. goto yy55;
  2816. yy359:
  2817. yyaccept = 4;
  2818. yych = *(YYMARKER = ++YYCURSOR);
  2819. if (yych == 'o') goto yy496;
  2820. goto yy55;
  2821. yy360:
  2822. yyaccept = 4;
  2823. yych = *(YYMARKER = ++YYCURSOR);
  2824. if (yych == 'i') goto yy497;
  2825. goto yy55;
  2826. yy361:
  2827. yyaccept = 17;
  2828. yych = *(YYMARKER = ++YYCURSOR);
  2829. if (yybm[256+yych] & 128) {
  2830. goto yy54;
  2831. }
  2832. if (yych == '?') goto yy173;
  2833. if (yych == '\\') goto yy174;
  2834. yy362:
  2835. #line 89 "strict_cpp.re"
  2836. { BOOST_WAVE_RET(T_INT); }
  2837. #line 2845 "strict_cpp_re.inc"
  2838. yy363:
  2839. yyaccept = 4;
  2840. yych = *(YYMARKER = ++YYCURSOR);
  2841. if (yych == 'g') goto yy498;
  2842. goto yy55;
  2843. yy364:
  2844. yyaccept = 4;
  2845. yych = *(YYMARKER = ++YYCURSOR);
  2846. if (yych == 'a') goto yy500;
  2847. goto yy55;
  2848. yy365:
  2849. yyaccept = 4;
  2850. yych = *(YYMARKER = ++YYCURSOR);
  2851. if (yych == 'e') goto yy501;
  2852. goto yy55;
  2853. yy366:
  2854. yyaccept = 18;
  2855. yych = *(YYMARKER = ++YYCURSOR);
  2856. if (yybm[256+yych] & 128) {
  2857. goto yy54;
  2858. }
  2859. if (yych == '?') goto yy173;
  2860. if (yych == '\\') goto yy174;
  2861. yy367:
  2862. #line 93 "strict_cpp.re"
  2863. { BOOST_WAVE_RET(T_NEW); }
  2864. #line 2872 "strict_cpp_re.inc"
  2865. yy368:
  2866. yyaccept = 4;
  2867. yych = *(YYMARKER = ++YYCURSOR);
  2868. if (yych == 'x') goto yy502;
  2869. goto yy55;
  2870. yy369:
  2871. yyaccept = 19;
  2872. yych = *(YYMARKER = ++YYCURSOR);
  2873. if (yych <= 'Z') {
  2874. if (yych <= '>') {
  2875. if (yych <= '/') goto yy370;
  2876. if (yych <= '9') goto yy54;
  2877. } else {
  2878. if (yych <= '?') goto yy173;
  2879. if (yych >= 'A') goto yy54;
  2880. }
  2881. } else {
  2882. if (yych <= '^') {
  2883. if (yych == '\\') goto yy174;
  2884. } else {
  2885. if (yych <= '_') goto yy503;
  2886. if (yych <= '`') goto yy370;
  2887. if (yych <= 'z') goto yy54;
  2888. }
  2889. }
  2890. yy370:
  2891. #line 210 "strict_cpp.re"
  2892. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOT_ALT); }
  2893. #line 2901 "strict_cpp_re.inc"
  2894. yy371:
  2895. yyaccept = 4;
  2896. yych = *(YYMARKER = ++YYCURSOR);
  2897. if (yych == 'l') goto yy504;
  2898. goto yy55;
  2899. yy372:
  2900. yyaccept = 4;
  2901. yych = *(YYMARKER = ++YYCURSOR);
  2902. if (yych == 'r') goto yy505;
  2903. goto yy55;
  2904. yy373:
  2905. yyaccept = 4;
  2906. yych = *(YYMARKER = ++YYCURSOR);
  2907. if (yych == 'e') goto yy506;
  2908. goto yy55;
  2909. yy374:
  2910. yyaccept = 4;
  2911. yych = *(YYMARKER = ++YYCURSOR);
  2912. if (yych == 'v') goto yy507;
  2913. goto yy55;
  2914. yy375:
  2915. yyaccept = 4;
  2916. yych = *(YYMARKER = ++YYCURSOR);
  2917. if (yych == 't') goto yy508;
  2918. goto yy55;
  2919. yy376:
  2920. yyaccept = 4;
  2921. yych = *(YYMARKER = ++YYCURSOR);
  2922. if (yych == 'l') goto yy509;
  2923. goto yy55;
  2924. yy377:
  2925. yyaccept = 4;
  2926. yych = *(YYMARKER = ++YYCURSOR);
  2927. if (yych == 'i') goto yy510;
  2928. goto yy55;
  2929. yy378:
  2930. yyaccept = 4;
  2931. yych = *(YYMARKER = ++YYCURSOR);
  2932. if (yych == 'n') goto yy511;
  2933. goto yy55;
  2934. yy379:
  2935. yyaccept = 4;
  2936. yych = *(YYMARKER = ++YYCURSOR);
  2937. if (yych == 'u') goto yy512;
  2938. goto yy55;
  2939. yy380:
  2940. yyaccept = 4;
  2941. yych = *(YYMARKER = ++YYCURSOR);
  2942. if (yych == 'u') goto yy513;
  2943. goto yy55;
  2944. yy381:
  2945. yyaccept = 4;
  2946. yych = *(YYMARKER = ++YYCURSOR);
  2947. if (yych == 'r') goto yy514;
  2948. goto yy55;
  2949. yy382:
  2950. yyaccept = 4;
  2951. yych = *(YYMARKER = ++YYCURSOR);
  2952. if (yych == 'n') goto yy515;
  2953. goto yy55;
  2954. yy383:
  2955. yyaccept = 4;
  2956. yych = *(YYMARKER = ++YYCURSOR);
  2957. if (yych == 'e') goto yy516;
  2958. goto yy55;
  2959. yy384:
  2960. yyaccept = 4;
  2961. yych = *(YYMARKER = ++YYCURSOR);
  2962. if (yych == 't') goto yy517;
  2963. goto yy55;
  2964. yy385:
  2965. yyaccept = 4;
  2966. yych = *(YYMARKER = ++YYCURSOR);
  2967. if (yych == 'u') goto yy518;
  2968. goto yy55;
  2969. yy386:
  2970. yyaccept = 4;
  2971. yych = *(YYMARKER = ++YYCURSOR);
  2972. if (yych == 't') goto yy519;
  2973. goto yy55;
  2974. yy387:
  2975. yyaccept = 4;
  2976. yych = *(YYMARKER = ++YYCURSOR);
  2977. if (yych == 'p') goto yy520;
  2978. goto yy55;
  2979. yy388:
  2980. yyaccept = 4;
  2981. yych = *(YYMARKER = ++YYCURSOR);
  2982. if (yych == 's') goto yy521;
  2983. goto yy55;
  2984. yy389:
  2985. yyaccept = 4;
  2986. yych = *(YYMARKER = ++YYCURSOR);
  2987. if (yych == 'e') goto yy523;
  2988. if (yych == 'o') goto yy524;
  2989. goto yy55;
  2990. yy390:
  2991. yyaccept = 4;
  2992. yych = *(YYMARKER = ++YYCURSOR);
  2993. if (yych == 'e') goto yy525;
  2994. goto yy55;
  2995. yy391:
  2996. yyaccept = 20;
  2997. yych = *(YYMARKER = ++YYCURSOR);
  2998. if (yybm[256+yych] & 128) {
  2999. goto yy54;
  3000. }
  3001. if (yych == '?') goto yy173;
  3002. if (yych == '\\') goto yy174;
  3003. yy392:
  3004. #line 117 "strict_cpp.re"
  3005. { BOOST_WAVE_RET(T_TRY); }
  3006. #line 3014 "strict_cpp_re.inc"
  3007. yy393:
  3008. yyaccept = 4;
  3009. yych = *(YYMARKER = ++YYCURSOR);
  3010. if (yych == 'e') goto yy527;
  3011. goto yy55;
  3012. yy394:
  3013. yyaccept = 4;
  3014. yych = *(YYMARKER = ++YYCURSOR);
  3015. if (yych == 'o') goto yy528;
  3016. goto yy55;
  3017. yy395:
  3018. yyaccept = 4;
  3019. yych = *(YYMARKER = ++YYCURSOR);
  3020. if (yych == 'i') goto yy529;
  3021. goto yy55;
  3022. yy396:
  3023. yyaccept = 4;
  3024. yych = *(YYMARKER = ++YYCURSOR);
  3025. if (yych == 'n') goto yy530;
  3026. goto yy55;
  3027. yy397:
  3028. yyaccept = 4;
  3029. yych = *(YYMARKER = ++YYCURSOR);
  3030. if (yych == 't') goto yy531;
  3031. goto yy55;
  3032. yy398:
  3033. yyaccept = 4;
  3034. yych = *(YYMARKER = ++YYCURSOR);
  3035. if (yych == 'd') goto yy532;
  3036. goto yy55;
  3037. yy399:
  3038. yyaccept = 4;
  3039. yych = *(YYMARKER = ++YYCURSOR);
  3040. if (yych == 'a') goto yy534;
  3041. goto yy55;
  3042. yy400:
  3043. yyaccept = 4;
  3044. yych = *(YYMARKER = ++YYCURSOR);
  3045. if (yych == 'a') goto yy535;
  3046. goto yy55;
  3047. yy401:
  3048. yyaccept = 4;
  3049. yych = *(YYMARKER = ++YYCURSOR);
  3050. if (yych == 'l') goto yy536;
  3051. goto yy55;
  3052. yy402:
  3053. yyaccept = 21;
  3054. yych = *(YYMARKER = ++YYCURSOR);
  3055. if (yych <= 'Z') {
  3056. if (yych <= '>') {
  3057. if (yych <= '/') goto yy403;
  3058. if (yych <= '9') goto yy54;
  3059. } else {
  3060. if (yych <= '?') goto yy173;
  3061. if (yych >= 'A') goto yy54;
  3062. }
  3063. } else {
  3064. if (yych <= '^') {
  3065. if (yych == '\\') goto yy174;
  3066. } else {
  3067. if (yych <= '_') goto yy537;
  3068. if (yych <= '`') goto yy403;
  3069. if (yych <= 'z') goto yy54;
  3070. }
  3071. }
  3072. yy403:
  3073. #line 200 "strict_cpp.re"
  3074. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XOR_ALT); }
  3075. #line 3083 "strict_cpp_re.inc"
  3076. yy404:
  3077. yych = *++YYCURSOR;
  3078. if (yych == '!') goto yy538;
  3079. goto yy100;
  3080. yy405:
  3081. ++YYCURSOR;
  3082. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3083. yych = *YYCURSOR;
  3084. if (yybm[0+yych] & 1) {
  3085. goto yy98;
  3086. }
  3087. if (yych <= 0x1F) goto yy100;
  3088. if (yych <= '"') goto yy540;
  3089. if (yych <= '?') goto yy103;
  3090. goto yy405;
  3091. yy407:
  3092. ++YYCURSOR;
  3093. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3094. yych = *YYCURSOR;
  3095. if (yych <= '@') {
  3096. if (yych <= '/') goto yy100;
  3097. if (yych <= '9') goto yy541;
  3098. goto yy100;
  3099. } else {
  3100. if (yych <= 'F') goto yy541;
  3101. if (yych <= '`') goto yy100;
  3102. if (yych <= 'f') goto yy541;
  3103. goto yy100;
  3104. }
  3105. yy408:
  3106. ++YYCURSOR;
  3107. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3108. yych = *YYCURSOR;
  3109. if (yych <= '@') {
  3110. if (yych <= '/') goto yy100;
  3111. if (yych <= '9') goto yy542;
  3112. goto yy100;
  3113. } else {
  3114. if (yych <= 'F') goto yy542;
  3115. if (yych <= '`') goto yy100;
  3116. if (yych <= 'f') goto yy542;
  3117. goto yy100;
  3118. }
  3119. yy409:
  3120. ++YYCURSOR;
  3121. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3122. yych = *YYCURSOR;
  3123. if (yybm[0+yych] & 32) {
  3124. goto yy409;
  3125. }
  3126. if (yych <= 0x1F) {
  3127. if (yych <= 0x08) goto yy100;
  3128. if (yych <= '\r') goto yy260;
  3129. goto yy100;
  3130. } else {
  3131. if (yych == '/') goto yy105;
  3132. goto yy260;
  3133. }
  3134. yy411:
  3135. ++YYCURSOR;
  3136. #line 162 "strict_cpp.re"
  3137. { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); }
  3138. #line 3146 "strict_cpp_re.inc"
  3139. yy413:
  3140. yych = *++YYCURSOR;
  3141. if (yych == 'i') goto yy543;
  3142. goto yy100;
  3143. yy414:
  3144. yych = *++YYCURSOR;
  3145. if (yych == 'f') goto yy544;
  3146. goto yy100;
  3147. yy415:
  3148. yych = *++YYCURSOR;
  3149. if (yych == 'e') goto yy546;
  3150. goto yy100;
  3151. yy416:
  3152. yych = *++YYCURSOR;
  3153. if (yych == 'i') goto yy548;
  3154. if (yych == 'r') goto yy549;
  3155. goto yy100;
  3156. yy417:
  3157. yych = *++YYCURSOR;
  3158. if (yych == 'o') goto yy550;
  3159. goto yy100;
  3160. yy418:
  3161. yych = *++YYCURSOR;
  3162. if (yych == 'e') goto yy551;
  3163. goto yy100;
  3164. yy419:
  3165. yych = *++YYCURSOR;
  3166. if (yych == 'd') goto yy552;
  3167. goto yy100;
  3168. yy420:
  3169. yych = *++YYCURSOR;
  3170. if (yych == 'l') goto yy553;
  3171. goto yy100;
  3172. yy421:
  3173. yych = *++YYCURSOR;
  3174. if (yych == 'e') goto yy554;
  3175. goto yy100;
  3176. yy422:
  3177. yych = *++YYCURSOR;
  3178. if (yych == 'g') goto yy556;
  3179. goto yy100;
  3180. yy423:
  3181. yych = *++YYCURSOR;
  3182. if (yych == 'i') goto yy557;
  3183. goto yy100;
  3184. yy424:
  3185. yych = *++YYCURSOR;
  3186. if (yych == 'e') goto yy558;
  3187. goto yy100;
  3188. yy425:
  3189. yych = *++YYCURSOR;
  3190. if (yych == 'n') goto yy559;
  3191. goto yy100;
  3192. yy426:
  3193. ++YYCURSOR;
  3194. #line 165 "strict_cpp.re"
  3195. { BOOST_WAVE_RET(T_POUND_POUND_ALT); }
  3196. #line 3204 "strict_cpp_re.inc"
  3197. yy428:
  3198. ++YYCURSOR;
  3199. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3200. yych = *YYCURSOR;
  3201. if (yybm[0+yych] & 2) {
  3202. goto yy129;
  3203. }
  3204. if (yych <= 0x1F) goto yy100;
  3205. if (yych <= '\'') goto yy560;
  3206. if (yych <= '?') goto yy131;
  3207. goto yy428;
  3208. yy430:
  3209. ++YYCURSOR;
  3210. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3211. yych = *YYCURSOR;
  3212. if (yych <= '@') {
  3213. if (yych <= '/') goto yy100;
  3214. if (yych <= '9') goto yy561;
  3215. goto yy100;
  3216. } else {
  3217. if (yych <= 'F') goto yy561;
  3218. if (yych <= '`') goto yy100;
  3219. if (yych <= 'f') goto yy561;
  3220. goto yy100;
  3221. }
  3222. yy431:
  3223. ++YYCURSOR;
  3224. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3225. yych = *YYCURSOR;
  3226. if (yych <= '@') {
  3227. if (yych <= '/') goto yy100;
  3228. if (yych <= '9') goto yy562;
  3229. goto yy100;
  3230. } else {
  3231. if (yych <= 'F') goto yy562;
  3232. if (yych <= '`') goto yy100;
  3233. if (yych <= 'f') goto yy562;
  3234. goto yy100;
  3235. }
  3236. yy432:
  3237. ++YYCURSOR;
  3238. #line 226 "strict_cpp.re"
  3239. { BOOST_WAVE_RET(T_ORASSIGN_TRIGRAPH); }
  3240. #line 3248 "strict_cpp_re.inc"
  3241. yy434:
  3242. yych = *++YYCURSOR;
  3243. if (yych == '?') goto yy563;
  3244. goto yy100;
  3245. yy435:
  3246. ++YYCURSOR;
  3247. #line 249 "strict_cpp.re"
  3248. { BOOST_WAVE_RET(T_OROR_TRIGRAPH); }
  3249. #line 3257 "strict_cpp_re.inc"
  3250. yy437:
  3251. ++YYCURSOR;
  3252. #line 221 "strict_cpp.re"
  3253. { BOOST_WAVE_RET(T_XORASSIGN_TRIGRAPH); }
  3254. #line 3262 "strict_cpp_re.inc"
  3255. yy439:
  3256. ++YYCURSOR;
  3257. #line 163 "strict_cpp.re"
  3258. { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); }
  3259. #line 3267 "strict_cpp_re.inc"
  3260. yy441:
  3261. yych = *++YYCURSOR;
  3262. if (yych == '?') goto yy564;
  3263. goto yy100;
  3264. yy442:
  3265. ++YYCURSOR;
  3266. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3267. yych = *YYCURSOR;
  3268. if (yych <= '@') {
  3269. if (yych <= '/') goto yy100;
  3270. if (yych <= '9') goto yy565;
  3271. goto yy100;
  3272. } else {
  3273. if (yych <= 'F') goto yy565;
  3274. if (yych <= '`') goto yy100;
  3275. if (yych <= 'f') goto yy565;
  3276. goto yy100;
  3277. }
  3278. yy443:
  3279. ++YYCURSOR;
  3280. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3281. yych = *YYCURSOR;
  3282. if (yych <= '@') {
  3283. if (yych <= '/') goto yy100;
  3284. if (yych <= '9') goto yy566;
  3285. goto yy100;
  3286. } else {
  3287. if (yych <= 'F') goto yy566;
  3288. if (yych <= '`') goto yy100;
  3289. if (yych <= 'f') goto yy566;
  3290. goto yy100;
  3291. }
  3292. yy444:
  3293. yyaccept = 4;
  3294. yych = *(YYMARKER = ++YYCURSOR);
  3295. if (yych == 'c') goto yy567;
  3296. goto yy55;
  3297. yy445:
  3298. yyaccept = 4;
  3299. yych = *(YYMARKER = ++YYCURSOR);
  3300. if (yych == 'n') goto yy568;
  3301. goto yy55;
  3302. yy446:
  3303. yyaccept = 4;
  3304. yych = *(YYMARKER = ++YYCURSOR);
  3305. if (yych == 'l') goto yy455;
  3306. if (yych == 't') goto yy569;
  3307. goto yy55;
  3308. yy447:
  3309. yyaccept = 4;
  3310. yych = *(YYMARKER = ++YYCURSOR);
  3311. if (yych == 'a') goto yy570;
  3312. goto yy55;
  3313. yy448:
  3314. yyaccept = 4;
  3315. yych = *(YYMARKER = ++YYCURSOR);
  3316. if (yych == 'y') goto yy571;
  3317. goto yy55;
  3318. yy449:
  3319. yyaccept = 22;
  3320. yych = *(YYMARKER = ++YYCURSOR);
  3321. if (yybm[256+yych] & 128) {
  3322. goto yy54;
  3323. }
  3324. if (yych == '?') goto yy173;
  3325. if (yych == '\\') goto yy174;
  3326. yy450:
  3327. #line 144 "strict_cpp.re"
  3328. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_ASM : T_IDENTIFIER); }
  3329. #line 3337 "strict_cpp_re.inc"
  3330. yy451:
  3331. yyaccept = 4;
  3332. yych = *(YYMARKER = ++YYCURSOR);
  3333. if (yych == 'e') goto yy573;
  3334. goto yy55;
  3335. yy452:
  3336. yyaccept = 4;
  3337. yych = *(YYMARKER = ++YYCURSOR);
  3338. if (yych == 'c') goto yy574;
  3339. goto yy55;
  3340. yy453:
  3341. yyaccept = 4;
  3342. yych = *(YYMARKER = ++YYCURSOR);
  3343. if (yych == 'l') goto yy575;
  3344. goto yy55;
  3345. yy454:
  3346. yyaccept = 4;
  3347. yych = *(YYMARKER = ++YYCURSOR);
  3348. if (yych == 't') goto yy576;
  3349. goto yy55;
  3350. yy455:
  3351. yyaccept = 4;
  3352. yych = *(YYMARKER = ++YYCURSOR);
  3353. if (yych == 'i') goto yy577;
  3354. goto yy55;
  3355. yy456:
  3356. yyaccept = 4;
  3357. yych = *(YYMARKER = ++YYCURSOR);
  3358. if (yych == 'c') goto yy578;
  3359. goto yy55;
  3360. yy457:
  3361. yyaccept = 4;
  3362. yych = *(YYMARKER = ++YYCURSOR);
  3363. if (yych == 'n') goto yy579;
  3364. goto yy55;
  3365. yy458:
  3366. yyaccept = 4;
  3367. yych = *(YYMARKER = ++YYCURSOR);
  3368. if (yych == 'e') goto yy580;
  3369. goto yy55;
  3370. yy459:
  3371. yyaccept = 23;
  3372. yych = *(YYMARKER = ++YYCURSOR);
  3373. if (yybm[256+yych] & 128) {
  3374. goto yy54;
  3375. }
  3376. if (yych == '?') goto yy173;
  3377. if (yych == '\\') goto yy174;
  3378. yy460:
  3379. #line 50 "strict_cpp.re"
  3380. { BOOST_WAVE_RET(T_AUTO); }
  3381. #line 3389 "strict_cpp_re.inc"
  3382. yy461:
  3383. yyaccept = 4;
  3384. yych = *(YYMARKER = ++YYCURSOR);
  3385. if (yych == 'n') goto yy581;
  3386. goto yy55;
  3387. yy462:
  3388. yyaccept = 4;
  3389. yych = *(YYMARKER = ++YYCURSOR);
  3390. if (yych == 'r') goto yy582;
  3391. goto yy55;
  3392. yy463:
  3393. yyaccept = 24;
  3394. yych = *(YYMARKER = ++YYCURSOR);
  3395. if (yybm[256+yych] & 128) {
  3396. goto yy54;
  3397. }
  3398. if (yych == '?') goto yy173;
  3399. if (yych == '\\') goto yy174;
  3400. yy464:
  3401. #line 51 "strict_cpp.re"
  3402. { BOOST_WAVE_RET(T_BOOL); }
  3403. #line 3411 "strict_cpp_re.inc"
  3404. yy465:
  3405. yyaccept = 4;
  3406. yych = *(YYMARKER = ++YYCURSOR);
  3407. if (yych == 'k') goto yy584;
  3408. goto yy55;
  3409. yy466:
  3410. yyaccept = 25;
  3411. yych = *(YYMARKER = ++YYCURSOR);
  3412. if (yybm[256+yych] & 128) {
  3413. goto yy54;
  3414. }
  3415. if (yych == '?') goto yy173;
  3416. if (yych == '\\') goto yy174;
  3417. yy467:
  3418. #line 53 "strict_cpp.re"
  3419. { BOOST_WAVE_RET(T_CASE); }
  3420. #line 3428 "strict_cpp_re.inc"
  3421. yy468:
  3422. yyaccept = 4;
  3423. yych = *(YYMARKER = ++YYCURSOR);
  3424. if (yych == 'h') goto yy586;
  3425. goto yy55;
  3426. yy469:
  3427. yyaccept = 26;
  3428. yych = *(YYMARKER = ++YYCURSOR);
  3429. if (yych <= '>') {
  3430. if (yych <= '2') {
  3431. if (yych <= '/') goto yy470;
  3432. if (yych == '1') goto yy588;
  3433. goto yy54;
  3434. } else {
  3435. if (yych <= '7') {
  3436. if (yych <= '3') goto yy589;
  3437. goto yy54;
  3438. } else {
  3439. if (yych <= '8') goto yy590;
  3440. if (yych <= '9') goto yy54;
  3441. }
  3442. }
  3443. } else {
  3444. if (yych <= '\\') {
  3445. if (yych <= '@') {
  3446. if (yych <= '?') goto yy173;
  3447. } else {
  3448. if (yych <= 'Z') goto yy54;
  3449. if (yych >= '\\') goto yy174;
  3450. }
  3451. } else {
  3452. if (yych <= '_') {
  3453. if (yych >= '_') goto yy54;
  3454. } else {
  3455. if (yych <= '`') goto yy470;
  3456. if (yych <= 'z') goto yy54;
  3457. }
  3458. }
  3459. }
  3460. yy470:
  3461. #line 55 "strict_cpp.re"
  3462. { BOOST_WAVE_RET(T_CHAR); }
  3463. #line 3471 "strict_cpp_re.inc"
  3464. yy471:
  3465. yyaccept = 4;
  3466. yych = *(YYMARKER = ++YYCURSOR);
  3467. if (yych == 's') goto yy591;
  3468. goto yy55;
  3469. yy472:
  3470. yyaccept = 4;
  3471. yych = *(YYMARKER = ++YYCURSOR);
  3472. if (yych == 'w') goto yy593;
  3473. goto yy55;
  3474. yy473:
  3475. yyaccept = 4;
  3476. yych = *(YYMARKER = ++YYCURSOR);
  3477. if (yych == 'e') goto yy594;
  3478. goto yy55;
  3479. yy474:
  3480. yyaccept = 4;
  3481. yych = *(YYMARKER = ++YYCURSOR);
  3482. if (yych == 'i') goto yy595;
  3483. goto yy55;
  3484. yy475:
  3485. yyaccept = 4;
  3486. yych = *(YYMARKER = ++YYCURSOR);
  3487. if (yych == 'l') goto yy596;
  3488. goto yy55;
  3489. yy476:
  3490. yyaccept = 4;
  3491. yych = *(YYMARKER = ++YYCURSOR);
  3492. if (yych == 'e') goto yy598;
  3493. goto yy55;
  3494. yy477:
  3495. yyaccept = 4;
  3496. yych = *(YYMARKER = ++YYCURSOR);
  3497. if (yych == 't') goto yy599;
  3498. goto yy55;
  3499. yy478:
  3500. yyaccept = 4;
  3501. yych = *(YYMARKER = ++YYCURSOR);
  3502. if (yych == 'i') goto yy601;
  3503. goto yy55;
  3504. yy479:
  3505. yyaccept = 4;
  3506. yych = *(YYMARKER = ++YYCURSOR);
  3507. if (yych == 't') goto yy602;
  3508. goto yy55;
  3509. yy480:
  3510. yyaccept = 4;
  3511. yych = *(YYMARKER = ++YYCURSOR);
  3512. if (yych == 'u') goto yy603;
  3513. goto yy55;
  3514. yy481:
  3515. yyaccept = 4;
  3516. yych = *(YYMARKER = ++YYCURSOR);
  3517. if (yych == 't') goto yy604;
  3518. goto yy55;
  3519. yy482:
  3520. yyaccept = 4;
  3521. yych = *(YYMARKER = ++YYCURSOR);
  3522. if (yych == 'l') goto yy605;
  3523. goto yy55;
  3524. yy483:
  3525. yyaccept = 4;
  3526. yych = *(YYMARKER = ++YYCURSOR);
  3527. if (yych == 'm') goto yy606;
  3528. goto yy55;
  3529. yy484:
  3530. yyaccept = 27;
  3531. yych = *(YYMARKER = ++YYCURSOR);
  3532. if (yybm[256+yych] & 128) {
  3533. goto yy54;
  3534. }
  3535. if (yych == '?') goto yy173;
  3536. if (yych == '\\') goto yy174;
  3537. yy485:
  3538. #line 76 "strict_cpp.re"
  3539. { BOOST_WAVE_RET(T_ELSE); }
  3540. #line 3548 "strict_cpp_re.inc"
  3541. yy486:
  3542. yyaccept = 28;
  3543. yych = *(YYMARKER = ++YYCURSOR);
  3544. if (yybm[256+yych] & 128) {
  3545. goto yy54;
  3546. }
  3547. if (yych == '?') goto yy173;
  3548. if (yych == '\\') goto yy174;
  3549. yy487:
  3550. #line 77 "strict_cpp.re"
  3551. { BOOST_WAVE_RET(T_ENUM); }
  3552. #line 3560 "strict_cpp_re.inc"
  3553. yy488:
  3554. yyaccept = 4;
  3555. yych = *(YYMARKER = ++YYCURSOR);
  3556. if (yych == 'i') goto yy607;
  3557. goto yy55;
  3558. yy489:
  3559. yyaccept = 4;
  3560. yych = *(YYMARKER = ++YYCURSOR);
  3561. if (yych == 'r') goto yy608;
  3562. goto yy55;
  3563. yy490:
  3564. yyaccept = 4;
  3565. yych = *(YYMARKER = ++YYCURSOR);
  3566. if (yych == 'r') goto yy609;
  3567. goto yy55;
  3568. yy491:
  3569. yyaccept = 4;
  3570. yych = *(YYMARKER = ++YYCURSOR);
  3571. if (yych == 'e') goto yy610;
  3572. goto yy55;
  3573. yy492:
  3574. yyaccept = 4;
  3575. yych = *(YYMARKER = ++YYCURSOR);
  3576. if (yych == 't') goto yy612;
  3577. goto yy55;
  3578. yy493:
  3579. yyaccept = 4;
  3580. yych = *(YYMARKER = ++YYCURSOR);
  3581. if (yych == 'n') goto yy614;
  3582. goto yy55;
  3583. yy494:
  3584. yyaccept = 29;
  3585. yych = *(YYMARKER = ++YYCURSOR);
  3586. if (yybm[256+yych] & 128) {
  3587. goto yy54;
  3588. }
  3589. if (yych == '?') goto yy173;
  3590. if (yych == '\\') goto yy174;
  3591. yy495:
  3592. #line 85 "strict_cpp.re"
  3593. { BOOST_WAVE_RET(T_GOTO); }
  3594. #line 3602 "strict_cpp_re.inc"
  3595. yy496:
  3596. yyaccept = 4;
  3597. yych = *(YYMARKER = ++YYCURSOR);
  3598. if (yych == 'r') goto yy615;
  3599. goto yy55;
  3600. yy497:
  3601. yyaccept = 4;
  3602. yych = *(YYMARKER = ++YYCURSOR);
  3603. if (yych == 'n') goto yy616;
  3604. goto yy55;
  3605. yy498:
  3606. yyaccept = 30;
  3607. yych = *(YYMARKER = ++YYCURSOR);
  3608. if (yybm[256+yych] & 128) {
  3609. goto yy54;
  3610. }
  3611. if (yych == '?') goto yy173;
  3612. if (yych == '\\') goto yy174;
  3613. yy499:
  3614. #line 90 "strict_cpp.re"
  3615. { BOOST_WAVE_RET(T_LONG); }
  3616. #line 3624 "strict_cpp_re.inc"
  3617. yy500:
  3618. yyaccept = 4;
  3619. yych = *(YYMARKER = ++YYCURSOR);
  3620. if (yych == 'b') goto yy617;
  3621. goto yy55;
  3622. yy501:
  3623. yyaccept = 4;
  3624. yych = *(YYMARKER = ++YYCURSOR);
  3625. if (yych == 's') goto yy618;
  3626. goto yy55;
  3627. yy502:
  3628. yyaccept = 4;
  3629. yych = *(YYMARKER = ++YYCURSOR);
  3630. if (yych == 'c') goto yy619;
  3631. goto yy55;
  3632. yy503:
  3633. yyaccept = 4;
  3634. yych = *(YYMARKER = ++YYCURSOR);
  3635. if (yych == 'e') goto yy620;
  3636. goto yy55;
  3637. yy504:
  3638. yyaccept = 4;
  3639. yych = *(YYMARKER = ++YYCURSOR);
  3640. if (yych == 'p') goto yy621;
  3641. goto yy55;
  3642. yy505:
  3643. yyaccept = 4;
  3644. yych = *(YYMARKER = ++YYCURSOR);
  3645. if (yych == 'a') goto yy622;
  3646. goto yy55;
  3647. yy506:
  3648. yyaccept = 4;
  3649. yych = *(YYMARKER = ++YYCURSOR);
  3650. if (yych == 'q') goto yy623;
  3651. goto yy55;
  3652. yy507:
  3653. yyaccept = 4;
  3654. yych = *(YYMARKER = ++YYCURSOR);
  3655. if (yych == 'a') goto yy625;
  3656. goto yy55;
  3657. yy508:
  3658. yyaccept = 4;
  3659. yych = *(YYMARKER = ++YYCURSOR);
  3660. if (yych == 'e') goto yy626;
  3661. goto yy55;
  3662. yy509:
  3663. yyaccept = 4;
  3664. yych = *(YYMARKER = ++YYCURSOR);
  3665. if (yych == 'i') goto yy627;
  3666. goto yy55;
  3667. yy510:
  3668. yyaccept = 4;
  3669. yych = *(YYMARKER = ++YYCURSOR);
  3670. if (yych == 's') goto yy628;
  3671. goto yy55;
  3672. yy511:
  3673. yyaccept = 4;
  3674. yych = *(YYMARKER = ++YYCURSOR);
  3675. if (yych == 't') goto yy629;
  3676. goto yy55;
  3677. yy512:
  3678. yyaccept = 4;
  3679. yych = *(YYMARKER = ++YYCURSOR);
  3680. if (yych == 'i') goto yy630;
  3681. goto yy55;
  3682. yy513:
  3683. yyaccept = 4;
  3684. yych = *(YYMARKER = ++YYCURSOR);
  3685. if (yych == 'r') goto yy631;
  3686. goto yy55;
  3687. yy514:
  3688. yyaccept = 4;
  3689. yych = *(YYMARKER = ++YYCURSOR);
  3690. if (yych == 't') goto yy632;
  3691. goto yy55;
  3692. yy515:
  3693. yyaccept = 4;
  3694. yych = *(YYMARKER = ++YYCURSOR);
  3695. if (yych == 'e') goto yy634;
  3696. goto yy55;
  3697. yy516:
  3698. yyaccept = 4;
  3699. yych = *(YYMARKER = ++YYCURSOR);
  3700. if (yych == 'o') goto yy635;
  3701. goto yy55;
  3702. yy517:
  3703. yyaccept = 4;
  3704. yych = *(YYMARKER = ++YYCURSOR);
  3705. if (yych == 'i') goto yy636;
  3706. goto yy55;
  3707. yy518:
  3708. yyaccept = 4;
  3709. yych = *(YYMARKER = ++YYCURSOR);
  3710. if (yych == 'c') goto yy637;
  3711. goto yy55;
  3712. yy519:
  3713. yyaccept = 4;
  3714. yych = *(YYMARKER = ++YYCURSOR);
  3715. if (yych == 'c') goto yy638;
  3716. goto yy55;
  3717. yy520:
  3718. yyaccept = 4;
  3719. yych = *(YYMARKER = ++YYCURSOR);
  3720. if (yych == 'l') goto yy639;
  3721. goto yy55;
  3722. yy521:
  3723. yyaccept = 31;
  3724. yych = *(YYMARKER = ++YYCURSOR);
  3725. if (yybm[256+yych] & 128) {
  3726. goto yy54;
  3727. }
  3728. if (yych == '?') goto yy173;
  3729. if (yych == '\\') goto yy174;
  3730. yy522:
  3731. #line 113 "strict_cpp.re"
  3732. { BOOST_WAVE_RET(T_THIS); }
  3733. #line 3741 "strict_cpp_re.inc"
  3734. yy523:
  3735. yyaccept = 4;
  3736. yych = *(YYMARKER = ++YYCURSOR);
  3737. if (yych == 'a') goto yy640;
  3738. goto yy55;
  3739. yy524:
  3740. yyaccept = 4;
  3741. yych = *(YYMARKER = ++YYCURSOR);
  3742. if (yych == 'w') goto yy641;
  3743. goto yy55;
  3744. yy525:
  3745. yyaccept = 32;
  3746. yych = *(YYMARKER = ++YYCURSOR);
  3747. if (yybm[256+yych] & 128) {
  3748. goto yy54;
  3749. }
  3750. if (yych == '?') goto yy173;
  3751. if (yych == '\\') goto yy174;
  3752. yy526:
  3753. #line 116 "strict_cpp.re"
  3754. { BOOST_WAVE_RET(T_TRUE); }
  3755. #line 3763 "strict_cpp_re.inc"
  3756. yy527:
  3757. yyaccept = 4;
  3758. yych = *(YYMARKER = ++YYCURSOR);
  3759. if (yych <= 'h') {
  3760. if (yych == 'd') goto yy643;
  3761. goto yy55;
  3762. } else {
  3763. if (yych <= 'i') goto yy644;
  3764. if (yych == 'n') goto yy645;
  3765. goto yy55;
  3766. }
  3767. yy528:
  3768. yyaccept = 4;
  3769. yych = *(YYMARKER = ++YYCURSOR);
  3770. if (yych == 'n') goto yy646;
  3771. goto yy55;
  3772. yy529:
  3773. yyaccept = 4;
  3774. yych = *(YYMARKER = ++YYCURSOR);
  3775. if (yych == 'g') goto yy648;
  3776. goto yy55;
  3777. yy530:
  3778. yyaccept = 4;
  3779. yych = *(YYMARKER = ++YYCURSOR);
  3780. if (yych == 'g') goto yy649;
  3781. goto yy55;
  3782. yy531:
  3783. yyaccept = 4;
  3784. yych = *(YYMARKER = ++YYCURSOR);
  3785. if (yych == 'u') goto yy651;
  3786. goto yy55;
  3787. yy532:
  3788. yyaccept = 33;
  3789. yych = *(YYMARKER = ++YYCURSOR);
  3790. if (yybm[256+yych] & 128) {
  3791. goto yy54;
  3792. }
  3793. if (yych == '?') goto yy173;
  3794. if (yych == '\\') goto yy174;
  3795. yy533:
  3796. #line 125 "strict_cpp.re"
  3797. { BOOST_WAVE_RET(T_VOID); }
  3798. #line 3806 "strict_cpp_re.inc"
  3799. yy534:
  3800. yyaccept = 4;
  3801. yych = *(YYMARKER = ++YYCURSOR);
  3802. if (yych == 't') goto yy652;
  3803. goto yy55;
  3804. yy535:
  3805. yyaccept = 4;
  3806. yych = *(YYMARKER = ++YYCURSOR);
  3807. if (yych == 'r') goto yy653;
  3808. goto yy55;
  3809. yy536:
  3810. yyaccept = 4;
  3811. yych = *(YYMARKER = ++YYCURSOR);
  3812. if (yych == 'e') goto yy654;
  3813. goto yy55;
  3814. yy537:
  3815. yyaccept = 4;
  3816. yych = *(YYMARKER = ++YYCURSOR);
  3817. if (yych == 'e') goto yy656;
  3818. goto yy55;
  3819. yy538:
  3820. ++YYCURSOR;
  3821. #line 250 "strict_cpp.re"
  3822. { BOOST_WAVE_RET(T_OROR_TRIGRAPH); }
  3823. #line 3831 "strict_cpp_re.inc"
  3824. yy540:
  3825. yyaccept = 34;
  3826. YYMARKER = ++YYCURSOR;
  3827. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3828. yych = *YYCURSOR;
  3829. if (yybm[0+yych] & 1) {
  3830. goto yy98;
  3831. }
  3832. if (yych <= 0x1F) goto yy102;
  3833. if (yych <= '"') goto yy101;
  3834. if (yych <= '?') goto yy103;
  3835. goto yy104;
  3836. yy541:
  3837. ++YYCURSOR;
  3838. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3839. yych = *YYCURSOR;
  3840. if (yych <= '@') {
  3841. if (yych <= '/') goto yy100;
  3842. if (yych <= '9') goto yy657;
  3843. goto yy100;
  3844. } else {
  3845. if (yych <= 'F') goto yy657;
  3846. if (yych <= '`') goto yy100;
  3847. if (yych <= 'f') goto yy657;
  3848. goto yy100;
  3849. }
  3850. yy542:
  3851. ++YYCURSOR;
  3852. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3853. yych = *YYCURSOR;
  3854. if (yych <= '@') {
  3855. if (yych <= '/') goto yy100;
  3856. if (yych <= '9') goto yy259;
  3857. goto yy100;
  3858. } else {
  3859. if (yych <= 'F') goto yy259;
  3860. if (yych <= '`') goto yy100;
  3861. if (yych <= 'f') goto yy259;
  3862. goto yy100;
  3863. }
  3864. yy543:
  3865. yych = *++YYCURSOR;
  3866. if (yych == 'n') goto yy658;
  3867. goto yy100;
  3868. yy544:
  3869. ++YYCURSOR;
  3870. #line 329 "strict_cpp.re"
  3871. { BOOST_WAVE_RET(T_PP_ELIF); }
  3872. #line 3880 "strict_cpp_re.inc"
  3873. yy546:
  3874. ++YYCURSOR;
  3875. #line 328 "strict_cpp.re"
  3876. { BOOST_WAVE_RET(T_PP_ELSE); }
  3877. #line 3885 "strict_cpp_re.inc"
  3878. yy548:
  3879. yych = *++YYCURSOR;
  3880. if (yych == 'f') goto yy659;
  3881. goto yy100;
  3882. yy549:
  3883. yych = *++YYCURSOR;
  3884. if (yych == 'e') goto yy661;
  3885. goto yy100;
  3886. yy550:
  3887. yych = *++YYCURSOR;
  3888. if (yych == 'r') goto yy662;
  3889. goto yy100;
  3890. yy551:
  3891. yych = *++YYCURSOR;
  3892. if (yych == 'f') goto yy664;
  3893. goto yy100;
  3894. yy552:
  3895. yych = *++YYCURSOR;
  3896. if (yych == 'e') goto yy666;
  3897. goto yy100;
  3898. yy553:
  3899. yych = *++YYCURSOR;
  3900. if (yych == 'u') goto yy667;
  3901. goto yy100;
  3902. yy554:
  3903. ++YYCURSOR;
  3904. #line 333 "strict_cpp.re"
  3905. { BOOST_WAVE_RET(T_PP_LINE); }
  3906. #line 3914 "strict_cpp_re.inc"
  3907. yy556:
  3908. yych = *++YYCURSOR;
  3909. if (yych == 'm') goto yy668;
  3910. goto yy100;
  3911. yy557:
  3912. yych = *++YYCURSOR;
  3913. if (yych == 'o') goto yy669;
  3914. goto yy100;
  3915. yy558:
  3916. yych = *++YYCURSOR;
  3917. if (yych == 'f') goto yy670;
  3918. goto yy100;
  3919. yy559:
  3920. yych = *++YYCURSOR;
  3921. if (yych == 'i') goto yy672;
  3922. goto yy100;
  3923. yy560:
  3924. yyaccept = 35;
  3925. YYMARKER = ++YYCURSOR;
  3926. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3927. yych = *YYCURSOR;
  3928. if (yybm[0+yych] & 2) {
  3929. goto yy129;
  3930. }
  3931. if (yych <= 0x1F) goto yy277;
  3932. if (yych <= '\'') goto yy276;
  3933. if (yych <= '?') goto yy131;
  3934. goto yy132;
  3935. yy561:
  3936. ++YYCURSOR;
  3937. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3938. yych = *YYCURSOR;
  3939. if (yych <= '@') {
  3940. if (yych <= '/') goto yy100;
  3941. if (yych <= '9') goto yy673;
  3942. goto yy100;
  3943. } else {
  3944. if (yych <= 'F') goto yy673;
  3945. if (yych <= '`') goto yy100;
  3946. if (yych <= 'f') goto yy673;
  3947. goto yy100;
  3948. }
  3949. yy562:
  3950. ++YYCURSOR;
  3951. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3952. yych = *YYCURSOR;
  3953. if (yych <= '@') {
  3954. if (yych <= '/') goto yy100;
  3955. if (yych <= '9') goto yy282;
  3956. goto yy100;
  3957. } else {
  3958. if (yych <= 'F') goto yy282;
  3959. if (yych <= '`') goto yy100;
  3960. if (yych <= 'f') goto yy282;
  3961. goto yy100;
  3962. }
  3963. yy563:
  3964. yych = *++YYCURSOR;
  3965. if (yych == '!') goto yy674;
  3966. goto yy100;
  3967. yy564:
  3968. yych = *++YYCURSOR;
  3969. if (yych == '=') goto yy676;
  3970. goto yy100;
  3971. yy565:
  3972. ++YYCURSOR;
  3973. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3974. yych = *YYCURSOR;
  3975. if (yych <= '@') {
  3976. if (yych <= '/') goto yy100;
  3977. if (yych <= '9') goto yy184;
  3978. goto yy100;
  3979. } else {
  3980. if (yych <= 'F') goto yy184;
  3981. if (yych <= '`') goto yy100;
  3982. if (yych <= 'f') goto yy184;
  3983. goto yy100;
  3984. }
  3985. yy566:
  3986. ++YYCURSOR;
  3987. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  3988. yych = *YYCURSOR;
  3989. if (yych <= '@') {
  3990. if (yych <= '/') goto yy100;
  3991. if (yych <= '9') goto yy54;
  3992. goto yy100;
  3993. } else {
  3994. if (yych <= 'F') goto yy54;
  3995. if (yych <= '`') goto yy100;
  3996. if (yych <= 'f') goto yy54;
  3997. goto yy100;
  3998. }
  3999. yy567:
  4000. yyaccept = 4;
  4001. yych = *(YYMARKER = ++YYCURSOR);
  4002. if (yych == 'e') goto yy678;
  4003. goto yy55;
  4004. yy568:
  4005. yyaccept = 4;
  4006. yych = *(YYMARKER = ++YYCURSOR);
  4007. if (yych == 'a') goto yy679;
  4008. goto yy55;
  4009. yy569:
  4010. yyaccept = 4;
  4011. yych = *(YYMARKER = ++YYCURSOR);
  4012. switch (yych) {
  4013. case '1': goto yy680;
  4014. case '3': goto yy681;
  4015. case '6': goto yy682;
  4016. case '8': goto yy683;
  4017. default: goto yy55;
  4018. }
  4019. yy570:
  4020. yyaccept = 4;
  4021. yych = *(YYMARKER = ++YYCURSOR);
  4022. if (yych == 'v') goto yy685;
  4023. goto yy55;
  4024. yy571:
  4025. yyaccept = 36;
  4026. yych = *(YYMARKER = ++YYCURSOR);
  4027. if (yybm[256+yych] & 128) {
  4028. goto yy54;
  4029. }
  4030. if (yych == '?') goto yy173;
  4031. if (yych == '\\') goto yy174;
  4032. yy572:
  4033. #line 139 "strict_cpp.re"
  4034. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_TRY : T_IDENTIFIER); }
  4035. #line 4043 "strict_cpp_re.inc"
  4036. yy573:
  4037. yyaccept = 4;
  4038. yych = *(YYMARKER = ++YYCURSOR);
  4039. if (yych == 'd') goto yy686;
  4040. goto yy55;
  4041. yy574:
  4042. yyaccept = 4;
  4043. yych = *(YYMARKER = ++YYCURSOR);
  4044. if (yych == 'l') goto yy688;
  4045. goto yy55;
  4046. yy575:
  4047. yyaccept = 4;
  4048. yych = *(YYMARKER = ++YYCURSOR);
  4049. if (yych == 's') goto yy690;
  4050. goto yy55;
  4051. yy576:
  4052. yyaccept = 4;
  4053. yych = *(YYMARKER = ++YYCURSOR);
  4054. if (yych == 'c') goto yy691;
  4055. goto yy55;
  4056. yy577:
  4057. yyaccept = 4;
  4058. yych = *(YYMARKER = ++YYCURSOR);
  4059. if (yych == 'n') goto yy692;
  4060. goto yy55;
  4061. yy578:
  4062. yyaccept = 4;
  4063. yych = *(YYMARKER = ++YYCURSOR);
  4064. if (yych == 'a') goto yy693;
  4065. goto yy55;
  4066. yy579:
  4067. yyaccept = 4;
  4068. yych = *(YYMARKER = ++YYCURSOR);
  4069. if (yych == 'a') goto yy694;
  4070. if (yych == 'o') goto yy695;
  4071. goto yy55;
  4072. yy580:
  4073. yyaccept = 4;
  4074. yych = *(YYMARKER = ++YYCURSOR);
  4075. if (yych == 'q') goto yy696;
  4076. goto yy55;
  4077. yy581:
  4078. yyaccept = 4;
  4079. yych = *(YYMARKER = ++YYCURSOR);
  4080. if (yych == 'd') goto yy698;
  4081. goto yy55;
  4082. yy582:
  4083. yyaccept = 37;
  4084. yych = *(YYMARKER = ++YYCURSOR);
  4085. if (yybm[256+yych] & 128) {
  4086. goto yy54;
  4087. }
  4088. if (yych == '?') goto yy173;
  4089. if (yych == '\\') goto yy174;
  4090. yy583:
  4091. #line 204 "strict_cpp.re"
  4092. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OR_ALT); }
  4093. #line 4101 "strict_cpp_re.inc"
  4094. yy584:
  4095. yyaccept = 38;
  4096. yych = *(YYMARKER = ++YYCURSOR);
  4097. if (yybm[256+yych] & 128) {
  4098. goto yy54;
  4099. }
  4100. if (yych == '?') goto yy173;
  4101. if (yych == '\\') goto yy174;
  4102. yy585:
  4103. #line 52 "strict_cpp.re"
  4104. { BOOST_WAVE_RET(T_BREAK); }
  4105. #line 4113 "strict_cpp_re.inc"
  4106. yy586:
  4107. yyaccept = 39;
  4108. yych = *(YYMARKER = ++YYCURSOR);
  4109. if (yybm[256+yych] & 128) {
  4110. goto yy54;
  4111. }
  4112. if (yych == '?') goto yy173;
  4113. if (yych == '\\') goto yy174;
  4114. yy587:
  4115. #line 54 "strict_cpp.re"
  4116. { BOOST_WAVE_RET(T_CATCH); }
  4117. #line 4125 "strict_cpp_re.inc"
  4118. yy588:
  4119. yyaccept = 4;
  4120. yych = *(YYMARKER = ++YYCURSOR);
  4121. if (yych == '6') goto yy700;
  4122. goto yy55;
  4123. yy589:
  4124. yyaccept = 4;
  4125. yych = *(YYMARKER = ++YYCURSOR);
  4126. if (yych == '2') goto yy701;
  4127. goto yy55;
  4128. yy590:
  4129. yyaccept = 4;
  4130. yych = *(YYMARKER = ++YYCURSOR);
  4131. if (yych == '_') goto yy702;
  4132. goto yy55;
  4133. yy591:
  4134. yyaccept = 40;
  4135. yych = *(YYMARKER = ++YYCURSOR);
  4136. if (yybm[256+yych] & 128) {
  4137. goto yy54;
  4138. }
  4139. if (yych == '?') goto yy173;
  4140. if (yych == '\\') goto yy174;
  4141. yy592:
  4142. #line 59 "strict_cpp.re"
  4143. { BOOST_WAVE_RET(T_CLASS); }
  4144. #line 4152 "strict_cpp_re.inc"
  4145. yy593:
  4146. yyaccept = 4;
  4147. yych = *(YYMARKER = ++YYCURSOR);
  4148. if (yych == 'a') goto yy703;
  4149. goto yy55;
  4150. yy594:
  4151. yyaccept = 4;
  4152. yych = *(YYMARKER = ++YYCURSOR);
  4153. if (yych == 't') goto yy704;
  4154. goto yy55;
  4155. yy595:
  4156. yyaccept = 4;
  4157. yych = *(YYMARKER = ++YYCURSOR);
  4158. if (yych == 'e') goto yy705;
  4159. goto yy55;
  4160. yy596:
  4161. yyaccept = 41;
  4162. yych = *(YYMARKER = ++YYCURSOR);
  4163. if (yybm[256+yych] & 128) {
  4164. goto yy54;
  4165. }
  4166. if (yych == '?') goto yy173;
  4167. if (yych == '\\') goto yy174;
  4168. yy597:
  4169. #line 208 "strict_cpp.re"
  4170. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_COMPL_ALT); }
  4171. #line 4179 "strict_cpp_re.inc"
  4172. yy598:
  4173. yyaccept = 4;
  4174. yych = *(YYMARKER = ++YYCURSOR);
  4175. if (yych == 'p') goto yy706;
  4176. goto yy55;
  4177. yy599:
  4178. yyaccept = 42;
  4179. yych = *(YYMARKER = ++YYCURSOR);
  4180. if (yych <= '\\') {
  4181. if (yych <= '?') {
  4182. if (yych <= '/') goto yy600;
  4183. if (yych <= '9') goto yy54;
  4184. if (yych >= '?') goto yy173;
  4185. } else {
  4186. if (yych <= '@') goto yy600;
  4187. if (yych <= 'Z') goto yy54;
  4188. if (yych >= '\\') goto yy174;
  4189. }
  4190. } else {
  4191. if (yych <= 'd') {
  4192. if (yych == '_') goto yy707;
  4193. if (yych >= 'a') goto yy54;
  4194. } else {
  4195. if (yych <= 'h') {
  4196. if (yych <= 'e') goto yy708;
  4197. goto yy54;
  4198. } else {
  4199. if (yych <= 'i') goto yy709;
  4200. if (yych <= 'z') goto yy54;
  4201. }
  4202. }
  4203. }
  4204. yy600:
  4205. #line 61 "strict_cpp.re"
  4206. { BOOST_WAVE_RET(T_CONST); }
  4207. #line 4215 "strict_cpp_re.inc"
  4208. yy601:
  4209. yyaccept = 4;
  4210. yych = *(YYMARKER = ++YYCURSOR);
  4211. if (yych == 'n') goto yy710;
  4212. goto yy55;
  4213. yy602:
  4214. yyaccept = 4;
  4215. yych = *(YYMARKER = ++YYCURSOR);
  4216. if (yych == 'y') goto yy711;
  4217. goto yy55;
  4218. yy603:
  4219. yyaccept = 4;
  4220. yych = *(YYMARKER = ++YYCURSOR);
  4221. if (yych == 'l') goto yy712;
  4222. goto yy55;
  4223. yy604:
  4224. yyaccept = 4;
  4225. yych = *(YYMARKER = ++YYCURSOR);
  4226. if (yych == 'e') goto yy713;
  4227. goto yy55;
  4228. yy605:
  4229. yyaccept = 4;
  4230. yych = *(YYMARKER = ++YYCURSOR);
  4231. if (yych == 'e') goto yy715;
  4232. goto yy55;
  4233. yy606:
  4234. yyaccept = 4;
  4235. yych = *(YYMARKER = ++YYCURSOR);
  4236. if (yych == 'i') goto yy717;
  4237. goto yy55;
  4238. yy607:
  4239. yyaccept = 4;
  4240. yych = *(YYMARKER = ++YYCURSOR);
  4241. if (yych == 'c') goto yy718;
  4242. goto yy55;
  4243. yy608:
  4244. yyaccept = 4;
  4245. yych = *(YYMARKER = ++YYCURSOR);
  4246. if (yych == 't') goto yy719;
  4247. goto yy55;
  4248. yy609:
  4249. yyaccept = 4;
  4250. yych = *(YYMARKER = ++YYCURSOR);
  4251. if (yych == 'n') goto yy721;
  4252. goto yy55;
  4253. yy610:
  4254. yyaccept = 43;
  4255. yych = *(YYMARKER = ++YYCURSOR);
  4256. if (yybm[256+yych] & 128) {
  4257. goto yy54;
  4258. }
  4259. if (yych == '?') goto yy173;
  4260. if (yych == '\\') goto yy174;
  4261. yy611:
  4262. #line 81 "strict_cpp.re"
  4263. { BOOST_WAVE_RET(T_FALSE); }
  4264. #line 4272 "strict_cpp_re.inc"
  4265. yy612:
  4266. yyaccept = 44;
  4267. yych = *(YYMARKER = ++YYCURSOR);
  4268. if (yybm[256+yych] & 128) {
  4269. goto yy54;
  4270. }
  4271. if (yych == '?') goto yy173;
  4272. if (yych == '\\') goto yy174;
  4273. yy613:
  4274. #line 82 "strict_cpp.re"
  4275. { BOOST_WAVE_RET(T_FLOAT); }
  4276. #line 4284 "strict_cpp_re.inc"
  4277. yy614:
  4278. yyaccept = 4;
  4279. yych = *(YYMARKER = ++YYCURSOR);
  4280. if (yych == 'd') goto yy723;
  4281. goto yy55;
  4282. yy615:
  4283. yyaccept = 4;
  4284. yych = *(YYMARKER = ++YYCURSOR);
  4285. if (yych == 't') goto yy725;
  4286. goto yy55;
  4287. yy616:
  4288. yyaccept = 4;
  4289. yych = *(YYMARKER = ++YYCURSOR);
  4290. if (yych == 'e') goto yy727;
  4291. goto yy55;
  4292. yy617:
  4293. yyaccept = 4;
  4294. yych = *(YYMARKER = ++YYCURSOR);
  4295. if (yych == 'l') goto yy729;
  4296. goto yy55;
  4297. yy618:
  4298. yyaccept = 4;
  4299. yych = *(YYMARKER = ++YYCURSOR);
  4300. if (yych == 'p') goto yy730;
  4301. goto yy55;
  4302. yy619:
  4303. yyaccept = 4;
  4304. yych = *(YYMARKER = ++YYCURSOR);
  4305. if (yych == 'e') goto yy731;
  4306. goto yy55;
  4307. yy620:
  4308. yyaccept = 4;
  4309. yych = *(YYMARKER = ++YYCURSOR);
  4310. if (yych == 'q') goto yy732;
  4311. goto yy55;
  4312. yy621:
  4313. yyaccept = 4;
  4314. yych = *(YYMARKER = ++YYCURSOR);
  4315. if (yych == 't') goto yy734;
  4316. goto yy55;
  4317. yy622:
  4318. yyaccept = 4;
  4319. yych = *(YYMARKER = ++YYCURSOR);
  4320. if (yych == 't') goto yy735;
  4321. goto yy55;
  4322. yy623:
  4323. yyaccept = 45;
  4324. yych = *(YYMARKER = ++YYCURSOR);
  4325. if (yybm[256+yych] & 128) {
  4326. goto yy54;
  4327. }
  4328. if (yych == '?') goto yy173;
  4329. if (yych == '\\') goto yy174;
  4330. yy624:
  4331. #line 225 "strict_cpp.re"
  4332. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ORASSIGN_ALT); }
  4333. #line 4341 "strict_cpp_re.inc"
  4334. yy625:
  4335. yyaccept = 4;
  4336. yych = *(YYMARKER = ++YYCURSOR);
  4337. if (yych == 't') goto yy736;
  4338. goto yy55;
  4339. yy626:
  4340. yyaccept = 4;
  4341. yych = *(YYMARKER = ++YYCURSOR);
  4342. if (yych == 'c') goto yy737;
  4343. goto yy55;
  4344. yy627:
  4345. yyaccept = 4;
  4346. yych = *(YYMARKER = ++YYCURSOR);
  4347. if (yych == 'c') goto yy738;
  4348. goto yy55;
  4349. yy628:
  4350. yyaccept = 4;
  4351. yych = *(YYMARKER = ++YYCURSOR);
  4352. if (yych == 't') goto yy740;
  4353. goto yy55;
  4354. yy629:
  4355. yyaccept = 4;
  4356. yych = *(YYMARKER = ++YYCURSOR);
  4357. if (yych == 'e') goto yy741;
  4358. goto yy55;
  4359. yy630:
  4360. yyaccept = 4;
  4361. yych = *(YYMARKER = ++YYCURSOR);
  4362. if (yych == 'r') goto yy742;
  4363. goto yy55;
  4364. yy631:
  4365. yyaccept = 4;
  4366. yych = *(YYMARKER = ++YYCURSOR);
  4367. if (yych == 'n') goto yy743;
  4368. goto yy55;
  4369. yy632:
  4370. yyaccept = 46;
  4371. yych = *(YYMARKER = ++YYCURSOR);
  4372. if (yybm[256+yych] & 128) {
  4373. goto yy54;
  4374. }
  4375. if (yych == '?') goto yy173;
  4376. if (yych == '\\') goto yy174;
  4377. yy633:
  4378. #line 104 "strict_cpp.re"
  4379. { BOOST_WAVE_RET(T_SHORT); }
  4380. #line 4388 "strict_cpp_re.inc"
  4381. yy634:
  4382. yyaccept = 4;
  4383. yych = *(YYMARKER = ++YYCURSOR);
  4384. if (yych == 'd') goto yy745;
  4385. goto yy55;
  4386. yy635:
  4387. yyaccept = 4;
  4388. yych = *(YYMARKER = ++YYCURSOR);
  4389. if (yych == 'f') goto yy747;
  4390. goto yy55;
  4391. yy636:
  4392. yyaccept = 4;
  4393. yych = *(YYMARKER = ++YYCURSOR);
  4394. if (yych == 'c') goto yy749;
  4395. goto yy55;
  4396. yy637:
  4397. yyaccept = 4;
  4398. yych = *(YYMARKER = ++YYCURSOR);
  4399. if (yych == 't') goto yy751;
  4400. goto yy55;
  4401. yy638:
  4402. yyaccept = 4;
  4403. yych = *(YYMARKER = ++YYCURSOR);
  4404. if (yych == 'h') goto yy753;
  4405. goto yy55;
  4406. yy639:
  4407. yyaccept = 4;
  4408. yych = *(YYMARKER = ++YYCURSOR);
  4409. if (yych == 'a') goto yy755;
  4410. goto yy55;
  4411. yy640:
  4412. yyaccept = 4;
  4413. yych = *(YYMARKER = ++YYCURSOR);
  4414. if (yych == 'd') goto yy756;
  4415. goto yy55;
  4416. yy641:
  4417. yyaccept = 47;
  4418. yych = *(YYMARKER = ++YYCURSOR);
  4419. if (yybm[256+yych] & 128) {
  4420. goto yy54;
  4421. }
  4422. if (yych == '?') goto yy173;
  4423. if (yych == '\\') goto yy174;
  4424. yy642:
  4425. #line 115 "strict_cpp.re"
  4426. { BOOST_WAVE_RET(T_THROW); }
  4427. #line 4435 "strict_cpp_re.inc"
  4428. yy643:
  4429. yyaccept = 4;
  4430. yych = *(YYMARKER = ++YYCURSOR);
  4431. if (yych == 'e') goto yy757;
  4432. goto yy55;
  4433. yy644:
  4434. yyaccept = 4;
  4435. yych = *(YYMARKER = ++YYCURSOR);
  4436. if (yych == 'd') goto yy758;
  4437. goto yy55;
  4438. yy645:
  4439. yyaccept = 4;
  4440. yych = *(YYMARKER = ++YYCURSOR);
  4441. if (yych == 'a') goto yy760;
  4442. goto yy55;
  4443. yy646:
  4444. yyaccept = 48;
  4445. yych = *(YYMARKER = ++YYCURSOR);
  4446. if (yybm[256+yych] & 128) {
  4447. goto yy54;
  4448. }
  4449. if (yych == '?') goto yy173;
  4450. if (yych == '\\') goto yy174;
  4451. yy647:
  4452. #line 121 "strict_cpp.re"
  4453. { BOOST_WAVE_RET(T_UNION); }
  4454. #line 4462 "strict_cpp_re.inc"
  4455. yy648:
  4456. yyaccept = 4;
  4457. yych = *(YYMARKER = ++YYCURSOR);
  4458. if (yych == 'n') goto yy761;
  4459. goto yy55;
  4460. yy649:
  4461. yyaccept = 49;
  4462. yych = *(YYMARKER = ++YYCURSOR);
  4463. if (yybm[256+yych] & 128) {
  4464. goto yy54;
  4465. }
  4466. if (yych == '?') goto yy173;
  4467. if (yych == '\\') goto yy174;
  4468. yy650:
  4469. #line 123 "strict_cpp.re"
  4470. { BOOST_WAVE_RET(T_USING); }
  4471. #line 4479 "strict_cpp_re.inc"
  4472. yy651:
  4473. yyaccept = 4;
  4474. yych = *(YYMARKER = ++YYCURSOR);
  4475. if (yych == 'a') goto yy762;
  4476. goto yy55;
  4477. yy652:
  4478. yyaccept = 4;
  4479. yych = *(YYMARKER = ++YYCURSOR);
  4480. if (yych == 'i') goto yy763;
  4481. goto yy55;
  4482. yy653:
  4483. yyaccept = 4;
  4484. yych = *(YYMARKER = ++YYCURSOR);
  4485. if (yych == '_') goto yy764;
  4486. goto yy55;
  4487. yy654:
  4488. yyaccept = 50;
  4489. yych = *(YYMARKER = ++YYCURSOR);
  4490. if (yybm[256+yych] & 128) {
  4491. goto yy54;
  4492. }
  4493. if (yych == '?') goto yy173;
  4494. if (yych == '\\') goto yy174;
  4495. yy655:
  4496. #line 128 "strict_cpp.re"
  4497. { BOOST_WAVE_RET(T_WHILE); }
  4498. #line 4506 "strict_cpp_re.inc"
  4499. yy656:
  4500. yyaccept = 4;
  4501. yych = *(YYMARKER = ++YYCURSOR);
  4502. if (yych == 'q') goto yy765;
  4503. goto yy55;
  4504. yy657:
  4505. ++YYCURSOR;
  4506. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  4507. yych = *YYCURSOR;
  4508. if (yych <= '@') {
  4509. if (yych <= '/') goto yy100;
  4510. if (yych <= '9') goto yy258;
  4511. goto yy100;
  4512. } else {
  4513. if (yych <= 'F') goto yy258;
  4514. if (yych <= '`') goto yy100;
  4515. if (yych <= 'f') goto yy258;
  4516. goto yy100;
  4517. }
  4518. yy658:
  4519. yych = *++YYCURSOR;
  4520. if (yych == 'e') goto yy767;
  4521. goto yy100;
  4522. yy659:
  4523. ++YYCURSOR;
  4524. #line 330 "strict_cpp.re"
  4525. { BOOST_WAVE_RET(T_PP_ENDIF); }
  4526. #line 4534 "strict_cpp_re.inc"
  4527. yy661:
  4528. yych = *++YYCURSOR;
  4529. if (yych == 'g') goto yy769;
  4530. goto yy100;
  4531. yy662:
  4532. ++YYCURSOR;
  4533. #line 334 "strict_cpp.re"
  4534. { BOOST_WAVE_RET(T_PP_ERROR); }
  4535. #line 4543 "strict_cpp_re.inc"
  4536. yy664:
  4537. ++YYCURSOR;
  4538. #line 326 "strict_cpp.re"
  4539. { BOOST_WAVE_RET(T_PP_IFDEF); }
  4540. #line 4548 "strict_cpp_re.inc"
  4541. yy666:
  4542. yych = *++YYCURSOR;
  4543. if (yych == 'f') goto yy770;
  4544. goto yy100;
  4545. yy667:
  4546. yych = *++YYCURSOR;
  4547. if (yych == 'd') goto yy772;
  4548. goto yy100;
  4549. yy668:
  4550. yych = *++YYCURSOR;
  4551. if (yych == 'a') goto yy773;
  4552. goto yy100;
  4553. yy669:
  4554. yych = *++YYCURSOR;
  4555. if (yych == 'n') goto yy775;
  4556. goto yy100;
  4557. yy670:
  4558. ++YYCURSOR;
  4559. #line 332 "strict_cpp.re"
  4560. { BOOST_WAVE_RET(T_PP_UNDEF); }
  4561. #line 4569 "strict_cpp_re.inc"
  4562. yy672:
  4563. yych = *++YYCURSOR;
  4564. if (yych == 'n') goto yy777;
  4565. goto yy100;
  4566. yy673:
  4567. ++YYCURSOR;
  4568. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  4569. yych = *YYCURSOR;
  4570. if (yych <= '@') {
  4571. if (yych <= '/') goto yy100;
  4572. if (yych <= '9') goto yy281;
  4573. goto yy100;
  4574. } else {
  4575. if (yych <= 'F') goto yy281;
  4576. if (yych <= '`') goto yy100;
  4577. if (yych <= 'f') goto yy281;
  4578. goto yy100;
  4579. }
  4580. yy674:
  4581. ++YYCURSOR;
  4582. #line 252 "strict_cpp.re"
  4583. { BOOST_WAVE_RET(T_OROR_TRIGRAPH); }
  4584. #line 4592 "strict_cpp_re.inc"
  4585. yy676:
  4586. ++YYCURSOR;
  4587. #line 164 "strict_cpp.re"
  4588. { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); }
  4589. #line 4597 "strict_cpp_re.inc"
  4590. yy678:
  4591. yyaccept = 4;
  4592. yych = *(YYMARKER = ++YYCURSOR);
  4593. if (yych == 'p') goto yy778;
  4594. goto yy55;
  4595. yy679:
  4596. yyaccept = 4;
  4597. yych = *(YYMARKER = ++YYCURSOR);
  4598. if (yych == 'l') goto yy779;
  4599. goto yy55;
  4600. yy680:
  4601. yyaccept = 4;
  4602. yych = *(YYMARKER = ++YYCURSOR);
  4603. if (yych == '6') goto yy780;
  4604. goto yy55;
  4605. yy681:
  4606. yyaccept = 4;
  4607. yych = *(YYMARKER = ++YYCURSOR);
  4608. if (yych == '2') goto yy782;
  4609. goto yy55;
  4610. yy682:
  4611. yyaccept = 4;
  4612. yych = *(YYMARKER = ++YYCURSOR);
  4613. if (yych == '4') goto yy784;
  4614. goto yy55;
  4615. yy683:
  4616. yyaccept = 51;
  4617. yych = *(YYMARKER = ++YYCURSOR);
  4618. if (yybm[256+yych] & 128) {
  4619. goto yy54;
  4620. }
  4621. if (yych == '?') goto yy173;
  4622. if (yych == '\\') goto yy174;
  4623. yy684:
  4624. #line 130 "strict_cpp.re"
  4625. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT8 : T_IDENTIFIER); }
  4626. #line 4634 "strict_cpp_re.inc"
  4627. yy685:
  4628. yyaccept = 4;
  4629. yych = *(YYMARKER = ++YYCURSOR);
  4630. if (yych == 'e') goto yy786;
  4631. goto yy55;
  4632. yy686:
  4633. yyaccept = 52;
  4634. yych = *(YYMARKER = ++YYCURSOR);
  4635. if (yybm[256+yych] & 128) {
  4636. goto yy54;
  4637. }
  4638. if (yych == '?') goto yy173;
  4639. if (yych == '\\') goto yy174;
  4640. yy687:
  4641. #line 134 "strict_cpp.re"
  4642. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_BASED : T_IDENTIFIER); }
  4643. #line 4651 "strict_cpp_re.inc"
  4644. yy688:
  4645. yyaccept = 53;
  4646. yych = *(YYMARKER = ++YYCURSOR);
  4647. if (yybm[256+yych] & 128) {
  4648. goto yy54;
  4649. }
  4650. if (yych == '?') goto yy173;
  4651. if (yych == '\\') goto yy174;
  4652. yy689:
  4653. #line 136 "strict_cpp.re"
  4654. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_CDECL : T_IDENTIFIER); }
  4655. #line 4663 "strict_cpp_re.inc"
  4656. yy690:
  4657. yyaccept = 4;
  4658. yych = *(YYMARKER = ++YYCURSOR);
  4659. if (yych == 'p') goto yy788;
  4660. goto yy55;
  4661. yy691:
  4662. yyaccept = 4;
  4663. yych = *(YYMARKER = ++YYCURSOR);
  4664. if (yych == 'a') goto yy789;
  4665. goto yy55;
  4666. yy692:
  4667. yyaccept = 4;
  4668. yych = *(YYMARKER = ++YYCURSOR);
  4669. if (yych == 'e') goto yy790;
  4670. goto yy55;
  4671. yy693:
  4672. yyaccept = 4;
  4673. yych = *(YYMARKER = ++YYCURSOR);
  4674. if (yych == 'l') goto yy792;
  4675. goto yy55;
  4676. yy694:
  4677. yyaccept = 4;
  4678. yych = *(YYMARKER = ++YYCURSOR);
  4679. if (yych == 's') goto yy793;
  4680. goto yy55;
  4681. yy695:
  4682. yyaccept = 4;
  4683. yych = *(YYMARKER = ++YYCURSOR);
  4684. if (yych == 'f') goto yy795;
  4685. goto yy55;
  4686. yy696:
  4687. yyaccept = 54;
  4688. yych = *(YYMARKER = ++YYCURSOR);
  4689. if (yybm[256+yych] & 128) {
  4690. goto yy54;
  4691. }
  4692. if (yych == '?') goto yy173;
  4693. if (yych == '\\') goto yy174;
  4694. yy697:
  4695. #line 223 "strict_cpp.re"
  4696. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDASSIGN_ALT); }
  4697. #line 4705 "strict_cpp_re.inc"
  4698. yy698:
  4699. yyaccept = 55;
  4700. yych = *(YYMARKER = ++YYCURSOR);
  4701. if (yybm[256+yych] & 128) {
  4702. goto yy54;
  4703. }
  4704. if (yych == '?') goto yy173;
  4705. if (yych == '\\') goto yy174;
  4706. yy699:
  4707. #line 202 "strict_cpp.re"
  4708. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_AND_ALT); }
  4709. #line 4717 "strict_cpp_re.inc"
  4710. yy700:
  4711. yyaccept = 4;
  4712. yych = *(YYMARKER = ++YYCURSOR);
  4713. if (yych == '_') goto yy797;
  4714. goto yy55;
  4715. yy701:
  4716. yyaccept = 4;
  4717. yych = *(YYMARKER = ++YYCURSOR);
  4718. if (yych == '_') goto yy798;
  4719. goto yy55;
  4720. yy702:
  4721. yyaccept = 4;
  4722. yych = *(YYMARKER = ++YYCURSOR);
  4723. if (yych == 't') goto yy799;
  4724. goto yy55;
  4725. yy703:
  4726. yyaccept = 4;
  4727. yych = *(YYMARKER = ++YYCURSOR);
  4728. if (yych == 'i') goto yy801;
  4729. goto yy55;
  4730. yy704:
  4731. yyaccept = 4;
  4732. yych = *(YYMARKER = ++YYCURSOR);
  4733. if (yych == 'u') goto yy802;
  4734. goto yy55;
  4735. yy705:
  4736. yyaccept = 4;
  4737. yych = *(YYMARKER = ++YYCURSOR);
  4738. if (yych == 'l') goto yy803;
  4739. goto yy55;
  4740. yy706:
  4741. yyaccept = 4;
  4742. yych = *(YYMARKER = ++YYCURSOR);
  4743. if (yych == 't') goto yy804;
  4744. goto yy55;
  4745. yy707:
  4746. yyaccept = 4;
  4747. yych = *(YYMARKER = ++YYCURSOR);
  4748. if (yych == 'c') goto yy806;
  4749. goto yy55;
  4750. yy708:
  4751. yyaccept = 4;
  4752. yych = *(YYMARKER = ++YYCURSOR);
  4753. if (yych == 'v') goto yy807;
  4754. if (yych == 'x') goto yy808;
  4755. goto yy55;
  4756. yy709:
  4757. yyaccept = 4;
  4758. yych = *(YYMARKER = ++YYCURSOR);
  4759. if (yych == 'n') goto yy809;
  4760. goto yy55;
  4761. yy710:
  4762. yyaccept = 4;
  4763. yych = *(YYMARKER = ++YYCURSOR);
  4764. if (yych == 'u') goto yy810;
  4765. goto yy55;
  4766. yy711:
  4767. yyaccept = 4;
  4768. yych = *(YYMARKER = ++YYCURSOR);
  4769. if (yych == 'p') goto yy811;
  4770. goto yy55;
  4771. yy712:
  4772. yyaccept = 4;
  4773. yych = *(YYMARKER = ++YYCURSOR);
  4774. if (yych == 't') goto yy812;
  4775. goto yy55;
  4776. yy713:
  4777. yyaccept = 56;
  4778. yych = *(YYMARKER = ++YYCURSOR);
  4779. if (yybm[256+yych] & 128) {
  4780. goto yy54;
  4781. }
  4782. if (yych == '?') goto yy173;
  4783. if (yych == '\\') goto yy174;
  4784. yy714:
  4785. #line 72 "strict_cpp.re"
  4786. { BOOST_WAVE_RET(T_DELETE); }
  4787. #line 4795 "strict_cpp_re.inc"
  4788. yy715:
  4789. yyaccept = 57;
  4790. yych = *(YYMARKER = ++YYCURSOR);
  4791. if (yybm[256+yych] & 128) {
  4792. goto yy54;
  4793. }
  4794. if (yych == '?') goto yy173;
  4795. if (yych == '\\') goto yy174;
  4796. yy716:
  4797. #line 74 "strict_cpp.re"
  4798. { BOOST_WAVE_RET(T_DOUBLE); }
  4799. #line 4807 "strict_cpp_re.inc"
  4800. yy717:
  4801. yyaccept = 4;
  4802. yych = *(YYMARKER = ++YYCURSOR);
  4803. if (yych == 'c') goto yy814;
  4804. goto yy55;
  4805. yy718:
  4806. yyaccept = 4;
  4807. yych = *(YYMARKER = ++YYCURSOR);
  4808. if (yych == 'i') goto yy815;
  4809. goto yy55;
  4810. yy719:
  4811. yyaccept = 58;
  4812. yych = *(YYMARKER = ++YYCURSOR);
  4813. if (yybm[256+yych] & 128) {
  4814. goto yy54;
  4815. }
  4816. if (yych == '?') goto yy173;
  4817. if (yych == '\\') goto yy174;
  4818. yy720:
  4819. #line 79 "strict_cpp.re"
  4820. { BOOST_WAVE_RET(T_EXPORT); }
  4821. #line 4829 "strict_cpp_re.inc"
  4822. yy721:
  4823. yyaccept = 59;
  4824. yych = *(YYMARKER = ++YYCURSOR);
  4825. if (yybm[256+yych] & 128) {
  4826. goto yy54;
  4827. }
  4828. if (yych == '?') goto yy173;
  4829. if (yych == '\\') goto yy174;
  4830. yy722:
  4831. #line 80 "strict_cpp.re"
  4832. { BOOST_WAVE_RET(T_EXTERN); }
  4833. #line 4841 "strict_cpp_re.inc"
  4834. yy723:
  4835. yyaccept = 60;
  4836. yych = *(YYMARKER = ++YYCURSOR);
  4837. if (yybm[256+yych] & 128) {
  4838. goto yy54;
  4839. }
  4840. if (yych == '?') goto yy173;
  4841. if (yych == '\\') goto yy174;
  4842. yy724:
  4843. #line 84 "strict_cpp.re"
  4844. { BOOST_WAVE_RET(T_FRIEND); }
  4845. #line 4853 "strict_cpp_re.inc"
  4846. yy725:
  4847. yyaccept = 61;
  4848. yych = *(YYMARKER = ++YYCURSOR);
  4849. if (yybm[256+yych] & 128) {
  4850. goto yy54;
  4851. }
  4852. if (yych == '?') goto yy173;
  4853. if (yych == '\\') goto yy174;
  4854. yy726:
  4855. #line 87 "strict_cpp.re"
  4856. { BOOST_WAVE_RET(s->enable_import_keyword ? T_IMPORT : T_IDENTIFIER); }
  4857. #line 4865 "strict_cpp_re.inc"
  4858. yy727:
  4859. yyaccept = 62;
  4860. yych = *(YYMARKER = ++YYCURSOR);
  4861. if (yybm[256+yych] & 128) {
  4862. goto yy54;
  4863. }
  4864. if (yych == '?') goto yy173;
  4865. if (yych == '\\') goto yy174;
  4866. yy728:
  4867. #line 88 "strict_cpp.re"
  4868. { BOOST_WAVE_RET(T_INLINE); }
  4869. #line 4877 "strict_cpp_re.inc"
  4870. yy729:
  4871. yyaccept = 4;
  4872. yych = *(YYMARKER = ++YYCURSOR);
  4873. if (yych == 'e') goto yy816;
  4874. goto yy55;
  4875. yy730:
  4876. yyaccept = 4;
  4877. yych = *(YYMARKER = ++YYCURSOR);
  4878. if (yych == 'a') goto yy818;
  4879. goto yy55;
  4880. yy731:
  4881. yyaccept = 4;
  4882. yych = *(YYMARKER = ++YYCURSOR);
  4883. if (yych == 'p') goto yy819;
  4884. goto yy55;
  4885. yy732:
  4886. yyaccept = 63;
  4887. yych = *(YYMARKER = ++YYCURSOR);
  4888. if (yybm[256+yych] & 128) {
  4889. goto yy54;
  4890. }
  4891. if (yych == '?') goto yy173;
  4892. if (yych == '\\') goto yy174;
  4893. yy733:
  4894. #line 233 "strict_cpp.re"
  4895. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOTEQUAL_ALT); }
  4896. #line 4904 "strict_cpp_re.inc"
  4897. yy734:
  4898. yyaccept = 4;
  4899. yych = *(YYMARKER = ++YYCURSOR);
  4900. if (yych == 'r') goto yy820;
  4901. goto yy55;
  4902. yy735:
  4903. yyaccept = 4;
  4904. yych = *(YYMARKER = ++YYCURSOR);
  4905. if (yych == 'o') goto yy822;
  4906. goto yy55;
  4907. yy736:
  4908. yyaccept = 4;
  4909. yych = *(YYMARKER = ++YYCURSOR);
  4910. if (yych == 'e') goto yy823;
  4911. goto yy55;
  4912. yy737:
  4913. yyaccept = 4;
  4914. yych = *(YYMARKER = ++YYCURSOR);
  4915. if (yych == 't') goto yy825;
  4916. goto yy55;
  4917. yy738:
  4918. yyaccept = 64;
  4919. yych = *(YYMARKER = ++YYCURSOR);
  4920. if (yybm[256+yych] & 128) {
  4921. goto yy54;
  4922. }
  4923. if (yych == '?') goto yy173;
  4924. if (yych == '\\') goto yy174;
  4925. yy739:
  4926. #line 99 "strict_cpp.re"
  4927. { BOOST_WAVE_RET(T_PUBLIC); }
  4928. #line 4936 "strict_cpp_re.inc"
  4929. yy740:
  4930. yyaccept = 4;
  4931. yych = *(YYMARKER = ++YYCURSOR);
  4932. if (yych == 'e') goto yy826;
  4933. goto yy55;
  4934. yy741:
  4935. yyaccept = 4;
  4936. yych = *(YYMARKER = ++YYCURSOR);
  4937. if (yych == 'r') goto yy827;
  4938. goto yy55;
  4939. yy742:
  4940. yyaccept = 4;
  4941. yych = *(YYMARKER = ++YYCURSOR);
  4942. if (yych == 'e') goto yy828;
  4943. goto yy55;
  4944. yy743:
  4945. yyaccept = 65;
  4946. yych = *(YYMARKER = ++YYCURSOR);
  4947. if (yybm[256+yych] & 128) {
  4948. goto yy54;
  4949. }
  4950. if (yych == '?') goto yy173;
  4951. if (yych == '\\') goto yy174;
  4952. yy744:
  4953. #line 103 "strict_cpp.re"
  4954. { BOOST_WAVE_RET(T_RETURN); }
  4955. #line 4963 "strict_cpp_re.inc"
  4956. yy745:
  4957. yyaccept = 66;
  4958. yych = *(YYMARKER = ++YYCURSOR);
  4959. if (yybm[256+yych] & 128) {
  4960. goto yy54;
  4961. }
  4962. if (yych == '?') goto yy173;
  4963. if (yych == '\\') goto yy174;
  4964. yy746:
  4965. #line 105 "strict_cpp.re"
  4966. { BOOST_WAVE_RET(T_SIGNED); }
  4967. #line 4975 "strict_cpp_re.inc"
  4968. yy747:
  4969. yyaccept = 67;
  4970. yych = *(YYMARKER = ++YYCURSOR);
  4971. if (yybm[256+yych] & 128) {
  4972. goto yy54;
  4973. }
  4974. if (yych == '?') goto yy173;
  4975. if (yych == '\\') goto yy174;
  4976. yy748:
  4977. #line 106 "strict_cpp.re"
  4978. { BOOST_WAVE_RET(T_SIZEOF); }
  4979. #line 4987 "strict_cpp_re.inc"
  4980. yy749:
  4981. yyaccept = 68;
  4982. yych = *(YYMARKER = ++YYCURSOR);
  4983. if (yych <= 'Z') {
  4984. if (yych <= '>') {
  4985. if (yych <= '/') goto yy750;
  4986. if (yych <= '9') goto yy54;
  4987. } else {
  4988. if (yych <= '?') goto yy173;
  4989. if (yych >= 'A') goto yy54;
  4990. }
  4991. } else {
  4992. if (yych <= '^') {
  4993. if (yych == '\\') goto yy174;
  4994. } else {
  4995. if (yych <= '_') goto yy829;
  4996. if (yych <= '`') goto yy750;
  4997. if (yych <= 'z') goto yy54;
  4998. }
  4999. }
  5000. yy750:
  5001. #line 107 "strict_cpp.re"
  5002. { BOOST_WAVE_RET(T_STATIC); }
  5003. #line 5011 "strict_cpp_re.inc"
  5004. yy751:
  5005. yyaccept = 69;
  5006. yych = *(YYMARKER = ++YYCURSOR);
  5007. if (yybm[256+yych] & 128) {
  5008. goto yy54;
  5009. }
  5010. if (yych == '?') goto yy173;
  5011. if (yych == '\\') goto yy174;
  5012. yy752:
  5013. #line 110 "strict_cpp.re"
  5014. { BOOST_WAVE_RET(T_STRUCT); }
  5015. #line 5023 "strict_cpp_re.inc"
  5016. yy753:
  5017. yyaccept = 70;
  5018. yych = *(YYMARKER = ++YYCURSOR);
  5019. if (yybm[256+yych] & 128) {
  5020. goto yy54;
  5021. }
  5022. if (yych == '?') goto yy173;
  5023. if (yych == '\\') goto yy174;
  5024. yy754:
  5025. #line 111 "strict_cpp.re"
  5026. { BOOST_WAVE_RET(T_SWITCH); }
  5027. #line 5035 "strict_cpp_re.inc"
  5028. yy755:
  5029. yyaccept = 4;
  5030. yych = *(YYMARKER = ++YYCURSOR);
  5031. if (yych == 't') goto yy830;
  5032. goto yy55;
  5033. yy756:
  5034. yyaccept = 4;
  5035. yych = *(YYMARKER = ++YYCURSOR);
  5036. if (yych == '_') goto yy831;
  5037. goto yy55;
  5038. yy757:
  5039. yyaccept = 4;
  5040. yych = *(YYMARKER = ++YYCURSOR);
  5041. if (yych == 'f') goto yy832;
  5042. goto yy55;
  5043. yy758:
  5044. yyaccept = 71;
  5045. yych = *(YYMARKER = ++YYCURSOR);
  5046. if (yybm[256+yych] & 128) {
  5047. goto yy54;
  5048. }
  5049. if (yych == '?') goto yy173;
  5050. if (yych == '\\') goto yy174;
  5051. yy759:
  5052. #line 119 "strict_cpp.re"
  5053. { BOOST_WAVE_RET(T_TYPEID); }
  5054. #line 5062 "strict_cpp_re.inc"
  5055. yy760:
  5056. yyaccept = 4;
  5057. yych = *(YYMARKER = ++YYCURSOR);
  5058. if (yych == 'm') goto yy834;
  5059. goto yy55;
  5060. yy761:
  5061. yyaccept = 4;
  5062. yych = *(YYMARKER = ++YYCURSOR);
  5063. if (yych == 'e') goto yy835;
  5064. goto yy55;
  5065. yy762:
  5066. yyaccept = 4;
  5067. yych = *(YYMARKER = ++YYCURSOR);
  5068. if (yych == 'l') goto yy836;
  5069. goto yy55;
  5070. yy763:
  5071. yyaccept = 4;
  5072. yych = *(YYMARKER = ++YYCURSOR);
  5073. if (yych == 'l') goto yy838;
  5074. goto yy55;
  5075. yy764:
  5076. yyaccept = 4;
  5077. yych = *(YYMARKER = ++YYCURSOR);
  5078. if (yych == 't') goto yy839;
  5079. goto yy55;
  5080. yy765:
  5081. yyaccept = 72;
  5082. yych = *(YYMARKER = ++YYCURSOR);
  5083. if (yybm[256+yych] & 128) {
  5084. goto yy54;
  5085. }
  5086. if (yych == '?') goto yy173;
  5087. if (yych == '\\') goto yy174;
  5088. yy766:
  5089. #line 220 "strict_cpp.re"
  5090. { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XORASSIGN_ALT); }
  5091. #line 5099 "strict_cpp_re.inc"
  5092. yy767:
  5093. ++YYCURSOR;
  5094. #line 331 "strict_cpp.re"
  5095. { BOOST_WAVE_RET(T_PP_DEFINE); }
  5096. #line 5104 "strict_cpp_re.inc"
  5097. yy769:
  5098. yych = *++YYCURSOR;
  5099. if (yych == 'i') goto yy841;
  5100. goto yy100;
  5101. yy770:
  5102. ++YYCURSOR;
  5103. #line 327 "strict_cpp.re"
  5104. { BOOST_WAVE_RET(T_PP_IFNDEF); }
  5105. #line 5113 "strict_cpp_re.inc"
  5106. yy772:
  5107. yych = *++YYCURSOR;
  5108. if (yych == 'e') goto yy842;
  5109. goto yy100;
  5110. yy773:
  5111. ++YYCURSOR;
  5112. #line 335 "strict_cpp.re"
  5113. { BOOST_WAVE_RET(T_PP_PRAGMA); }
  5114. #line 5122 "strict_cpp_re.inc"
  5115. yy775:
  5116. ++YYCURSOR;
  5117. #line 339 "strict_cpp.re"
  5118. { BOOST_WAVE_RET(T_MSEXT_PP_REGION); }
  5119. #line 5127 "strict_cpp_re.inc"
  5120. yy777:
  5121. yych = *++YYCURSOR;
  5122. if (yych == 'g') goto yy844;
  5123. goto yy100;
  5124. yy778:
  5125. yyaccept = 4;
  5126. yych = *(YYMARKER = ++YYCURSOR);
  5127. if (yych == 't') goto yy846;
  5128. goto yy55;
  5129. yy779:
  5130. yyaccept = 4;
  5131. yych = *(YYMARKER = ++YYCURSOR);
  5132. if (yych == 'l') goto yy848;
  5133. goto yy55;
  5134. yy780:
  5135. yyaccept = 73;
  5136. yych = *(YYMARKER = ++YYCURSOR);
  5137. if (yybm[256+yych] & 128) {
  5138. goto yy54;
  5139. }
  5140. if (yych == '?') goto yy173;
  5141. if (yych == '\\') goto yy174;
  5142. yy781:
  5143. #line 131 "strict_cpp.re"
  5144. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT16 : T_IDENTIFIER); }
  5145. #line 5153 "strict_cpp_re.inc"
  5146. yy782:
  5147. yyaccept = 74;
  5148. yych = *(YYMARKER = ++YYCURSOR);
  5149. if (yybm[256+yych] & 128) {
  5150. goto yy54;
  5151. }
  5152. if (yych == '?') goto yy173;
  5153. if (yych == '\\') goto yy174;
  5154. yy783:
  5155. #line 132 "strict_cpp.re"
  5156. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT32 : T_IDENTIFIER); }
  5157. #line 5165 "strict_cpp_re.inc"
  5158. yy784:
  5159. yyaccept = 75;
  5160. yych = *(YYMARKER = ++YYCURSOR);
  5161. if (yybm[256+yych] & 128) {
  5162. goto yy54;
  5163. }
  5164. if (yych == '?') goto yy173;
  5165. if (yych == '\\') goto yy174;
  5166. yy785:
  5167. #line 133 "strict_cpp.re"
  5168. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT64 : T_IDENTIFIER); }
  5169. #line 5177 "strict_cpp_re.inc"
  5170. yy786:
  5171. yyaccept = 76;
  5172. yych = *(YYMARKER = ++YYCURSOR);
  5173. if (yybm[256+yych] & 128) {
  5174. goto yy54;
  5175. }
  5176. if (yych == '?') goto yy173;
  5177. if (yych == '\\') goto yy174;
  5178. yy787:
  5179. #line 142 "strict_cpp.re"
  5180. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_LEAVE : T_IDENTIFIER); }
  5181. #line 5189 "strict_cpp_re.inc"
  5182. yy788:
  5183. yyaccept = 4;
  5184. yych = *(YYMARKER = ++YYCURSOR);
  5185. if (yych == 'e') goto yy849;
  5186. goto yy55;
  5187. yy789:
  5188. yyaccept = 4;
  5189. yych = *(YYMARKER = ++YYCURSOR);
  5190. if (yych == 'l') goto yy850;
  5191. goto yy55;
  5192. yy790:
  5193. yyaccept = 77;
  5194. yych = *(YYMARKER = ++YYCURSOR);
  5195. if (yybm[256+yych] & 128) {
  5196. goto yy54;
  5197. }
  5198. if (yych == '?') goto yy173;
  5199. if (yych == '\\') goto yy174;
  5200. yy791:
  5201. #line 143 "strict_cpp.re"
  5202. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INLINE : T_IDENTIFIER); }
  5203. #line 5211 "strict_cpp_re.inc"
  5204. yy792:
  5205. yyaccept = 4;
  5206. yych = *(YYMARKER = ++YYCURSOR);
  5207. if (yych == 'l') goto yy851;
  5208. goto yy55;
  5209. yy793:
  5210. yyaccept = 78;
  5211. yych = *(YYMARKER = ++YYCURSOR);
  5212. if (yybm[256+yych] & 128) {
  5213. goto yy54;
  5214. }
  5215. if (yych == '?') goto yy173;
  5216. if (yych == '\\') goto yy174;
  5217. yy794:
  5218. #line 47 "strict_cpp.re"
  5219. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNAS : T_IDENTIFIER); }
  5220. #line 5228 "strict_cpp_re.inc"
  5221. yy795:
  5222. yyaccept = 79;
  5223. yych = *(YYMARKER = ++YYCURSOR);
  5224. if (yybm[256+yych] & 128) {
  5225. goto yy54;
  5226. }
  5227. if (yych == '?') goto yy173;
  5228. if (yych == '\\') goto yy174;
  5229. yy796:
  5230. #line 48 "strict_cpp.re"
  5231. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNOF : T_IDENTIFIER); }
  5232. #line 5240 "strict_cpp_re.inc"
  5233. yy797:
  5234. yyaccept = 4;
  5235. yych = *(YYMARKER = ++YYCURSOR);
  5236. if (yych == 't') goto yy853;
  5237. goto yy55;
  5238. yy798:
  5239. yyaccept = 4;
  5240. yych = *(YYMARKER = ++YYCURSOR);
  5241. if (yych == 't') goto yy855;
  5242. goto yy55;
  5243. yy799:
  5244. yyaccept = 80;
  5245. yych = *(YYMARKER = ++YYCURSOR);
  5246. if (yybm[256+yych] & 128) {
  5247. goto yy54;
  5248. }
  5249. if (yych == '?') goto yy173;
  5250. if (yych == '\\') goto yy174;
  5251. yy800:
  5252. #line 56 "strict_cpp.re"
  5253. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CHAR8_T : T_IDENTIFIER); }
  5254. #line 5262 "strict_cpp_re.inc"
  5255. yy801:
  5256. yyaccept = 4;
  5257. yych = *(YYMARKER = ++YYCURSOR);
  5258. if (yych == 't') goto yy857;
  5259. goto yy55;
  5260. yy802:
  5261. yyaccept = 4;
  5262. yych = *(YYMARKER = ++YYCURSOR);
  5263. if (yych == 'r') goto yy859;
  5264. goto yy55;
  5265. yy803:
  5266. yyaccept = 4;
  5267. yych = *(YYMARKER = ++YYCURSOR);
  5268. if (yych == 'd') goto yy860;
  5269. goto yy55;
  5270. yy804:
  5271. yyaccept = 81;
  5272. yych = *(YYMARKER = ++YYCURSOR);
  5273. if (yybm[256+yych] & 128) {
  5274. goto yy54;
  5275. }
  5276. if (yych == '?') goto yy173;
  5277. if (yych == '\\') goto yy174;
  5278. yy805:
  5279. #line 60 "strict_cpp.re"
  5280. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONCEPT : T_IDENTIFIER); }
  5281. #line 5289 "strict_cpp_re.inc"
  5282. yy806:
  5283. yyaccept = 4;
  5284. yych = *(YYMARKER = ++YYCURSOR);
  5285. if (yych == 'a') goto yy862;
  5286. goto yy55;
  5287. yy807:
  5288. yyaccept = 4;
  5289. yych = *(YYMARKER = ++YYCURSOR);
  5290. if (yych == 'a') goto yy863;
  5291. goto yy55;
  5292. yy808:
  5293. yyaccept = 4;
  5294. yych = *(YYMARKER = ++YYCURSOR);
  5295. if (yych == 'p') goto yy864;
  5296. goto yy55;
  5297. yy809:
  5298. yyaccept = 4;
  5299. yych = *(YYMARKER = ++YYCURSOR);
  5300. if (yych == 'i') goto yy865;
  5301. goto yy55;
  5302. yy810:
  5303. yyaccept = 4;
  5304. yych = *(YYMARKER = ++YYCURSOR);
  5305. if (yych == 'e') goto yy866;
  5306. goto yy55;
  5307. yy811:
  5308. yyaccept = 4;
  5309. yych = *(YYMARKER = ++YYCURSOR);
  5310. if (yych == 'e') goto yy868;
  5311. goto yy55;
  5312. yy812:
  5313. yyaccept = 82;
  5314. yych = *(YYMARKER = ++YYCURSOR);
  5315. if (yybm[256+yych] & 128) {
  5316. goto yy54;
  5317. }
  5318. if (yych == '?') goto yy173;
  5319. if (yych == '\\') goto yy174;
  5320. yy813:
  5321. #line 71 "strict_cpp.re"
  5322. { BOOST_WAVE_RET(T_DEFAULT); }
  5323. #line 5331 "strict_cpp_re.inc"
  5324. yy814:
  5325. yyaccept = 4;
  5326. yych = *(YYMARKER = ++YYCURSOR);
  5327. if (yych == '_') goto yy870;
  5328. goto yy55;
  5329. yy815:
  5330. yyaccept = 4;
  5331. yych = *(YYMARKER = ++YYCURSOR);
  5332. if (yych == 't') goto yy871;
  5333. goto yy55;
  5334. yy816:
  5335. yyaccept = 83;
  5336. yych = *(YYMARKER = ++YYCURSOR);
  5337. if (yybm[256+yych] & 128) {
  5338. goto yy54;
  5339. }
  5340. if (yych == '?') goto yy173;
  5341. if (yych == '\\') goto yy174;
  5342. yy817:
  5343. #line 91 "strict_cpp.re"
  5344. { BOOST_WAVE_RET(T_MUTABLE); }
  5345. #line 5353 "strict_cpp_re.inc"
  5346. yy818:
  5347. yyaccept = 4;
  5348. yych = *(YYMARKER = ++YYCURSOR);
  5349. if (yych == 'c') goto yy873;
  5350. goto yy55;
  5351. yy819:
  5352. yyaccept = 4;
  5353. yych = *(YYMARKER = ++YYCURSOR);
  5354. if (yych == 't') goto yy874;
  5355. goto yy55;
  5356. yy820:
  5357. yyaccept = 84;
  5358. yych = *(YYMARKER = ++YYCURSOR);
  5359. if (yybm[256+yych] & 128) {
  5360. goto yy54;
  5361. }
  5362. if (yych == '?') goto yy173;
  5363. if (yych == '\\') goto yy174;
  5364. yy821:
  5365. #line 95 "strict_cpp.re"
  5366. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NULLPTR : T_IDENTIFIER); }
  5367. #line 5375 "strict_cpp_re.inc"
  5368. yy822:
  5369. yyaccept = 4;
  5370. yych = *(YYMARKER = ++YYCURSOR);
  5371. if (yych == 'r') goto yy876;
  5372. goto yy55;
  5373. yy823:
  5374. yyaccept = 85;
  5375. yych = *(YYMARKER = ++YYCURSOR);
  5376. if (yybm[256+yych] & 128) {
  5377. goto yy54;
  5378. }
  5379. if (yych == '?') goto yy173;
  5380. if (yych == '\\') goto yy174;
  5381. yy824:
  5382. #line 97 "strict_cpp.re"
  5383. { BOOST_WAVE_RET(T_PRIVATE); }
  5384. #line 5392 "strict_cpp_re.inc"
  5385. yy825:
  5386. yyaccept = 4;
  5387. yych = *(YYMARKER = ++YYCURSOR);
  5388. if (yych == 'e') goto yy878;
  5389. goto yy55;
  5390. yy826:
  5391. yyaccept = 4;
  5392. yych = *(YYMARKER = ++YYCURSOR);
  5393. if (yych == 'r') goto yy879;
  5394. goto yy55;
  5395. yy827:
  5396. yyaccept = 4;
  5397. yych = *(YYMARKER = ++YYCURSOR);
  5398. if (yych == 'p') goto yy881;
  5399. goto yy55;
  5400. yy828:
  5401. yyaccept = 4;
  5402. yych = *(YYMARKER = ++YYCURSOR);
  5403. if (yych == 's') goto yy882;
  5404. goto yy55;
  5405. yy829:
  5406. yyaccept = 4;
  5407. yych = *(YYMARKER = ++YYCURSOR);
  5408. if (yych == 'a') goto yy884;
  5409. if (yych == 'c') goto yy885;
  5410. goto yy55;
  5411. yy830:
  5412. yyaccept = 4;
  5413. yych = *(YYMARKER = ++YYCURSOR);
  5414. if (yych == 'e') goto yy886;
  5415. goto yy55;
  5416. yy831:
  5417. yyaccept = 4;
  5418. yych = *(YYMARKER = ++YYCURSOR);
  5419. if (yych == 'l') goto yy888;
  5420. goto yy55;
  5421. yy832:
  5422. yyaccept = 86;
  5423. yych = *(YYMARKER = ++YYCURSOR);
  5424. if (yybm[256+yych] & 128) {
  5425. goto yy54;
  5426. }
  5427. if (yych == '?') goto yy173;
  5428. if (yych == '\\') goto yy174;
  5429. yy833:
  5430. #line 118 "strict_cpp.re"
  5431. { BOOST_WAVE_RET(T_TYPEDEF); }
  5432. #line 5440 "strict_cpp_re.inc"
  5433. yy834:
  5434. yyaccept = 4;
  5435. yych = *(YYMARKER = ++YYCURSOR);
  5436. if (yych == 'e') goto yy889;
  5437. goto yy55;
  5438. yy835:
  5439. yyaccept = 4;
  5440. yych = *(YYMARKER = ++YYCURSOR);
  5441. if (yych == 'd') goto yy891;
  5442. goto yy55;
  5443. yy836:
  5444. yyaccept = 87;
  5445. yych = *(YYMARKER = ++YYCURSOR);
  5446. if (yybm[256+yych] & 128) {
  5447. goto yy54;
  5448. }
  5449. if (yych == '?') goto yy173;
  5450. if (yych == '\\') goto yy174;
  5451. yy837:
  5452. #line 124 "strict_cpp.re"
  5453. { BOOST_WAVE_RET(T_VIRTUAL); }
  5454. #line 5462 "strict_cpp_re.inc"
  5455. yy838:
  5456. yyaccept = 4;
  5457. yych = *(YYMARKER = ++YYCURSOR);
  5458. if (yych == 'e') goto yy893;
  5459. goto yy55;
  5460. yy839:
  5461. yyaccept = 88;
  5462. yych = *(YYMARKER = ++YYCURSOR);
  5463. if (yybm[256+yych] & 128) {
  5464. goto yy54;
  5465. }
  5466. if (yych == '?') goto yy173;
  5467. if (yych == '\\') goto yy174;
  5468. yy840:
  5469. #line 127 "strict_cpp.re"
  5470. { BOOST_WAVE_RET(T_WCHART); }
  5471. #line 5479 "strict_cpp_re.inc"
  5472. yy841:
  5473. yych = *++YYCURSOR;
  5474. if (yych == 'o') goto yy895;
  5475. goto yy100;
  5476. yy842:
  5477. yyaccept = 89;
  5478. yych = *(YYMARKER = ++YYCURSOR);
  5479. if (yych == '_') goto yy901;
  5480. goto yy897;
  5481. yy843:
  5482. #line 323 "strict_cpp.re"
  5483. { BOOST_WAVE_RET(T_PP_INCLUDE); }
  5484. #line 5492 "strict_cpp_re.inc"
  5485. yy844:
  5486. ++YYCURSOR;
  5487. #line 337 "strict_cpp.re"
  5488. { BOOST_WAVE_RET(T_PP_WARNING); }
  5489. #line 5497 "strict_cpp_re.inc"
  5490. yy846:
  5491. yyaccept = 90;
  5492. yych = *(YYMARKER = ++YYCURSOR);
  5493. if (yybm[256+yych] & 128) {
  5494. goto yy54;
  5495. }
  5496. if (yych == '?') goto yy173;
  5497. if (yych == '\\') goto yy174;
  5498. yy847:
  5499. #line 140 "strict_cpp.re"
  5500. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_EXCEPT : T_IDENTIFIER); }
  5501. #line 5509 "strict_cpp_re.inc"
  5502. yy848:
  5503. yyaccept = 4;
  5504. yych = *(YYMARKER = ++YYCURSOR);
  5505. if (yych == 'y') goto yy902;
  5506. goto yy55;
  5507. yy849:
  5508. yyaccept = 4;
  5509. yych = *(YYMARKER = ++YYCURSOR);
  5510. if (yych == 'c') goto yy904;
  5511. goto yy55;
  5512. yy850:
  5513. yyaccept = 4;
  5514. yych = *(YYMARKER = ++YYCURSOR);
  5515. if (yych == 'l') goto yy906;
  5516. goto yy55;
  5517. yy851:
  5518. yyaccept = 91;
  5519. yych = *(YYMARKER = ++YYCURSOR);
  5520. if (yybm[256+yych] & 128) {
  5521. goto yy54;
  5522. }
  5523. if (yych == '?') goto yy173;
  5524. if (yych == '\\') goto yy174;
  5525. yy852:
  5526. #line 138 "strict_cpp.re"
  5527. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_STDCALL : T_IDENTIFIER); }
  5528. #line 5536 "strict_cpp_re.inc"
  5529. yy853:
  5530. yyaccept = 92;
  5531. yych = *(YYMARKER = ++YYCURSOR);
  5532. if (yybm[256+yych] & 128) {
  5533. goto yy54;
  5534. }
  5535. if (yych == '?') goto yy173;
  5536. if (yych == '\\') goto yy174;
  5537. yy854:
  5538. #line 57 "strict_cpp.re"
  5539. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR16_T : T_IDENTIFIER); }
  5540. #line 5548 "strict_cpp_re.inc"
  5541. yy855:
  5542. yyaccept = 93;
  5543. yych = *(YYMARKER = ++YYCURSOR);
  5544. if (yybm[256+yych] & 128) {
  5545. goto yy54;
  5546. }
  5547. if (yych == '?') goto yy173;
  5548. if (yych == '\\') goto yy174;
  5549. yy856:
  5550. #line 58 "strict_cpp.re"
  5551. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR32_T : T_IDENTIFIER); }
  5552. #line 5560 "strict_cpp_re.inc"
  5553. yy857:
  5554. yyaccept = 94;
  5555. yych = *(YYMARKER = ++YYCURSOR);
  5556. if (yybm[256+yych] & 128) {
  5557. goto yy54;
  5558. }
  5559. if (yych == '?') goto yy173;
  5560. if (yych == '\\') goto yy174;
  5561. yy858:
  5562. #line 67 "strict_cpp.re"
  5563. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_AWAIT : T_IDENTIFIER); }
  5564. #line 5572 "strict_cpp_re.inc"
  5565. yy859:
  5566. yyaccept = 4;
  5567. yych = *(YYMARKER = ++YYCURSOR);
  5568. if (yych == 'n') goto yy908;
  5569. goto yy55;
  5570. yy860:
  5571. yyaccept = 95;
  5572. yych = *(YYMARKER = ++YYCURSOR);
  5573. if (yybm[256+yych] & 128) {
  5574. goto yy54;
  5575. }
  5576. if (yych == '?') goto yy173;
  5577. if (yych == '\\') goto yy174;
  5578. yy861:
  5579. #line 69 "strict_cpp.re"
  5580. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_YIELD : T_IDENTIFIER); }
  5581. #line 5589 "strict_cpp_re.inc"
  5582. yy862:
  5583. yyaccept = 4;
  5584. yych = *(YYMARKER = ++YYCURSOR);
  5585. if (yych == 's') goto yy910;
  5586. goto yy55;
  5587. yy863:
  5588. yyaccept = 4;
  5589. yych = *(YYMARKER = ++YYCURSOR);
  5590. if (yych == 'l') goto yy911;
  5591. goto yy55;
  5592. yy864:
  5593. yyaccept = 4;
  5594. yych = *(YYMARKER = ++YYCURSOR);
  5595. if (yych == 'r') goto yy913;
  5596. goto yy55;
  5597. yy865:
  5598. yyaccept = 4;
  5599. yych = *(YYMARKER = ++YYCURSOR);
  5600. if (yych == 't') goto yy915;
  5601. goto yy55;
  5602. yy866:
  5603. yyaccept = 96;
  5604. yych = *(YYMARKER = ++YYCURSOR);
  5605. if (yybm[256+yych] & 128) {
  5606. goto yy54;
  5607. }
  5608. if (yych == '?') goto yy173;
  5609. if (yych == '\\') goto yy174;
  5610. yy867:
  5611. #line 66 "strict_cpp.re"
  5612. { BOOST_WAVE_RET(T_CONTINUE); }
  5613. #line 5621 "strict_cpp_re.inc"
  5614. yy868:
  5615. yyaccept = 97;
  5616. yych = *(YYMARKER = ++YYCURSOR);
  5617. if (yybm[256+yych] & 128) {
  5618. goto yy54;
  5619. }
  5620. if (yych == '?') goto yy173;
  5621. if (yych == '\\') goto yy174;
  5622. yy869:
  5623. #line 70 "strict_cpp.re"
  5624. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_DECLTYPE : T_IDENTIFIER); }
  5625. #line 5633 "strict_cpp_re.inc"
  5626. yy870:
  5627. yyaccept = 4;
  5628. yych = *(YYMARKER = ++YYCURSOR);
  5629. if (yych == 'c') goto yy917;
  5630. goto yy55;
  5631. yy871:
  5632. yyaccept = 98;
  5633. yych = *(YYMARKER = ++YYCURSOR);
  5634. if (yybm[256+yych] & 128) {
  5635. goto yy54;
  5636. }
  5637. if (yych == '?') goto yy173;
  5638. if (yych == '\\') goto yy174;
  5639. yy872:
  5640. #line 78 "strict_cpp.re"
  5641. { BOOST_WAVE_RET(T_EXPLICIT); }
  5642. #line 5650 "strict_cpp_re.inc"
  5643. yy873:
  5644. yyaccept = 4;
  5645. yych = *(YYMARKER = ++YYCURSOR);
  5646. if (yych == 'e') goto yy918;
  5647. goto yy55;
  5648. yy874:
  5649. yyaccept = 99;
  5650. yych = *(YYMARKER = ++YYCURSOR);
  5651. if (yybm[256+yych] & 128) {
  5652. goto yy54;
  5653. }
  5654. if (yych == '?') goto yy173;
  5655. if (yych == '\\') goto yy174;
  5656. yy875:
  5657. #line 94 "strict_cpp.re"
  5658. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NOEXCEPT : T_IDENTIFIER); }
  5659. #line 5667 "strict_cpp_re.inc"
  5660. yy876:
  5661. yyaccept = 100;
  5662. yych = *(YYMARKER = ++YYCURSOR);
  5663. if (yybm[256+yych] & 128) {
  5664. goto yy54;
  5665. }
  5666. if (yych == '?') goto yy173;
  5667. if (yych == '\\') goto yy174;
  5668. yy877:
  5669. #line 96 "strict_cpp.re"
  5670. { BOOST_WAVE_RET(T_OPERATOR); }
  5671. #line 5679 "strict_cpp_re.inc"
  5672. yy878:
  5673. yyaccept = 4;
  5674. yych = *(YYMARKER = ++YYCURSOR);
  5675. if (yych == 'd') goto yy920;
  5676. goto yy55;
  5677. yy879:
  5678. yyaccept = 101;
  5679. yych = *(YYMARKER = ++YYCURSOR);
  5680. if (yybm[256+yych] & 128) {
  5681. goto yy54;
  5682. }
  5683. if (yych == '?') goto yy173;
  5684. if (yych == '\\') goto yy174;
  5685. yy880:
  5686. #line 100 "strict_cpp.re"
  5687. { BOOST_WAVE_RET(T_REGISTER); }
  5688. #line 5696 "strict_cpp_re.inc"
  5689. yy881:
  5690. yyaccept = 4;
  5691. yych = *(YYMARKER = ++YYCURSOR);
  5692. if (yych == 'r') goto yy922;
  5693. goto yy55;
  5694. yy882:
  5695. yyaccept = 102;
  5696. yych = *(YYMARKER = ++YYCURSOR);
  5697. if (yybm[256+yych] & 128) {
  5698. goto yy54;
  5699. }
  5700. if (yych == '?') goto yy173;
  5701. if (yych == '\\') goto yy174;
  5702. yy883:
  5703. #line 102 "strict_cpp.re"
  5704. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_REQUIRES : T_IDENTIFIER); }
  5705. #line 5713 "strict_cpp_re.inc"
  5706. yy884:
  5707. yyaccept = 4;
  5708. yych = *(YYMARKER = ++YYCURSOR);
  5709. if (yych == 's') goto yy923;
  5710. goto yy55;
  5711. yy885:
  5712. yyaccept = 4;
  5713. yych = *(YYMARKER = ++YYCURSOR);
  5714. if (yych == 'a') goto yy924;
  5715. goto yy55;
  5716. yy886:
  5717. yyaccept = 103;
  5718. yych = *(YYMARKER = ++YYCURSOR);
  5719. if (yybm[256+yych] & 128) {
  5720. goto yy54;
  5721. }
  5722. if (yych == '?') goto yy173;
  5723. if (yych == '\\') goto yy174;
  5724. yy887:
  5725. #line 112 "strict_cpp.re"
  5726. { BOOST_WAVE_RET(T_TEMPLATE); }
  5727. #line 5735 "strict_cpp_re.inc"
  5728. yy888:
  5729. yyaccept = 4;
  5730. yych = *(YYMARKER = ++YYCURSOR);
  5731. if (yych == 'o') goto yy925;
  5732. goto yy55;
  5733. yy889:
  5734. yyaccept = 104;
  5735. yych = *(YYMARKER = ++YYCURSOR);
  5736. if (yybm[256+yych] & 128) {
  5737. goto yy54;
  5738. }
  5739. if (yych == '?') goto yy173;
  5740. if (yych == '\\') goto yy174;
  5741. yy890:
  5742. #line 120 "strict_cpp.re"
  5743. { BOOST_WAVE_RET(T_TYPENAME); }
  5744. #line 5752 "strict_cpp_re.inc"
  5745. yy891:
  5746. yyaccept = 105;
  5747. yych = *(YYMARKER = ++YYCURSOR);
  5748. if (yybm[256+yych] & 128) {
  5749. goto yy54;
  5750. }
  5751. if (yych == '?') goto yy173;
  5752. if (yych == '\\') goto yy174;
  5753. yy892:
  5754. #line 122 "strict_cpp.re"
  5755. { BOOST_WAVE_RET(T_UNSIGNED); }
  5756. #line 5764 "strict_cpp_re.inc"
  5757. yy893:
  5758. yyaccept = 106;
  5759. yych = *(YYMARKER = ++YYCURSOR);
  5760. if (yybm[256+yych] & 128) {
  5761. goto yy54;
  5762. }
  5763. if (yych == '?') goto yy173;
  5764. if (yych == '\\') goto yy174;
  5765. yy894:
  5766. #line 126 "strict_cpp.re"
  5767. { BOOST_WAVE_RET(T_VOLATILE); }
  5768. #line 5776 "strict_cpp_re.inc"
  5769. yy895:
  5770. yych = *++YYCURSOR;
  5771. if (yych == 'n') goto yy926;
  5772. goto yy100;
  5773. yy896:
  5774. yyaccept = 89;
  5775. YYMARKER = ++YYCURSOR;
  5776. if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
  5777. yych = *YYCURSOR;
  5778. yy897:
  5779. if (yych <= ' ') {
  5780. if (yych <= '\n') {
  5781. if (yych == '\t') goto yy896;
  5782. goto yy843;
  5783. } else {
  5784. if (yych <= '\f') goto yy896;
  5785. if (yych <= 0x1F) goto yy843;
  5786. goto yy896;
  5787. }
  5788. } else {
  5789. if (yych <= '.') {
  5790. if (yych != '"') goto yy843;
  5791. } else {
  5792. if (yych <= '/') goto yy899;
  5793. if (yych == '<') goto yy900;
  5794. goto yy843;
  5795. }
  5796. }
  5797. yych = *++YYCURSOR;
  5798. if (yych == '"') goto yy100;
  5799. goto yy929;
  5800. yy899:
  5801. ++YYCURSOR;
  5802. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  5803. yych = *YYCURSOR;
  5804. if (yych == '*') goto yy930;
  5805. goto yy100;
  5806. yy900:
  5807. yych = *++YYCURSOR;
  5808. if (yych == '>') goto yy100;
  5809. goto yy933;
  5810. yy901:
  5811. yych = *++YYCURSOR;
  5812. if (yych == 'n') goto yy934;
  5813. goto yy100;
  5814. yy902:
  5815. yyaccept = 107;
  5816. yych = *(YYMARKER = ++YYCURSOR);
  5817. if (yybm[256+yych] & 128) {
  5818. goto yy54;
  5819. }
  5820. if (yych == '?') goto yy173;
  5821. if (yych == '\\') goto yy174;
  5822. yy903:
  5823. #line 141 "strict_cpp.re"
  5824. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FINALLY : T_IDENTIFIER); }
  5825. #line 5833 "strict_cpp_re.inc"
  5826. yy904:
  5827. yyaccept = 108;
  5828. yych = *(YYMARKER = ++YYCURSOR);
  5829. if (yybm[256+yych] & 128) {
  5830. goto yy54;
  5831. }
  5832. if (yych == '?') goto yy173;
  5833. if (yych == '\\') goto yy174;
  5834. yy905:
  5835. #line 135 "strict_cpp.re"
  5836. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_DECLSPEC : T_IDENTIFIER); }
  5837. #line 5845 "strict_cpp_re.inc"
  5838. yy906:
  5839. yyaccept = 109;
  5840. yych = *(YYMARKER = ++YYCURSOR);
  5841. if (yybm[256+yych] & 128) {
  5842. goto yy54;
  5843. }
  5844. if (yych == '?') goto yy173;
  5845. if (yych == '\\') goto yy174;
  5846. yy907:
  5847. #line 137 "strict_cpp.re"
  5848. { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FASTCALL : T_IDENTIFIER); }
  5849. #line 5857 "strict_cpp_re.inc"
  5850. yy908:
  5851. yyaccept = 110;
  5852. yych = *(YYMARKER = ++YYCURSOR);
  5853. if (yybm[256+yych] & 128) {
  5854. goto yy54;
  5855. }
  5856. if (yych == '?') goto yy173;
  5857. if (yych == '\\') goto yy174;
  5858. yy909:
  5859. #line 68 "strict_cpp.re"
  5860. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_RETURN : T_IDENTIFIER); }
  5861. #line 5869 "strict_cpp_re.inc"
  5862. yy910:
  5863. yyaccept = 4;
  5864. yych = *(YYMARKER = ++YYCURSOR);
  5865. if (yych == 't') goto yy935;
  5866. goto yy55;
  5867. yy911:
  5868. yyaccept = 111;
  5869. yych = *(YYMARKER = ++YYCURSOR);
  5870. if (yybm[256+yych] & 128) {
  5871. goto yy54;
  5872. }
  5873. if (yych == '?') goto yy173;
  5874. if (yych == '\\') goto yy174;
  5875. yy912:
  5876. #line 62 "strict_cpp.re"
  5877. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTEVAL : T_IDENTIFIER); }
  5878. #line 5886 "strict_cpp_re.inc"
  5879. yy913:
  5880. yyaccept = 112;
  5881. yych = *(YYMARKER = ++YYCURSOR);
  5882. if (yybm[256+yych] & 128) {
  5883. goto yy54;
  5884. }
  5885. if (yych == '?') goto yy173;
  5886. if (yych == '\\') goto yy174;
  5887. yy914:
  5888. #line 63 "strict_cpp.re"
  5889. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CONSTEXPR : T_IDENTIFIER); }
  5890. #line 5898 "strict_cpp_re.inc"
  5891. yy915:
  5892. yyaccept = 113;
  5893. yych = *(YYMARKER = ++YYCURSOR);
  5894. if (yybm[256+yych] & 128) {
  5895. goto yy54;
  5896. }
  5897. if (yych == '?') goto yy173;
  5898. if (yych == '\\') goto yy174;
  5899. yy916:
  5900. #line 64 "strict_cpp.re"
  5901. { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTINIT : T_IDENTIFIER); }
  5902. #line 5910 "strict_cpp_re.inc"
  5903. yy917:
  5904. yyaccept = 4;
  5905. yych = *(YYMARKER = ++YYCURSOR);
  5906. if (yych == 'a') goto yy937;
  5907. goto yy55;
  5908. yy918:
  5909. yyaccept = 114;
  5910. yych = *(YYMARKER = ++YYCURSOR);
  5911. if (yybm[256+yych] & 128) {
  5912. goto yy54;
  5913. }
  5914. if (yych == '?') goto yy173;
  5915. if (yych == '\\') goto yy174;
  5916. yy919:
  5917. #line 92 "strict_cpp.re"
  5918. { BOOST_WAVE_RET(T_NAMESPACE); }
  5919. #line 5927 "strict_cpp_re.inc"
  5920. yy920:
  5921. yyaccept = 115;
  5922. yych = *(YYMARKER = ++YYCURSOR);
  5923. if (yybm[256+yych] & 128) {
  5924. goto yy54;
  5925. }
  5926. if (yych == '?') goto yy173;
  5927. if (yych == '\\') goto yy174;
  5928. yy921:
  5929. #line 98 "strict_cpp.re"
  5930. { BOOST_WAVE_RET(T_PROTECTED); }
  5931. #line 5939 "strict_cpp_re.inc"
  5932. yy922:
  5933. yyaccept = 4;
  5934. yych = *(YYMARKER = ++YYCURSOR);
  5935. if (yych == 'e') goto yy938;
  5936. goto yy55;
  5937. yy923:
  5938. yyaccept = 4;
  5939. yych = *(YYMARKER = ++YYCURSOR);
  5940. if (yych == 's') goto yy939;
  5941. goto yy55;
  5942. yy924:
  5943. yyaccept = 4;
  5944. yych = *(YYMARKER = ++YYCURSOR);
  5945. if (yych == 's') goto yy940;
  5946. goto yy55;
  5947. yy925:
  5948. yyaccept = 4;
  5949. yych = *(YYMARKER = ++YYCURSOR);
  5950. if (yych == 'c') goto yy941;
  5951. goto yy55;
  5952. yy926:
  5953. ++YYCURSOR;
  5954. #line 340 "strict_cpp.re"
  5955. { BOOST_WAVE_RET(T_MSEXT_PP_ENDREGION); }
  5956. #line 5964 "strict_cpp_re.inc"
  5957. yy928:
  5958. ++YYCURSOR;
  5959. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  5960. yych = *YYCURSOR;
  5961. yy929:
  5962. if (yybm[0+yych] & 64) {
  5963. goto yy928;
  5964. }
  5965. if (yych <= 0x1F) goto yy100;
  5966. goto yy942;
  5967. yy930:
  5968. ++YYCURSOR;
  5969. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  5970. yych = *YYCURSOR;
  5971. if (yych <= 0x1F) {
  5972. if (yych <= 0x08) goto yy100;
  5973. if (yych <= '\r') goto yy930;
  5974. goto yy100;
  5975. } else {
  5976. if (yych == '*') goto yy944;
  5977. goto yy930;
  5978. }
  5979. yy932:
  5980. ++YYCURSOR;
  5981. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  5982. yych = *YYCURSOR;
  5983. yy933:
  5984. if (yybm[0+yych] & 128) {
  5985. goto yy932;
  5986. }
  5987. if (yych <= 0x1F) goto yy100;
  5988. goto yy946;
  5989. yy934:
  5990. yych = *++YYCURSOR;
  5991. if (yych == 'e') goto yy948;
  5992. goto yy100;
  5993. yy935:
  5994. yyaccept = 116;
  5995. yych = *(YYMARKER = ++YYCURSOR);
  5996. if (yybm[256+yych] & 128) {
  5997. goto yy54;
  5998. }
  5999. if (yych == '?') goto yy173;
  6000. if (yych == '\\') goto yy174;
  6001. yy936:
  6002. #line 65 "strict_cpp.re"
  6003. { BOOST_WAVE_RET(T_CONSTCAST); }
  6004. #line 6012 "strict_cpp_re.inc"
  6005. yy937:
  6006. yyaccept = 4;
  6007. yych = *(YYMARKER = ++YYCURSOR);
  6008. if (yych == 's') goto yy949;
  6009. goto yy55;
  6010. yy938:
  6011. yyaccept = 4;
  6012. yych = *(YYMARKER = ++YYCURSOR);
  6013. if (yych == 't') goto yy950;
  6014. goto yy55;
  6015. yy939:
  6016. yyaccept = 4;
  6017. yych = *(YYMARKER = ++YYCURSOR);
  6018. if (yych == 'e') goto yy951;
  6019. goto yy55;
  6020. yy940:
  6021. yyaccept = 4;
  6022. yych = *(YYMARKER = ++YYCURSOR);
  6023. if (yych == 't') goto yy952;
  6024. goto yy55;
  6025. yy941:
  6026. yyaccept = 4;
  6027. yych = *(YYMARKER = ++YYCURSOR);
  6028. if (yych == 'a') goto yy954;
  6029. goto yy55;
  6030. yy942:
  6031. ++YYCURSOR;
  6032. #line 320 "strict_cpp.re"
  6033. { BOOST_WAVE_RET(T_PP_QHEADER); }
  6034. #line 6042 "strict_cpp_re.inc"
  6035. yy944:
  6036. ++YYCURSOR;
  6037. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6038. yych = *YYCURSOR;
  6039. if (yych <= ')') {
  6040. if (yych <= 0x08) goto yy100;
  6041. if (yych <= '\r') goto yy930;
  6042. if (yych <= 0x1F) goto yy100;
  6043. goto yy930;
  6044. } else {
  6045. if (yych <= '*') goto yy944;
  6046. if (yych == '/') goto yy896;
  6047. goto yy930;
  6048. }
  6049. yy946:
  6050. ++YYCURSOR;
  6051. #line 317 "strict_cpp.re"
  6052. { BOOST_WAVE_RET(T_PP_HHEADER); }
  6053. #line 6061 "strict_cpp_re.inc"
  6054. yy948:
  6055. yych = *++YYCURSOR;
  6056. if (yych == 'x') goto yy955;
  6057. goto yy100;
  6058. yy949:
  6059. yyaccept = 4;
  6060. yych = *(YYMARKER = ++YYCURSOR);
  6061. if (yych == 't') goto yy956;
  6062. goto yy55;
  6063. yy950:
  6064. yyaccept = 4;
  6065. yych = *(YYMARKER = ++YYCURSOR);
  6066. if (yych == '_') goto yy958;
  6067. goto yy55;
  6068. yy951:
  6069. yyaccept = 4;
  6070. yych = *(YYMARKER = ++YYCURSOR);
  6071. if (yych == 'r') goto yy959;
  6072. goto yy55;
  6073. yy952:
  6074. yyaccept = 117;
  6075. yych = *(YYMARKER = ++YYCURSOR);
  6076. if (yybm[256+yych] & 128) {
  6077. goto yy54;
  6078. }
  6079. if (yych == '?') goto yy173;
  6080. if (yych == '\\') goto yy174;
  6081. yy953:
  6082. #line 108 "strict_cpp.re"
  6083. { BOOST_WAVE_RET(T_STATICCAST); }
  6084. #line 6092 "strict_cpp_re.inc"
  6085. yy954:
  6086. yyaccept = 4;
  6087. yych = *(YYMARKER = ++YYCURSOR);
  6088. if (yych == 'l') goto yy960;
  6089. goto yy55;
  6090. yy955:
  6091. yych = *++YYCURSOR;
  6092. if (yych == 't') goto yy896;
  6093. goto yy100;
  6094. yy956:
  6095. yyaccept = 118;
  6096. yych = *(YYMARKER = ++YYCURSOR);
  6097. if (yybm[256+yych] & 128) {
  6098. goto yy54;
  6099. }
  6100. if (yych == '?') goto yy173;
  6101. if (yych == '\\') goto yy174;
  6102. yy957:
  6103. #line 75 "strict_cpp.re"
  6104. { BOOST_WAVE_RET(T_DYNAMICCAST); }
  6105. #line 6113 "strict_cpp_re.inc"
  6106. yy958:
  6107. yyaccept = 4;
  6108. yych = *(YYMARKER = ++YYCURSOR);
  6109. if (yych == 'c') goto yy962;
  6110. goto yy55;
  6111. yy959:
  6112. yyaccept = 4;
  6113. yych = *(YYMARKER = ++YYCURSOR);
  6114. if (yych == 't') goto yy963;
  6115. goto yy55;
  6116. yy960:
  6117. yyaccept = 119;
  6118. yych = *(YYMARKER = ++YYCURSOR);
  6119. if (yybm[256+yych] & 128) {
  6120. goto yy54;
  6121. }
  6122. if (yych == '?') goto yy173;
  6123. if (yych == '\\') goto yy174;
  6124. yy961:
  6125. #line 114 "strict_cpp.re"
  6126. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_THREADLOCAL : T_IDENTIFIER); }
  6127. #line 6135 "strict_cpp_re.inc"
  6128. yy962:
  6129. yyaccept = 4;
  6130. yych = *(YYMARKER = ++YYCURSOR);
  6131. if (yych == 'a') goto yy965;
  6132. goto yy55;
  6133. yy963:
  6134. yyaccept = 120;
  6135. yych = *(YYMARKER = ++YYCURSOR);
  6136. if (yybm[256+yych] & 128) {
  6137. goto yy54;
  6138. }
  6139. if (yych == '?') goto yy173;
  6140. if (yych == '\\') goto yy174;
  6141. yy964:
  6142. #line 109 "strict_cpp.re"
  6143. { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_STATICASSERT : T_IDENTIFIER); }
  6144. #line 6152 "strict_cpp_re.inc"
  6145. yy965:
  6146. yyaccept = 4;
  6147. yych = *(YYMARKER = ++YYCURSOR);
  6148. if (yych != 's') goto yy55;
  6149. yyaccept = 4;
  6150. yych = *(YYMARKER = ++YYCURSOR);
  6151. if (yych != 't') goto yy55;
  6152. yyaccept = 121;
  6153. yych = *(YYMARKER = ++YYCURSOR);
  6154. if (yybm[256+yych] & 128) {
  6155. goto yy54;
  6156. }
  6157. if (yych == '?') goto yy173;
  6158. if (yych == '\\') goto yy174;
  6159. yy968:
  6160. #line 101 "strict_cpp.re"
  6161. { BOOST_WAVE_RET(T_REINTERPRETCAST); }
  6162. #line 6170 "strict_cpp_re.inc"
  6163. }
  6164. #line 372 "strict_cpp.re"
  6165. ccomment:
  6166. #line 6177 "strict_cpp_re.inc"
  6167. {
  6168. YYCTYPE yych;
  6169. if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
  6170. yych = *YYCURSOR;
  6171. if (yych <= '\f') {
  6172. if (yych <= 0x08) {
  6173. if (yych >= 0x01) goto yy973;
  6174. } else {
  6175. if (yych == '\n') goto yy977;
  6176. goto yy975;
  6177. }
  6178. } else {
  6179. if (yych <= 0x1F) {
  6180. if (yych <= '\r') goto yy979;
  6181. goto yy973;
  6182. } else {
  6183. if (yych == '*') goto yy980;
  6184. goto yy975;
  6185. }
  6186. }
  6187. ++YYCURSOR;
  6188. #line 390 "strict_cpp.re"
  6189. {
  6190. if(cursor == s->eof)
  6191. {
  6192. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  6193. (*s->error_proc)(s, lexing_exception::generic_lexing_warning,
  6194. "Unterminated 'C' style comment");
  6195. }
  6196. else
  6197. {
  6198. --YYCURSOR; // next call returns T_EOF
  6199. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  6200. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  6201. "invalid character: '\\000' in input stream");
  6202. }
  6203. }
  6204. #line 6215 "strict_cpp_re.inc"
  6205. yy973:
  6206. ++YYCURSOR;
  6207. #line 407 "strict_cpp.re"
  6208. {
  6209. // flag the error
  6210. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  6211. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  6212. "invalid character '\\%03o' in input stream", *--YYCURSOR);
  6213. }
  6214. #line 6225 "strict_cpp_re.inc"
  6215. yy975:
  6216. ++YYCURSOR;
  6217. yy976:
  6218. #line 387 "strict_cpp.re"
  6219. { goto ccomment; }
  6220. #line 6231 "strict_cpp_re.inc"
  6221. yy977:
  6222. ++YYCURSOR;
  6223. yy978:
  6224. #line 379 "strict_cpp.re"
  6225. {
  6226. /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF);*/
  6227. /*s->tok = cursor; */
  6228. s->line += count_backslash_newlines(s, cursor) +1;
  6229. cursor.column = 1;
  6230. goto ccomment;
  6231. }
  6232. #line 6243 "strict_cpp_re.inc"
  6233. yy979:
  6234. yych = *++YYCURSOR;
  6235. if (yych == '\n') goto yy977;
  6236. goto yy978;
  6237. yy980:
  6238. yych = *++YYCURSOR;
  6239. if (yych != '/') goto yy976;
  6240. ++YYCURSOR;
  6241. #line 376 "strict_cpp.re"
  6242. { BOOST_WAVE_RET(T_CCOMMENT); }
  6243. #line 6254 "strict_cpp_re.inc"
  6244. }
  6245. #line 413 "strict_cpp.re"
  6246. cppcomment:
  6247. #line 6261 "strict_cpp_re.inc"
  6248. {
  6249. YYCTYPE yych;
  6250. if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
  6251. yych = *YYCURSOR;
  6252. if (yych <= '\n') {
  6253. if (yych <= 0x00) goto yy985;
  6254. if (yych <= 0x08) goto yy987;
  6255. if (yych <= '\t') goto yy989;
  6256. goto yy991;
  6257. } else {
  6258. if (yych <= '\f') goto yy989;
  6259. if (yych <= '\r') goto yy993;
  6260. if (yych <= 0x1F) goto yy987;
  6261. goto yy989;
  6262. }
  6263. yy985:
  6264. ++YYCURSOR;
  6265. #line 429 "strict_cpp.re"
  6266. {
  6267. if (s->eof && cursor != s->eof)
  6268. {
  6269. --YYCURSOR; // next call returns T_EOF
  6270. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  6271. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  6272. "invalid character '\\000' in input stream");
  6273. }
  6274. --YYCURSOR; // next call returns T_EOF
  6275. if (!s->single_line_only)
  6276. {
  6277. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  6278. (*s->error_proc)(s, lexing_exception::generic_lexing_warning,
  6279. "Unterminated 'C++' style comment");
  6280. }
  6281. BOOST_WAVE_RET(T_CPPCOMMENT);
  6282. }
  6283. #line 6298 "strict_cpp_re.inc"
  6284. yy987:
  6285. ++YYCURSOR;
  6286. #line 449 "strict_cpp.re"
  6287. {
  6288. // flag the error
  6289. BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor
  6290. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  6291. "invalid character '\\%03o' in input stream", *--YYCURSOR);
  6292. }
  6293. #line 6308 "strict_cpp_re.inc"
  6294. yy989:
  6295. ++YYCURSOR;
  6296. #line 426 "strict_cpp.re"
  6297. { goto cppcomment; }
  6298. #line 6313 "strict_cpp_re.inc"
  6299. yy991:
  6300. ++YYCURSOR;
  6301. yy992:
  6302. #line 418 "strict_cpp.re"
  6303. {
  6304. /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF); */
  6305. /*s->tok = cursor; */
  6306. s->line++;
  6307. cursor.column = 1;
  6308. BOOST_WAVE_RET(T_CPPCOMMENT);
  6309. }
  6310. #line 6325 "strict_cpp_re.inc"
  6311. yy993:
  6312. yych = *++YYCURSOR;
  6313. if (yych == '\n') goto yy991;
  6314. goto yy992;
  6315. }
  6316. #line 455 "strict_cpp.re"
  6317. /* this subscanner is called whenever a pp_number has been started */
  6318. pp_number:
  6319. {
  6320. cursor = uchar_wrapper(s->tok = s->cur, s->column = s->curr_column);
  6321. marker = uchar_wrapper(s->ptr);
  6322. limit = uchar_wrapper(s->lim);
  6323. if (s->detect_pp_numbers) {
  6324. #line 6343 "strict_cpp_re.inc"
  6325. {
  6326. YYCTYPE yych;
  6327. static const unsigned char yybm[] = {
  6328. 0, 0, 0, 0, 0, 0, 0, 0,
  6329. 0, 0, 0, 0, 0, 0, 0, 0,
  6330. 0, 0, 0, 0, 0, 0, 0, 0,
  6331. 0, 0, 0, 0, 0, 0, 0, 0,
  6332. 0, 0, 0, 0, 0, 0, 0, 0,
  6333. 0, 0, 0, 0, 0, 0, 64, 0,
  6334. 64, 64, 64, 64, 64, 64, 64, 64,
  6335. 64, 64, 0, 0, 0, 0, 0, 0,
  6336. 0, 64, 64, 64, 64, 128, 64, 64,
  6337. 64, 64, 64, 64, 64, 64, 64, 64,
  6338. 64, 64, 64, 64, 64, 64, 64, 64,
  6339. 64, 64, 64, 0, 0, 0, 0, 64,
  6340. 0, 64, 64, 64, 64, 128, 64, 64,
  6341. 64, 64, 64, 64, 64, 64, 64, 64,
  6342. 64, 64, 64, 64, 64, 64, 64, 64,
  6343. 64, 64, 64, 0, 0, 0, 0, 0,
  6344. 0, 0, 0, 0, 0, 0, 0, 0,
  6345. 0, 0, 0, 0, 0, 0, 0, 0,
  6346. 0, 0, 0, 0, 0, 0, 0, 0,
  6347. 0, 0, 0, 0, 0, 0, 0, 0,
  6348. 0, 0, 0, 0, 0, 0, 0, 0,
  6349. 0, 0, 0, 0, 0, 0, 0, 0,
  6350. 0, 0, 0, 0, 0, 0, 0, 0,
  6351. 0, 0, 0, 0, 0, 0, 0, 0,
  6352. 0, 0, 0, 0, 0, 0, 0, 0,
  6353. 0, 0, 0, 0, 0, 0, 0, 0,
  6354. 0, 0, 0, 0, 0, 0, 0, 0,
  6355. 0, 0, 0, 0, 0, 0, 0, 0,
  6356. 0, 0, 0, 0, 0, 0, 0, 0,
  6357. 0, 0, 0, 0, 0, 0, 0, 0,
  6358. 0, 0, 0, 0, 0, 0, 0, 0,
  6359. 0, 0, 0, 0, 0, 0, 0, 0,
  6360. };
  6361. if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
  6362. yych = *YYCURSOR;
  6363. if (yych == '.') goto yy998;
  6364. if (yych <= '/') goto yy996;
  6365. if (yych <= '9') goto yy999;
  6366. yy996:
  6367. ++YYCURSOR;
  6368. yy997:
  6369. #line 469 "strict_cpp.re"
  6370. { BOOST_ASSERT(false); }
  6371. #line 6390 "strict_cpp_re.inc"
  6372. yy998:
  6373. yych = *++YYCURSOR;
  6374. if (yych <= '/') goto yy997;
  6375. if (yych >= ':') goto yy997;
  6376. yy999:
  6377. YYMARKER = ++YYCURSOR;
  6378. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6379. yych = *YYCURSOR;
  6380. if (yybm[0+yych] & 64) {
  6381. goto yy999;
  6382. }
  6383. if (yych <= 'E') {
  6384. if (yych == '?') goto yy1002;
  6385. if (yych >= 'A') goto yy1004;
  6386. } else {
  6387. if (yych <= '\\') {
  6388. if (yych >= '\\') goto yy1006;
  6389. } else {
  6390. if (yych <= '`') goto yy1001;
  6391. if (yych <= 'e') goto yy1004;
  6392. }
  6393. }
  6394. yy1001:
  6395. #line 467 "strict_cpp.re"
  6396. { BOOST_WAVE_RET(T_PP_NUMBER); }
  6397. #line 6416 "strict_cpp_re.inc"
  6398. yy1002:
  6399. ++YYCURSOR;
  6400. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6401. yych = *YYCURSOR;
  6402. if (yych == '?') goto yy1007;
  6403. yy1003:
  6404. YYCURSOR = YYMARKER;
  6405. goto yy1001;
  6406. yy1004:
  6407. YYMARKER = ++YYCURSOR;
  6408. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6409. yych = *YYCURSOR;
  6410. if (yybm[0+yych] & 128) {
  6411. goto yy1004;
  6412. }
  6413. if (yych <= '?') {
  6414. if (yych <= '.') {
  6415. if (yych == '+') goto yy999;
  6416. if (yych <= ',') goto yy1001;
  6417. goto yy999;
  6418. } else {
  6419. if (yych <= '/') goto yy1001;
  6420. if (yych <= '9') goto yy999;
  6421. if (yych <= '>') goto yy1001;
  6422. goto yy1002;
  6423. }
  6424. } else {
  6425. if (yych <= '\\') {
  6426. if (yych <= '@') goto yy1001;
  6427. if (yych <= 'Z') goto yy999;
  6428. if (yych <= '[') goto yy1001;
  6429. } else {
  6430. if (yych <= '_') {
  6431. if (yych <= '^') goto yy1001;
  6432. goto yy999;
  6433. } else {
  6434. if (yych <= '`') goto yy1001;
  6435. if (yych <= 'z') goto yy999;
  6436. goto yy1001;
  6437. }
  6438. }
  6439. }
  6440. yy1006:
  6441. ++YYCURSOR;
  6442. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6443. yych = *YYCURSOR;
  6444. if (yych == 'U') goto yy1008;
  6445. if (yych == 'u') goto yy1009;
  6446. goto yy1003;
  6447. yy1007:
  6448. ++YYCURSOR;
  6449. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6450. yych = *YYCURSOR;
  6451. if (yych == '/') goto yy1006;
  6452. goto yy1003;
  6453. yy1008:
  6454. ++YYCURSOR;
  6455. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6456. yych = *YYCURSOR;
  6457. if (yych <= '@') {
  6458. if (yych <= '/') goto yy1003;
  6459. if (yych <= '9') goto yy1010;
  6460. goto yy1003;
  6461. } else {
  6462. if (yych <= 'F') goto yy1010;
  6463. if (yych <= '`') goto yy1003;
  6464. if (yych <= 'f') goto yy1010;
  6465. goto yy1003;
  6466. }
  6467. yy1009:
  6468. ++YYCURSOR;
  6469. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6470. yych = *YYCURSOR;
  6471. if (yych <= '@') {
  6472. if (yych <= '/') goto yy1003;
  6473. if (yych <= '9') goto yy1011;
  6474. goto yy1003;
  6475. } else {
  6476. if (yych <= 'F') goto yy1011;
  6477. if (yych <= '`') goto yy1003;
  6478. if (yych <= 'f') goto yy1011;
  6479. goto yy1003;
  6480. }
  6481. yy1010:
  6482. ++YYCURSOR;
  6483. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6484. yych = *YYCURSOR;
  6485. if (yych <= '@') {
  6486. if (yych <= '/') goto yy1003;
  6487. if (yych <= '9') goto yy1012;
  6488. goto yy1003;
  6489. } else {
  6490. if (yych <= 'F') goto yy1012;
  6491. if (yych <= '`') goto yy1003;
  6492. if (yych <= 'f') goto yy1012;
  6493. goto yy1003;
  6494. }
  6495. yy1011:
  6496. ++YYCURSOR;
  6497. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6498. yych = *YYCURSOR;
  6499. if (yych <= '@') {
  6500. if (yych <= '/') goto yy1003;
  6501. if (yych <= '9') goto yy1013;
  6502. goto yy1003;
  6503. } else {
  6504. if (yych <= 'F') goto yy1013;
  6505. if (yych <= '`') goto yy1003;
  6506. if (yych <= 'f') goto yy1013;
  6507. goto yy1003;
  6508. }
  6509. yy1012:
  6510. ++YYCURSOR;
  6511. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6512. yych = *YYCURSOR;
  6513. if (yych <= '@') {
  6514. if (yych <= '/') goto yy1003;
  6515. if (yych <= '9') goto yy1014;
  6516. goto yy1003;
  6517. } else {
  6518. if (yych <= 'F') goto yy1014;
  6519. if (yych <= '`') goto yy1003;
  6520. if (yych <= 'f') goto yy1014;
  6521. goto yy1003;
  6522. }
  6523. yy1013:
  6524. ++YYCURSOR;
  6525. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6526. yych = *YYCURSOR;
  6527. if (yych <= '@') {
  6528. if (yych <= '/') goto yy1003;
  6529. if (yych <= '9') goto yy1015;
  6530. goto yy1003;
  6531. } else {
  6532. if (yych <= 'F') goto yy1015;
  6533. if (yych <= '`') goto yy1003;
  6534. if (yych <= 'f') goto yy1015;
  6535. goto yy1003;
  6536. }
  6537. yy1014:
  6538. ++YYCURSOR;
  6539. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6540. yych = *YYCURSOR;
  6541. if (yych <= '@') {
  6542. if (yych <= '/') goto yy1003;
  6543. if (yych <= '9') goto yy1009;
  6544. goto yy1003;
  6545. } else {
  6546. if (yych <= 'F') goto yy1009;
  6547. if (yych <= '`') goto yy1003;
  6548. if (yych <= 'f') goto yy1009;
  6549. goto yy1003;
  6550. }
  6551. yy1015:
  6552. ++YYCURSOR;
  6553. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6554. yych = *YYCURSOR;
  6555. if (yych <= '@') {
  6556. if (yych <= '/') goto yy1003;
  6557. if (yych <= '9') goto yy999;
  6558. goto yy1003;
  6559. } else {
  6560. if (yych <= 'F') goto yy999;
  6561. if (yych <= '`') goto yy1003;
  6562. if (yych <= 'f') goto yy999;
  6563. goto yy1003;
  6564. }
  6565. }
  6566. #line 470 "strict_cpp.re"
  6567. }
  6568. else {
  6569. #line 6590 "strict_cpp_re.inc"
  6570. {
  6571. YYCTYPE yych;
  6572. unsigned int yyaccept = 0;
  6573. static const unsigned char yybm[] = {
  6574. 0, 0, 0, 0, 0, 0, 0, 0,
  6575. 0, 0, 0, 0, 0, 0, 0, 0,
  6576. 0, 0, 0, 0, 0, 0, 0, 0,
  6577. 0, 0, 0, 0, 0, 0, 0, 0,
  6578. 0, 0, 0, 0, 0, 0, 0, 0,
  6579. 0, 0, 0, 0, 0, 0, 0, 0,
  6580. 224, 224, 224, 224, 224, 224, 224, 224,
  6581. 160, 160, 0, 0, 0, 0, 0, 0,
  6582. 0, 128, 128, 128, 128, 128, 128, 0,
  6583. 0, 0, 0, 0, 0, 0, 0, 0,
  6584. 0, 0, 0, 0, 0, 0, 0, 0,
  6585. 0, 0, 0, 0, 0, 0, 0, 0,
  6586. 0, 128, 128, 128, 128, 128, 128, 0,
  6587. 0, 0, 0, 0, 0, 0, 0, 0,
  6588. 0, 0, 0, 0, 0, 0, 0, 0,
  6589. 0, 0, 0, 0, 0, 0, 0, 0,
  6590. 0, 0, 0, 0, 0, 0, 0, 0,
  6591. 0, 0, 0, 0, 0, 0, 0, 0,
  6592. 0, 0, 0, 0, 0, 0, 0, 0,
  6593. 0, 0, 0, 0, 0, 0, 0, 0,
  6594. 0, 0, 0, 0, 0, 0, 0, 0,
  6595. 0, 0, 0, 0, 0, 0, 0, 0,
  6596. 0, 0, 0, 0, 0, 0, 0, 0,
  6597. 0, 0, 0, 0, 0, 0, 0, 0,
  6598. 0, 0, 0, 0, 0, 0, 0, 0,
  6599. 0, 0, 0, 0, 0, 0, 0, 0,
  6600. 0, 0, 0, 0, 0, 0, 0, 0,
  6601. 0, 0, 0, 0, 0, 0, 0, 0,
  6602. 0, 0, 0, 0, 0, 0, 0, 0,
  6603. 0, 0, 0, 0, 0, 0, 0, 0,
  6604. 0, 0, 0, 0, 0, 0, 0, 0,
  6605. 0, 0, 0, 0, 0, 0, 0, 0,
  6606. };
  6607. if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
  6608. yych = *YYCURSOR;
  6609. if (yych <= '/') {
  6610. if (yych == '.') goto yy1020;
  6611. } else {
  6612. if (yych <= '0') goto yy1021;
  6613. if (yych <= '9') goto yy1023;
  6614. }
  6615. ++YYCURSOR;
  6616. yy1019:
  6617. #line 479 "strict_cpp.re"
  6618. { BOOST_ASSERT(false); }
  6619. #line 6640 "strict_cpp_re.inc"
  6620. yy1020:
  6621. yych = *++YYCURSOR;
  6622. if (yych <= '/') goto yy1019;
  6623. if (yych <= '9') goto yy1025;
  6624. goto yy1019;
  6625. yy1021:
  6626. yyaccept = 0;
  6627. yych = *(YYMARKER = ++YYCURSOR);
  6628. if (yych == 'X') goto yy1034;
  6629. if (yych == 'x') goto yy1034;
  6630. goto yy1029;
  6631. yy1022:
  6632. #line 477 "strict_cpp.re"
  6633. { goto integer_suffix; }
  6634. #line 6655 "strict_cpp_re.inc"
  6635. yy1023:
  6636. yyaccept = 0;
  6637. YYMARKER = ++YYCURSOR;
  6638. if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
  6639. yych = *YYCURSOR;
  6640. if (yybm[0+yych] & 32) {
  6641. goto yy1023;
  6642. }
  6643. if (yych <= 'D') {
  6644. if (yych != '.') goto yy1022;
  6645. } else {
  6646. if (yych <= 'E') goto yy1033;
  6647. if (yych == 'e') goto yy1033;
  6648. goto yy1022;
  6649. }
  6650. yy1025:
  6651. yyaccept = 1;
  6652. YYMARKER = ++YYCURSOR;
  6653. if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
  6654. yych = *YYCURSOR;
  6655. if (yych <= 'K') {
  6656. if (yych <= 'D') {
  6657. if (yych <= '/') goto yy1027;
  6658. if (yych <= '9') goto yy1025;
  6659. } else {
  6660. if (yych <= 'E') goto yy1033;
  6661. if (yych <= 'F') goto yy1035;
  6662. }
  6663. } else {
  6664. if (yych <= 'e') {
  6665. if (yych <= 'L') goto yy1036;
  6666. if (yych >= 'e') goto yy1033;
  6667. } else {
  6668. if (yych <= 'f') goto yy1035;
  6669. if (yych == 'l') goto yy1036;
  6670. }
  6671. }
  6672. yy1027:
  6673. #line 475 "strict_cpp.re"
  6674. { BOOST_WAVE_RET(T_FLOATLIT); }
  6675. #line 6696 "strict_cpp_re.inc"
  6676. yy1028:
  6677. yyaccept = 0;
  6678. YYMARKER = ++YYCURSOR;
  6679. if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
  6680. yych = *YYCURSOR;
  6681. yy1029:
  6682. if (yybm[0+yych] & 64) {
  6683. goto yy1028;
  6684. }
  6685. if (yych <= '9') {
  6686. if (yych == '.') goto yy1025;
  6687. if (yych <= '/') goto yy1022;
  6688. } else {
  6689. if (yych <= 'E') {
  6690. if (yych <= 'D') goto yy1022;
  6691. goto yy1033;
  6692. } else {
  6693. if (yych == 'e') goto yy1033;
  6694. goto yy1022;
  6695. }
  6696. }
  6697. yy1030:
  6698. ++YYCURSOR;
  6699. if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
  6700. yych = *YYCURSOR;
  6701. if (yych <= '9') {
  6702. if (yych == '.') goto yy1025;
  6703. if (yych >= '0') goto yy1030;
  6704. } else {
  6705. if (yych <= 'E') {
  6706. if (yych >= 'E') goto yy1033;
  6707. } else {
  6708. if (yych == 'e') goto yy1033;
  6709. }
  6710. }
  6711. yy1032:
  6712. YYCURSOR = YYMARKER;
  6713. if (yyaccept == 0) {
  6714. goto yy1022;
  6715. } else {
  6716. goto yy1027;
  6717. }
  6718. yy1033:
  6719. yych = *++YYCURSOR;
  6720. if (yych <= ',') {
  6721. if (yych == '+') goto yy1037;
  6722. goto yy1032;
  6723. } else {
  6724. if (yych <= '-') goto yy1037;
  6725. if (yych <= '/') goto yy1032;
  6726. if (yych <= '9') goto yy1038;
  6727. goto yy1032;
  6728. }
  6729. yy1034:
  6730. yych = *++YYCURSOR;
  6731. if (yybm[0+yych] & 128) {
  6732. goto yy1040;
  6733. }
  6734. goto yy1032;
  6735. yy1035:
  6736. yych = *++YYCURSOR;
  6737. if (yych == 'L') goto yy1042;
  6738. if (yych == 'l') goto yy1042;
  6739. goto yy1027;
  6740. yy1036:
  6741. yych = *++YYCURSOR;
  6742. if (yych == 'F') goto yy1042;
  6743. if (yych == 'f') goto yy1042;
  6744. goto yy1027;
  6745. yy1037:
  6746. yych = *++YYCURSOR;
  6747. if (yych <= '/') goto yy1032;
  6748. if (yych >= ':') goto yy1032;
  6749. yy1038:
  6750. ++YYCURSOR;
  6751. if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
  6752. yych = *YYCURSOR;
  6753. if (yych <= 'K') {
  6754. if (yych <= '9') {
  6755. if (yych <= '/') goto yy1027;
  6756. goto yy1038;
  6757. } else {
  6758. if (yych == 'F') goto yy1035;
  6759. goto yy1027;
  6760. }
  6761. } else {
  6762. if (yych <= 'f') {
  6763. if (yych <= 'L') goto yy1036;
  6764. if (yych <= 'e') goto yy1027;
  6765. goto yy1035;
  6766. } else {
  6767. if (yych == 'l') goto yy1036;
  6768. goto yy1027;
  6769. }
  6770. }
  6771. yy1040:
  6772. ++YYCURSOR;
  6773. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  6774. yych = *YYCURSOR;
  6775. if (yybm[0+yych] & 128) {
  6776. goto yy1040;
  6777. }
  6778. goto yy1022;
  6779. yy1042:
  6780. ++YYCURSOR;
  6781. goto yy1027;
  6782. }
  6783. #line 480 "strict_cpp.re"
  6784. }
  6785. }
  6786. /* this subscanner is called, whenever an Integer was recognized */
  6787. integer_suffix:
  6788. {
  6789. if (s->enable_ms_extensions) {
  6790. #line 6814 "strict_cpp_re.inc"
  6791. {
  6792. YYCTYPE yych;
  6793. if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
  6794. yych = *(YYMARKER = YYCURSOR);
  6795. if (yych <= 'h') {
  6796. if (yych <= 'L') {
  6797. if (yych >= 'L') goto yy1046;
  6798. } else {
  6799. if (yych == 'U') goto yy1047;
  6800. }
  6801. } else {
  6802. if (yych <= 'l') {
  6803. if (yych <= 'i') goto yy1048;
  6804. if (yych >= 'l') goto yy1050;
  6805. } else {
  6806. if (yych == 'u') goto yy1047;
  6807. }
  6808. }
  6809. yy1045:
  6810. #line 493 "strict_cpp.re"
  6811. { BOOST_WAVE_RET(T_INTLIT); }
  6812. #line 6836 "strict_cpp_re.inc"
  6813. yy1046:
  6814. yych = *++YYCURSOR;
  6815. if (yych <= 'T') {
  6816. if (yych == 'L') goto yy1051;
  6817. goto yy1045;
  6818. } else {
  6819. if (yych <= 'U') goto yy1053;
  6820. if (yych == 'u') goto yy1053;
  6821. goto yy1045;
  6822. }
  6823. yy1047:
  6824. yych = *++YYCURSOR;
  6825. if (yych == 'L') goto yy1054;
  6826. if (yych == 'l') goto yy1055;
  6827. goto yy1045;
  6828. yy1048:
  6829. yych = *++YYCURSOR;
  6830. if (yych == '6') goto yy1056;
  6831. yy1049:
  6832. YYCURSOR = YYMARKER;
  6833. goto yy1045;
  6834. yy1050:
  6835. yych = *++YYCURSOR;
  6836. if (yych <= 'k') {
  6837. if (yych == 'U') goto yy1053;
  6838. goto yy1045;
  6839. } else {
  6840. if (yych <= 'l') goto yy1051;
  6841. if (yych == 'u') goto yy1053;
  6842. goto yy1045;
  6843. }
  6844. yy1051:
  6845. yych = *++YYCURSOR;
  6846. if (yych == 'U') goto yy1057;
  6847. if (yych == 'u') goto yy1057;
  6848. yy1052:
  6849. #line 490 "strict_cpp.re"
  6850. { BOOST_WAVE_RET(T_LONGINTLIT); }
  6851. #line 6875 "strict_cpp_re.inc"
  6852. yy1053:
  6853. ++YYCURSOR;
  6854. goto yy1045;
  6855. yy1054:
  6856. yych = *++YYCURSOR;
  6857. if (yych == 'L') goto yy1057;
  6858. goto yy1045;
  6859. yy1055:
  6860. yych = *++YYCURSOR;
  6861. if (yych == 'l') goto yy1057;
  6862. goto yy1045;
  6863. yy1056:
  6864. yych = *++YYCURSOR;
  6865. if (yych != '4') goto yy1049;
  6866. yy1057:
  6867. ++YYCURSOR;
  6868. goto yy1052;
  6869. }
  6870. #line 494 "strict_cpp.re"
  6871. }
  6872. else {
  6873. #line 6899 "strict_cpp_re.inc"
  6874. {
  6875. YYCTYPE yych;
  6876. if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
  6877. yych = *YYCURSOR;
  6878. if (yych <= 'U') {
  6879. if (yych == 'L') goto yy1061;
  6880. if (yych >= 'U') goto yy1062;
  6881. } else {
  6882. if (yych <= 'l') {
  6883. if (yych >= 'l') goto yy1063;
  6884. } else {
  6885. if (yych == 'u') goto yy1062;
  6886. }
  6887. }
  6888. yy1060:
  6889. #line 502 "strict_cpp.re"
  6890. { BOOST_WAVE_RET(T_INTLIT); }
  6891. #line 6917 "strict_cpp_re.inc"
  6892. yy1061:
  6893. yych = *++YYCURSOR;
  6894. if (yych <= 'T') {
  6895. if (yych == 'L') goto yy1064;
  6896. goto yy1060;
  6897. } else {
  6898. if (yych <= 'U') goto yy1066;
  6899. if (yych == 'u') goto yy1066;
  6900. goto yy1060;
  6901. }
  6902. yy1062:
  6903. yych = *++YYCURSOR;
  6904. if (yych == 'L') goto yy1067;
  6905. if (yych == 'l') goto yy1068;
  6906. goto yy1060;
  6907. yy1063:
  6908. yych = *++YYCURSOR;
  6909. if (yych <= 'k') {
  6910. if (yych == 'U') goto yy1066;
  6911. goto yy1060;
  6912. } else {
  6913. if (yych <= 'l') goto yy1064;
  6914. if (yych == 'u') goto yy1066;
  6915. goto yy1060;
  6916. }
  6917. yy1064:
  6918. yych = *++YYCURSOR;
  6919. if (yych == 'U') goto yy1069;
  6920. if (yych == 'u') goto yy1069;
  6921. yy1065:
  6922. #line 499 "strict_cpp.re"
  6923. { BOOST_WAVE_RET(T_LONGINTLIT); }
  6924. #line 6950 "strict_cpp_re.inc"
  6925. yy1066:
  6926. ++YYCURSOR;
  6927. goto yy1060;
  6928. yy1067:
  6929. yych = *++YYCURSOR;
  6930. if (yych == 'L') goto yy1069;
  6931. goto yy1060;
  6932. yy1068:
  6933. yych = *++YYCURSOR;
  6934. if (yych != 'l') goto yy1060;
  6935. yy1069:
  6936. ++YYCURSOR;
  6937. goto yy1065;
  6938. }
  6939. #line 503 "strict_cpp.re"
  6940. }
  6941. // re2c will complain about -Wmatch-empty-string above
  6942. // it's OK because we've already matched an integer
  6943. // and will return T_INTLIT
  6944. }
  6945. /* this subscanner is invoked for C++0x extended character literals */
  6946. extcharlit:
  6947. {
  6948. #line 6978 "strict_cpp_re.inc"
  6949. {
  6950. YYCTYPE yych;
  6951. static const unsigned char yybm[] = {
  6952. 0, 0, 0, 0, 0, 0, 0, 0,
  6953. 0, 0, 0, 0, 0, 0, 0, 0,
  6954. 0, 0, 0, 0, 0, 0, 0, 0,
  6955. 0, 0, 0, 0, 0, 0, 0, 0,
  6956. 0, 0, 0, 0, 0, 0, 0, 0,
  6957. 0, 0, 0, 0, 0, 0, 0, 0,
  6958. 128, 128, 128, 128, 128, 128, 128, 128,
  6959. 128, 128, 0, 0, 0, 0, 0, 0,
  6960. 0, 128, 128, 128, 128, 128, 128, 0,
  6961. 0, 0, 0, 0, 0, 0, 0, 0,
  6962. 0, 0, 0, 0, 0, 0, 0, 0,
  6963. 0, 0, 0, 0, 0, 0, 0, 0,
  6964. 0, 128, 128, 128, 128, 128, 128, 0,
  6965. 0, 0, 0, 0, 0, 0, 0, 0,
  6966. 0, 0, 0, 0, 0, 0, 0, 0,
  6967. 0, 0, 0, 0, 0, 0, 0, 0,
  6968. 0, 0, 0, 0, 0, 0, 0, 0,
  6969. 0, 0, 0, 0, 0, 0, 0, 0,
  6970. 0, 0, 0, 0, 0, 0, 0, 0,
  6971. 0, 0, 0, 0, 0, 0, 0, 0,
  6972. 0, 0, 0, 0, 0, 0, 0, 0,
  6973. 0, 0, 0, 0, 0, 0, 0, 0,
  6974. 0, 0, 0, 0, 0, 0, 0, 0,
  6975. 0, 0, 0, 0, 0, 0, 0, 0,
  6976. 0, 0, 0, 0, 0, 0, 0, 0,
  6977. 0, 0, 0, 0, 0, 0, 0, 0,
  6978. 0, 0, 0, 0, 0, 0, 0, 0,
  6979. 0, 0, 0, 0, 0, 0, 0, 0,
  6980. 0, 0, 0, 0, 0, 0, 0, 0,
  6981. 0, 0, 0, 0, 0, 0, 0, 0,
  6982. 0, 0, 0, 0, 0, 0, 0, 0,
  6983. 0, 0, 0, 0, 0, 0, 0, 0,
  6984. };
  6985. if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
  6986. yych = *YYCURSOR;
  6987. if (yych <= 0x1F) {
  6988. if (yych <= '\n') {
  6989. if (yych <= 0x08) goto yy1072;
  6990. if (yych <= '\t') goto yy1074;
  6991. goto yy1076;
  6992. } else {
  6993. if (yych <= '\f') goto yy1074;
  6994. if (yych <= '\r') goto yy1076;
  6995. }
  6996. } else {
  6997. if (yych <= '>') {
  6998. if (yych == '\'') goto yy1076;
  6999. goto yy1074;
  7000. } else {
  7001. if (yych <= '?') goto yy1077;
  7002. if (yych == '\\') goto yy1078;
  7003. goto yy1074;
  7004. }
  7005. }
  7006. yy1072:
  7007. ++YYCURSOR;
  7008. #line 515 "strict_cpp.re"
  7009. {
  7010. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  7011. "Invalid character in raw string delimiter ('%c')", yych);
  7012. }
  7013. #line 7043 "strict_cpp_re.inc"
  7014. yy1074:
  7015. yych = *++YYCURSOR;
  7016. if (yych == '\'') goto yy1079;
  7017. yy1075:
  7018. #line 524 "strict_cpp.re"
  7019. { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); }
  7020. #line 7050 "strict_cpp_re.inc"
  7021. yy1076:
  7022. ++YYCURSOR;
  7023. goto yy1075;
  7024. yy1077:
  7025. yych = *(YYMARKER = ++YYCURSOR);
  7026. if (yych == '\'') goto yy1079;
  7027. if (yych == '?') goto yy1081;
  7028. goto yy1075;
  7029. yy1078:
  7030. yych = *(YYMARKER = ++YYCURSOR);
  7031. if (yych <= '`') {
  7032. if (yych <= '7') {
  7033. if (yych <= '&') {
  7034. if (yych == '"') goto yy1083;
  7035. goto yy1075;
  7036. } else {
  7037. if (yych <= '\'') goto yy1083;
  7038. if (yych <= '/') goto yy1075;
  7039. goto yy1084;
  7040. }
  7041. } else {
  7042. if (yych <= 'T') {
  7043. if (yych == '?') goto yy1085;
  7044. goto yy1075;
  7045. } else {
  7046. if (yych <= 'U') goto yy1086;
  7047. if (yych == '\\') goto yy1083;
  7048. goto yy1075;
  7049. }
  7050. }
  7051. } else {
  7052. if (yych <= 'r') {
  7053. if (yych <= 'f') {
  7054. if (yych <= 'b') goto yy1083;
  7055. if (yych <= 'e') goto yy1075;
  7056. goto yy1083;
  7057. } else {
  7058. if (yych == 'n') goto yy1083;
  7059. if (yych <= 'q') goto yy1075;
  7060. goto yy1083;
  7061. }
  7062. } else {
  7063. if (yych <= 'u') {
  7064. if (yych <= 's') goto yy1075;
  7065. if (yych <= 't') goto yy1083;
  7066. goto yy1087;
  7067. } else {
  7068. if (yych <= 'v') goto yy1083;
  7069. if (yych == 'x') goto yy1088;
  7070. goto yy1075;
  7071. }
  7072. }
  7073. }
  7074. yy1079:
  7075. ++YYCURSOR;
  7076. #line 521 "strict_cpp.re"
  7077. { BOOST_WAVE_RET(T_CHARLIT); }
  7078. #line 7108 "strict_cpp_re.inc"
  7079. yy1081:
  7080. yych = *++YYCURSOR;
  7081. if (yych == '/') goto yy1089;
  7082. yy1082:
  7083. YYCURSOR = YYMARKER;
  7084. goto yy1075;
  7085. yy1083:
  7086. yych = *++YYCURSOR;
  7087. if (yych == '\'') goto yy1079;
  7088. goto yy1082;
  7089. yy1084:
  7090. yych = *++YYCURSOR;
  7091. if (yych == '\'') goto yy1079;
  7092. if (yych <= '/') goto yy1082;
  7093. if (yych <= '7') goto yy1090;
  7094. goto yy1082;
  7095. yy1085:
  7096. yych = *++YYCURSOR;
  7097. if (yych == '\'') goto yy1079;
  7098. if (yych == '?') goto yy1091;
  7099. goto yy1082;
  7100. yy1086:
  7101. yych = *++YYCURSOR;
  7102. if (yych <= '@') {
  7103. if (yych <= '/') goto yy1082;
  7104. if (yych <= '9') goto yy1092;
  7105. goto yy1082;
  7106. } else {
  7107. if (yych <= 'F') goto yy1092;
  7108. if (yych <= '`') goto yy1082;
  7109. if (yych <= 'f') goto yy1092;
  7110. goto yy1082;
  7111. }
  7112. yy1087:
  7113. yych = *++YYCURSOR;
  7114. if (yych <= '@') {
  7115. if (yych <= '/') goto yy1082;
  7116. if (yych <= '9') goto yy1093;
  7117. goto yy1082;
  7118. } else {
  7119. if (yych <= 'F') goto yy1093;
  7120. if (yych <= '`') goto yy1082;
  7121. if (yych <= 'f') goto yy1093;
  7122. goto yy1082;
  7123. }
  7124. yy1088:
  7125. yych = *++YYCURSOR;
  7126. if (yych == '\'') goto yy1082;
  7127. goto yy1095;
  7128. yy1089:
  7129. yych = *++YYCURSOR;
  7130. if (yych <= '`') {
  7131. if (yych <= '7') {
  7132. if (yych <= '&') {
  7133. if (yych == '"') goto yy1083;
  7134. goto yy1082;
  7135. } else {
  7136. if (yych <= '\'') goto yy1083;
  7137. if (yych <= '/') goto yy1082;
  7138. goto yy1084;
  7139. }
  7140. } else {
  7141. if (yych <= 'T') {
  7142. if (yych == '?') goto yy1085;
  7143. goto yy1082;
  7144. } else {
  7145. if (yych <= 'U') goto yy1086;
  7146. if (yych == '\\') goto yy1083;
  7147. goto yy1082;
  7148. }
  7149. }
  7150. } else {
  7151. if (yych <= 'r') {
  7152. if (yych <= 'f') {
  7153. if (yych <= 'b') goto yy1083;
  7154. if (yych <= 'e') goto yy1082;
  7155. goto yy1083;
  7156. } else {
  7157. if (yych == 'n') goto yy1083;
  7158. if (yych <= 'q') goto yy1082;
  7159. goto yy1083;
  7160. }
  7161. } else {
  7162. if (yych <= 'u') {
  7163. if (yych <= 's') goto yy1082;
  7164. if (yych <= 't') goto yy1083;
  7165. goto yy1087;
  7166. } else {
  7167. if (yych <= 'v') goto yy1083;
  7168. if (yych == 'x') goto yy1088;
  7169. goto yy1082;
  7170. }
  7171. }
  7172. }
  7173. yy1090:
  7174. yych = *++YYCURSOR;
  7175. if (yych == '\'') goto yy1079;
  7176. if (yych <= '/') goto yy1082;
  7177. if (yych <= '7') goto yy1083;
  7178. goto yy1082;
  7179. yy1091:
  7180. yych = *++YYCURSOR;
  7181. if (yych == '/') goto yy1083;
  7182. goto yy1082;
  7183. yy1092:
  7184. yych = *++YYCURSOR;
  7185. if (yych <= '@') {
  7186. if (yych <= '/') goto yy1082;
  7187. if (yych <= '9') goto yy1096;
  7188. goto yy1082;
  7189. } else {
  7190. if (yych <= 'F') goto yy1096;
  7191. if (yych <= '`') goto yy1082;
  7192. if (yych <= 'f') goto yy1096;
  7193. goto yy1082;
  7194. }
  7195. yy1093:
  7196. yych = *++YYCURSOR;
  7197. if (yych <= '@') {
  7198. if (yych <= '/') goto yy1082;
  7199. if (yych <= '9') goto yy1097;
  7200. goto yy1082;
  7201. } else {
  7202. if (yych <= 'F') goto yy1097;
  7203. if (yych <= '`') goto yy1082;
  7204. if (yych <= 'f') goto yy1097;
  7205. goto yy1082;
  7206. }
  7207. yy1094:
  7208. ++YYCURSOR;
  7209. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7210. yych = *YYCURSOR;
  7211. yy1095:
  7212. if (yybm[0+yych] & 128) {
  7213. goto yy1094;
  7214. }
  7215. if (yych == '\'') goto yy1079;
  7216. goto yy1082;
  7217. yy1096:
  7218. yych = *++YYCURSOR;
  7219. if (yych <= '@') {
  7220. if (yych <= '/') goto yy1082;
  7221. if (yych <= '9') goto yy1098;
  7222. goto yy1082;
  7223. } else {
  7224. if (yych <= 'F') goto yy1098;
  7225. if (yych <= '`') goto yy1082;
  7226. if (yych <= 'f') goto yy1098;
  7227. goto yy1082;
  7228. }
  7229. yy1097:
  7230. yych = *++YYCURSOR;
  7231. if (yych <= '@') {
  7232. if (yych <= '/') goto yy1082;
  7233. if (yych <= '9') goto yy1099;
  7234. goto yy1082;
  7235. } else {
  7236. if (yych <= 'F') goto yy1099;
  7237. if (yych <= '`') goto yy1082;
  7238. if (yych <= 'f') goto yy1099;
  7239. goto yy1082;
  7240. }
  7241. yy1098:
  7242. yych = *++YYCURSOR;
  7243. if (yych <= '@') {
  7244. if (yych <= '/') goto yy1082;
  7245. if (yych <= '9') goto yy1087;
  7246. goto yy1082;
  7247. } else {
  7248. if (yych <= 'F') goto yy1087;
  7249. if (yych <= '`') goto yy1082;
  7250. if (yych <= 'f') goto yy1087;
  7251. goto yy1082;
  7252. }
  7253. yy1099:
  7254. yych = *++YYCURSOR;
  7255. if (yych <= '@') {
  7256. if (yych <= '/') goto yy1082;
  7257. if (yych <= '9') goto yy1083;
  7258. goto yy1082;
  7259. } else {
  7260. if (yych <= 'F') goto yy1083;
  7261. if (yych <= '`') goto yy1082;
  7262. if (yych <= 'f') goto yy1083;
  7263. goto yy1082;
  7264. }
  7265. }
  7266. #line 525 "strict_cpp.re"
  7267. }
  7268. /* this subscanner is invoked for C++0x extended character string literals */
  7269. extstringlit:
  7270. {
  7271. #line 7304 "strict_cpp_re.inc"
  7272. {
  7273. YYCTYPE yych;
  7274. unsigned int yyaccept = 0;
  7275. static const unsigned char yybm[] = {
  7276. 0, 0, 0, 0, 0, 0, 0, 0,
  7277. 0, 32, 0, 32, 32, 0, 0, 0,
  7278. 0, 0, 0, 0, 0, 0, 0, 0,
  7279. 0, 0, 0, 0, 0, 0, 0, 0,
  7280. 32, 32, 0, 32, 32, 32, 32, 32,
  7281. 32, 32, 32, 32, 32, 32, 32, 32,
  7282. 32, 32, 32, 32, 32, 32, 32, 32,
  7283. 32, 32, 32, 32, 32, 32, 32, 64,
  7284. 32, 32, 32, 32, 32, 32, 32, 32,
  7285. 32, 32, 32, 32, 32, 32, 32, 32,
  7286. 32, 32, 32, 32, 32, 32, 32, 32,
  7287. 32, 32, 32, 32, 128, 32, 32, 32,
  7288. 32, 32, 32, 32, 32, 32, 32, 32,
  7289. 32, 32, 32, 32, 32, 32, 32, 32,
  7290. 32, 32, 32, 32, 32, 32, 32, 32,
  7291. 32, 32, 32, 32, 32, 32, 32, 32,
  7292. 32, 32, 32, 32, 32, 32, 32, 32,
  7293. 32, 32, 32, 32, 32, 32, 32, 32,
  7294. 32, 32, 32, 32, 32, 32, 32, 32,
  7295. 32, 32, 32, 32, 32, 32, 32, 32,
  7296. 32, 32, 32, 32, 32, 32, 32, 32,
  7297. 32, 32, 32, 32, 32, 32, 32, 32,
  7298. 32, 32, 32, 32, 32, 32, 32, 32,
  7299. 32, 32, 32, 32, 32, 32, 32, 32,
  7300. 32, 32, 32, 32, 32, 32, 32, 32,
  7301. 32, 32, 32, 32, 32, 32, 32, 32,
  7302. 32, 32, 32, 32, 32, 32, 32, 32,
  7303. 32, 32, 32, 32, 32, 32, 32, 32,
  7304. 32, 32, 32, 32, 32, 32, 32, 32,
  7305. 32, 32, 32, 32, 32, 32, 32, 32,
  7306. 32, 32, 32, 32, 32, 32, 32, 32,
  7307. 32, 32, 32, 32, 32, 32, 32, 32,
  7308. };
  7309. if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
  7310. yych = *YYCURSOR;
  7311. if (yych <= 0x1F) {
  7312. if (yych <= '\n') {
  7313. if (yych <= 0x08) goto yy1102;
  7314. if (yych <= '\t') goto yy1104;
  7315. goto yy1106;
  7316. } else {
  7317. if (yych <= '\f') goto yy1104;
  7318. if (yych <= '\r') goto yy1106;
  7319. }
  7320. } else {
  7321. if (yych <= '>') {
  7322. if (yych == '"') goto yy1107;
  7323. goto yy1104;
  7324. } else {
  7325. if (yych <= '?') goto yy1109;
  7326. if (yych == '\\') goto yy1110;
  7327. goto yy1104;
  7328. }
  7329. }
  7330. yy1102:
  7331. ++YYCURSOR;
  7332. #line 532 "strict_cpp.re"
  7333. {
  7334. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  7335. "Invalid character in raw string delimiter ('%c')", yych);
  7336. }
  7337. #line 7370 "strict_cpp_re.inc"
  7338. yy1104:
  7339. yyaccept = 0;
  7340. yych = *(YYMARKER = ++YYCURSOR);
  7341. if (yych <= '\n') {
  7342. if (yych == '\t') goto yy1112;
  7343. } else {
  7344. if (yych <= '\f') goto yy1112;
  7345. if (yych >= ' ') goto yy1112;
  7346. }
  7347. yy1105:
  7348. #line 541 "strict_cpp.re"
  7349. { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); }
  7350. #line 7383 "strict_cpp_re.inc"
  7351. yy1106:
  7352. ++YYCURSOR;
  7353. goto yy1105;
  7354. yy1107:
  7355. ++YYCURSOR;
  7356. yy1108:
  7357. #line 538 "strict_cpp.re"
  7358. { BOOST_WAVE_RET(T_STRINGLIT); }
  7359. #line 7392 "strict_cpp_re.inc"
  7360. yy1109:
  7361. yyaccept = 0;
  7362. yych = *(YYMARKER = ++YYCURSOR);
  7363. if (yybm[0+yych] & 64) {
  7364. goto yy1116;
  7365. }
  7366. if (yych <= '\n') {
  7367. if (yych == '\t') goto yy1112;
  7368. goto yy1105;
  7369. } else {
  7370. if (yych <= '\f') goto yy1112;
  7371. if (yych <= 0x1F) goto yy1105;
  7372. goto yy1112;
  7373. }
  7374. yy1110:
  7375. yyaccept = 0;
  7376. yych = *(YYMARKER = ++YYCURSOR);
  7377. if (yych <= '`') {
  7378. if (yych <= '7') {
  7379. if (yych <= '&') {
  7380. if (yych != '"') goto yy1105;
  7381. } else {
  7382. if (yych <= '\'') goto yy1111;
  7383. if (yych <= '/') goto yy1105;
  7384. }
  7385. } else {
  7386. if (yych <= 'T') {
  7387. if (yych != '?') goto yy1105;
  7388. } else {
  7389. if (yych <= 'U') goto yy1118;
  7390. if (yych != '\\') goto yy1105;
  7391. }
  7392. }
  7393. } else {
  7394. if (yych <= 'r') {
  7395. if (yych <= 'f') {
  7396. if (yych <= 'b') goto yy1111;
  7397. if (yych <= 'e') goto yy1105;
  7398. } else {
  7399. if (yych == 'n') goto yy1111;
  7400. if (yych <= 'q') goto yy1105;
  7401. }
  7402. } else {
  7403. if (yych <= 'u') {
  7404. if (yych <= 's') goto yy1105;
  7405. if (yych >= 'u') goto yy1119;
  7406. } else {
  7407. if (yych <= 'v') goto yy1111;
  7408. if (yych == 'x') goto yy1120;
  7409. goto yy1105;
  7410. }
  7411. }
  7412. }
  7413. yy1111:
  7414. ++YYCURSOR;
  7415. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7416. yych = *YYCURSOR;
  7417. yy1112:
  7418. if (yybm[0+yych] & 32) {
  7419. goto yy1111;
  7420. }
  7421. if (yych <= 0x1F) goto yy1113;
  7422. if (yych <= '"') goto yy1107;
  7423. if (yych <= '?') goto yy1114;
  7424. goto yy1115;
  7425. yy1113:
  7426. YYCURSOR = YYMARKER;
  7427. if (yyaccept == 0) {
  7428. goto yy1105;
  7429. } else {
  7430. goto yy1108;
  7431. }
  7432. yy1114:
  7433. ++YYCURSOR;
  7434. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7435. yych = *YYCURSOR;
  7436. if (yybm[0+yych] & 32) {
  7437. goto yy1111;
  7438. }
  7439. if (yych <= 0x1F) goto yy1113;
  7440. if (yych <= '"') goto yy1107;
  7441. if (yych <= '?') goto yy1116;
  7442. yy1115:
  7443. ++YYCURSOR;
  7444. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7445. yych = *YYCURSOR;
  7446. if (yych <= '`') {
  7447. if (yych <= '7') {
  7448. if (yych <= '&') {
  7449. if (yych == '"') goto yy1111;
  7450. goto yy1113;
  7451. } else {
  7452. if (yych <= '\'') goto yy1111;
  7453. if (yych <= '/') goto yy1113;
  7454. goto yy1111;
  7455. }
  7456. } else {
  7457. if (yych <= 'T') {
  7458. if (yych == '?') goto yy1111;
  7459. goto yy1113;
  7460. } else {
  7461. if (yych <= 'U') goto yy1118;
  7462. if (yych == '\\') goto yy1111;
  7463. goto yy1113;
  7464. }
  7465. }
  7466. } else {
  7467. if (yych <= 'r') {
  7468. if (yych <= 'f') {
  7469. if (yych <= 'b') goto yy1111;
  7470. if (yych <= 'e') goto yy1113;
  7471. goto yy1111;
  7472. } else {
  7473. if (yych == 'n') goto yy1111;
  7474. if (yych <= 'q') goto yy1113;
  7475. goto yy1111;
  7476. }
  7477. } else {
  7478. if (yych <= 'u') {
  7479. if (yych <= 's') goto yy1113;
  7480. if (yych <= 't') goto yy1111;
  7481. goto yy1119;
  7482. } else {
  7483. if (yych <= 'v') goto yy1111;
  7484. if (yych == 'x') goto yy1120;
  7485. goto yy1113;
  7486. }
  7487. }
  7488. }
  7489. yy1116:
  7490. ++YYCURSOR;
  7491. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7492. yych = *YYCURSOR;
  7493. if (yybm[0+yych] & 64) {
  7494. goto yy1116;
  7495. }
  7496. if (yych <= '!') {
  7497. if (yych <= '\n') {
  7498. if (yych == '\t') goto yy1111;
  7499. goto yy1113;
  7500. } else {
  7501. if (yych <= '\f') goto yy1111;
  7502. if (yych <= 0x1F) goto yy1113;
  7503. goto yy1111;
  7504. }
  7505. } else {
  7506. if (yych <= '/') {
  7507. if (yych <= '"') goto yy1107;
  7508. if (yych <= '.') goto yy1111;
  7509. goto yy1121;
  7510. } else {
  7511. if (yych == '\\') goto yy1115;
  7512. goto yy1111;
  7513. }
  7514. }
  7515. yy1118:
  7516. ++YYCURSOR;
  7517. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7518. yych = *YYCURSOR;
  7519. if (yych <= '@') {
  7520. if (yych <= '/') goto yy1113;
  7521. if (yych <= '9') goto yy1123;
  7522. goto yy1113;
  7523. } else {
  7524. if (yych <= 'F') goto yy1123;
  7525. if (yych <= '`') goto yy1113;
  7526. if (yych <= 'f') goto yy1123;
  7527. goto yy1113;
  7528. }
  7529. yy1119:
  7530. ++YYCURSOR;
  7531. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7532. yych = *YYCURSOR;
  7533. if (yych <= '@') {
  7534. if (yych <= '/') goto yy1113;
  7535. if (yych <= '9') goto yy1124;
  7536. goto yy1113;
  7537. } else {
  7538. if (yych <= 'F') goto yy1124;
  7539. if (yych <= '`') goto yy1113;
  7540. if (yych <= 'f') goto yy1124;
  7541. goto yy1113;
  7542. }
  7543. yy1120:
  7544. ++YYCURSOR;
  7545. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7546. yych = *YYCURSOR;
  7547. if (yych <= '@') {
  7548. if (yych <= '/') goto yy1113;
  7549. if (yych <= '9') goto yy1111;
  7550. goto yy1113;
  7551. } else {
  7552. if (yych <= 'F') goto yy1111;
  7553. if (yych <= '`') goto yy1113;
  7554. if (yych <= 'f') goto yy1111;
  7555. goto yy1113;
  7556. }
  7557. yy1121:
  7558. ++YYCURSOR;
  7559. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7560. yych = *YYCURSOR;
  7561. if (yybm[0+yych] & 32) {
  7562. goto yy1111;
  7563. }
  7564. if (yych <= 0x1F) goto yy1113;
  7565. if (yych <= '"') goto yy1125;
  7566. if (yych <= '?') goto yy1114;
  7567. goto yy1121;
  7568. yy1123:
  7569. ++YYCURSOR;
  7570. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7571. yych = *YYCURSOR;
  7572. if (yych <= '@') {
  7573. if (yych <= '/') goto yy1113;
  7574. if (yych <= '9') goto yy1126;
  7575. goto yy1113;
  7576. } else {
  7577. if (yych <= 'F') goto yy1126;
  7578. if (yych <= '`') goto yy1113;
  7579. if (yych <= 'f') goto yy1126;
  7580. goto yy1113;
  7581. }
  7582. yy1124:
  7583. ++YYCURSOR;
  7584. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7585. yych = *YYCURSOR;
  7586. if (yych <= '@') {
  7587. if (yych <= '/') goto yy1113;
  7588. if (yych <= '9') goto yy1127;
  7589. goto yy1113;
  7590. } else {
  7591. if (yych <= 'F') goto yy1127;
  7592. if (yych <= '`') goto yy1113;
  7593. if (yych <= 'f') goto yy1127;
  7594. goto yy1113;
  7595. }
  7596. yy1125:
  7597. yyaccept = 1;
  7598. YYMARKER = ++YYCURSOR;
  7599. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7600. yych = *YYCURSOR;
  7601. if (yybm[0+yych] & 32) {
  7602. goto yy1111;
  7603. }
  7604. if (yych <= 0x1F) goto yy1108;
  7605. if (yych <= '"') goto yy1107;
  7606. if (yych <= '?') goto yy1114;
  7607. goto yy1115;
  7608. yy1126:
  7609. ++YYCURSOR;
  7610. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7611. yych = *YYCURSOR;
  7612. if (yych <= '@') {
  7613. if (yych <= '/') goto yy1113;
  7614. if (yych <= '9') goto yy1128;
  7615. goto yy1113;
  7616. } else {
  7617. if (yych <= 'F') goto yy1128;
  7618. if (yych <= '`') goto yy1113;
  7619. if (yych <= 'f') goto yy1128;
  7620. goto yy1113;
  7621. }
  7622. yy1127:
  7623. ++YYCURSOR;
  7624. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7625. yych = *YYCURSOR;
  7626. if (yych <= '@') {
  7627. if (yych <= '/') goto yy1113;
  7628. if (yych <= '9') goto yy1120;
  7629. goto yy1113;
  7630. } else {
  7631. if (yych <= 'F') goto yy1120;
  7632. if (yych <= '`') goto yy1113;
  7633. if (yych <= 'f') goto yy1120;
  7634. goto yy1113;
  7635. }
  7636. yy1128:
  7637. ++YYCURSOR;
  7638. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7639. yych = *YYCURSOR;
  7640. if (yych <= '@') {
  7641. if (yych <= '/') goto yy1113;
  7642. if (yych <= '9') goto yy1119;
  7643. goto yy1113;
  7644. } else {
  7645. if (yych <= 'F') goto yy1119;
  7646. if (yych <= '`') goto yy1113;
  7647. if (yych <= 'f') goto yy1119;
  7648. goto yy1113;
  7649. }
  7650. }
  7651. #line 542 "strict_cpp.re"
  7652. }
  7653. extrawstringlit:
  7654. {
  7655. // we have consumed the double quote but not the lparen
  7656. // at this point we may see a delimiter
  7657. #line 7694 "strict_cpp_re.inc"
  7658. {
  7659. YYCTYPE yych;
  7660. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7661. yych = *YYCURSOR;
  7662. if (yych <= '(') {
  7663. if (yych <= 0x1F) goto yy1131;
  7664. if (yych <= '\'') goto yy1133;
  7665. goto yy1135;
  7666. } else {
  7667. if (yych <= ')') goto yy1131;
  7668. if (yych != '\\') goto yy1133;
  7669. }
  7670. yy1131:
  7671. ++YYCURSOR;
  7672. #line 551 "strict_cpp.re"
  7673. {
  7674. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  7675. "Invalid character in raw string delimiter ('%c')", yych);
  7676. }
  7677. #line 7714 "strict_cpp_re.inc"
  7678. yy1133:
  7679. ++YYCURSOR;
  7680. #line 558 "strict_cpp.re"
  7681. {
  7682. rawstringdelim += yych;
  7683. if (rawstringdelim.size() > 16)
  7684. {
  7685. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  7686. "Raw string delimiter of excessive length (\"%s\") in input stream",
  7687. rawstringdelim.c_str());
  7688. }
  7689. goto extrawstringlit;
  7690. }
  7691. #line 7728 "strict_cpp_re.inc"
  7692. yy1135:
  7693. ++YYCURSOR;
  7694. #line 570 "strict_cpp.re"
  7695. {
  7696. rawstringdelim = ")" + rawstringdelim;
  7697. goto extrawstringbody;
  7698. }
  7699. #line 7736 "strict_cpp_re.inc"
  7700. }
  7701. #line 575 "strict_cpp.re"
  7702. }
  7703. extrawstringbody:
  7704. {
  7705. #line 7745 "strict_cpp_re.inc"
  7706. {
  7707. YYCTYPE yych;
  7708. static const unsigned char yybm[] = {
  7709. 0, 0, 0, 0, 0, 0, 0, 0,
  7710. 0, 0, 0, 0, 0, 0, 0, 0,
  7711. 0, 0, 0, 0, 0, 0, 0, 0,
  7712. 0, 0, 0, 0, 0, 0, 0, 0,
  7713. 0, 0, 0, 0, 0, 0, 0, 0,
  7714. 0, 0, 0, 0, 0, 0, 0, 0,
  7715. 128, 128, 128, 128, 128, 128, 128, 128,
  7716. 128, 128, 0, 0, 0, 0, 0, 0,
  7717. 0, 128, 128, 128, 128, 128, 128, 0,
  7718. 0, 0, 0, 0, 0, 0, 0, 0,
  7719. 0, 0, 0, 0, 0, 0, 0, 0,
  7720. 0, 0, 0, 0, 0, 0, 0, 0,
  7721. 0, 128, 128, 128, 128, 128, 128, 0,
  7722. 0, 0, 0, 0, 0, 0, 0, 0,
  7723. 0, 0, 0, 0, 0, 0, 0, 0,
  7724. 0, 0, 0, 0, 0, 0, 0, 0,
  7725. 0, 0, 0, 0, 0, 0, 0, 0,
  7726. 0, 0, 0, 0, 0, 0, 0, 0,
  7727. 0, 0, 0, 0, 0, 0, 0, 0,
  7728. 0, 0, 0, 0, 0, 0, 0, 0,
  7729. 0, 0, 0, 0, 0, 0, 0, 0,
  7730. 0, 0, 0, 0, 0, 0, 0, 0,
  7731. 0, 0, 0, 0, 0, 0, 0, 0,
  7732. 0, 0, 0, 0, 0, 0, 0, 0,
  7733. 0, 0, 0, 0, 0, 0, 0, 0,
  7734. 0, 0, 0, 0, 0, 0, 0, 0,
  7735. 0, 0, 0, 0, 0, 0, 0, 0,
  7736. 0, 0, 0, 0, 0, 0, 0, 0,
  7737. 0, 0, 0, 0, 0, 0, 0, 0,
  7738. 0, 0, 0, 0, 0, 0, 0, 0,
  7739. 0, 0, 0, 0, 0, 0, 0, 0,
  7740. 0, 0, 0, 0, 0, 0, 0, 0,
  7741. };
  7742. if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
  7743. yych = *YYCURSOR;
  7744. if (yych <= 0x1F) {
  7745. if (yych <= '\n') {
  7746. if (yych <= 0x08) goto yy1139;
  7747. if (yych <= '\t') goto yy1141;
  7748. goto yy1143;
  7749. } else {
  7750. if (yych <= '\f') goto yy1141;
  7751. if (yych <= '\r') goto yy1145;
  7752. }
  7753. } else {
  7754. if (yych <= '>') {
  7755. if (yych == '"') goto yy1146;
  7756. goto yy1141;
  7757. } else {
  7758. if (yych <= '?') goto yy1148;
  7759. if (yych == '\\') goto yy1149;
  7760. goto yy1141;
  7761. }
  7762. }
  7763. yy1139:
  7764. ++YYCURSOR;
  7765. #line 582 "strict_cpp.re"
  7766. {
  7767. (*s->error_proc)(s, lexing_exception::generic_lexing_error,
  7768. "Invalid character in raw string body ('%c')", yych);
  7769. }
  7770. #line 7810 "strict_cpp_re.inc"
  7771. yy1141:
  7772. ++YYCURSOR;
  7773. yy1142:
  7774. #line 595 "strict_cpp.re"
  7775. {
  7776. goto extrawstringbody;
  7777. }
  7778. #line 7818 "strict_cpp_re.inc"
  7779. yy1143:
  7780. ++YYCURSOR;
  7781. yy1144:
  7782. #line 588 "strict_cpp.re"
  7783. {
  7784. s->line += count_backslash_newlines(s, cursor) +1;
  7785. cursor.column = 1;
  7786. goto extrawstringbody;
  7787. }
  7788. #line 7828 "strict_cpp_re.inc"
  7789. yy1145:
  7790. yych = *++YYCURSOR;
  7791. if (yych == '\n') goto yy1143;
  7792. goto yy1144;
  7793. yy1146:
  7794. ++YYCURSOR;
  7795. #line 600 "strict_cpp.re"
  7796. {
  7797. // check to see if we have completed a delimiter
  7798. if (string_type((char *)(YYCURSOR - rawstringdelim.size() - 1),
  7799. (char *)(YYCURSOR - 1)) == rawstringdelim)
  7800. {
  7801. BOOST_WAVE_RET(T_RAWSTRINGLIT);
  7802. } else {
  7803. goto extrawstringbody;
  7804. }
  7805. }
  7806. #line 7846 "strict_cpp_re.inc"
  7807. yy1148:
  7808. yych = *(YYMARKER = ++YYCURSOR);
  7809. if (yych == '?') goto yy1150;
  7810. goto yy1142;
  7811. yy1149:
  7812. yych = *(YYMARKER = ++YYCURSOR);
  7813. if (yych <= '`') {
  7814. if (yych <= '7') {
  7815. if (yych <= '&') {
  7816. if (yych == '"') goto yy1141;
  7817. goto yy1142;
  7818. } else {
  7819. if (yych <= '\'') goto yy1141;
  7820. if (yych <= '/') goto yy1142;
  7821. goto yy1152;
  7822. }
  7823. } else {
  7824. if (yych <= 'T') {
  7825. if (yych == '?') goto yy1153;
  7826. goto yy1142;
  7827. } else {
  7828. if (yych <= 'U') goto yy1154;
  7829. if (yych == '\\') goto yy1141;
  7830. goto yy1142;
  7831. }
  7832. }
  7833. } else {
  7834. if (yych <= 'r') {
  7835. if (yych <= 'f') {
  7836. if (yych <= 'b') goto yy1141;
  7837. if (yych <= 'e') goto yy1142;
  7838. goto yy1141;
  7839. } else {
  7840. if (yych == 'n') goto yy1141;
  7841. if (yych <= 'q') goto yy1142;
  7842. goto yy1141;
  7843. }
  7844. } else {
  7845. if (yych <= 'u') {
  7846. if (yych <= 's') goto yy1142;
  7847. if (yych <= 't') goto yy1141;
  7848. goto yy1155;
  7849. } else {
  7850. if (yych <= 'v') goto yy1141;
  7851. if (yych == 'x') goto yy1156;
  7852. goto yy1142;
  7853. }
  7854. }
  7855. }
  7856. yy1150:
  7857. yych = *++YYCURSOR;
  7858. if (yych == '/') goto yy1157;
  7859. yy1151:
  7860. YYCURSOR = YYMARKER;
  7861. goto yy1142;
  7862. yy1152:
  7863. yych = *++YYCURSOR;
  7864. if (yych <= '/') goto yy1142;
  7865. if (yych <= '7') goto yy1158;
  7866. goto yy1142;
  7867. yy1153:
  7868. yych = *(YYMARKER = ++YYCURSOR);
  7869. if (yych == '?') goto yy1159;
  7870. goto yy1142;
  7871. yy1154:
  7872. yych = *++YYCURSOR;
  7873. if (yych <= '@') {
  7874. if (yych <= '/') goto yy1151;
  7875. if (yych <= '9') goto yy1160;
  7876. goto yy1151;
  7877. } else {
  7878. if (yych <= 'F') goto yy1160;
  7879. if (yych <= '`') goto yy1151;
  7880. if (yych <= 'f') goto yy1160;
  7881. goto yy1151;
  7882. }
  7883. yy1155:
  7884. yych = *++YYCURSOR;
  7885. if (yych <= '@') {
  7886. if (yych <= '/') goto yy1151;
  7887. if (yych <= '9') goto yy1161;
  7888. goto yy1151;
  7889. } else {
  7890. if (yych <= 'F') goto yy1161;
  7891. if (yych <= '`') goto yy1151;
  7892. if (yych <= 'f') goto yy1161;
  7893. goto yy1151;
  7894. }
  7895. yy1156:
  7896. yych = *++YYCURSOR;
  7897. if (yybm[0+yych] & 128) {
  7898. goto yy1162;
  7899. }
  7900. goto yy1151;
  7901. yy1157:
  7902. yych = *++YYCURSOR;
  7903. if (yych <= '`') {
  7904. if (yych <= '7') {
  7905. if (yych <= '&') {
  7906. if (yych == '"') goto yy1141;
  7907. goto yy1151;
  7908. } else {
  7909. if (yych <= '\'') goto yy1141;
  7910. if (yych <= '/') goto yy1151;
  7911. goto yy1152;
  7912. }
  7913. } else {
  7914. if (yych <= 'T') {
  7915. if (yych == '?') goto yy1153;
  7916. goto yy1151;
  7917. } else {
  7918. if (yych <= 'U') goto yy1154;
  7919. if (yych == '\\') goto yy1141;
  7920. goto yy1151;
  7921. }
  7922. }
  7923. } else {
  7924. if (yych <= 'r') {
  7925. if (yych <= 'f') {
  7926. if (yych <= 'b') goto yy1141;
  7927. if (yych <= 'e') goto yy1151;
  7928. goto yy1141;
  7929. } else {
  7930. if (yych == 'n') goto yy1141;
  7931. if (yych <= 'q') goto yy1151;
  7932. goto yy1141;
  7933. }
  7934. } else {
  7935. if (yych <= 'u') {
  7936. if (yych <= 's') goto yy1151;
  7937. if (yych <= 't') goto yy1141;
  7938. goto yy1155;
  7939. } else {
  7940. if (yych <= 'v') goto yy1141;
  7941. if (yych == 'x') goto yy1156;
  7942. goto yy1151;
  7943. }
  7944. }
  7945. }
  7946. yy1158:
  7947. yych = *++YYCURSOR;
  7948. if (yych <= '/') goto yy1142;
  7949. if (yych <= '7') goto yy1141;
  7950. goto yy1142;
  7951. yy1159:
  7952. yych = *++YYCURSOR;
  7953. if (yych == '/') goto yy1141;
  7954. goto yy1151;
  7955. yy1160:
  7956. yych = *++YYCURSOR;
  7957. if (yych <= '@') {
  7958. if (yych <= '/') goto yy1151;
  7959. if (yych <= '9') goto yy1164;
  7960. goto yy1151;
  7961. } else {
  7962. if (yych <= 'F') goto yy1164;
  7963. if (yych <= '`') goto yy1151;
  7964. if (yych <= 'f') goto yy1164;
  7965. goto yy1151;
  7966. }
  7967. yy1161:
  7968. yych = *++YYCURSOR;
  7969. if (yych <= '@') {
  7970. if (yych <= '/') goto yy1151;
  7971. if (yych <= '9') goto yy1165;
  7972. goto yy1151;
  7973. } else {
  7974. if (yych <= 'F') goto yy1165;
  7975. if (yych <= '`') goto yy1151;
  7976. if (yych <= 'f') goto yy1165;
  7977. goto yy1151;
  7978. }
  7979. yy1162:
  7980. ++YYCURSOR;
  7981. if (YYLIMIT <= YYCURSOR) YYFILL(1);
  7982. yych = *YYCURSOR;
  7983. if (yybm[0+yych] & 128) {
  7984. goto yy1162;
  7985. }
  7986. goto yy1142;
  7987. yy1164:
  7988. yych = *++YYCURSOR;
  7989. if (yych <= '@') {
  7990. if (yych <= '/') goto yy1151;
  7991. if (yych <= '9') goto yy1166;
  7992. goto yy1151;
  7993. } else {
  7994. if (yych <= 'F') goto yy1166;
  7995. if (yych <= '`') goto yy1151;
  7996. if (yych <= 'f') goto yy1166;
  7997. goto yy1151;
  7998. }
  7999. yy1165:
  8000. yych = *++YYCURSOR;
  8001. if (yych <= '@') {
  8002. if (yych <= '/') goto yy1151;
  8003. if (yych <= '9') goto yy1167;
  8004. goto yy1151;
  8005. } else {
  8006. if (yych <= 'F') goto yy1167;
  8007. if (yych <= '`') goto yy1151;
  8008. if (yych <= 'f') goto yy1167;
  8009. goto yy1151;
  8010. }
  8011. yy1166:
  8012. yych = *++YYCURSOR;
  8013. if (yych <= '@') {
  8014. if (yych <= '/') goto yy1151;
  8015. if (yych <= '9') goto yy1155;
  8016. goto yy1151;
  8017. } else {
  8018. if (yych <= 'F') goto yy1155;
  8019. if (yych <= '`') goto yy1151;
  8020. if (yych <= 'f') goto yy1155;
  8021. goto yy1151;
  8022. }
  8023. yy1167:
  8024. yych = *++YYCURSOR;
  8025. if (yych <= '@') {
  8026. if (yych <= '/') goto yy1151;
  8027. if (yych <= '9') goto yy1141;
  8028. goto yy1151;
  8029. } else {
  8030. if (yych <= 'F') goto yy1141;
  8031. if (yych <= '`') goto yy1151;
  8032. if (yych <= 'f') goto yy1141;
  8033. goto yy1151;
  8034. }
  8035. }
  8036. #line 610 "strict_cpp.re"
  8037. }