rlscan.cpp 136 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231
  1. #line 1 "rlscan.rl"
  2. /*
  3. * Copyright 2006-2007 Adrian Thurston <thurston@complang.org>
  4. * Copyright 2011 Josef Goettgens
  5. */
  6. /* This file is part of Ragel.
  7. *
  8. * Ragel is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation; either version 2 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * Ragel is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with Ragel; if not, write to the Free Software
  20. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  21. */
  22. #include <iostream>
  23. #include <fstream>
  24. #include <string.h>
  25. #include "ragel.h"
  26. #include "rlscan.h"
  27. #include "inputdata.h"
  28. //#define LOG_TOKENS
  29. using std::ifstream;
  30. using std::istream;
  31. using std::ostream;
  32. using std::cout;
  33. using std::cerr;
  34. using std::endl;
  35. enum InlineBlockType
  36. {
  37. CurlyDelimited,
  38. SemiTerminated
  39. };
  40. /*
  41. * The Scanner for Importing
  42. */
  43. #line 125 "rlscan.rl"
  44. #line 65 "rlscan.cpp"
  45. static const int inline_token_scan_start = 2;
  46. static const int inline_token_scan_first_final = 2;
  47. static const int inline_token_scan_error = -1;
  48. static const int inline_token_scan_en_main = 2;
  49. #line 128 "rlscan.rl"
  50. void Scanner::flushImport()
  51. {
  52. int *p = token_data;
  53. int *pe = token_data + cur_token;
  54. int *eof = 0;
  55. #line 82 "rlscan.cpp"
  56. {
  57. tok_cs = inline_token_scan_start;
  58. tok_ts = 0;
  59. tok_te = 0;
  60. tok_act = 0;
  61. }
  62. #line 90 "rlscan.cpp"
  63. {
  64. if ( p == pe )
  65. goto _test_eof;
  66. switch ( tok_cs )
  67. {
  68. tr0:
  69. #line 123 "rlscan.rl"
  70. {{p = (( tok_te))-1;}}
  71. goto st2;
  72. tr1:
  73. #line 109 "rlscan.rl"
  74. { tok_te = p+1;{
  75. int base = tok_ts - token_data;
  76. int nameOff = 0;
  77. int litOff = 2;
  78. directToParser( inclToParser, fileName, line, column, TK_Word,
  79. token_strings[base+nameOff], token_lens[base+nameOff] );
  80. directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
  81. directToParser( inclToParser, fileName, line, column, TK_Literal,
  82. token_strings[base+litOff], token_lens[base+litOff] );
  83. directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
  84. }}
  85. goto st2;
  86. tr2:
  87. #line 81 "rlscan.rl"
  88. { tok_te = p+1;{
  89. int base = tok_ts - token_data;
  90. int nameOff = 0;
  91. int numOff = 2;
  92. directToParser( inclToParser, fileName, line, column, TK_Word,
  93. token_strings[base+nameOff], token_lens[base+nameOff] );
  94. directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
  95. directToParser( inclToParser, fileName, line, column, TK_UInt,
  96. token_strings[base+numOff], token_lens[base+numOff] );
  97. directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
  98. }}
  99. goto st2;
  100. tr3:
  101. #line 95 "rlscan.rl"
  102. { tok_te = p+1;{
  103. int base = tok_ts - token_data;
  104. int nameOff = 1;
  105. int litOff = 2;
  106. directToParser( inclToParser, fileName, line, column, TK_Word,
  107. token_strings[base+nameOff], token_lens[base+nameOff] );
  108. directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
  109. directToParser( inclToParser, fileName, line, column, TK_Literal,
  110. token_strings[base+litOff], token_lens[base+litOff] );
  111. directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
  112. }}
  113. goto st2;
  114. tr4:
  115. #line 67 "rlscan.rl"
  116. { tok_te = p+1;{
  117. int base = tok_ts - token_data;
  118. int nameOff = 1;
  119. int numOff = 2;
  120. directToParser( inclToParser, fileName, line, column, TK_Word,
  121. token_strings[base+nameOff], token_lens[base+nameOff] );
  122. directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
  123. directToParser( inclToParser, fileName, line, column, TK_UInt,
  124. token_strings[base+numOff], token_lens[base+numOff] );
  125. directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
  126. }}
  127. goto st2;
  128. tr5:
  129. #line 123 "rlscan.rl"
  130. { tok_te = p+1;}
  131. goto st2;
  132. tr8:
  133. #line 123 "rlscan.rl"
  134. { tok_te = p;p--;}
  135. goto st2;
  136. st2:
  137. #line 1 "NONE"
  138. { tok_ts = 0;}
  139. if ( ++p == pe )
  140. goto _test_eof2;
  141. case 2:
  142. #line 1 "NONE"
  143. { tok_ts = p;}
  144. #line 176 "rlscan.cpp"
  145. switch( (*p) ) {
  146. case 128: goto tr6;
  147. case 131: goto tr7;
  148. }
  149. goto tr5;
  150. tr6:
  151. #line 1 "NONE"
  152. { tok_te = p+1;}
  153. goto st3;
  154. st3:
  155. if ( ++p == pe )
  156. goto _test_eof3;
  157. case 3:
  158. #line 190 "rlscan.cpp"
  159. if ( (*p) == 61 )
  160. goto st0;
  161. goto tr8;
  162. st0:
  163. if ( ++p == pe )
  164. goto _test_eof0;
  165. case 0:
  166. switch( (*p) ) {
  167. case 129: goto tr1;
  168. case 130: goto tr2;
  169. }
  170. goto tr0;
  171. tr7:
  172. #line 1 "NONE"
  173. { tok_te = p+1;}
  174. goto st4;
  175. st4:
  176. if ( ++p == pe )
  177. goto _test_eof4;
  178. case 4:
  179. #line 211 "rlscan.cpp"
  180. if ( (*p) == 128 )
  181. goto st1;
  182. goto tr8;
  183. st1:
  184. if ( ++p == pe )
  185. goto _test_eof1;
  186. case 1:
  187. switch( (*p) ) {
  188. case 129: goto tr3;
  189. case 130: goto tr4;
  190. }
  191. goto tr0;
  192. }
  193. _test_eof2: tok_cs = 2; goto _test_eof;
  194. _test_eof3: tok_cs = 3; goto _test_eof;
  195. _test_eof0: tok_cs = 0; goto _test_eof;
  196. _test_eof4: tok_cs = 4; goto _test_eof;
  197. _test_eof1: tok_cs = 1; goto _test_eof;
  198. _test_eof: {}
  199. if ( p == eof )
  200. {
  201. switch ( tok_cs ) {
  202. case 3: goto tr8;
  203. case 0: goto tr0;
  204. case 4: goto tr8;
  205. case 1: goto tr0;
  206. }
  207. }
  208. }
  209. #line 139 "rlscan.rl"
  210. if ( tok_ts == 0 )
  211. cur_token = 0;
  212. else {
  213. cur_token = pe - tok_ts;
  214. int ts_offset = tok_ts - token_data;
  215. memmove( token_data, token_data+ts_offset, cur_token*sizeof(token_data[0]) );
  216. memmove( token_strings, token_strings+ts_offset, cur_token*sizeof(token_strings[0]) );
  217. memmove( token_lens, token_lens+ts_offset, cur_token*sizeof(token_lens[0]) );
  218. }
  219. }
  220. void Scanner::directToParser( Parser *toParser, const char *tokFileName, int tokLine,
  221. int tokColumn, int type, char *tokdata, int toklen )
  222. {
  223. InputLoc loc;
  224. #ifdef LOG_TOKENS
  225. cerr << "scanner:" << tokLine << ":" << tokColumn <<
  226. ": sending token to the parser " << Parser_lelNames[type];
  227. cerr << " " << toklen;
  228. if ( tokdata != 0 )
  229. cerr << " " << tokdata;
  230. cerr << endl;
  231. #endif
  232. loc.fileName = tokFileName;
  233. loc.line = tokLine;
  234. loc.col = tokColumn;
  235. toParser->token( loc, type, tokdata, toklen );
  236. }
  237. void Scanner::importToken( int token, char *start, char *end )
  238. {
  239. if ( cur_token == max_tokens )
  240. flushImport();
  241. token_data[cur_token] = token;
  242. if ( start == 0 ) {
  243. token_strings[cur_token] = 0;
  244. token_lens[cur_token] = 0;
  245. }
  246. else {
  247. int toklen = end-start;
  248. token_lens[cur_token] = toklen;
  249. token_strings[cur_token] = new char[toklen+1];
  250. memcpy( token_strings[cur_token], start, toklen );
  251. token_strings[cur_token][toklen] = 0;
  252. }
  253. cur_token++;
  254. }
  255. void Scanner::pass( int token, char *start, char *end )
  256. {
  257. if ( importMachines )
  258. importToken( token, start, end );
  259. pass();
  260. }
  261. void Scanner::pass()
  262. {
  263. updateCol();
  264. /* If no errors and we are at the bottom of the include stack (the
  265. * source file listed on the command line) then write out the data. */
  266. if ( includeDepth == 0 && machineSpec == 0 && machineName == 0 )
  267. id.inputItems.tail->data.write( ts, te-ts );
  268. }
  269. /*
  270. * The scanner for processing sections, includes, imports, etc.
  271. */
  272. #line 321 "rlscan.cpp"
  273. static const int section_parse_start = 10;
  274. static const int section_parse_first_final = 10;
  275. static const int section_parse_error = 0;
  276. static const int section_parse_en_main = 10;
  277. #line 218 "rlscan.rl"
  278. void Scanner::init( )
  279. {
  280. #line 336 "rlscan.cpp"
  281. {
  282. cs = section_parse_start;
  283. }
  284. #line 224 "rlscan.rl"
  285. }
  286. bool Scanner::active()
  287. {
  288. if ( ignoreSection )
  289. return false;
  290. if ( parser == 0 && ! parserExistsError ) {
  291. scan_error() << "this specification has no name, nor does any previous"
  292. " specification" << endl;
  293. parserExistsError = true;
  294. }
  295. if ( parser == 0 )
  296. return false;
  297. return true;
  298. }
  299. ostream &Scanner::scan_error()
  300. {
  301. /* Maintain the error count. */
  302. gblErrorCount += 1;
  303. cerr << makeInputLoc( fileName, line, column ) << ": ";
  304. return cerr;
  305. }
  306. /* An approximate check for duplicate includes. Due to aliasing of files it's
  307. * possible for duplicates to creep in. */
  308. bool Scanner::duplicateInclude( char *inclFileName, char *inclSectionName )
  309. {
  310. for ( IncludeHistory::Iter hi = parser->includeHistory; hi.lte(); hi++ ) {
  311. if ( strcmp( hi->fileName, inclFileName ) == 0 &&
  312. strcmp( hi->sectionName, inclSectionName ) == 0 )
  313. {
  314. return true;
  315. }
  316. }
  317. return false;
  318. }
  319. void Scanner::updateCol()
  320. {
  321. char *from = lastnl;
  322. if ( from == 0 )
  323. from = ts;
  324. //cerr << "adding " << te - from << " to column" << endl;
  325. column += te - from;
  326. lastnl = 0;
  327. }
  328. void Scanner::handleMachine()
  329. {
  330. /* Assign a name to the machine. */
  331. char *machine = word;
  332. if ( !importMachines && inclSectionTarg == 0 ) {
  333. ignoreSection = false;
  334. ParserDictEl *pdEl = id.parserDict.find( machine );
  335. if ( pdEl == 0 ) {
  336. pdEl = new ParserDictEl( machine );
  337. pdEl->value = new Parser( fileName, machine, sectionLoc );
  338. pdEl->value->init();
  339. id.parserDict.insert( pdEl );
  340. id.parserList.append( pdEl->value );
  341. }
  342. parser = pdEl->value;
  343. }
  344. else if ( !importMachines && strcmp( inclSectionTarg, machine ) == 0 ) {
  345. /* found include target */
  346. ignoreSection = false;
  347. parser = inclToParser;
  348. }
  349. else {
  350. /* ignoring section */
  351. ignoreSection = true;
  352. parser = 0;
  353. }
  354. }
  355. void Scanner::handleInclude()
  356. {
  357. if ( active() ) {
  358. char *inclSectionName = word;
  359. char **includeChecks = 0;
  360. /* Implement defaults for the input file and section name. */
  361. if ( inclSectionName == 0 )
  362. inclSectionName = parser->sectionName;
  363. if ( lit != 0 )
  364. includeChecks = makeIncludePathChecks( fileName, lit, lit_len );
  365. else {
  366. char *test = new char[strlen(fileName)+1];
  367. strcpy( test, fileName );
  368. includeChecks = new char*[2];
  369. includeChecks[0] = test;
  370. includeChecks[1] = 0;
  371. }
  372. long found = 0;
  373. ifstream *inFile = tryOpenInclude( includeChecks, found );
  374. if ( inFile == 0 ) {
  375. scan_error() << "include: failed to locate file" << endl;
  376. char **tried = includeChecks;
  377. while ( *tried != 0 )
  378. scan_error() << "include: attempted: \"" << *tried++ << '\"' << endl;
  379. }
  380. else {
  381. /* Don't include anything that's already been included. */
  382. if ( !duplicateInclude( includeChecks[found], inclSectionName ) ) {
  383. parser->includeHistory.append( IncludeHistoryItem(
  384. includeChecks[found], inclSectionName ) );
  385. Scanner scanner( id, includeChecks[found], *inFile, parser,
  386. inclSectionName, includeDepth+1, false );
  387. scanner.do_scan( );
  388. delete inFile;
  389. }
  390. }
  391. }
  392. }
  393. void Scanner::handleImport()
  394. {
  395. if ( active() ) {
  396. char **importChecks = makeIncludePathChecks( fileName, lit, lit_len );
  397. /* Open the input file for reading. */
  398. long found = 0;
  399. ifstream *inFile = tryOpenInclude( importChecks, found );
  400. if ( inFile == 0 ) {
  401. scan_error() << "import: could not open import file " <<
  402. "for reading" << endl;
  403. char **tried = importChecks;
  404. while ( *tried != 0 )
  405. scan_error() << "import: attempted: \"" << *tried++ << '\"' << endl;
  406. }
  407. Scanner scanner( id, importChecks[found], *inFile, parser,
  408. 0, includeDepth+1, true );
  409. scanner.do_scan( );
  410. scanner.importToken( 0, 0, 0 );
  411. scanner.flushImport();
  412. delete inFile;
  413. }
  414. }
  415. #line 461 "rlscan.rl"
  416. void Scanner::token( int type, char c )
  417. {
  418. token( type, &c, &c + 1 );
  419. }
  420. void Scanner::token( int type )
  421. {
  422. token( type, 0, 0 );
  423. }
  424. void Scanner::token( int type, char *start, char *end )
  425. {
  426. char *tokdata = 0;
  427. int toklen = 0;
  428. if ( start != 0 ) {
  429. toklen = end-start;
  430. tokdata = new char[toklen+1];
  431. memcpy( tokdata, start, toklen );
  432. tokdata[toklen] = 0;
  433. }
  434. processToken( type, tokdata, toklen );
  435. }
  436. void Scanner::processToken( int type, char *tokdata, int toklen )
  437. {
  438. int *p, *pe, *eof;
  439. if ( type < 0 )
  440. p = pe = eof = 0;
  441. else {
  442. p = &type;
  443. pe = &type + 1;
  444. eof = 0;
  445. }
  446. #line 535 "rlscan.cpp"
  447. {
  448. if ( p == pe )
  449. goto _test_eof;
  450. switch ( cs )
  451. {
  452. tr2:
  453. #line 391 "rlscan.rl"
  454. { handleMachine(); }
  455. goto st10;
  456. tr6:
  457. #line 392 "rlscan.rl"
  458. { handleInclude(); }
  459. goto st10;
  460. tr10:
  461. #line 393 "rlscan.rl"
  462. { handleImport(); }
  463. goto st10;
  464. tr13:
  465. #line 433 "rlscan.rl"
  466. {
  467. if ( active() && machineSpec == 0 && machineName == 0 )
  468. id.inputItems.tail->writeArgs.append( 0 );
  469. }
  470. goto st10;
  471. tr14:
  472. #line 444 "rlscan.rl"
  473. {
  474. /* Send the token off to the parser. */
  475. if ( active() )
  476. directToParser( parser, fileName, line, column, type, tokdata, toklen );
  477. }
  478. goto st10;
  479. st10:
  480. if ( ++p == pe )
  481. goto _test_eof10;
  482. case 10:
  483. #line 572 "rlscan.cpp"
  484. switch( (*p) ) {
  485. case 191: goto st1;
  486. case 192: goto st3;
  487. case 193: goto st6;
  488. case 194: goto tr18;
  489. }
  490. goto tr14;
  491. st1:
  492. if ( ++p == pe )
  493. goto _test_eof1;
  494. case 1:
  495. if ( (*p) == 128 )
  496. goto tr1;
  497. goto tr0;
  498. tr0:
  499. #line 386 "rlscan.rl"
  500. { scan_error() << "bad machine statement" << endl; }
  501. goto st0;
  502. tr3:
  503. #line 387 "rlscan.rl"
  504. { scan_error() << "bad include statement" << endl; }
  505. goto st0;
  506. tr8:
  507. #line 388 "rlscan.rl"
  508. { scan_error() << "bad import statement" << endl; }
  509. goto st0;
  510. tr11:
  511. #line 389 "rlscan.rl"
  512. { scan_error() << "bad write statement" << endl; }
  513. goto st0;
  514. #line 603 "rlscan.cpp"
  515. st0:
  516. cs = 0;
  517. goto _out;
  518. tr1:
  519. #line 383 "rlscan.rl"
  520. { word = tokdata; word_len = toklen; }
  521. goto st2;
  522. st2:
  523. if ( ++p == pe )
  524. goto _test_eof2;
  525. case 2:
  526. #line 615 "rlscan.cpp"
  527. if ( (*p) == 59 )
  528. goto tr2;
  529. goto tr0;
  530. st3:
  531. if ( ++p == pe )
  532. goto _test_eof3;
  533. case 3:
  534. switch( (*p) ) {
  535. case 128: goto tr4;
  536. case 129: goto tr5;
  537. }
  538. goto tr3;
  539. tr4:
  540. #line 382 "rlscan.rl"
  541. { word = lit = 0; word_len = lit_len = 0; }
  542. #line 383 "rlscan.rl"
  543. { word = tokdata; word_len = toklen; }
  544. goto st4;
  545. st4:
  546. if ( ++p == pe )
  547. goto _test_eof4;
  548. case 4:
  549. #line 638 "rlscan.cpp"
  550. switch( (*p) ) {
  551. case 59: goto tr6;
  552. case 129: goto tr7;
  553. }
  554. goto tr3;
  555. tr5:
  556. #line 382 "rlscan.rl"
  557. { word = lit = 0; word_len = lit_len = 0; }
  558. #line 384 "rlscan.rl"
  559. { lit = tokdata; lit_len = toklen; }
  560. goto st5;
  561. tr7:
  562. #line 384 "rlscan.rl"
  563. { lit = tokdata; lit_len = toklen; }
  564. goto st5;
  565. st5:
  566. if ( ++p == pe )
  567. goto _test_eof5;
  568. case 5:
  569. #line 658 "rlscan.cpp"
  570. if ( (*p) == 59 )
  571. goto tr6;
  572. goto tr3;
  573. st6:
  574. if ( ++p == pe )
  575. goto _test_eof6;
  576. case 6:
  577. if ( (*p) == 129 )
  578. goto tr9;
  579. goto tr8;
  580. tr9:
  581. #line 384 "rlscan.rl"
  582. { lit = tokdata; lit_len = toklen; }
  583. goto st7;
  584. st7:
  585. if ( ++p == pe )
  586. goto _test_eof7;
  587. case 7:
  588. #line 677 "rlscan.cpp"
  589. if ( (*p) == 59 )
  590. goto tr10;
  591. goto tr8;
  592. tr18:
  593. #line 413 "rlscan.rl"
  594. {
  595. if ( active() && machineSpec == 0 && machineName == 0 ) {
  596. InputItem *inputItem = new InputItem;
  597. inputItem->type = InputItem::Write;
  598. inputItem->loc.fileName = fileName;
  599. inputItem->loc.line = line;
  600. inputItem->loc.col = column;
  601. inputItem->name = parser->sectionName;
  602. inputItem->pd = parser->pd;
  603. id.inputItems.append( inputItem );
  604. }
  605. }
  606. goto st8;
  607. st8:
  608. if ( ++p == pe )
  609. goto _test_eof8;
  610. case 8:
  611. #line 700 "rlscan.cpp"
  612. if ( (*p) == 128 )
  613. goto tr12;
  614. goto tr11;
  615. tr12:
  616. #line 427 "rlscan.rl"
  617. {
  618. if ( active() && machineSpec == 0 && machineName == 0 )
  619. id.inputItems.tail->writeArgs.append( strdup(tokdata) );
  620. }
  621. goto st9;
  622. st9:
  623. if ( ++p == pe )
  624. goto _test_eof9;
  625. case 9:
  626. #line 715 "rlscan.cpp"
  627. switch( (*p) ) {
  628. case 59: goto tr13;
  629. case 128: goto tr12;
  630. }
  631. goto tr11;
  632. }
  633. _test_eof10: cs = 10; goto _test_eof;
  634. _test_eof1: cs = 1; goto _test_eof;
  635. _test_eof2: cs = 2; goto _test_eof;
  636. _test_eof3: cs = 3; goto _test_eof;
  637. _test_eof4: cs = 4; goto _test_eof;
  638. _test_eof5: cs = 5; goto _test_eof;
  639. _test_eof6: cs = 6; goto _test_eof;
  640. _test_eof7: cs = 7; goto _test_eof;
  641. _test_eof8: cs = 8; goto _test_eof;
  642. _test_eof9: cs = 9; goto _test_eof;
  643. _test_eof: {}
  644. if ( p == eof )
  645. {
  646. switch ( cs ) {
  647. case 1:
  648. case 2:
  649. #line 386 "rlscan.rl"
  650. { scan_error() << "bad machine statement" << endl; }
  651. break;
  652. case 3:
  653. case 4:
  654. case 5:
  655. #line 387 "rlscan.rl"
  656. { scan_error() << "bad include statement" << endl; }
  657. break;
  658. case 6:
  659. case 7:
  660. #line 388 "rlscan.rl"
  661. { scan_error() << "bad import statement" << endl; }
  662. break;
  663. case 8:
  664. case 9:
  665. #line 389 "rlscan.rl"
  666. { scan_error() << "bad write statement" << endl; }
  667. break;
  668. #line 758 "rlscan.cpp"
  669. }
  670. }
  671. _out: {}
  672. }
  673. #line 502 "rlscan.rl"
  674. updateCol();
  675. /* Record the last token for use in controlling the scan of subsequent
  676. * tokens. */
  677. lastToken = type;
  678. }
  679. void Scanner::startSection( )
  680. {
  681. parserExistsError = false;
  682. sectionLoc.fileName = fileName;
  683. sectionLoc.line = line;
  684. sectionLoc.col = column;
  685. }
  686. void Scanner::endSection( )
  687. {
  688. /* Execute the eof actions for the section parser. */
  689. processToken( -1, 0, 0 );
  690. /* Close off the section with the parser. */
  691. if ( active() ) {
  692. InputLoc loc;
  693. loc.fileName = fileName;
  694. loc.line = line;
  695. loc.col = column;
  696. parser->token( loc, TK_EndSection, 0, 0 );
  697. }
  698. if ( includeDepth == 0 ) {
  699. if ( machineSpec == 0 && machineName == 0 ) {
  700. /* The end section may include a newline on the end, so
  701. * we use the last line, which will count the newline. */
  702. InputItem *inputItem = new InputItem;
  703. inputItem->type = InputItem::HostData;
  704. inputItem->loc.line = line;
  705. inputItem->loc.col = column;
  706. id.inputItems.append( inputItem );
  707. }
  708. }
  709. }
  710. bool isAbsolutePath( const char *path )
  711. {
  712. #ifdef _WIN32
  713. return isalpha( path[0] ) && path[1] == ':' && (path[2] == '\\' || path[2] == '/');
  714. #else
  715. return path[0] == '/';
  716. #endif
  717. }
  718. inline char* resolvePath(const char* rel, const char* abs) {
  719. const size_t l1 = strlen(rel);
  720. const size_t l2 = strlen(abs);
  721. char* ret = new char[l1 + l2 + 1];
  722. const char* p = strrchr(abs, '/') + 1;
  723. const size_t l3 = p - abs;
  724. memcpy(ret, abs, l3);
  725. strcpy(ret + l3, rel);
  726. return ret;
  727. }
  728. char **Scanner::makeIncludePathChecks( const char *thisFileName,
  729. const char *fileName, int fnlen )
  730. {
  731. char **checks = 0;
  732. long nextCheck = 0;
  733. long length = 0;
  734. bool caseInsensitive = false;
  735. char *data = prepareLitString( InputLoc(), fileName, fnlen,
  736. length, caseInsensitive );
  737. /* Absolute path? */
  738. if ( isAbsolutePath( data ) ) {
  739. checks = new char*[2];
  740. checks[nextCheck++] = data;
  741. }
  742. else {
  743. checks = new char*[2 + id.includePaths.length()];
  744. /* Search from the the location of the current file. */
  745. const char *lastSlash = strrchr( thisFileName, '/' );
  746. if ( lastSlash == 0 )
  747. checks[nextCheck++] = data;
  748. else {
  749. checks[nextCheck++] = resolvePath(data, thisFileName);
  750. }
  751. /* Search from the include paths given on the command line. */
  752. for ( ArgsVector::Iter incp = id.includePaths; incp.lte(); incp++ ) {
  753. long pathLen = strlen( *incp );
  754. long checkLen = pathLen + 1 + length;
  755. char *check = new char[checkLen+1];
  756. memcpy( check, *incp, pathLen );
  757. check[pathLen] = '/';
  758. memcpy( check+pathLen+1, data, length );
  759. check[checkLen] = 0;
  760. checks[nextCheck++] = check;
  761. }
  762. }
  763. checks[nextCheck] = 0;
  764. return checks;
  765. }
  766. ifstream *Scanner::tryOpenInclude( char **pathChecks, long &found )
  767. {
  768. char **check = pathChecks;
  769. ifstream *inFile = new ifstream;
  770. while ( *check != 0 ) {
  771. inFile->open( *check );
  772. if ( inFile->is_open() ) {
  773. found = check - pathChecks;
  774. return inFile;
  775. }
  776. /*
  777. * 03/26/2011 jg:
  778. * Don't rely on sloppy runtime behaviour: reset the state of the stream explicitly.
  779. * If inFile->open() fails, which happens when include dirs are tested, the fail bit
  780. * is set by the runtime library. Currently the VS runtime library opens new files,
  781. * but when it comes to reading it refuses to work.
  782. */
  783. inFile->clear();
  784. check += 1;
  785. }
  786. found = -1;
  787. delete inFile;
  788. return 0;
  789. }
  790. #line 1173 "rlscan.rl"
  791. #line 904 "rlscan.cpp"
  792. static const int rlscan_start = 38;
  793. static const int rlscan_first_final = 38;
  794. static const int rlscan_error = 0;
  795. static const int rlscan_en_inline_code_ruby = 52;
  796. static const int rlscan_en_inline_code = 95;
  797. static const int rlscan_en_or_literal = 137;
  798. static const int rlscan_en_ragel_re_literal = 139;
  799. static const int rlscan_en_write_statement = 143;
  800. static const int rlscan_en_parser_def = 146;
  801. static const int rlscan_en_main_ruby = 253;
  802. static const int rlscan_en_main = 38;
  803. #line 1176 "rlscan.rl"
  804. void Scanner::do_scan()
  805. {
  806. int bufsize = 8;
  807. char *buf = new char[bufsize];
  808. int cs, act, have = 0;
  809. int top;
  810. /* The stack is two deep, one level for going into ragel defs from the main
  811. * machines which process outside code, and another for going into or literals
  812. * from either a ragel spec, or a regular expression. */
  813. int stack[2];
  814. int curly_count = 0;
  815. bool execute = true;
  816. bool singleLineSpec = false;
  817. InlineBlockType inlineBlockType = CurlyDelimited;
  818. /* Init the section parser and the character scanner. */
  819. init();
  820. #line 940 "rlscan.cpp"
  821. {
  822. cs = rlscan_start;
  823. top = 0;
  824. ts = 0;
  825. te = 0;
  826. act = 0;
  827. }
  828. #line 1196 "rlscan.rl"
  829. /* Set up the start state. FIXME: After 5.20 is released the nocs write
  830. * init option should be used, the main machine eliminated and this statement moved
  831. * above the write init. */
  832. if ( hostLang->lang == HostLang::Ruby )
  833. cs = rlscan_en_main_ruby;
  834. else
  835. cs = rlscan_en_main;
  836. while ( execute ) {
  837. char *p = buf + have;
  838. int space = bufsize - have;
  839. if ( space == 0 ) {
  840. /* We filled up the buffer trying to scan a token. Grow it. */
  841. bufsize = bufsize * 2;
  842. char *newbuf = new char[bufsize];
  843. /* Recompute p and space. */
  844. p = newbuf + have;
  845. space = bufsize - have;
  846. /* Patch up pointers possibly in use. */
  847. if ( ts != 0 )
  848. ts = newbuf + ( ts - buf );
  849. te = newbuf + ( te - buf );
  850. /* Copy the new buffer in. */
  851. memcpy( newbuf, buf, have );
  852. delete[] buf;
  853. buf = newbuf;
  854. }
  855. input.read( p, space );
  856. int len = input.gcount();
  857. char *pe = p + len;
  858. /* If we see eof then append the eof var. */
  859. char *eof = 0;
  860. if ( len == 0 ) {
  861. eof = pe;
  862. execute = false;
  863. }
  864. #line 995 "rlscan.cpp"
  865. {
  866. if ( p == pe )
  867. goto _test_eof;
  868. goto _resume;
  869. _again:
  870. switch ( cs ) {
  871. case 38: goto st38;
  872. case 39: goto st39;
  873. case 40: goto st40;
  874. case 1: goto st1;
  875. case 2: goto st2;
  876. case 41: goto st41;
  877. case 42: goto st42;
  878. case 43: goto st43;
  879. case 3: goto st3;
  880. case 4: goto st4;
  881. case 44: goto st44;
  882. case 5: goto st5;
  883. case 6: goto st6;
  884. case 7: goto st7;
  885. case 45: goto st45;
  886. case 46: goto st46;
  887. case 47: goto st47;
  888. case 48: goto st48;
  889. case 49: goto st49;
  890. case 50: goto st50;
  891. case 51: goto st51;
  892. case 52: goto st52;
  893. case 53: goto st53;
  894. case 54: goto st54;
  895. case 8: goto st8;
  896. case 9: goto st9;
  897. case 55: goto st55;
  898. case 10: goto st10;
  899. case 56: goto st56;
  900. case 11: goto st11;
  901. case 12: goto st12;
  902. case 57: goto st57;
  903. case 13: goto st13;
  904. case 14: goto st14;
  905. case 58: goto st58;
  906. case 59: goto st59;
  907. case 15: goto st15;
  908. case 60: goto st60;
  909. case 61: goto st61;
  910. case 62: goto st62;
  911. case 63: goto st63;
  912. case 64: goto st64;
  913. case 65: goto st65;
  914. case 66: goto st66;
  915. case 67: goto st67;
  916. case 68: goto st68;
  917. case 69: goto st69;
  918. case 70: goto st70;
  919. case 71: goto st71;
  920. case 72: goto st72;
  921. case 73: goto st73;
  922. case 74: goto st74;
  923. case 75: goto st75;
  924. case 76: goto st76;
  925. case 77: goto st77;
  926. case 78: goto st78;
  927. case 79: goto st79;
  928. case 80: goto st80;
  929. case 81: goto st81;
  930. case 82: goto st82;
  931. case 83: goto st83;
  932. case 84: goto st84;
  933. case 85: goto st85;
  934. case 86: goto st86;
  935. case 87: goto st87;
  936. case 88: goto st88;
  937. case 89: goto st89;
  938. case 90: goto st90;
  939. case 91: goto st91;
  940. case 92: goto st92;
  941. case 93: goto st93;
  942. case 94: goto st94;
  943. case 95: goto st95;
  944. case 96: goto st96;
  945. case 97: goto st97;
  946. case 16: goto st16;
  947. case 17: goto st17;
  948. case 98: goto st98;
  949. case 18: goto st18;
  950. case 19: goto st19;
  951. case 99: goto st99;
  952. case 20: goto st20;
  953. case 21: goto st21;
  954. case 22: goto st22;
  955. case 100: goto st100;
  956. case 101: goto st101;
  957. case 23: goto st23;
  958. case 102: goto st102;
  959. case 103: goto st103;
  960. case 104: goto st104;
  961. case 105: goto st105;
  962. case 106: goto st106;
  963. case 107: goto st107;
  964. case 108: goto st108;
  965. case 109: goto st109;
  966. case 110: goto st110;
  967. case 111: goto st111;
  968. case 112: goto st112;
  969. case 113: goto st113;
  970. case 114: goto st114;
  971. case 115: goto st115;
  972. case 116: goto st116;
  973. case 117: goto st117;
  974. case 118: goto st118;
  975. case 119: goto st119;
  976. case 120: goto st120;
  977. case 121: goto st121;
  978. case 122: goto st122;
  979. case 123: goto st123;
  980. case 124: goto st124;
  981. case 125: goto st125;
  982. case 126: goto st126;
  983. case 127: goto st127;
  984. case 128: goto st128;
  985. case 129: goto st129;
  986. case 130: goto st130;
  987. case 131: goto st131;
  988. case 132: goto st132;
  989. case 133: goto st133;
  990. case 134: goto st134;
  991. case 135: goto st135;
  992. case 136: goto st136;
  993. case 137: goto st137;
  994. case 138: goto st138;
  995. case 139: goto st139;
  996. case 140: goto st140;
  997. case 141: goto st141;
  998. case 142: goto st142;
  999. case 143: goto st143;
  1000. case 0: goto st0;
  1001. case 144: goto st144;
  1002. case 145: goto st145;
  1003. case 146: goto st146;
  1004. case 147: goto st147;
  1005. case 148: goto st148;
  1006. case 24: goto st24;
  1007. case 149: goto st149;
  1008. case 25: goto st25;
  1009. case 150: goto st150;
  1010. case 26: goto st26;
  1011. case 151: goto st151;
  1012. case 152: goto st152;
  1013. case 153: goto st153;
  1014. case 27: goto st27;
  1015. case 28: goto st28;
  1016. case 154: goto st154;
  1017. case 155: goto st155;
  1018. case 156: goto st156;
  1019. case 157: goto st157;
  1020. case 158: goto st158;
  1021. case 29: goto st29;
  1022. case 159: goto st159;
  1023. case 160: goto st160;
  1024. case 161: goto st161;
  1025. case 162: goto st162;
  1026. case 163: goto st163;
  1027. case 164: goto st164;
  1028. case 165: goto st165;
  1029. case 166: goto st166;
  1030. case 167: goto st167;
  1031. case 168: goto st168;
  1032. case 169: goto st169;
  1033. case 170: goto st170;
  1034. case 171: goto st171;
  1035. case 172: goto st172;
  1036. case 173: goto st173;
  1037. case 174: goto st174;
  1038. case 175: goto st175;
  1039. case 176: goto st176;
  1040. case 177: goto st177;
  1041. case 178: goto st178;
  1042. case 179: goto st179;
  1043. case 180: goto st180;
  1044. case 181: goto st181;
  1045. case 182: goto st182;
  1046. case 183: goto st183;
  1047. case 184: goto st184;
  1048. case 185: goto st185;
  1049. case 186: goto st186;
  1050. case 187: goto st187;
  1051. case 188: goto st188;
  1052. case 189: goto st189;
  1053. case 190: goto st190;
  1054. case 191: goto st191;
  1055. case 192: goto st192;
  1056. case 193: goto st193;
  1057. case 194: goto st194;
  1058. case 195: goto st195;
  1059. case 196: goto st196;
  1060. case 197: goto st197;
  1061. case 198: goto st198;
  1062. case 199: goto st199;
  1063. case 200: goto st200;
  1064. case 201: goto st201;
  1065. case 202: goto st202;
  1066. case 203: goto st203;
  1067. case 204: goto st204;
  1068. case 205: goto st205;
  1069. case 206: goto st206;
  1070. case 207: goto st207;
  1071. case 208: goto st208;
  1072. case 209: goto st209;
  1073. case 210: goto st210;
  1074. case 211: goto st211;
  1075. case 212: goto st212;
  1076. case 213: goto st213;
  1077. case 214: goto st214;
  1078. case 215: goto st215;
  1079. case 216: goto st216;
  1080. case 217: goto st217;
  1081. case 218: goto st218;
  1082. case 219: goto st219;
  1083. case 220: goto st220;
  1084. case 221: goto st221;
  1085. case 222: goto st222;
  1086. case 223: goto st223;
  1087. case 224: goto st224;
  1088. case 225: goto st225;
  1089. case 226: goto st226;
  1090. case 227: goto st227;
  1091. case 228: goto st228;
  1092. case 229: goto st229;
  1093. case 230: goto st230;
  1094. case 231: goto st231;
  1095. case 232: goto st232;
  1096. case 233: goto st233;
  1097. case 234: goto st234;
  1098. case 235: goto st235;
  1099. case 236: goto st236;
  1100. case 237: goto st237;
  1101. case 238: goto st238;
  1102. case 239: goto st239;
  1103. case 240: goto st240;
  1104. case 241: goto st241;
  1105. case 242: goto st242;
  1106. case 243: goto st243;
  1107. case 244: goto st244;
  1108. case 245: goto st245;
  1109. case 246: goto st246;
  1110. case 247: goto st247;
  1111. case 248: goto st248;
  1112. case 249: goto st249;
  1113. case 250: goto st250;
  1114. case 251: goto st251;
  1115. case 252: goto st252;
  1116. case 30: goto st30;
  1117. case 253: goto st253;
  1118. case 254: goto st254;
  1119. case 255: goto st255;
  1120. case 31: goto st31;
  1121. case 32: goto st32;
  1122. case 256: goto st256;
  1123. case 33: goto st33;
  1124. case 257: goto st257;
  1125. case 258: goto st258;
  1126. case 259: goto st259;
  1127. case 34: goto st34;
  1128. case 35: goto st35;
  1129. case 260: goto st260;
  1130. case 36: goto st36;
  1131. case 37: goto st37;
  1132. case 261: goto st261;
  1133. case 262: goto st262;
  1134. default: break;
  1135. }
  1136. if ( ++p == pe )
  1137. goto _test_eof;
  1138. _resume:
  1139. switch ( cs )
  1140. {
  1141. tr0:
  1142. #line 1171 "rlscan.rl"
  1143. {{p = ((te))-1;}{ pass( *ts, 0, 0 ); }}
  1144. goto st38;
  1145. tr3:
  1146. #line 1155 "rlscan.rl"
  1147. {te = p+1;{ pass( IMP_Literal, ts, te ); }}
  1148. goto st38;
  1149. tr11:
  1150. #line 1154 "rlscan.rl"
  1151. {te = p+1;{ pass(); }}
  1152. goto st38;
  1153. tr13:
  1154. #line 641 "rlscan.rl"
  1155. {
  1156. lastnl = p;
  1157. column = 0;
  1158. line++;
  1159. }
  1160. #line 1154 "rlscan.rl"
  1161. {te = p+1;{ pass(); }}
  1162. goto st38;
  1163. tr71:
  1164. #line 1171 "rlscan.rl"
  1165. {te = p+1;{ pass( *ts, 0, 0 ); }}
  1166. goto st38;
  1167. tr72:
  1168. #line 1170 "rlscan.rl"
  1169. {te = p+1;}
  1170. goto st38;
  1171. tr82:
  1172. #line 1169 "rlscan.rl"
  1173. {te = p;p--;{ pass(); }}
  1174. goto st38;
  1175. tr83:
  1176. #line 1171 "rlscan.rl"
  1177. {te = p;p--;{ pass( *ts, 0, 0 ); }}
  1178. goto st38;
  1179. tr85:
  1180. #line 1163 "rlscan.rl"
  1181. {te = p;p--;{
  1182. updateCol();
  1183. singleLineSpec = true;
  1184. startSection();
  1185. {stack[top++] = 38; goto st146;}
  1186. }}
  1187. goto st38;
  1188. tr86:
  1189. #line 1157 "rlscan.rl"
  1190. {te = p+1;{
  1191. updateCol();
  1192. singleLineSpec = false;
  1193. startSection();
  1194. {stack[top++] = 38; goto st146;}
  1195. }}
  1196. goto st38;
  1197. tr87:
  1198. #line 1153 "rlscan.rl"
  1199. {te = p;p--;{ pass( IMP_UInt, ts, te ); }}
  1200. goto st38;
  1201. tr88:
  1202. #line 1 "NONE"
  1203. { switch( act ) {
  1204. case 176:
  1205. {{p = ((te))-1;} pass( IMP_Define, 0, 0 ); }
  1206. break;
  1207. case 177:
  1208. {{p = ((te))-1;} pass( IMP_Word, ts, te ); }
  1209. break;
  1210. }
  1211. }
  1212. goto st38;
  1213. tr89:
  1214. #line 1152 "rlscan.rl"
  1215. {te = p;p--;{ pass( IMP_Word, ts, te ); }}
  1216. goto st38;
  1217. st38:
  1218. #line 1 "NONE"
  1219. {ts = 0;}
  1220. if ( ++p == pe )
  1221. goto _test_eof38;
  1222. case 38:
  1223. #line 1 "NONE"
  1224. {ts = p;}
  1225. #line 1358 "rlscan.cpp"
  1226. switch( (*p) ) {
  1227. case 0: goto tr72;
  1228. case 9: goto st39;
  1229. case 10: goto tr74;
  1230. case 32: goto st39;
  1231. case 34: goto tr75;
  1232. case 37: goto st41;
  1233. case 39: goto tr77;
  1234. case 47: goto tr78;
  1235. case 95: goto tr80;
  1236. case 100: goto st47;
  1237. }
  1238. if ( (*p) < 65 ) {
  1239. if ( 48 <= (*p) && (*p) <= 57 )
  1240. goto st45;
  1241. } else if ( (*p) > 90 ) {
  1242. if ( 97 <= (*p) && (*p) <= 122 )
  1243. goto tr80;
  1244. } else
  1245. goto tr80;
  1246. goto tr71;
  1247. tr74:
  1248. #line 641 "rlscan.rl"
  1249. {
  1250. lastnl = p;
  1251. column = 0;
  1252. line++;
  1253. }
  1254. goto st39;
  1255. st39:
  1256. if ( ++p == pe )
  1257. goto _test_eof39;
  1258. case 39:
  1259. #line 1392 "rlscan.cpp"
  1260. switch( (*p) ) {
  1261. case 9: goto st39;
  1262. case 10: goto tr74;
  1263. case 32: goto st39;
  1264. }
  1265. goto tr82;
  1266. tr75:
  1267. #line 1 "NONE"
  1268. {te = p+1;}
  1269. goto st40;
  1270. st40:
  1271. if ( ++p == pe )
  1272. goto _test_eof40;
  1273. case 40:
  1274. #line 1407 "rlscan.cpp"
  1275. switch( (*p) ) {
  1276. case 10: goto tr2;
  1277. case 34: goto tr3;
  1278. case 92: goto st2;
  1279. }
  1280. goto st1;
  1281. tr2:
  1282. #line 641 "rlscan.rl"
  1283. {
  1284. lastnl = p;
  1285. column = 0;
  1286. line++;
  1287. }
  1288. goto st1;
  1289. st1:
  1290. if ( ++p == pe )
  1291. goto _test_eof1;
  1292. case 1:
  1293. #line 1426 "rlscan.cpp"
  1294. switch( (*p) ) {
  1295. case 10: goto tr2;
  1296. case 34: goto tr3;
  1297. case 92: goto st2;
  1298. }
  1299. goto st1;
  1300. st2:
  1301. if ( ++p == pe )
  1302. goto _test_eof2;
  1303. case 2:
  1304. if ( (*p) == 10 )
  1305. goto tr2;
  1306. goto st1;
  1307. st41:
  1308. if ( ++p == pe )
  1309. goto _test_eof41;
  1310. case 41:
  1311. if ( (*p) == 37 )
  1312. goto st42;
  1313. goto tr83;
  1314. st42:
  1315. if ( ++p == pe )
  1316. goto _test_eof42;
  1317. case 42:
  1318. if ( (*p) == 123 )
  1319. goto tr86;
  1320. goto tr85;
  1321. tr77:
  1322. #line 1 "NONE"
  1323. {te = p+1;}
  1324. goto st43;
  1325. st43:
  1326. if ( ++p == pe )
  1327. goto _test_eof43;
  1328. case 43:
  1329. #line 1462 "rlscan.cpp"
  1330. switch( (*p) ) {
  1331. case 10: goto tr6;
  1332. case 39: goto tr3;
  1333. case 92: goto st4;
  1334. }
  1335. goto st3;
  1336. tr6:
  1337. #line 641 "rlscan.rl"
  1338. {
  1339. lastnl = p;
  1340. column = 0;
  1341. line++;
  1342. }
  1343. goto st3;
  1344. st3:
  1345. if ( ++p == pe )
  1346. goto _test_eof3;
  1347. case 3:
  1348. #line 1481 "rlscan.cpp"
  1349. switch( (*p) ) {
  1350. case 10: goto tr6;
  1351. case 39: goto tr3;
  1352. case 92: goto st4;
  1353. }
  1354. goto st3;
  1355. st4:
  1356. if ( ++p == pe )
  1357. goto _test_eof4;
  1358. case 4:
  1359. if ( (*p) == 10 )
  1360. goto tr6;
  1361. goto st3;
  1362. tr78:
  1363. #line 1 "NONE"
  1364. {te = p+1;}
  1365. goto st44;
  1366. st44:
  1367. if ( ++p == pe )
  1368. goto _test_eof44;
  1369. case 44:
  1370. #line 1503 "rlscan.cpp"
  1371. switch( (*p) ) {
  1372. case 42: goto st5;
  1373. case 47: goto st7;
  1374. }
  1375. goto tr83;
  1376. tr9:
  1377. #line 641 "rlscan.rl"
  1378. {
  1379. lastnl = p;
  1380. column = 0;
  1381. line++;
  1382. }
  1383. goto st5;
  1384. st5:
  1385. if ( ++p == pe )
  1386. goto _test_eof5;
  1387. case 5:
  1388. #line 1521 "rlscan.cpp"
  1389. switch( (*p) ) {
  1390. case 10: goto tr9;
  1391. case 42: goto st6;
  1392. }
  1393. goto st5;
  1394. st6:
  1395. if ( ++p == pe )
  1396. goto _test_eof6;
  1397. case 6:
  1398. switch( (*p) ) {
  1399. case 10: goto tr9;
  1400. case 42: goto st6;
  1401. case 47: goto tr11;
  1402. }
  1403. goto st5;
  1404. st7:
  1405. if ( ++p == pe )
  1406. goto _test_eof7;
  1407. case 7:
  1408. if ( (*p) == 10 )
  1409. goto tr13;
  1410. goto st7;
  1411. st45:
  1412. if ( ++p == pe )
  1413. goto _test_eof45;
  1414. case 45:
  1415. if ( 48 <= (*p) && (*p) <= 57 )
  1416. goto st45;
  1417. goto tr87;
  1418. tr80:
  1419. #line 1 "NONE"
  1420. {te = p+1;}
  1421. #line 1152 "rlscan.rl"
  1422. {act = 177;}
  1423. goto st46;
  1424. tr94:
  1425. #line 1 "NONE"
  1426. {te = p+1;}
  1427. #line 1151 "rlscan.rl"
  1428. {act = 176;}
  1429. goto st46;
  1430. st46:
  1431. if ( ++p == pe )
  1432. goto _test_eof46;
  1433. case 46:
  1434. #line 1567 "rlscan.cpp"
  1435. if ( (*p) == 95 )
  1436. goto tr80;
  1437. if ( (*p) < 65 ) {
  1438. if ( 48 <= (*p) && (*p) <= 57 )
  1439. goto tr80;
  1440. } else if ( (*p) > 90 ) {
  1441. if ( 97 <= (*p) && (*p) <= 122 )
  1442. goto tr80;
  1443. } else
  1444. goto tr80;
  1445. goto tr88;
  1446. st47:
  1447. if ( ++p == pe )
  1448. goto _test_eof47;
  1449. case 47:
  1450. switch( (*p) ) {
  1451. case 95: goto tr80;
  1452. case 101: goto st48;
  1453. }
  1454. if ( (*p) < 65 ) {
  1455. if ( 48 <= (*p) && (*p) <= 57 )
  1456. goto tr80;
  1457. } else if ( (*p) > 90 ) {
  1458. if ( 97 <= (*p) && (*p) <= 122 )
  1459. goto tr80;
  1460. } else
  1461. goto tr80;
  1462. goto tr89;
  1463. st48:
  1464. if ( ++p == pe )
  1465. goto _test_eof48;
  1466. case 48:
  1467. switch( (*p) ) {
  1468. case 95: goto tr80;
  1469. case 102: goto st49;
  1470. }
  1471. if ( (*p) < 65 ) {
  1472. if ( 48 <= (*p) && (*p) <= 57 )
  1473. goto tr80;
  1474. } else if ( (*p) > 90 ) {
  1475. if ( 97 <= (*p) && (*p) <= 122 )
  1476. goto tr80;
  1477. } else
  1478. goto tr80;
  1479. goto tr89;
  1480. st49:
  1481. if ( ++p == pe )
  1482. goto _test_eof49;
  1483. case 49:
  1484. switch( (*p) ) {
  1485. case 95: goto tr80;
  1486. case 105: goto st50;
  1487. }
  1488. if ( (*p) < 65 ) {
  1489. if ( 48 <= (*p) && (*p) <= 57 )
  1490. goto tr80;
  1491. } else if ( (*p) > 90 ) {
  1492. if ( 97 <= (*p) && (*p) <= 122 )
  1493. goto tr80;
  1494. } else
  1495. goto tr80;
  1496. goto tr89;
  1497. st50:
  1498. if ( ++p == pe )
  1499. goto _test_eof50;
  1500. case 50:
  1501. switch( (*p) ) {
  1502. case 95: goto tr80;
  1503. case 110: goto st51;
  1504. }
  1505. if ( (*p) < 65 ) {
  1506. if ( 48 <= (*p) && (*p) <= 57 )
  1507. goto tr80;
  1508. } else if ( (*p) > 90 ) {
  1509. if ( 97 <= (*p) && (*p) <= 122 )
  1510. goto tr80;
  1511. } else
  1512. goto tr80;
  1513. goto tr89;
  1514. st51:
  1515. if ( ++p == pe )
  1516. goto _test_eof51;
  1517. case 51:
  1518. switch( (*p) ) {
  1519. case 95: goto tr80;
  1520. case 101: goto tr94;
  1521. }
  1522. if ( (*p) < 65 ) {
  1523. if ( 48 <= (*p) && (*p) <= 57 )
  1524. goto tr80;
  1525. } else if ( (*p) > 90 ) {
  1526. if ( 97 <= (*p) && (*p) <= 122 )
  1527. goto tr80;
  1528. } else
  1529. goto tr80;
  1530. goto tr89;
  1531. tr14:
  1532. #line 770 "rlscan.rl"
  1533. {{p = ((te))-1;}{ token( IL_Symbol, ts, te ); }}
  1534. goto st52;
  1535. tr17:
  1536. #line 716 "rlscan.rl"
  1537. {te = p+1;{ token( IL_Literal, ts, te ); }}
  1538. goto st52;
  1539. tr20:
  1540. #line 641 "rlscan.rl"
  1541. {
  1542. lastnl = p;
  1543. column = 0;
  1544. line++;
  1545. }
  1546. #line 723 "rlscan.rl"
  1547. {te = p+1;{ token( IL_Comment, ts, te ); }}
  1548. goto st52;
  1549. tr27:
  1550. #line 712 "rlscan.rl"
  1551. {{p = ((te))-1;}{ token( TK_UInt, ts, te ); }}
  1552. goto st52;
  1553. tr95:
  1554. #line 770 "rlscan.rl"
  1555. {te = p+1;{ token( IL_Symbol, ts, te ); }}
  1556. goto st52;
  1557. tr96:
  1558. #line 765 "rlscan.rl"
  1559. {te = p+1;{
  1560. scan_error() << "unterminated code block" << endl;
  1561. }}
  1562. goto st52;
  1563. tr102:
  1564. #line 745 "rlscan.rl"
  1565. {te = p+1;{ token( *ts, ts, te ); }}
  1566. goto st52;
  1567. tr103:
  1568. #line 740 "rlscan.rl"
  1569. {te = p+1;{
  1570. whitespaceOn = true;
  1571. token( *ts, ts, te );
  1572. }}
  1573. goto st52;
  1574. tr108:
  1575. #line 733 "rlscan.rl"
  1576. {te = p+1;{
  1577. whitespaceOn = true;
  1578. token( *ts, ts, te );
  1579. if ( inlineBlockType == SemiTerminated )
  1580. {cs = stack[--top];goto _again;}
  1581. }}
  1582. goto st52;
  1583. tr111:
  1584. #line 747 "rlscan.rl"
  1585. {te = p+1;{
  1586. token( IL_Symbol, ts, te );
  1587. curly_count += 1;
  1588. }}
  1589. goto st52;
  1590. tr112:
  1591. #line 752 "rlscan.rl"
  1592. {te = p+1;{
  1593. if ( --curly_count == 0 && inlineBlockType == CurlyDelimited ) {
  1594. /* Inline code block ends. */
  1595. token( '}' );
  1596. {cs = stack[--top];goto _again;}
  1597. }
  1598. else {
  1599. /* Either a semi terminated inline block or only the closing
  1600. * brace of some inner scope, not the block's closing brace. */
  1601. token( IL_Symbol, ts, te );
  1602. }
  1603. }}
  1604. goto st52;
  1605. tr113:
  1606. #line 718 "rlscan.rl"
  1607. {te = p;p--;{
  1608. if ( whitespaceOn )
  1609. token( IL_WhiteSpace, ts, te );
  1610. }}
  1611. goto st52;
  1612. tr114:
  1613. #line 770 "rlscan.rl"
  1614. {te = p;p--;{ token( IL_Symbol, ts, te ); }}
  1615. goto st52;
  1616. tr115:
  1617. #line 712 "rlscan.rl"
  1618. {te = p;p--;{ token( TK_UInt, ts, te ); }}
  1619. goto st52;
  1620. tr117:
  1621. #line 713 "rlscan.rl"
  1622. {te = p;p--;{ token( TK_Hex, ts, te ); }}
  1623. goto st52;
  1624. tr118:
  1625. #line 725 "rlscan.rl"
  1626. {te = p+1;{ token( TK_NameSep, ts, te ); }}
  1627. goto st52;
  1628. tr119:
  1629. #line 1 "NONE"
  1630. { switch( act ) {
  1631. case 1:
  1632. {{p = ((te))-1;} token( KW_PChar ); }
  1633. break;
  1634. case 3:
  1635. {{p = ((te))-1;} token( KW_CurState ); }
  1636. break;
  1637. case 4:
  1638. {{p = ((te))-1;} token( KW_TargState ); }
  1639. break;
  1640. case 5:
  1641. {{p = ((te))-1;}
  1642. whitespaceOn = false;
  1643. token( KW_Entry );
  1644. }
  1645. break;
  1646. case 6:
  1647. {{p = ((te))-1;}
  1648. whitespaceOn = false;
  1649. token( KW_Hold );
  1650. }
  1651. break;
  1652. case 7:
  1653. {{p = ((te))-1;} token( KW_Exec, 0, 0 ); }
  1654. break;
  1655. case 8:
  1656. {{p = ((te))-1;}
  1657. whitespaceOn = false;
  1658. token( KW_Goto );
  1659. }
  1660. break;
  1661. case 9:
  1662. {{p = ((te))-1;}
  1663. whitespaceOn = false;
  1664. token( KW_Next );
  1665. }
  1666. break;
  1667. case 10:
  1668. {{p = ((te))-1;}
  1669. whitespaceOn = false;
  1670. token( KW_Call );
  1671. }
  1672. break;
  1673. case 11:
  1674. {{p = ((te))-1;}
  1675. whitespaceOn = false;
  1676. token( KW_Ret );
  1677. }
  1678. break;
  1679. case 12:
  1680. {{p = ((te))-1;}
  1681. whitespaceOn = false;
  1682. token( KW_Break );
  1683. }
  1684. break;
  1685. case 13:
  1686. {{p = ((te))-1;} token( TK_Word, ts, te ); }
  1687. break;
  1688. }
  1689. }
  1690. goto st52;
  1691. tr120:
  1692. #line 710 "rlscan.rl"
  1693. {te = p;p--;{ token( TK_Word, ts, te ); }}
  1694. goto st52;
  1695. tr134:
  1696. #line 675 "rlscan.rl"
  1697. {te = p;p--;{ token( KW_Char ); }}
  1698. goto st52;
  1699. st52:
  1700. #line 1 "NONE"
  1701. {ts = 0;}
  1702. if ( ++p == pe )
  1703. goto _test_eof52;
  1704. case 52:
  1705. #line 1 "NONE"
  1706. {ts = p;}
  1707. #line 1840 "rlscan.cpp"
  1708. switch( (*p) ) {
  1709. case 0: goto tr96;
  1710. case 9: goto st53;
  1711. case 10: goto tr98;
  1712. case 32: goto st53;
  1713. case 34: goto tr99;
  1714. case 35: goto tr100;
  1715. case 39: goto tr101;
  1716. case 40: goto tr102;
  1717. case 44: goto tr102;
  1718. case 47: goto tr104;
  1719. case 48: goto tr105;
  1720. case 58: goto st61;
  1721. case 59: goto tr108;
  1722. case 95: goto tr109;
  1723. case 102: goto st63;
  1724. case 123: goto tr111;
  1725. case 125: goto tr112;
  1726. }
  1727. if ( (*p) < 49 ) {
  1728. if ( 41 <= (*p) && (*p) <= 42 )
  1729. goto tr103;
  1730. } else if ( (*p) > 57 ) {
  1731. if ( (*p) > 90 ) {
  1732. if ( 97 <= (*p) && (*p) <= 122 )
  1733. goto tr109;
  1734. } else if ( (*p) >= 65 )
  1735. goto tr109;
  1736. } else
  1737. goto st59;
  1738. goto tr95;
  1739. tr98:
  1740. #line 641 "rlscan.rl"
  1741. {
  1742. lastnl = p;
  1743. column = 0;
  1744. line++;
  1745. }
  1746. goto st53;
  1747. st53:
  1748. if ( ++p == pe )
  1749. goto _test_eof53;
  1750. case 53:
  1751. #line 1884 "rlscan.cpp"
  1752. switch( (*p) ) {
  1753. case 9: goto st53;
  1754. case 10: goto tr98;
  1755. case 32: goto st53;
  1756. }
  1757. goto tr113;
  1758. tr99:
  1759. #line 1 "NONE"
  1760. {te = p+1;}
  1761. goto st54;
  1762. st54:
  1763. if ( ++p == pe )
  1764. goto _test_eof54;
  1765. case 54:
  1766. #line 1899 "rlscan.cpp"
  1767. switch( (*p) ) {
  1768. case 10: goto tr16;
  1769. case 34: goto tr17;
  1770. case 92: goto st9;
  1771. }
  1772. goto st8;
  1773. tr16:
  1774. #line 641 "rlscan.rl"
  1775. {
  1776. lastnl = p;
  1777. column = 0;
  1778. line++;
  1779. }
  1780. goto st8;
  1781. st8:
  1782. if ( ++p == pe )
  1783. goto _test_eof8;
  1784. case 8:
  1785. #line 1918 "rlscan.cpp"
  1786. switch( (*p) ) {
  1787. case 10: goto tr16;
  1788. case 34: goto tr17;
  1789. case 92: goto st9;
  1790. }
  1791. goto st8;
  1792. st9:
  1793. if ( ++p == pe )
  1794. goto _test_eof9;
  1795. case 9:
  1796. if ( (*p) == 10 )
  1797. goto tr16;
  1798. goto st8;
  1799. tr100:
  1800. #line 1 "NONE"
  1801. {te = p+1;}
  1802. goto st55;
  1803. st55:
  1804. if ( ++p == pe )
  1805. goto _test_eof55;
  1806. case 55:
  1807. #line 1940 "rlscan.cpp"
  1808. if ( (*p) == 10 )
  1809. goto tr20;
  1810. goto st10;
  1811. st10:
  1812. if ( ++p == pe )
  1813. goto _test_eof10;
  1814. case 10:
  1815. if ( (*p) == 10 )
  1816. goto tr20;
  1817. goto st10;
  1818. tr101:
  1819. #line 1 "NONE"
  1820. {te = p+1;}
  1821. goto st56;
  1822. st56:
  1823. if ( ++p == pe )
  1824. goto _test_eof56;
  1825. case 56:
  1826. #line 1959 "rlscan.cpp"
  1827. switch( (*p) ) {
  1828. case 10: goto tr22;
  1829. case 39: goto tr17;
  1830. case 92: goto st12;
  1831. }
  1832. goto st11;
  1833. tr22:
  1834. #line 641 "rlscan.rl"
  1835. {
  1836. lastnl = p;
  1837. column = 0;
  1838. line++;
  1839. }
  1840. goto st11;
  1841. st11:
  1842. if ( ++p == pe )
  1843. goto _test_eof11;
  1844. case 11:
  1845. #line 1978 "rlscan.cpp"
  1846. switch( (*p) ) {
  1847. case 10: goto tr22;
  1848. case 39: goto tr17;
  1849. case 92: goto st12;
  1850. }
  1851. goto st11;
  1852. st12:
  1853. if ( ++p == pe )
  1854. goto _test_eof12;
  1855. case 12:
  1856. if ( (*p) == 10 )
  1857. goto tr22;
  1858. goto st11;
  1859. tr104:
  1860. #line 1 "NONE"
  1861. {te = p+1;}
  1862. goto st57;
  1863. st57:
  1864. if ( ++p == pe )
  1865. goto _test_eof57;
  1866. case 57:
  1867. #line 2000 "rlscan.cpp"
  1868. switch( (*p) ) {
  1869. case 10: goto tr25;
  1870. case 47: goto tr17;
  1871. case 92: goto st14;
  1872. }
  1873. goto st13;
  1874. tr25:
  1875. #line 641 "rlscan.rl"
  1876. {
  1877. lastnl = p;
  1878. column = 0;
  1879. line++;
  1880. }
  1881. goto st13;
  1882. st13:
  1883. if ( ++p == pe )
  1884. goto _test_eof13;
  1885. case 13:
  1886. #line 2019 "rlscan.cpp"
  1887. switch( (*p) ) {
  1888. case 10: goto tr25;
  1889. case 47: goto tr17;
  1890. case 92: goto st14;
  1891. }
  1892. goto st13;
  1893. st14:
  1894. if ( ++p == pe )
  1895. goto _test_eof14;
  1896. case 14:
  1897. if ( (*p) == 10 )
  1898. goto tr25;
  1899. goto st13;
  1900. tr105:
  1901. #line 1 "NONE"
  1902. {te = p+1;}
  1903. goto st58;
  1904. st58:
  1905. if ( ++p == pe )
  1906. goto _test_eof58;
  1907. case 58:
  1908. #line 2041 "rlscan.cpp"
  1909. if ( (*p) == 120 )
  1910. goto st15;
  1911. if ( 48 <= (*p) && (*p) <= 57 )
  1912. goto st59;
  1913. goto tr115;
  1914. st59:
  1915. if ( ++p == pe )
  1916. goto _test_eof59;
  1917. case 59:
  1918. if ( 48 <= (*p) && (*p) <= 57 )
  1919. goto st59;
  1920. goto tr115;
  1921. st15:
  1922. if ( ++p == pe )
  1923. goto _test_eof15;
  1924. case 15:
  1925. if ( (*p) < 65 ) {
  1926. if ( 48 <= (*p) && (*p) <= 57 )
  1927. goto st60;
  1928. } else if ( (*p) > 70 ) {
  1929. if ( 97 <= (*p) && (*p) <= 102 )
  1930. goto st60;
  1931. } else
  1932. goto st60;
  1933. goto tr27;
  1934. st60:
  1935. if ( ++p == pe )
  1936. goto _test_eof60;
  1937. case 60:
  1938. if ( (*p) < 65 ) {
  1939. if ( 48 <= (*p) && (*p) <= 57 )
  1940. goto st60;
  1941. } else if ( (*p) > 70 ) {
  1942. if ( 97 <= (*p) && (*p) <= 102 )
  1943. goto st60;
  1944. } else
  1945. goto st60;
  1946. goto tr117;
  1947. st61:
  1948. if ( ++p == pe )
  1949. goto _test_eof61;
  1950. case 61:
  1951. if ( (*p) == 58 )
  1952. goto tr118;
  1953. goto tr114;
  1954. tr109:
  1955. #line 1 "NONE"
  1956. {te = p+1;}
  1957. #line 710 "rlscan.rl"
  1958. {act = 13;}
  1959. goto st62;
  1960. tr133:
  1961. #line 1 "NONE"
  1962. {te = p+1;}
  1963. #line 705 "rlscan.rl"
  1964. {act = 12;}
  1965. goto st62;
  1966. tr138:
  1967. #line 1 "NONE"
  1968. {te = p+1;}
  1969. #line 697 "rlscan.rl"
  1970. {act = 10;}
  1971. goto st62;
  1972. tr140:
  1973. #line 1 "NONE"
  1974. {te = p+1;}
  1975. #line 676 "rlscan.rl"
  1976. {act = 3;}
  1977. goto st62;
  1978. tr145:
  1979. #line 1 "NONE"
  1980. {te = p+1;}
  1981. #line 678 "rlscan.rl"
  1982. {act = 5;}
  1983. goto st62;
  1984. tr147:
  1985. #line 1 "NONE"
  1986. {te = p+1;}
  1987. #line 688 "rlscan.rl"
  1988. {act = 7;}
  1989. goto st62;
  1990. tr150:
  1991. #line 1 "NONE"
  1992. {te = p+1;}
  1993. #line 689 "rlscan.rl"
  1994. {act = 8;}
  1995. goto st62;
  1996. tr153:
  1997. #line 1 "NONE"
  1998. {te = p+1;}
  1999. #line 684 "rlscan.rl"
  2000. {act = 6;}
  2001. goto st62;
  2002. tr156:
  2003. #line 1 "NONE"
  2004. {te = p+1;}
  2005. #line 693 "rlscan.rl"
  2006. {act = 9;}
  2007. goto st62;
  2008. tr157:
  2009. #line 1 "NONE"
  2010. {te = p+1;}
  2011. #line 674 "rlscan.rl"
  2012. {act = 1;}
  2013. goto st62;
  2014. tr159:
  2015. #line 1 "NONE"
  2016. {te = p+1;}
  2017. #line 701 "rlscan.rl"
  2018. {act = 11;}
  2019. goto st62;
  2020. tr163:
  2021. #line 1 "NONE"
  2022. {te = p+1;}
  2023. #line 677 "rlscan.rl"
  2024. {act = 4;}
  2025. goto st62;
  2026. st62:
  2027. if ( ++p == pe )
  2028. goto _test_eof62;
  2029. case 62:
  2030. #line 2163 "rlscan.cpp"
  2031. if ( (*p) == 95 )
  2032. goto tr109;
  2033. if ( (*p) < 65 ) {
  2034. if ( 48 <= (*p) && (*p) <= 57 )
  2035. goto tr109;
  2036. } else if ( (*p) > 90 ) {
  2037. if ( 97 <= (*p) && (*p) <= 122 )
  2038. goto tr109;
  2039. } else
  2040. goto tr109;
  2041. goto tr119;
  2042. st63:
  2043. if ( ++p == pe )
  2044. goto _test_eof63;
  2045. case 63:
  2046. switch( (*p) ) {
  2047. case 95: goto tr109;
  2048. case 98: goto st64;
  2049. case 99: goto st68;
  2050. case 101: goto st73;
  2051. case 103: goto st79;
  2052. case 104: goto st82;
  2053. case 110: goto st85;
  2054. case 112: goto st88;
  2055. case 114: goto st89;
  2056. case 116: goto st91;
  2057. }
  2058. if ( (*p) < 65 ) {
  2059. if ( 48 <= (*p) && (*p) <= 57 )
  2060. goto tr109;
  2061. } else if ( (*p) > 90 ) {
  2062. if ( 97 <= (*p) && (*p) <= 122 )
  2063. goto tr109;
  2064. } else
  2065. goto tr109;
  2066. goto tr120;
  2067. st64:
  2068. if ( ++p == pe )
  2069. goto _test_eof64;
  2070. case 64:
  2071. switch( (*p) ) {
  2072. case 95: goto tr109;
  2073. case 114: goto st65;
  2074. }
  2075. if ( (*p) < 65 ) {
  2076. if ( 48 <= (*p) && (*p) <= 57 )
  2077. goto tr109;
  2078. } else if ( (*p) > 90 ) {
  2079. if ( 97 <= (*p) && (*p) <= 122 )
  2080. goto tr109;
  2081. } else
  2082. goto tr109;
  2083. goto tr120;
  2084. st65:
  2085. if ( ++p == pe )
  2086. goto _test_eof65;
  2087. case 65:
  2088. switch( (*p) ) {
  2089. case 95: goto tr109;
  2090. case 101: goto st66;
  2091. }
  2092. if ( (*p) < 65 ) {
  2093. if ( 48 <= (*p) && (*p) <= 57 )
  2094. goto tr109;
  2095. } else if ( (*p) > 90 ) {
  2096. if ( 97 <= (*p) && (*p) <= 122 )
  2097. goto tr109;
  2098. } else
  2099. goto tr109;
  2100. goto tr120;
  2101. st66:
  2102. if ( ++p == pe )
  2103. goto _test_eof66;
  2104. case 66:
  2105. switch( (*p) ) {
  2106. case 95: goto tr109;
  2107. case 97: goto st67;
  2108. }
  2109. if ( (*p) < 65 ) {
  2110. if ( 48 <= (*p) && (*p) <= 57 )
  2111. goto tr109;
  2112. } else if ( (*p) > 90 ) {
  2113. if ( 98 <= (*p) && (*p) <= 122 )
  2114. goto tr109;
  2115. } else
  2116. goto tr109;
  2117. goto tr120;
  2118. st67:
  2119. if ( ++p == pe )
  2120. goto _test_eof67;
  2121. case 67:
  2122. switch( (*p) ) {
  2123. case 95: goto tr109;
  2124. case 107: goto tr133;
  2125. }
  2126. if ( (*p) < 65 ) {
  2127. if ( 48 <= (*p) && (*p) <= 57 )
  2128. goto tr109;
  2129. } else if ( (*p) > 90 ) {
  2130. if ( 97 <= (*p) && (*p) <= 122 )
  2131. goto tr109;
  2132. } else
  2133. goto tr109;
  2134. goto tr120;
  2135. st68:
  2136. if ( ++p == pe )
  2137. goto _test_eof68;
  2138. case 68:
  2139. switch( (*p) ) {
  2140. case 95: goto tr109;
  2141. case 97: goto st69;
  2142. case 117: goto st71;
  2143. }
  2144. if ( (*p) < 65 ) {
  2145. if ( 48 <= (*p) && (*p) <= 57 )
  2146. goto tr109;
  2147. } else if ( (*p) > 90 ) {
  2148. if ( 98 <= (*p) && (*p) <= 122 )
  2149. goto tr109;
  2150. } else
  2151. goto tr109;
  2152. goto tr134;
  2153. st69:
  2154. if ( ++p == pe )
  2155. goto _test_eof69;
  2156. case 69:
  2157. switch( (*p) ) {
  2158. case 95: goto tr109;
  2159. case 108: goto st70;
  2160. }
  2161. if ( (*p) < 65 ) {
  2162. if ( 48 <= (*p) && (*p) <= 57 )
  2163. goto tr109;
  2164. } else if ( (*p) > 90 ) {
  2165. if ( 97 <= (*p) && (*p) <= 122 )
  2166. goto tr109;
  2167. } else
  2168. goto tr109;
  2169. goto tr120;
  2170. st70:
  2171. if ( ++p == pe )
  2172. goto _test_eof70;
  2173. case 70:
  2174. switch( (*p) ) {
  2175. case 95: goto tr109;
  2176. case 108: goto tr138;
  2177. }
  2178. if ( (*p) < 65 ) {
  2179. if ( 48 <= (*p) && (*p) <= 57 )
  2180. goto tr109;
  2181. } else if ( (*p) > 90 ) {
  2182. if ( 97 <= (*p) && (*p) <= 122 )
  2183. goto tr109;
  2184. } else
  2185. goto tr109;
  2186. goto tr120;
  2187. st71:
  2188. if ( ++p == pe )
  2189. goto _test_eof71;
  2190. case 71:
  2191. switch( (*p) ) {
  2192. case 95: goto tr109;
  2193. case 114: goto st72;
  2194. }
  2195. if ( (*p) < 65 ) {
  2196. if ( 48 <= (*p) && (*p) <= 57 )
  2197. goto tr109;
  2198. } else if ( (*p) > 90 ) {
  2199. if ( 97 <= (*p) && (*p) <= 122 )
  2200. goto tr109;
  2201. } else
  2202. goto tr109;
  2203. goto tr120;
  2204. st72:
  2205. if ( ++p == pe )
  2206. goto _test_eof72;
  2207. case 72:
  2208. switch( (*p) ) {
  2209. case 95: goto tr109;
  2210. case 115: goto tr140;
  2211. }
  2212. if ( (*p) < 65 ) {
  2213. if ( 48 <= (*p) && (*p) <= 57 )
  2214. goto tr109;
  2215. } else if ( (*p) > 90 ) {
  2216. if ( 97 <= (*p) && (*p) <= 122 )
  2217. goto tr109;
  2218. } else
  2219. goto tr109;
  2220. goto tr120;
  2221. st73:
  2222. if ( ++p == pe )
  2223. goto _test_eof73;
  2224. case 73:
  2225. switch( (*p) ) {
  2226. case 95: goto tr109;
  2227. case 110: goto st74;
  2228. case 120: goto st77;
  2229. }
  2230. if ( (*p) < 65 ) {
  2231. if ( 48 <= (*p) && (*p) <= 57 )
  2232. goto tr109;
  2233. } else if ( (*p) > 90 ) {
  2234. if ( 97 <= (*p) && (*p) <= 122 )
  2235. goto tr109;
  2236. } else
  2237. goto tr109;
  2238. goto tr120;
  2239. st74:
  2240. if ( ++p == pe )
  2241. goto _test_eof74;
  2242. case 74:
  2243. switch( (*p) ) {
  2244. case 95: goto tr109;
  2245. case 116: goto st75;
  2246. }
  2247. if ( (*p) < 65 ) {
  2248. if ( 48 <= (*p) && (*p) <= 57 )
  2249. goto tr109;
  2250. } else if ( (*p) > 90 ) {
  2251. if ( 97 <= (*p) && (*p) <= 122 )
  2252. goto tr109;
  2253. } else
  2254. goto tr109;
  2255. goto tr120;
  2256. st75:
  2257. if ( ++p == pe )
  2258. goto _test_eof75;
  2259. case 75:
  2260. switch( (*p) ) {
  2261. case 95: goto tr109;
  2262. case 114: goto st76;
  2263. }
  2264. if ( (*p) < 65 ) {
  2265. if ( 48 <= (*p) && (*p) <= 57 )
  2266. goto tr109;
  2267. } else if ( (*p) > 90 ) {
  2268. if ( 97 <= (*p) && (*p) <= 122 )
  2269. goto tr109;
  2270. } else
  2271. goto tr109;
  2272. goto tr120;
  2273. st76:
  2274. if ( ++p == pe )
  2275. goto _test_eof76;
  2276. case 76:
  2277. switch( (*p) ) {
  2278. case 95: goto tr109;
  2279. case 121: goto tr145;
  2280. }
  2281. if ( (*p) < 65 ) {
  2282. if ( 48 <= (*p) && (*p) <= 57 )
  2283. goto tr109;
  2284. } else if ( (*p) > 90 ) {
  2285. if ( 97 <= (*p) && (*p) <= 122 )
  2286. goto tr109;
  2287. } else
  2288. goto tr109;
  2289. goto tr120;
  2290. st77:
  2291. if ( ++p == pe )
  2292. goto _test_eof77;
  2293. case 77:
  2294. switch( (*p) ) {
  2295. case 95: goto tr109;
  2296. case 101: goto st78;
  2297. }
  2298. if ( (*p) < 65 ) {
  2299. if ( 48 <= (*p) && (*p) <= 57 )
  2300. goto tr109;
  2301. } else if ( (*p) > 90 ) {
  2302. if ( 97 <= (*p) && (*p) <= 122 )
  2303. goto tr109;
  2304. } else
  2305. goto tr109;
  2306. goto tr120;
  2307. st78:
  2308. if ( ++p == pe )
  2309. goto _test_eof78;
  2310. case 78:
  2311. switch( (*p) ) {
  2312. case 95: goto tr109;
  2313. case 99: goto tr147;
  2314. }
  2315. if ( (*p) < 65 ) {
  2316. if ( 48 <= (*p) && (*p) <= 57 )
  2317. goto tr109;
  2318. } else if ( (*p) > 90 ) {
  2319. if ( 97 <= (*p) && (*p) <= 122 )
  2320. goto tr109;
  2321. } else
  2322. goto tr109;
  2323. goto tr120;
  2324. st79:
  2325. if ( ++p == pe )
  2326. goto _test_eof79;
  2327. case 79:
  2328. switch( (*p) ) {
  2329. case 95: goto tr109;
  2330. case 111: goto st80;
  2331. }
  2332. if ( (*p) < 65 ) {
  2333. if ( 48 <= (*p) && (*p) <= 57 )
  2334. goto tr109;
  2335. } else if ( (*p) > 90 ) {
  2336. if ( 97 <= (*p) && (*p) <= 122 )
  2337. goto tr109;
  2338. } else
  2339. goto tr109;
  2340. goto tr120;
  2341. st80:
  2342. if ( ++p == pe )
  2343. goto _test_eof80;
  2344. case 80:
  2345. switch( (*p) ) {
  2346. case 95: goto tr109;
  2347. case 116: goto st81;
  2348. }
  2349. if ( (*p) < 65 ) {
  2350. if ( 48 <= (*p) && (*p) <= 57 )
  2351. goto tr109;
  2352. } else if ( (*p) > 90 ) {
  2353. if ( 97 <= (*p) && (*p) <= 122 )
  2354. goto tr109;
  2355. } else
  2356. goto tr109;
  2357. goto tr120;
  2358. st81:
  2359. if ( ++p == pe )
  2360. goto _test_eof81;
  2361. case 81:
  2362. switch( (*p) ) {
  2363. case 95: goto tr109;
  2364. case 111: goto tr150;
  2365. }
  2366. if ( (*p) < 65 ) {
  2367. if ( 48 <= (*p) && (*p) <= 57 )
  2368. goto tr109;
  2369. } else if ( (*p) > 90 ) {
  2370. if ( 97 <= (*p) && (*p) <= 122 )
  2371. goto tr109;
  2372. } else
  2373. goto tr109;
  2374. goto tr120;
  2375. st82:
  2376. if ( ++p == pe )
  2377. goto _test_eof82;
  2378. case 82:
  2379. switch( (*p) ) {
  2380. case 95: goto tr109;
  2381. case 111: goto st83;
  2382. }
  2383. if ( (*p) < 65 ) {
  2384. if ( 48 <= (*p) && (*p) <= 57 )
  2385. goto tr109;
  2386. } else if ( (*p) > 90 ) {
  2387. if ( 97 <= (*p) && (*p) <= 122 )
  2388. goto tr109;
  2389. } else
  2390. goto tr109;
  2391. goto tr120;
  2392. st83:
  2393. if ( ++p == pe )
  2394. goto _test_eof83;
  2395. case 83:
  2396. switch( (*p) ) {
  2397. case 95: goto tr109;
  2398. case 108: goto st84;
  2399. }
  2400. if ( (*p) < 65 ) {
  2401. if ( 48 <= (*p) && (*p) <= 57 )
  2402. goto tr109;
  2403. } else if ( (*p) > 90 ) {
  2404. if ( 97 <= (*p) && (*p) <= 122 )
  2405. goto tr109;
  2406. } else
  2407. goto tr109;
  2408. goto tr120;
  2409. st84:
  2410. if ( ++p == pe )
  2411. goto _test_eof84;
  2412. case 84:
  2413. switch( (*p) ) {
  2414. case 95: goto tr109;
  2415. case 100: goto tr153;
  2416. }
  2417. if ( (*p) < 65 ) {
  2418. if ( 48 <= (*p) && (*p) <= 57 )
  2419. goto tr109;
  2420. } else if ( (*p) > 90 ) {
  2421. if ( 97 <= (*p) && (*p) <= 122 )
  2422. goto tr109;
  2423. } else
  2424. goto tr109;
  2425. goto tr120;
  2426. st85:
  2427. if ( ++p == pe )
  2428. goto _test_eof85;
  2429. case 85:
  2430. switch( (*p) ) {
  2431. case 95: goto tr109;
  2432. case 101: goto st86;
  2433. }
  2434. if ( (*p) < 65 ) {
  2435. if ( 48 <= (*p) && (*p) <= 57 )
  2436. goto tr109;
  2437. } else if ( (*p) > 90 ) {
  2438. if ( 97 <= (*p) && (*p) <= 122 )
  2439. goto tr109;
  2440. } else
  2441. goto tr109;
  2442. goto tr120;
  2443. st86:
  2444. if ( ++p == pe )
  2445. goto _test_eof86;
  2446. case 86:
  2447. switch( (*p) ) {
  2448. case 95: goto tr109;
  2449. case 120: goto st87;
  2450. }
  2451. if ( (*p) < 65 ) {
  2452. if ( 48 <= (*p) && (*p) <= 57 )
  2453. goto tr109;
  2454. } else if ( (*p) > 90 ) {
  2455. if ( 97 <= (*p) && (*p) <= 122 )
  2456. goto tr109;
  2457. } else
  2458. goto tr109;
  2459. goto tr120;
  2460. st87:
  2461. if ( ++p == pe )
  2462. goto _test_eof87;
  2463. case 87:
  2464. switch( (*p) ) {
  2465. case 95: goto tr109;
  2466. case 116: goto tr156;
  2467. }
  2468. if ( (*p) < 65 ) {
  2469. if ( 48 <= (*p) && (*p) <= 57 )
  2470. goto tr109;
  2471. } else if ( (*p) > 90 ) {
  2472. if ( 97 <= (*p) && (*p) <= 122 )
  2473. goto tr109;
  2474. } else
  2475. goto tr109;
  2476. goto tr120;
  2477. st88:
  2478. if ( ++p == pe )
  2479. goto _test_eof88;
  2480. case 88:
  2481. switch( (*p) ) {
  2482. case 95: goto tr109;
  2483. case 99: goto tr157;
  2484. }
  2485. if ( (*p) < 65 ) {
  2486. if ( 48 <= (*p) && (*p) <= 57 )
  2487. goto tr109;
  2488. } else if ( (*p) > 90 ) {
  2489. if ( 97 <= (*p) && (*p) <= 122 )
  2490. goto tr109;
  2491. } else
  2492. goto tr109;
  2493. goto tr120;
  2494. st89:
  2495. if ( ++p == pe )
  2496. goto _test_eof89;
  2497. case 89:
  2498. switch( (*p) ) {
  2499. case 95: goto tr109;
  2500. case 101: goto st90;
  2501. }
  2502. if ( (*p) < 65 ) {
  2503. if ( 48 <= (*p) && (*p) <= 57 )
  2504. goto tr109;
  2505. } else if ( (*p) > 90 ) {
  2506. if ( 97 <= (*p) && (*p) <= 122 )
  2507. goto tr109;
  2508. } else
  2509. goto tr109;
  2510. goto tr120;
  2511. st90:
  2512. if ( ++p == pe )
  2513. goto _test_eof90;
  2514. case 90:
  2515. switch( (*p) ) {
  2516. case 95: goto tr109;
  2517. case 116: goto tr159;
  2518. }
  2519. if ( (*p) < 65 ) {
  2520. if ( 48 <= (*p) && (*p) <= 57 )
  2521. goto tr109;
  2522. } else if ( (*p) > 90 ) {
  2523. if ( 97 <= (*p) && (*p) <= 122 )
  2524. goto tr109;
  2525. } else
  2526. goto tr109;
  2527. goto tr120;
  2528. st91:
  2529. if ( ++p == pe )
  2530. goto _test_eof91;
  2531. case 91:
  2532. switch( (*p) ) {
  2533. case 95: goto tr109;
  2534. case 97: goto st92;
  2535. }
  2536. if ( (*p) < 65 ) {
  2537. if ( 48 <= (*p) && (*p) <= 57 )
  2538. goto tr109;
  2539. } else if ( (*p) > 90 ) {
  2540. if ( 98 <= (*p) && (*p) <= 122 )
  2541. goto tr109;
  2542. } else
  2543. goto tr109;
  2544. goto tr120;
  2545. st92:
  2546. if ( ++p == pe )
  2547. goto _test_eof92;
  2548. case 92:
  2549. switch( (*p) ) {
  2550. case 95: goto tr109;
  2551. case 114: goto st93;
  2552. }
  2553. if ( (*p) < 65 ) {
  2554. if ( 48 <= (*p) && (*p) <= 57 )
  2555. goto tr109;
  2556. } else if ( (*p) > 90 ) {
  2557. if ( 97 <= (*p) && (*p) <= 122 )
  2558. goto tr109;
  2559. } else
  2560. goto tr109;
  2561. goto tr120;
  2562. st93:
  2563. if ( ++p == pe )
  2564. goto _test_eof93;
  2565. case 93:
  2566. switch( (*p) ) {
  2567. case 95: goto tr109;
  2568. case 103: goto st94;
  2569. }
  2570. if ( (*p) < 65 ) {
  2571. if ( 48 <= (*p) && (*p) <= 57 )
  2572. goto tr109;
  2573. } else if ( (*p) > 90 ) {
  2574. if ( 97 <= (*p) && (*p) <= 122 )
  2575. goto tr109;
  2576. } else
  2577. goto tr109;
  2578. goto tr120;
  2579. st94:
  2580. if ( ++p == pe )
  2581. goto _test_eof94;
  2582. case 94:
  2583. switch( (*p) ) {
  2584. case 95: goto tr109;
  2585. case 115: goto tr163;
  2586. }
  2587. if ( (*p) < 65 ) {
  2588. if ( 48 <= (*p) && (*p) <= 57 )
  2589. goto tr109;
  2590. } else if ( (*p) > 90 ) {
  2591. if ( 97 <= (*p) && (*p) <= 122 )
  2592. goto tr109;
  2593. } else
  2594. goto tr109;
  2595. goto tr120;
  2596. tr29:
  2597. #line 873 "rlscan.rl"
  2598. {{p = ((te))-1;}{ token( IL_Symbol, ts, te ); }}
  2599. goto st95;
  2600. tr32:
  2601. #line 819 "rlscan.rl"
  2602. {te = p+1;{ token( IL_Literal, ts, te ); }}
  2603. goto st95;
  2604. tr40:
  2605. #line 826 "rlscan.rl"
  2606. {te = p+1;{ token( IL_Comment, ts, te ); }}
  2607. goto st95;
  2608. tr42:
  2609. #line 641 "rlscan.rl"
  2610. {
  2611. lastnl = p;
  2612. column = 0;
  2613. line++;
  2614. }
  2615. #line 826 "rlscan.rl"
  2616. {te = p+1;{ token( IL_Comment, ts, te ); }}
  2617. goto st95;
  2618. tr43:
  2619. #line 815 "rlscan.rl"
  2620. {{p = ((te))-1;}{ token( TK_UInt, ts, te ); }}
  2621. goto st95;
  2622. tr164:
  2623. #line 873 "rlscan.rl"
  2624. {te = p+1;{ token( IL_Symbol, ts, te ); }}
  2625. goto st95;
  2626. tr165:
  2627. #line 868 "rlscan.rl"
  2628. {te = p+1;{
  2629. scan_error() << "unterminated code block" << endl;
  2630. }}
  2631. goto st95;
  2632. tr170:
  2633. #line 848 "rlscan.rl"
  2634. {te = p+1;{ token( *ts, ts, te ); }}
  2635. goto st95;
  2636. tr171:
  2637. #line 843 "rlscan.rl"
  2638. {te = p+1;{
  2639. whitespaceOn = true;
  2640. token( *ts, ts, te );
  2641. }}
  2642. goto st95;
  2643. tr176:
  2644. #line 836 "rlscan.rl"
  2645. {te = p+1;{
  2646. whitespaceOn = true;
  2647. token( *ts, ts, te );
  2648. if ( inlineBlockType == SemiTerminated )
  2649. {cs = stack[--top];goto _again;}
  2650. }}
  2651. goto st95;
  2652. tr179:
  2653. #line 850 "rlscan.rl"
  2654. {te = p+1;{
  2655. token( IL_Symbol, ts, te );
  2656. curly_count += 1;
  2657. }}
  2658. goto st95;
  2659. tr180:
  2660. #line 855 "rlscan.rl"
  2661. {te = p+1;{
  2662. if ( --curly_count == 0 && inlineBlockType == CurlyDelimited ) {
  2663. /* Inline code block ends. */
  2664. token( '}' );
  2665. {cs = stack[--top];goto _again;}
  2666. }
  2667. else {
  2668. /* Either a semi terminated inline block or only the closing
  2669. * brace of some inner scope, not the block's closing brace. */
  2670. token( IL_Symbol, ts, te );
  2671. }
  2672. }}
  2673. goto st95;
  2674. tr181:
  2675. #line 821 "rlscan.rl"
  2676. {te = p;p--;{
  2677. if ( whitespaceOn )
  2678. token( IL_WhiteSpace, ts, te );
  2679. }}
  2680. goto st95;
  2681. tr182:
  2682. #line 873 "rlscan.rl"
  2683. {te = p;p--;{ token( IL_Symbol, ts, te ); }}
  2684. goto st95;
  2685. tr183:
  2686. #line 815 "rlscan.rl"
  2687. {te = p;p--;{ token( TK_UInt, ts, te ); }}
  2688. goto st95;
  2689. tr185:
  2690. #line 816 "rlscan.rl"
  2691. {te = p;p--;{ token( TK_Hex, ts, te ); }}
  2692. goto st95;
  2693. tr186:
  2694. #line 828 "rlscan.rl"
  2695. {te = p+1;{ token( TK_NameSep, ts, te ); }}
  2696. goto st95;
  2697. tr187:
  2698. #line 1 "NONE"
  2699. { switch( act ) {
  2700. case 27:
  2701. {{p = ((te))-1;} token( KW_PChar ); }
  2702. break;
  2703. case 29:
  2704. {{p = ((te))-1;} token( KW_CurState ); }
  2705. break;
  2706. case 30:
  2707. {{p = ((te))-1;} token( KW_TargState ); }
  2708. break;
  2709. case 31:
  2710. {{p = ((te))-1;}
  2711. whitespaceOn = false;
  2712. token( KW_Entry );
  2713. }
  2714. break;
  2715. case 32:
  2716. {{p = ((te))-1;}
  2717. whitespaceOn = false;
  2718. token( KW_Hold );
  2719. }
  2720. break;
  2721. case 33:
  2722. {{p = ((te))-1;} token( KW_Exec, 0, 0 ); }
  2723. break;
  2724. case 34:
  2725. {{p = ((te))-1;}
  2726. whitespaceOn = false;
  2727. token( KW_Goto );
  2728. }
  2729. break;
  2730. case 35:
  2731. {{p = ((te))-1;}
  2732. whitespaceOn = false;
  2733. token( KW_Next );
  2734. }
  2735. break;
  2736. case 36:
  2737. {{p = ((te))-1;}
  2738. whitespaceOn = false;
  2739. token( KW_Call );
  2740. }
  2741. break;
  2742. case 37:
  2743. {{p = ((te))-1;}
  2744. whitespaceOn = false;
  2745. token( KW_Ret );
  2746. }
  2747. break;
  2748. case 38:
  2749. {{p = ((te))-1;}
  2750. whitespaceOn = false;
  2751. token( KW_Break );
  2752. }
  2753. break;
  2754. case 39:
  2755. {{p = ((te))-1;} token( TK_Word, ts, te ); }
  2756. break;
  2757. }
  2758. }
  2759. goto st95;
  2760. tr188:
  2761. #line 813 "rlscan.rl"
  2762. {te = p;p--;{ token( TK_Word, ts, te ); }}
  2763. goto st95;
  2764. tr202:
  2765. #line 778 "rlscan.rl"
  2766. {te = p;p--;{ token( KW_Char ); }}
  2767. goto st95;
  2768. st95:
  2769. #line 1 "NONE"
  2770. {ts = 0;}
  2771. if ( ++p == pe )
  2772. goto _test_eof95;
  2773. case 95:
  2774. #line 1 "NONE"
  2775. {ts = p;}
  2776. #line 2909 "rlscan.cpp"
  2777. switch( (*p) ) {
  2778. case 0: goto tr165;
  2779. case 9: goto st96;
  2780. case 10: goto tr167;
  2781. case 32: goto st96;
  2782. case 34: goto tr168;
  2783. case 39: goto tr169;
  2784. case 40: goto tr170;
  2785. case 44: goto tr170;
  2786. case 47: goto tr172;
  2787. case 48: goto tr173;
  2788. case 58: goto st103;
  2789. case 59: goto tr176;
  2790. case 95: goto tr177;
  2791. case 102: goto st105;
  2792. case 123: goto tr179;
  2793. case 125: goto tr180;
  2794. }
  2795. if ( (*p) < 49 ) {
  2796. if ( 41 <= (*p) && (*p) <= 42 )
  2797. goto tr171;
  2798. } else if ( (*p) > 57 ) {
  2799. if ( (*p) > 90 ) {
  2800. if ( 97 <= (*p) && (*p) <= 122 )
  2801. goto tr177;
  2802. } else if ( (*p) >= 65 )
  2803. goto tr177;
  2804. } else
  2805. goto st101;
  2806. goto tr164;
  2807. tr167:
  2808. #line 641 "rlscan.rl"
  2809. {
  2810. lastnl = p;
  2811. column = 0;
  2812. line++;
  2813. }
  2814. goto st96;
  2815. st96:
  2816. if ( ++p == pe )
  2817. goto _test_eof96;
  2818. case 96:
  2819. #line 2952 "rlscan.cpp"
  2820. switch( (*p) ) {
  2821. case 9: goto st96;
  2822. case 10: goto tr167;
  2823. case 32: goto st96;
  2824. }
  2825. goto tr181;
  2826. tr168:
  2827. #line 1 "NONE"
  2828. {te = p+1;}
  2829. goto st97;
  2830. st97:
  2831. if ( ++p == pe )
  2832. goto _test_eof97;
  2833. case 97:
  2834. #line 2967 "rlscan.cpp"
  2835. switch( (*p) ) {
  2836. case 10: goto tr31;
  2837. case 34: goto tr32;
  2838. case 92: goto st17;
  2839. }
  2840. goto st16;
  2841. tr31:
  2842. #line 641 "rlscan.rl"
  2843. {
  2844. lastnl = p;
  2845. column = 0;
  2846. line++;
  2847. }
  2848. goto st16;
  2849. st16:
  2850. if ( ++p == pe )
  2851. goto _test_eof16;
  2852. case 16:
  2853. #line 2986 "rlscan.cpp"
  2854. switch( (*p) ) {
  2855. case 10: goto tr31;
  2856. case 34: goto tr32;
  2857. case 92: goto st17;
  2858. }
  2859. goto st16;
  2860. st17:
  2861. if ( ++p == pe )
  2862. goto _test_eof17;
  2863. case 17:
  2864. if ( (*p) == 10 )
  2865. goto tr31;
  2866. goto st16;
  2867. tr169:
  2868. #line 1 "NONE"
  2869. {te = p+1;}
  2870. goto st98;
  2871. st98:
  2872. if ( ++p == pe )
  2873. goto _test_eof98;
  2874. case 98:
  2875. #line 3008 "rlscan.cpp"
  2876. switch( (*p) ) {
  2877. case 10: goto tr35;
  2878. case 39: goto tr32;
  2879. case 92: goto st19;
  2880. }
  2881. goto st18;
  2882. tr35:
  2883. #line 641 "rlscan.rl"
  2884. {
  2885. lastnl = p;
  2886. column = 0;
  2887. line++;
  2888. }
  2889. goto st18;
  2890. st18:
  2891. if ( ++p == pe )
  2892. goto _test_eof18;
  2893. case 18:
  2894. #line 3027 "rlscan.cpp"
  2895. switch( (*p) ) {
  2896. case 10: goto tr35;
  2897. case 39: goto tr32;
  2898. case 92: goto st19;
  2899. }
  2900. goto st18;
  2901. st19:
  2902. if ( ++p == pe )
  2903. goto _test_eof19;
  2904. case 19:
  2905. if ( (*p) == 10 )
  2906. goto tr35;
  2907. goto st18;
  2908. tr172:
  2909. #line 1 "NONE"
  2910. {te = p+1;}
  2911. goto st99;
  2912. st99:
  2913. if ( ++p == pe )
  2914. goto _test_eof99;
  2915. case 99:
  2916. #line 3049 "rlscan.cpp"
  2917. switch( (*p) ) {
  2918. case 42: goto st20;
  2919. case 47: goto st22;
  2920. }
  2921. goto tr182;
  2922. tr38:
  2923. #line 641 "rlscan.rl"
  2924. {
  2925. lastnl = p;
  2926. column = 0;
  2927. line++;
  2928. }
  2929. goto st20;
  2930. st20:
  2931. if ( ++p == pe )
  2932. goto _test_eof20;
  2933. case 20:
  2934. #line 3067 "rlscan.cpp"
  2935. switch( (*p) ) {
  2936. case 10: goto tr38;
  2937. case 42: goto st21;
  2938. }
  2939. goto st20;
  2940. st21:
  2941. if ( ++p == pe )
  2942. goto _test_eof21;
  2943. case 21:
  2944. switch( (*p) ) {
  2945. case 10: goto tr38;
  2946. case 42: goto st21;
  2947. case 47: goto tr40;
  2948. }
  2949. goto st20;
  2950. st22:
  2951. if ( ++p == pe )
  2952. goto _test_eof22;
  2953. case 22:
  2954. if ( (*p) == 10 )
  2955. goto tr42;
  2956. goto st22;
  2957. tr173:
  2958. #line 1 "NONE"
  2959. {te = p+1;}
  2960. goto st100;
  2961. st100:
  2962. if ( ++p == pe )
  2963. goto _test_eof100;
  2964. case 100:
  2965. #line 3098 "rlscan.cpp"
  2966. if ( (*p) == 120 )
  2967. goto st23;
  2968. if ( 48 <= (*p) && (*p) <= 57 )
  2969. goto st101;
  2970. goto tr183;
  2971. st101:
  2972. if ( ++p == pe )
  2973. goto _test_eof101;
  2974. case 101:
  2975. if ( 48 <= (*p) && (*p) <= 57 )
  2976. goto st101;
  2977. goto tr183;
  2978. st23:
  2979. if ( ++p == pe )
  2980. goto _test_eof23;
  2981. case 23:
  2982. if ( (*p) < 65 ) {
  2983. if ( 48 <= (*p) && (*p) <= 57 )
  2984. goto st102;
  2985. } else if ( (*p) > 70 ) {
  2986. if ( 97 <= (*p) && (*p) <= 102 )
  2987. goto st102;
  2988. } else
  2989. goto st102;
  2990. goto tr43;
  2991. st102:
  2992. if ( ++p == pe )
  2993. goto _test_eof102;
  2994. case 102:
  2995. if ( (*p) < 65 ) {
  2996. if ( 48 <= (*p) && (*p) <= 57 )
  2997. goto st102;
  2998. } else if ( (*p) > 70 ) {
  2999. if ( 97 <= (*p) && (*p) <= 102 )
  3000. goto st102;
  3001. } else
  3002. goto st102;
  3003. goto tr185;
  3004. st103:
  3005. if ( ++p == pe )
  3006. goto _test_eof103;
  3007. case 103:
  3008. if ( (*p) == 58 )
  3009. goto tr186;
  3010. goto tr182;
  3011. tr177:
  3012. #line 1 "NONE"
  3013. {te = p+1;}
  3014. #line 813 "rlscan.rl"
  3015. {act = 39;}
  3016. goto st104;
  3017. tr201:
  3018. #line 1 "NONE"
  3019. {te = p+1;}
  3020. #line 808 "rlscan.rl"
  3021. {act = 38;}
  3022. goto st104;
  3023. tr206:
  3024. #line 1 "NONE"
  3025. {te = p+1;}
  3026. #line 800 "rlscan.rl"
  3027. {act = 36;}
  3028. goto st104;
  3029. tr208:
  3030. #line 1 "NONE"
  3031. {te = p+1;}
  3032. #line 779 "rlscan.rl"
  3033. {act = 29;}
  3034. goto st104;
  3035. tr213:
  3036. #line 1 "NONE"
  3037. {te = p+1;}
  3038. #line 781 "rlscan.rl"
  3039. {act = 31;}
  3040. goto st104;
  3041. tr215:
  3042. #line 1 "NONE"
  3043. {te = p+1;}
  3044. #line 791 "rlscan.rl"
  3045. {act = 33;}
  3046. goto st104;
  3047. tr218:
  3048. #line 1 "NONE"
  3049. {te = p+1;}
  3050. #line 792 "rlscan.rl"
  3051. {act = 34;}
  3052. goto st104;
  3053. tr221:
  3054. #line 1 "NONE"
  3055. {te = p+1;}
  3056. #line 787 "rlscan.rl"
  3057. {act = 32;}
  3058. goto st104;
  3059. tr224:
  3060. #line 1 "NONE"
  3061. {te = p+1;}
  3062. #line 796 "rlscan.rl"
  3063. {act = 35;}
  3064. goto st104;
  3065. tr225:
  3066. #line 1 "NONE"
  3067. {te = p+1;}
  3068. #line 777 "rlscan.rl"
  3069. {act = 27;}
  3070. goto st104;
  3071. tr227:
  3072. #line 1 "NONE"
  3073. {te = p+1;}
  3074. #line 804 "rlscan.rl"
  3075. {act = 37;}
  3076. goto st104;
  3077. tr231:
  3078. #line 1 "NONE"
  3079. {te = p+1;}
  3080. #line 780 "rlscan.rl"
  3081. {act = 30;}
  3082. goto st104;
  3083. st104:
  3084. if ( ++p == pe )
  3085. goto _test_eof104;
  3086. case 104:
  3087. #line 3220 "rlscan.cpp"
  3088. if ( (*p) == 95 )
  3089. goto tr177;
  3090. if ( (*p) < 65 ) {
  3091. if ( 48 <= (*p) && (*p) <= 57 )
  3092. goto tr177;
  3093. } else if ( (*p) > 90 ) {
  3094. if ( 97 <= (*p) && (*p) <= 122 )
  3095. goto tr177;
  3096. } else
  3097. goto tr177;
  3098. goto tr187;
  3099. st105:
  3100. if ( ++p == pe )
  3101. goto _test_eof105;
  3102. case 105:
  3103. switch( (*p) ) {
  3104. case 95: goto tr177;
  3105. case 98: goto st106;
  3106. case 99: goto st110;
  3107. case 101: goto st115;
  3108. case 103: goto st121;
  3109. case 104: goto st124;
  3110. case 110: goto st127;
  3111. case 112: goto st130;
  3112. case 114: goto st131;
  3113. case 116: goto st133;
  3114. }
  3115. if ( (*p) < 65 ) {
  3116. if ( 48 <= (*p) && (*p) <= 57 )
  3117. goto tr177;
  3118. } else if ( (*p) > 90 ) {
  3119. if ( 97 <= (*p) && (*p) <= 122 )
  3120. goto tr177;
  3121. } else
  3122. goto tr177;
  3123. goto tr188;
  3124. st106:
  3125. if ( ++p == pe )
  3126. goto _test_eof106;
  3127. case 106:
  3128. switch( (*p) ) {
  3129. case 95: goto tr177;
  3130. case 114: goto st107;
  3131. }
  3132. if ( (*p) < 65 ) {
  3133. if ( 48 <= (*p) && (*p) <= 57 )
  3134. goto tr177;
  3135. } else if ( (*p) > 90 ) {
  3136. if ( 97 <= (*p) && (*p) <= 122 )
  3137. goto tr177;
  3138. } else
  3139. goto tr177;
  3140. goto tr188;
  3141. st107:
  3142. if ( ++p == pe )
  3143. goto _test_eof107;
  3144. case 107:
  3145. switch( (*p) ) {
  3146. case 95: goto tr177;
  3147. case 101: goto st108;
  3148. }
  3149. if ( (*p) < 65 ) {
  3150. if ( 48 <= (*p) && (*p) <= 57 )
  3151. goto tr177;
  3152. } else if ( (*p) > 90 ) {
  3153. if ( 97 <= (*p) && (*p) <= 122 )
  3154. goto tr177;
  3155. } else
  3156. goto tr177;
  3157. goto tr188;
  3158. st108:
  3159. if ( ++p == pe )
  3160. goto _test_eof108;
  3161. case 108:
  3162. switch( (*p) ) {
  3163. case 95: goto tr177;
  3164. case 97: goto st109;
  3165. }
  3166. if ( (*p) < 65 ) {
  3167. if ( 48 <= (*p) && (*p) <= 57 )
  3168. goto tr177;
  3169. } else if ( (*p) > 90 ) {
  3170. if ( 98 <= (*p) && (*p) <= 122 )
  3171. goto tr177;
  3172. } else
  3173. goto tr177;
  3174. goto tr188;
  3175. st109:
  3176. if ( ++p == pe )
  3177. goto _test_eof109;
  3178. case 109:
  3179. switch( (*p) ) {
  3180. case 95: goto tr177;
  3181. case 107: goto tr201;
  3182. }
  3183. if ( (*p) < 65 ) {
  3184. if ( 48 <= (*p) && (*p) <= 57 )
  3185. goto tr177;
  3186. } else if ( (*p) > 90 ) {
  3187. if ( 97 <= (*p) && (*p) <= 122 )
  3188. goto tr177;
  3189. } else
  3190. goto tr177;
  3191. goto tr188;
  3192. st110:
  3193. if ( ++p == pe )
  3194. goto _test_eof110;
  3195. case 110:
  3196. switch( (*p) ) {
  3197. case 95: goto tr177;
  3198. case 97: goto st111;
  3199. case 117: goto st113;
  3200. }
  3201. if ( (*p) < 65 ) {
  3202. if ( 48 <= (*p) && (*p) <= 57 )
  3203. goto tr177;
  3204. } else if ( (*p) > 90 ) {
  3205. if ( 98 <= (*p) && (*p) <= 122 )
  3206. goto tr177;
  3207. } else
  3208. goto tr177;
  3209. goto tr202;
  3210. st111:
  3211. if ( ++p == pe )
  3212. goto _test_eof111;
  3213. case 111:
  3214. switch( (*p) ) {
  3215. case 95: goto tr177;
  3216. case 108: goto st112;
  3217. }
  3218. if ( (*p) < 65 ) {
  3219. if ( 48 <= (*p) && (*p) <= 57 )
  3220. goto tr177;
  3221. } else if ( (*p) > 90 ) {
  3222. if ( 97 <= (*p) && (*p) <= 122 )
  3223. goto tr177;
  3224. } else
  3225. goto tr177;
  3226. goto tr188;
  3227. st112:
  3228. if ( ++p == pe )
  3229. goto _test_eof112;
  3230. case 112:
  3231. switch( (*p) ) {
  3232. case 95: goto tr177;
  3233. case 108: goto tr206;
  3234. }
  3235. if ( (*p) < 65 ) {
  3236. if ( 48 <= (*p) && (*p) <= 57 )
  3237. goto tr177;
  3238. } else if ( (*p) > 90 ) {
  3239. if ( 97 <= (*p) && (*p) <= 122 )
  3240. goto tr177;
  3241. } else
  3242. goto tr177;
  3243. goto tr188;
  3244. st113:
  3245. if ( ++p == pe )
  3246. goto _test_eof113;
  3247. case 113:
  3248. switch( (*p) ) {
  3249. case 95: goto tr177;
  3250. case 114: goto st114;
  3251. }
  3252. if ( (*p) < 65 ) {
  3253. if ( 48 <= (*p) && (*p) <= 57 )
  3254. goto tr177;
  3255. } else if ( (*p) > 90 ) {
  3256. if ( 97 <= (*p) && (*p) <= 122 )
  3257. goto tr177;
  3258. } else
  3259. goto tr177;
  3260. goto tr188;
  3261. st114:
  3262. if ( ++p == pe )
  3263. goto _test_eof114;
  3264. case 114:
  3265. switch( (*p) ) {
  3266. case 95: goto tr177;
  3267. case 115: goto tr208;
  3268. }
  3269. if ( (*p) < 65 ) {
  3270. if ( 48 <= (*p) && (*p) <= 57 )
  3271. goto tr177;
  3272. } else if ( (*p) > 90 ) {
  3273. if ( 97 <= (*p) && (*p) <= 122 )
  3274. goto tr177;
  3275. } else
  3276. goto tr177;
  3277. goto tr188;
  3278. st115:
  3279. if ( ++p == pe )
  3280. goto _test_eof115;
  3281. case 115:
  3282. switch( (*p) ) {
  3283. case 95: goto tr177;
  3284. case 110: goto st116;
  3285. case 120: goto st119;
  3286. }
  3287. if ( (*p) < 65 ) {
  3288. if ( 48 <= (*p) && (*p) <= 57 )
  3289. goto tr177;
  3290. } else if ( (*p) > 90 ) {
  3291. if ( 97 <= (*p) && (*p) <= 122 )
  3292. goto tr177;
  3293. } else
  3294. goto tr177;
  3295. goto tr188;
  3296. st116:
  3297. if ( ++p == pe )
  3298. goto _test_eof116;
  3299. case 116:
  3300. switch( (*p) ) {
  3301. case 95: goto tr177;
  3302. case 116: goto st117;
  3303. }
  3304. if ( (*p) < 65 ) {
  3305. if ( 48 <= (*p) && (*p) <= 57 )
  3306. goto tr177;
  3307. } else if ( (*p) > 90 ) {
  3308. if ( 97 <= (*p) && (*p) <= 122 )
  3309. goto tr177;
  3310. } else
  3311. goto tr177;
  3312. goto tr188;
  3313. st117:
  3314. if ( ++p == pe )
  3315. goto _test_eof117;
  3316. case 117:
  3317. switch( (*p) ) {
  3318. case 95: goto tr177;
  3319. case 114: goto st118;
  3320. }
  3321. if ( (*p) < 65 ) {
  3322. if ( 48 <= (*p) && (*p) <= 57 )
  3323. goto tr177;
  3324. } else if ( (*p) > 90 ) {
  3325. if ( 97 <= (*p) && (*p) <= 122 )
  3326. goto tr177;
  3327. } else
  3328. goto tr177;
  3329. goto tr188;
  3330. st118:
  3331. if ( ++p == pe )
  3332. goto _test_eof118;
  3333. case 118:
  3334. switch( (*p) ) {
  3335. case 95: goto tr177;
  3336. case 121: goto tr213;
  3337. }
  3338. if ( (*p) < 65 ) {
  3339. if ( 48 <= (*p) && (*p) <= 57 )
  3340. goto tr177;
  3341. } else if ( (*p) > 90 ) {
  3342. if ( 97 <= (*p) && (*p) <= 122 )
  3343. goto tr177;
  3344. } else
  3345. goto tr177;
  3346. goto tr188;
  3347. st119:
  3348. if ( ++p == pe )
  3349. goto _test_eof119;
  3350. case 119:
  3351. switch( (*p) ) {
  3352. case 95: goto tr177;
  3353. case 101: goto st120;
  3354. }
  3355. if ( (*p) < 65 ) {
  3356. if ( 48 <= (*p) && (*p) <= 57 )
  3357. goto tr177;
  3358. } else if ( (*p) > 90 ) {
  3359. if ( 97 <= (*p) && (*p) <= 122 )
  3360. goto tr177;
  3361. } else
  3362. goto tr177;
  3363. goto tr188;
  3364. st120:
  3365. if ( ++p == pe )
  3366. goto _test_eof120;
  3367. case 120:
  3368. switch( (*p) ) {
  3369. case 95: goto tr177;
  3370. case 99: goto tr215;
  3371. }
  3372. if ( (*p) < 65 ) {
  3373. if ( 48 <= (*p) && (*p) <= 57 )
  3374. goto tr177;
  3375. } else if ( (*p) > 90 ) {
  3376. if ( 97 <= (*p) && (*p) <= 122 )
  3377. goto tr177;
  3378. } else
  3379. goto tr177;
  3380. goto tr188;
  3381. st121:
  3382. if ( ++p == pe )
  3383. goto _test_eof121;
  3384. case 121:
  3385. switch( (*p) ) {
  3386. case 95: goto tr177;
  3387. case 111: goto st122;
  3388. }
  3389. if ( (*p) < 65 ) {
  3390. if ( 48 <= (*p) && (*p) <= 57 )
  3391. goto tr177;
  3392. } else if ( (*p) > 90 ) {
  3393. if ( 97 <= (*p) && (*p) <= 122 )
  3394. goto tr177;
  3395. } else
  3396. goto tr177;
  3397. goto tr188;
  3398. st122:
  3399. if ( ++p == pe )
  3400. goto _test_eof122;
  3401. case 122:
  3402. switch( (*p) ) {
  3403. case 95: goto tr177;
  3404. case 116: goto st123;
  3405. }
  3406. if ( (*p) < 65 ) {
  3407. if ( 48 <= (*p) && (*p) <= 57 )
  3408. goto tr177;
  3409. } else if ( (*p) > 90 ) {
  3410. if ( 97 <= (*p) && (*p) <= 122 )
  3411. goto tr177;
  3412. } else
  3413. goto tr177;
  3414. goto tr188;
  3415. st123:
  3416. if ( ++p == pe )
  3417. goto _test_eof123;
  3418. case 123:
  3419. switch( (*p) ) {
  3420. case 95: goto tr177;
  3421. case 111: goto tr218;
  3422. }
  3423. if ( (*p) < 65 ) {
  3424. if ( 48 <= (*p) && (*p) <= 57 )
  3425. goto tr177;
  3426. } else if ( (*p) > 90 ) {
  3427. if ( 97 <= (*p) && (*p) <= 122 )
  3428. goto tr177;
  3429. } else
  3430. goto tr177;
  3431. goto tr188;
  3432. st124:
  3433. if ( ++p == pe )
  3434. goto _test_eof124;
  3435. case 124:
  3436. switch( (*p) ) {
  3437. case 95: goto tr177;
  3438. case 111: goto st125;
  3439. }
  3440. if ( (*p) < 65 ) {
  3441. if ( 48 <= (*p) && (*p) <= 57 )
  3442. goto tr177;
  3443. } else if ( (*p) > 90 ) {
  3444. if ( 97 <= (*p) && (*p) <= 122 )
  3445. goto tr177;
  3446. } else
  3447. goto tr177;
  3448. goto tr188;
  3449. st125:
  3450. if ( ++p == pe )
  3451. goto _test_eof125;
  3452. case 125:
  3453. switch( (*p) ) {
  3454. case 95: goto tr177;
  3455. case 108: goto st126;
  3456. }
  3457. if ( (*p) < 65 ) {
  3458. if ( 48 <= (*p) && (*p) <= 57 )
  3459. goto tr177;
  3460. } else if ( (*p) > 90 ) {
  3461. if ( 97 <= (*p) && (*p) <= 122 )
  3462. goto tr177;
  3463. } else
  3464. goto tr177;
  3465. goto tr188;
  3466. st126:
  3467. if ( ++p == pe )
  3468. goto _test_eof126;
  3469. case 126:
  3470. switch( (*p) ) {
  3471. case 95: goto tr177;
  3472. case 100: goto tr221;
  3473. }
  3474. if ( (*p) < 65 ) {
  3475. if ( 48 <= (*p) && (*p) <= 57 )
  3476. goto tr177;
  3477. } else if ( (*p) > 90 ) {
  3478. if ( 97 <= (*p) && (*p) <= 122 )
  3479. goto tr177;
  3480. } else
  3481. goto tr177;
  3482. goto tr188;
  3483. st127:
  3484. if ( ++p == pe )
  3485. goto _test_eof127;
  3486. case 127:
  3487. switch( (*p) ) {
  3488. case 95: goto tr177;
  3489. case 101: goto st128;
  3490. }
  3491. if ( (*p) < 65 ) {
  3492. if ( 48 <= (*p) && (*p) <= 57 )
  3493. goto tr177;
  3494. } else if ( (*p) > 90 ) {
  3495. if ( 97 <= (*p) && (*p) <= 122 )
  3496. goto tr177;
  3497. } else
  3498. goto tr177;
  3499. goto tr188;
  3500. st128:
  3501. if ( ++p == pe )
  3502. goto _test_eof128;
  3503. case 128:
  3504. switch( (*p) ) {
  3505. case 95: goto tr177;
  3506. case 120: goto st129;
  3507. }
  3508. if ( (*p) < 65 ) {
  3509. if ( 48 <= (*p) && (*p) <= 57 )
  3510. goto tr177;
  3511. } else if ( (*p) > 90 ) {
  3512. if ( 97 <= (*p) && (*p) <= 122 )
  3513. goto tr177;
  3514. } else
  3515. goto tr177;
  3516. goto tr188;
  3517. st129:
  3518. if ( ++p == pe )
  3519. goto _test_eof129;
  3520. case 129:
  3521. switch( (*p) ) {
  3522. case 95: goto tr177;
  3523. case 116: goto tr224;
  3524. }
  3525. if ( (*p) < 65 ) {
  3526. if ( 48 <= (*p) && (*p) <= 57 )
  3527. goto tr177;
  3528. } else if ( (*p) > 90 ) {
  3529. if ( 97 <= (*p) && (*p) <= 122 )
  3530. goto tr177;
  3531. } else
  3532. goto tr177;
  3533. goto tr188;
  3534. st130:
  3535. if ( ++p == pe )
  3536. goto _test_eof130;
  3537. case 130:
  3538. switch( (*p) ) {
  3539. case 95: goto tr177;
  3540. case 99: goto tr225;
  3541. }
  3542. if ( (*p) < 65 ) {
  3543. if ( 48 <= (*p) && (*p) <= 57 )
  3544. goto tr177;
  3545. } else if ( (*p) > 90 ) {
  3546. if ( 97 <= (*p) && (*p) <= 122 )
  3547. goto tr177;
  3548. } else
  3549. goto tr177;
  3550. goto tr188;
  3551. st131:
  3552. if ( ++p == pe )
  3553. goto _test_eof131;
  3554. case 131:
  3555. switch( (*p) ) {
  3556. case 95: goto tr177;
  3557. case 101: goto st132;
  3558. }
  3559. if ( (*p) < 65 ) {
  3560. if ( 48 <= (*p) && (*p) <= 57 )
  3561. goto tr177;
  3562. } else if ( (*p) > 90 ) {
  3563. if ( 97 <= (*p) && (*p) <= 122 )
  3564. goto tr177;
  3565. } else
  3566. goto tr177;
  3567. goto tr188;
  3568. st132:
  3569. if ( ++p == pe )
  3570. goto _test_eof132;
  3571. case 132:
  3572. switch( (*p) ) {
  3573. case 95: goto tr177;
  3574. case 116: goto tr227;
  3575. }
  3576. if ( (*p) < 65 ) {
  3577. if ( 48 <= (*p) && (*p) <= 57 )
  3578. goto tr177;
  3579. } else if ( (*p) > 90 ) {
  3580. if ( 97 <= (*p) && (*p) <= 122 )
  3581. goto tr177;
  3582. } else
  3583. goto tr177;
  3584. goto tr188;
  3585. st133:
  3586. if ( ++p == pe )
  3587. goto _test_eof133;
  3588. case 133:
  3589. switch( (*p) ) {
  3590. case 95: goto tr177;
  3591. case 97: goto st134;
  3592. }
  3593. if ( (*p) < 65 ) {
  3594. if ( 48 <= (*p) && (*p) <= 57 )
  3595. goto tr177;
  3596. } else if ( (*p) > 90 ) {
  3597. if ( 98 <= (*p) && (*p) <= 122 )
  3598. goto tr177;
  3599. } else
  3600. goto tr177;
  3601. goto tr188;
  3602. st134:
  3603. if ( ++p == pe )
  3604. goto _test_eof134;
  3605. case 134:
  3606. switch( (*p) ) {
  3607. case 95: goto tr177;
  3608. case 114: goto st135;
  3609. }
  3610. if ( (*p) < 65 ) {
  3611. if ( 48 <= (*p) && (*p) <= 57 )
  3612. goto tr177;
  3613. } else if ( (*p) > 90 ) {
  3614. if ( 97 <= (*p) && (*p) <= 122 )
  3615. goto tr177;
  3616. } else
  3617. goto tr177;
  3618. goto tr188;
  3619. st135:
  3620. if ( ++p == pe )
  3621. goto _test_eof135;
  3622. case 135:
  3623. switch( (*p) ) {
  3624. case 95: goto tr177;
  3625. case 103: goto st136;
  3626. }
  3627. if ( (*p) < 65 ) {
  3628. if ( 48 <= (*p) && (*p) <= 57 )
  3629. goto tr177;
  3630. } else if ( (*p) > 90 ) {
  3631. if ( 97 <= (*p) && (*p) <= 122 )
  3632. goto tr177;
  3633. } else
  3634. goto tr177;
  3635. goto tr188;
  3636. st136:
  3637. if ( ++p == pe )
  3638. goto _test_eof136;
  3639. case 136:
  3640. switch( (*p) ) {
  3641. case 95: goto tr177;
  3642. case 115: goto tr231;
  3643. }
  3644. if ( (*p) < 65 ) {
  3645. if ( 48 <= (*p) && (*p) <= 57 )
  3646. goto tr177;
  3647. } else if ( (*p) > 90 ) {
  3648. if ( 97 <= (*p) && (*p) <= 122 )
  3649. goto tr177;
  3650. } else
  3651. goto tr177;
  3652. goto tr188;
  3653. tr232:
  3654. #line 900 "rlscan.rl"
  3655. {te = p+1;{ token( RE_Char, ts, te ); }}
  3656. goto st137;
  3657. tr233:
  3658. #line 895 "rlscan.rl"
  3659. {te = p+1;{
  3660. scan_error() << "unterminated OR literal" << endl;
  3661. }}
  3662. goto st137;
  3663. tr234:
  3664. #line 890 "rlscan.rl"
  3665. {te = p+1;{ token( RE_Dash, 0, 0 ); }}
  3666. goto st137;
  3667. tr236:
  3668. #line 893 "rlscan.rl"
  3669. {te = p+1;{ token( RE_SqClose ); {cs = stack[--top];goto _again;} }}
  3670. goto st137;
  3671. tr237:
  3672. #line 900 "rlscan.rl"
  3673. {te = p;p--;{ token( RE_Char, ts, te ); }}
  3674. goto st137;
  3675. tr238:
  3676. #line 887 "rlscan.rl"
  3677. {te = p+1;{ token( RE_Char, ts+1, te ); }}
  3678. goto st137;
  3679. tr239:
  3680. #line 886 "rlscan.rl"
  3681. {te = p+1;{ updateCol(); }}
  3682. goto st137;
  3683. tr240:
  3684. #line 878 "rlscan.rl"
  3685. {te = p+1;{ token( RE_Char, '\0' ); }}
  3686. goto st137;
  3687. tr241:
  3688. #line 879 "rlscan.rl"
  3689. {te = p+1;{ token( RE_Char, '\a' ); }}
  3690. goto st137;
  3691. tr242:
  3692. #line 880 "rlscan.rl"
  3693. {te = p+1;{ token( RE_Char, '\b' ); }}
  3694. goto st137;
  3695. tr243:
  3696. #line 884 "rlscan.rl"
  3697. {te = p+1;{ token( RE_Char, '\f' ); }}
  3698. goto st137;
  3699. tr244:
  3700. #line 882 "rlscan.rl"
  3701. {te = p+1;{ token( RE_Char, '\n' ); }}
  3702. goto st137;
  3703. tr245:
  3704. #line 885 "rlscan.rl"
  3705. {te = p+1;{ token( RE_Char, '\r' ); }}
  3706. goto st137;
  3707. tr246:
  3708. #line 881 "rlscan.rl"
  3709. {te = p+1;{ token( RE_Char, '\t' ); }}
  3710. goto st137;
  3711. tr247:
  3712. #line 883 "rlscan.rl"
  3713. {te = p+1;{ token( RE_Char, '\v' ); }}
  3714. goto st137;
  3715. st137:
  3716. #line 1 "NONE"
  3717. {ts = 0;}
  3718. if ( ++p == pe )
  3719. goto _test_eof137;
  3720. case 137:
  3721. #line 1 "NONE"
  3722. {ts = p;}
  3723. #line 3856 "rlscan.cpp"
  3724. switch( (*p) ) {
  3725. case 0: goto tr233;
  3726. case 45: goto tr234;
  3727. case 92: goto st138;
  3728. case 93: goto tr236;
  3729. }
  3730. goto tr232;
  3731. st138:
  3732. if ( ++p == pe )
  3733. goto _test_eof138;
  3734. case 138:
  3735. switch( (*p) ) {
  3736. case 10: goto tr239;
  3737. case 48: goto tr240;
  3738. case 97: goto tr241;
  3739. case 98: goto tr242;
  3740. case 102: goto tr243;
  3741. case 110: goto tr244;
  3742. case 114: goto tr245;
  3743. case 116: goto tr246;
  3744. case 118: goto tr247;
  3745. }
  3746. goto tr238;
  3747. tr248:
  3748. #line 935 "rlscan.rl"
  3749. {te = p+1;{ token( RE_Char, ts, te ); }}
  3750. goto st139;
  3751. tr249:
  3752. #line 930 "rlscan.rl"
  3753. {te = p+1;{
  3754. scan_error() << "unterminated regular expression" << endl;
  3755. }}
  3756. goto st139;
  3757. tr250:
  3758. #line 925 "rlscan.rl"
  3759. {te = p+1;{ token( RE_Star ); }}
  3760. goto st139;
  3761. tr251:
  3762. #line 924 "rlscan.rl"
  3763. {te = p+1;{ token( RE_Dot ); }}
  3764. goto st139;
  3765. tr255:
  3766. #line 918 "rlscan.rl"
  3767. {te = p;p--;{
  3768. token( RE_Slash, ts, te );
  3769. {goto st146;}
  3770. }}
  3771. goto st139;
  3772. tr256:
  3773. #line 918 "rlscan.rl"
  3774. {te = p+1;{
  3775. token( RE_Slash, ts, te );
  3776. {goto st146;}
  3777. }}
  3778. goto st139;
  3779. tr257:
  3780. #line 927 "rlscan.rl"
  3781. {te = p;p--;{ token( RE_SqOpen ); {stack[top++] = 139; goto st137;} }}
  3782. goto st139;
  3783. tr258:
  3784. #line 928 "rlscan.rl"
  3785. {te = p+1;{ token( RE_SqOpenNeg ); {stack[top++] = 139; goto st137;} }}
  3786. goto st139;
  3787. tr259:
  3788. #line 935 "rlscan.rl"
  3789. {te = p;p--;{ token( RE_Char, ts, te ); }}
  3790. goto st139;
  3791. tr260:
  3792. #line 915 "rlscan.rl"
  3793. {te = p+1;{ token( RE_Char, ts+1, te ); }}
  3794. goto st139;
  3795. tr261:
  3796. #line 914 "rlscan.rl"
  3797. {te = p+1;{ updateCol(); }}
  3798. goto st139;
  3799. tr262:
  3800. #line 906 "rlscan.rl"
  3801. {te = p+1;{ token( RE_Char, '\0' ); }}
  3802. goto st139;
  3803. tr263:
  3804. #line 907 "rlscan.rl"
  3805. {te = p+1;{ token( RE_Char, '\a' ); }}
  3806. goto st139;
  3807. tr264:
  3808. #line 908 "rlscan.rl"
  3809. {te = p+1;{ token( RE_Char, '\b' ); }}
  3810. goto st139;
  3811. tr265:
  3812. #line 912 "rlscan.rl"
  3813. {te = p+1;{ token( RE_Char, '\f' ); }}
  3814. goto st139;
  3815. tr266:
  3816. #line 910 "rlscan.rl"
  3817. {te = p+1;{ token( RE_Char, '\n' ); }}
  3818. goto st139;
  3819. tr267:
  3820. #line 913 "rlscan.rl"
  3821. {te = p+1;{ token( RE_Char, '\r' ); }}
  3822. goto st139;
  3823. tr268:
  3824. #line 909 "rlscan.rl"
  3825. {te = p+1;{ token( RE_Char, '\t' ); }}
  3826. goto st139;
  3827. tr269:
  3828. #line 911 "rlscan.rl"
  3829. {te = p+1;{ token( RE_Char, '\v' ); }}
  3830. goto st139;
  3831. st139:
  3832. #line 1 "NONE"
  3833. {ts = 0;}
  3834. if ( ++p == pe )
  3835. goto _test_eof139;
  3836. case 139:
  3837. #line 1 "NONE"
  3838. {ts = p;}
  3839. #line 3972 "rlscan.cpp"
  3840. switch( (*p) ) {
  3841. case 0: goto tr249;
  3842. case 42: goto tr250;
  3843. case 46: goto tr251;
  3844. case 47: goto st140;
  3845. case 91: goto st141;
  3846. case 92: goto st142;
  3847. }
  3848. goto tr248;
  3849. st140:
  3850. if ( ++p == pe )
  3851. goto _test_eof140;
  3852. case 140:
  3853. if ( (*p) == 105 )
  3854. goto tr256;
  3855. goto tr255;
  3856. st141:
  3857. if ( ++p == pe )
  3858. goto _test_eof141;
  3859. case 141:
  3860. if ( (*p) == 94 )
  3861. goto tr258;
  3862. goto tr257;
  3863. st142:
  3864. if ( ++p == pe )
  3865. goto _test_eof142;
  3866. case 142:
  3867. switch( (*p) ) {
  3868. case 10: goto tr261;
  3869. case 48: goto tr262;
  3870. case 97: goto tr263;
  3871. case 98: goto tr264;
  3872. case 102: goto tr265;
  3873. case 110: goto tr266;
  3874. case 114: goto tr267;
  3875. case 116: goto tr268;
  3876. case 118: goto tr269;
  3877. }
  3878. goto tr260;
  3879. tr270:
  3880. #line 944 "rlscan.rl"
  3881. {te = p+1;{
  3882. scan_error() << "unterminated write statement" << endl;
  3883. }}
  3884. goto st143;
  3885. tr273:
  3886. #line 942 "rlscan.rl"
  3887. {te = p+1;{ token( ';' ); {goto st146;} }}
  3888. goto st143;
  3889. tr275:
  3890. #line 941 "rlscan.rl"
  3891. {te = p;p--;{ updateCol(); }}
  3892. goto st143;
  3893. tr276:
  3894. #line 940 "rlscan.rl"
  3895. {te = p;p--;{ token( TK_Word, ts, te ); }}
  3896. goto st143;
  3897. st143:
  3898. #line 1 "NONE"
  3899. {ts = 0;}
  3900. if ( ++p == pe )
  3901. goto _test_eof143;
  3902. case 143:
  3903. #line 1 "NONE"
  3904. {ts = p;}
  3905. #line 4038 "rlscan.cpp"
  3906. switch( (*p) ) {
  3907. case 0: goto tr270;
  3908. case 32: goto st144;
  3909. case 59: goto tr273;
  3910. case 95: goto st145;
  3911. }
  3912. if ( (*p) < 65 ) {
  3913. if ( 9 <= (*p) && (*p) <= 10 )
  3914. goto st144;
  3915. } else if ( (*p) > 90 ) {
  3916. if ( 97 <= (*p) && (*p) <= 122 )
  3917. goto st145;
  3918. } else
  3919. goto st145;
  3920. goto st0;
  3921. st0:
  3922. cs = 0;
  3923. goto _out;
  3924. st144:
  3925. if ( ++p == pe )
  3926. goto _test_eof144;
  3927. case 144:
  3928. if ( (*p) == 32 )
  3929. goto st144;
  3930. if ( 9 <= (*p) && (*p) <= 10 )
  3931. goto st144;
  3932. goto tr275;
  3933. st145:
  3934. if ( ++p == pe )
  3935. goto _test_eof145;
  3936. case 145:
  3937. if ( (*p) == 95 )
  3938. goto st145;
  3939. if ( (*p) < 65 ) {
  3940. if ( 48 <= (*p) && (*p) <= 57 )
  3941. goto st145;
  3942. } else if ( (*p) > 90 ) {
  3943. if ( 97 <= (*p) && (*p) <= 122 )
  3944. goto st145;
  3945. } else
  3946. goto st145;
  3947. goto tr276;
  3948. tr45:
  3949. #line 1121 "rlscan.rl"
  3950. {{p = ((te))-1;}{ token( *ts ); }}
  3951. goto st146;
  3952. tr51:
  3953. #line 641 "rlscan.rl"
  3954. {
  3955. lastnl = p;
  3956. column = 0;
  3957. line++;
  3958. }
  3959. #line 1018 "rlscan.rl"
  3960. {te = p+1;{ updateCol(); }}
  3961. goto st146;
  3962. tr55:
  3963. #line 1005 "rlscan.rl"
  3964. {{p = ((te))-1;}{ token( TK_UInt, ts, te ); }}
  3965. goto st146;
  3966. tr57:
  3967. #line 1086 "rlscan.rl"
  3968. {te = p+1;{
  3969. updateCol();
  3970. endSection();
  3971. {cs = stack[--top];goto _again;}
  3972. }}
  3973. goto st146;
  3974. tr277:
  3975. #line 1121 "rlscan.rl"
  3976. {te = p+1;{ token( *ts ); }}
  3977. goto st146;
  3978. tr278:
  3979. #line 1117 "rlscan.rl"
  3980. {te = p+1;{
  3981. scan_error() << "unterminated ragel section" << endl;
  3982. }}
  3983. goto st146;
  3984. tr280:
  3985. #line 641 "rlscan.rl"
  3986. {
  3987. lastnl = p;
  3988. column = 0;
  3989. line++;
  3990. }
  3991. #line 1095 "rlscan.rl"
  3992. {te = p+1;{
  3993. updateCol();
  3994. if ( singleLineSpec ) {
  3995. endSection();
  3996. {cs = stack[--top];goto _again;}
  3997. }
  3998. }}
  3999. goto st146;
  4000. tr289:
  4001. #line 1015 "rlscan.rl"
  4002. {te = p+1;{ token( RE_Slash ); {goto st139;} }}
  4003. goto st146;
  4004. tr311:
  4005. #line 1103 "rlscan.rl"
  4006. {te = p+1;{
  4007. if ( lastToken == KW_Export || lastToken == KW_Entry )
  4008. token( '{' );
  4009. else {
  4010. token( '{' );
  4011. curly_count = 1;
  4012. inlineBlockType = CurlyDelimited;
  4013. if ( hostLang->lang == HostLang::Ruby )
  4014. {stack[top++] = 146; goto st52;}
  4015. else
  4016. {stack[top++] = 146; goto st95;}
  4017. }
  4018. }}
  4019. goto st146;
  4020. tr314:
  4021. #line 1092 "rlscan.rl"
  4022. {te = p;p--;{ updateCol(); }}
  4023. goto st146;
  4024. tr315:
  4025. #line 1121 "rlscan.rl"
  4026. {te = p;p--;{ token( *ts ); }}
  4027. goto st146;
  4028. tr316:
  4029. #line 1010 "rlscan.rl"
  4030. {te = p;p--;{ token( TK_Literal, ts, te ); }}
  4031. goto st146;
  4032. tr317:
  4033. #line 1010 "rlscan.rl"
  4034. {te = p+1;{ token( TK_Literal, ts, te ); }}
  4035. goto st146;
  4036. tr318:
  4037. #line 1048 "rlscan.rl"
  4038. {te = p+1;{ token( TK_AllGblError ); }}
  4039. goto st146;
  4040. tr319:
  4041. #line 1032 "rlscan.rl"
  4042. {te = p+1;{ token( TK_AllFromState ); }}
  4043. goto st146;
  4044. tr320:
  4045. #line 1040 "rlscan.rl"
  4046. {te = p+1;{ token( TK_AllEOF ); }}
  4047. goto st146;
  4048. tr321:
  4049. #line 1067 "rlscan.rl"
  4050. {te = p+1;{ token( TK_AllCond ); }}
  4051. goto st146;
  4052. tr322:
  4053. #line 1056 "rlscan.rl"
  4054. {te = p+1;{ token( TK_AllLocalError ); }}
  4055. goto st146;
  4056. tr323:
  4057. #line 1024 "rlscan.rl"
  4058. {te = p+1;{ token( TK_AllToState ); }}
  4059. goto st146;
  4060. tr324:
  4061. #line 1049 "rlscan.rl"
  4062. {te = p+1;{ token( TK_FinalGblError ); }}
  4063. goto st146;
  4064. tr325:
  4065. #line 1033 "rlscan.rl"
  4066. {te = p+1;{ token( TK_FinalFromState ); }}
  4067. goto st146;
  4068. tr326:
  4069. #line 1041 "rlscan.rl"
  4070. {te = p+1;{ token( TK_FinalEOF ); }}
  4071. goto st146;
  4072. tr327:
  4073. #line 1068 "rlscan.rl"
  4074. {te = p+1;{ token( TK_LeavingCond ); }}
  4075. goto st146;
  4076. tr328:
  4077. #line 1057 "rlscan.rl"
  4078. {te = p+1;{ token( TK_FinalLocalError ); }}
  4079. goto st146;
  4080. tr329:
  4081. #line 1025 "rlscan.rl"
  4082. {te = p+1;{ token( TK_FinalToState ); }}
  4083. goto st146;
  4084. tr330:
  4085. #line 1071 "rlscan.rl"
  4086. {te = p+1;{ token( TK_StarStar ); }}
  4087. goto st146;
  4088. tr331:
  4089. #line 1072 "rlscan.rl"
  4090. {te = p+1;{ token( TK_DashDash ); }}
  4091. goto st146;
  4092. tr332:
  4093. #line 1073 "rlscan.rl"
  4094. {te = p+1;{ token( TK_Arrow ); }}
  4095. goto st146;
  4096. tr333:
  4097. #line 1070 "rlscan.rl"
  4098. {te = p+1;{ token( TK_DotDot ); }}
  4099. goto st146;
  4100. tr334:
  4101. #line 1005 "rlscan.rl"
  4102. {te = p;p--;{ token( TK_UInt, ts, te ); }}
  4103. goto st146;
  4104. tr336:
  4105. #line 1006 "rlscan.rl"
  4106. {te = p;p--;{ token( TK_Hex, ts, te ); }}
  4107. goto st146;
  4108. tr337:
  4109. #line 1084 "rlscan.rl"
  4110. {te = p+1;{ token( TK_NameSep, ts, te ); }}
  4111. goto st146;
  4112. tr338:
  4113. #line 1020 "rlscan.rl"
  4114. {te = p+1;{ token( TK_ColonEquals ); }}
  4115. goto st146;
  4116. tr340:
  4117. #line 1076 "rlscan.rl"
  4118. {te = p;p--;{ token( TK_ColonGt ); }}
  4119. goto st146;
  4120. tr341:
  4121. #line 1077 "rlscan.rl"
  4122. {te = p+1;{ token( TK_ColonGtGt ); }}
  4123. goto st146;
  4124. tr342:
  4125. #line 1050 "rlscan.rl"
  4126. {te = p+1;{ token( TK_NotStartGblError ); }}
  4127. goto st146;
  4128. tr343:
  4129. #line 1034 "rlscan.rl"
  4130. {te = p+1;{ token( TK_NotStartFromState ); }}
  4131. goto st146;
  4132. tr344:
  4133. #line 1042 "rlscan.rl"
  4134. {te = p+1;{ token( TK_NotStartEOF ); }}
  4135. goto st146;
  4136. tr345:
  4137. #line 1078 "rlscan.rl"
  4138. {te = p+1;{ token( TK_LtColon ); }}
  4139. goto st146;
  4140. tr347:
  4141. #line 1058 "rlscan.rl"
  4142. {te = p+1;{ token( TK_NotStartLocalError ); }}
  4143. goto st146;
  4144. tr348:
  4145. #line 1026 "rlscan.rl"
  4146. {te = p+1;{ token( TK_NotStartToState ); }}
  4147. goto st146;
  4148. tr349:
  4149. #line 1063 "rlscan.rl"
  4150. {te = p;p--;{ token( TK_Middle ); }}
  4151. goto st146;
  4152. tr350:
  4153. #line 1052 "rlscan.rl"
  4154. {te = p+1;{ token( TK_MiddleGblError ); }}
  4155. goto st146;
  4156. tr351:
  4157. #line 1036 "rlscan.rl"
  4158. {te = p+1;{ token( TK_MiddleFromState ); }}
  4159. goto st146;
  4160. tr352:
  4161. #line 1044 "rlscan.rl"
  4162. {te = p+1;{ token( TK_MiddleEOF ); }}
  4163. goto st146;
  4164. tr353:
  4165. #line 1060 "rlscan.rl"
  4166. {te = p+1;{ token( TK_MiddleLocalError ); }}
  4167. goto st146;
  4168. tr354:
  4169. #line 1028 "rlscan.rl"
  4170. {te = p+1;{ token( TK_MiddleToState ); }}
  4171. goto st146;
  4172. tr355:
  4173. #line 1074 "rlscan.rl"
  4174. {te = p+1;{ token( TK_DoubleArrow ); }}
  4175. goto st146;
  4176. tr356:
  4177. #line 1047 "rlscan.rl"
  4178. {te = p+1;{ token( TK_StartGblError ); }}
  4179. goto st146;
  4180. tr357:
  4181. #line 1031 "rlscan.rl"
  4182. {te = p+1;{ token( TK_StartFromState ); }}
  4183. goto st146;
  4184. tr358:
  4185. #line 1039 "rlscan.rl"
  4186. {te = p+1;{ token( TK_StartEOF ); }}
  4187. goto st146;
  4188. tr359:
  4189. #line 1066 "rlscan.rl"
  4190. {te = p+1;{ token( TK_StartCond ); }}
  4191. goto st146;
  4192. tr360:
  4193. #line 1055 "rlscan.rl"
  4194. {te = p+1;{ token( TK_StartLocalError ); }}
  4195. goto st146;
  4196. tr361:
  4197. #line 1023 "rlscan.rl"
  4198. {te = p+1;{ token( TK_StartToState ); }}
  4199. goto st146;
  4200. tr362:
  4201. #line 1051 "rlscan.rl"
  4202. {te = p+1;{ token( TK_NotFinalGblError ); }}
  4203. goto st146;
  4204. tr363:
  4205. #line 1035 "rlscan.rl"
  4206. {te = p+1;{ token( TK_NotFinalFromState ); }}
  4207. goto st146;
  4208. tr364:
  4209. #line 1043 "rlscan.rl"
  4210. {te = p+1;{ token( TK_NotFinalEOF ); }}
  4211. goto st146;
  4212. tr365:
  4213. #line 1059 "rlscan.rl"
  4214. {te = p+1;{ token( TK_NotFinalLocalError ); }}
  4215. goto st146;
  4216. tr366:
  4217. #line 1027 "rlscan.rl"
  4218. {te = p+1;{ token( TK_NotFinalToState ); }}
  4219. goto st146;
  4220. tr367:
  4221. #line 1 "NONE"
  4222. { switch( act ) {
  4223. case 88:
  4224. {{p = ((te))-1;} token( KW_Machine ); }
  4225. break;
  4226. case 89:
  4227. {{p = ((te))-1;} token( KW_Include ); }
  4228. break;
  4229. case 90:
  4230. {{p = ((te))-1;} token( KW_Import ); }
  4231. break;
  4232. case 91:
  4233. {{p = ((te))-1;}
  4234. token( KW_Write );
  4235. {goto st143;}
  4236. }
  4237. break;
  4238. case 92:
  4239. {{p = ((te))-1;} token( KW_Action ); }
  4240. break;
  4241. case 93:
  4242. {{p = ((te))-1;} token( KW_AlphType ); }
  4243. break;
  4244. case 94:
  4245. {{p = ((te))-1;} token( KW_PrePush ); }
  4246. break;
  4247. case 95:
  4248. {{p = ((te))-1;} token( KW_PostPop ); }
  4249. break;
  4250. case 96:
  4251. {{p = ((te))-1;}
  4252. token( KW_GetKey );
  4253. inlineBlockType = SemiTerminated;
  4254. if ( hostLang->lang == HostLang::Ruby )
  4255. {stack[top++] = 146; goto st52;}
  4256. else
  4257. {stack[top++] = 146; goto st95;}
  4258. }
  4259. break;
  4260. case 97:
  4261. {{p = ((te))-1;}
  4262. token( KW_Access );
  4263. inlineBlockType = SemiTerminated;
  4264. if ( hostLang->lang == HostLang::Ruby )
  4265. {stack[top++] = 146; goto st52;}
  4266. else
  4267. {stack[top++] = 146; goto st95;}
  4268. }
  4269. break;
  4270. case 98:
  4271. {{p = ((te))-1;}
  4272. token( KW_Variable );
  4273. inlineBlockType = SemiTerminated;
  4274. if ( hostLang->lang == HostLang::Ruby )
  4275. {stack[top++] = 146; goto st52;}
  4276. else
  4277. {stack[top++] = 146; goto st95;}
  4278. }
  4279. break;
  4280. case 99:
  4281. {{p = ((te))-1;} token( KW_When ); }
  4282. break;
  4283. case 100:
  4284. {{p = ((te))-1;} token( KW_InWhen ); }
  4285. break;
  4286. case 101:
  4287. {{p = ((te))-1;} token( KW_OutWhen ); }
  4288. break;
  4289. case 102:
  4290. {{p = ((te))-1;} token( KW_Eof ); }
  4291. break;
  4292. case 103:
  4293. {{p = ((te))-1;} token( KW_Err ); }
  4294. break;
  4295. case 104:
  4296. {{p = ((te))-1;} token( KW_Lerr ); }
  4297. break;
  4298. case 105:
  4299. {{p = ((te))-1;} token( KW_To ); }
  4300. break;
  4301. case 106:
  4302. {{p = ((te))-1;} token( KW_From ); }
  4303. break;
  4304. case 107:
  4305. {{p = ((te))-1;} token( KW_Export ); }
  4306. break;
  4307. case 108:
  4308. {{p = ((te))-1;} token( TK_Word, ts, te ); }
  4309. break;
  4310. }
  4311. }
  4312. goto st146;
  4313. tr368:
  4314. #line 1012 "rlscan.rl"
  4315. {te = p;p--;{ token( RE_SqOpen ); {stack[top++] = 146; goto st137;} }}
  4316. goto st146;
  4317. tr369:
  4318. #line 1013 "rlscan.rl"
  4319. {te = p+1;{ token( RE_SqOpenNeg ); {stack[top++] = 146; goto st137;} }}
  4320. goto st146;
  4321. tr370:
  4322. #line 1002 "rlscan.rl"
  4323. {te = p;p--;{ token( TK_Word, ts, te ); }}
  4324. goto st146;
  4325. tr461:
  4326. #line 1081 "rlscan.rl"
  4327. {te = p+1;{ token( TK_BarStar ); }}
  4328. goto st146;
  4329. st146:
  4330. #line 1 "NONE"
  4331. {ts = 0;}
  4332. if ( ++p == pe )
  4333. goto _test_eof146;
  4334. case 146:
  4335. #line 1 "NONE"
  4336. {ts = p;}
  4337. #line 4470 "rlscan.cpp"
  4338. switch( (*p) ) {
  4339. case 0: goto tr278;
  4340. case 9: goto st147;
  4341. case 10: goto tr280;
  4342. case 13: goto st147;
  4343. case 32: goto st147;
  4344. case 34: goto tr281;
  4345. case 35: goto tr282;
  4346. case 36: goto st151;
  4347. case 37: goto st152;
  4348. case 39: goto tr285;
  4349. case 42: goto st154;
  4350. case 45: goto st155;
  4351. case 46: goto st156;
  4352. case 47: goto tr289;
  4353. case 48: goto tr290;
  4354. case 58: goto st160;
  4355. case 60: goto st162;
  4356. case 61: goto st164;
  4357. case 62: goto st165;
  4358. case 64: goto st166;
  4359. case 91: goto st168;
  4360. case 95: goto tr297;
  4361. case 97: goto st169;
  4362. case 101: goto st183;
  4363. case 102: goto st190;
  4364. case 103: goto st193;
  4365. case 105: goto st198;
  4366. case 108: goto st211;
  4367. case 109: goto st214;
  4368. case 111: goto st220;
  4369. case 112: goto st226;
  4370. case 116: goto st237;
  4371. case 118: goto st238;
  4372. case 119: goto st245;
  4373. case 123: goto tr311;
  4374. case 124: goto st251;
  4375. case 125: goto tr313;
  4376. }
  4377. if ( (*p) < 65 ) {
  4378. if ( 49 <= (*p) && (*p) <= 57 )
  4379. goto st158;
  4380. } else if ( (*p) > 90 ) {
  4381. if ( 98 <= (*p) && (*p) <= 122 )
  4382. goto tr297;
  4383. } else
  4384. goto tr297;
  4385. goto tr277;
  4386. st147:
  4387. if ( ++p == pe )
  4388. goto _test_eof147;
  4389. case 147:
  4390. switch( (*p) ) {
  4391. case 9: goto st147;
  4392. case 13: goto st147;
  4393. case 32: goto st147;
  4394. }
  4395. goto tr314;
  4396. tr281:
  4397. #line 1 "NONE"
  4398. {te = p+1;}
  4399. goto st148;
  4400. st148:
  4401. if ( ++p == pe )
  4402. goto _test_eof148;
  4403. case 148:
  4404. #line 4537 "rlscan.cpp"
  4405. switch( (*p) ) {
  4406. case 10: goto tr47;
  4407. case 34: goto st149;
  4408. case 92: goto st25;
  4409. }
  4410. goto st24;
  4411. tr47:
  4412. #line 641 "rlscan.rl"
  4413. {
  4414. lastnl = p;
  4415. column = 0;
  4416. line++;
  4417. }
  4418. goto st24;
  4419. st24:
  4420. if ( ++p == pe )
  4421. goto _test_eof24;
  4422. case 24:
  4423. #line 4556 "rlscan.cpp"
  4424. switch( (*p) ) {
  4425. case 10: goto tr47;
  4426. case 34: goto st149;
  4427. case 92: goto st25;
  4428. }
  4429. goto st24;
  4430. st149:
  4431. if ( ++p == pe )
  4432. goto _test_eof149;
  4433. case 149:
  4434. if ( (*p) == 105 )
  4435. goto tr317;
  4436. goto tr316;
  4437. st25:
  4438. if ( ++p == pe )
  4439. goto _test_eof25;
  4440. case 25:
  4441. if ( (*p) == 10 )
  4442. goto tr47;
  4443. goto st24;
  4444. tr282:
  4445. #line 1 "NONE"
  4446. {te = p+1;}
  4447. goto st150;
  4448. st150:
  4449. if ( ++p == pe )
  4450. goto _test_eof150;
  4451. case 150:
  4452. #line 4585 "rlscan.cpp"
  4453. if ( (*p) == 10 )
  4454. goto tr51;
  4455. goto st26;
  4456. st26:
  4457. if ( ++p == pe )
  4458. goto _test_eof26;
  4459. case 26:
  4460. if ( (*p) == 10 )
  4461. goto tr51;
  4462. goto st26;
  4463. st151:
  4464. if ( ++p == pe )
  4465. goto _test_eof151;
  4466. case 151:
  4467. switch( (*p) ) {
  4468. case 33: goto tr318;
  4469. case 42: goto tr319;
  4470. case 47: goto tr320;
  4471. case 63: goto tr321;
  4472. case 94: goto tr322;
  4473. case 126: goto tr323;
  4474. }
  4475. goto tr315;
  4476. st152:
  4477. if ( ++p == pe )
  4478. goto _test_eof152;
  4479. case 152:
  4480. switch( (*p) ) {
  4481. case 33: goto tr324;
  4482. case 42: goto tr325;
  4483. case 47: goto tr326;
  4484. case 63: goto tr327;
  4485. case 94: goto tr328;
  4486. case 126: goto tr329;
  4487. }
  4488. goto tr315;
  4489. tr285:
  4490. #line 1 "NONE"
  4491. {te = p+1;}
  4492. goto st153;
  4493. st153:
  4494. if ( ++p == pe )
  4495. goto _test_eof153;
  4496. case 153:
  4497. #line 4630 "rlscan.cpp"
  4498. switch( (*p) ) {
  4499. case 10: goto tr53;
  4500. case 39: goto st149;
  4501. case 92: goto st28;
  4502. }
  4503. goto st27;
  4504. tr53:
  4505. #line 641 "rlscan.rl"
  4506. {
  4507. lastnl = p;
  4508. column = 0;
  4509. line++;
  4510. }
  4511. goto st27;
  4512. st27:
  4513. if ( ++p == pe )
  4514. goto _test_eof27;
  4515. case 27:
  4516. #line 4649 "rlscan.cpp"
  4517. switch( (*p) ) {
  4518. case 10: goto tr53;
  4519. case 39: goto st149;
  4520. case 92: goto st28;
  4521. }
  4522. goto st27;
  4523. st28:
  4524. if ( ++p == pe )
  4525. goto _test_eof28;
  4526. case 28:
  4527. if ( (*p) == 10 )
  4528. goto tr53;
  4529. goto st27;
  4530. st154:
  4531. if ( ++p == pe )
  4532. goto _test_eof154;
  4533. case 154:
  4534. if ( (*p) == 42 )
  4535. goto tr330;
  4536. goto tr315;
  4537. st155:
  4538. if ( ++p == pe )
  4539. goto _test_eof155;
  4540. case 155:
  4541. switch( (*p) ) {
  4542. case 45: goto tr331;
  4543. case 62: goto tr332;
  4544. }
  4545. goto tr315;
  4546. st156:
  4547. if ( ++p == pe )
  4548. goto _test_eof156;
  4549. case 156:
  4550. if ( (*p) == 46 )
  4551. goto tr333;
  4552. goto tr315;
  4553. tr290:
  4554. #line 1 "NONE"
  4555. {te = p+1;}
  4556. goto st157;
  4557. st157:
  4558. if ( ++p == pe )
  4559. goto _test_eof157;
  4560. case 157:
  4561. #line 4694 "rlscan.cpp"
  4562. if ( (*p) == 120 )
  4563. goto st29;
  4564. if ( 48 <= (*p) && (*p) <= 57 )
  4565. goto st158;
  4566. goto tr334;
  4567. st158:
  4568. if ( ++p == pe )
  4569. goto _test_eof158;
  4570. case 158:
  4571. if ( 48 <= (*p) && (*p) <= 57 )
  4572. goto st158;
  4573. goto tr334;
  4574. st29:
  4575. if ( ++p == pe )
  4576. goto _test_eof29;
  4577. case 29:
  4578. if ( (*p) < 65 ) {
  4579. if ( 48 <= (*p) && (*p) <= 57 )
  4580. goto st159;
  4581. } else if ( (*p) > 70 ) {
  4582. if ( 97 <= (*p) && (*p) <= 102 )
  4583. goto st159;
  4584. } else
  4585. goto st159;
  4586. goto tr55;
  4587. st159:
  4588. if ( ++p == pe )
  4589. goto _test_eof159;
  4590. case 159:
  4591. if ( (*p) < 65 ) {
  4592. if ( 48 <= (*p) && (*p) <= 57 )
  4593. goto st159;
  4594. } else if ( (*p) > 70 ) {
  4595. if ( 97 <= (*p) && (*p) <= 102 )
  4596. goto st159;
  4597. } else
  4598. goto st159;
  4599. goto tr336;
  4600. st160:
  4601. if ( ++p == pe )
  4602. goto _test_eof160;
  4603. case 160:
  4604. switch( (*p) ) {
  4605. case 58: goto tr337;
  4606. case 61: goto tr338;
  4607. case 62: goto st161;
  4608. }
  4609. goto tr315;
  4610. st161:
  4611. if ( ++p == pe )
  4612. goto _test_eof161;
  4613. case 161:
  4614. if ( (*p) == 62 )
  4615. goto tr341;
  4616. goto tr340;
  4617. st162:
  4618. if ( ++p == pe )
  4619. goto _test_eof162;
  4620. case 162:
  4621. switch( (*p) ) {
  4622. case 33: goto tr342;
  4623. case 42: goto tr343;
  4624. case 47: goto tr344;
  4625. case 58: goto tr345;
  4626. case 62: goto st163;
  4627. case 94: goto tr347;
  4628. case 126: goto tr348;
  4629. }
  4630. goto tr315;
  4631. st163:
  4632. if ( ++p == pe )
  4633. goto _test_eof163;
  4634. case 163:
  4635. switch( (*p) ) {
  4636. case 33: goto tr350;
  4637. case 42: goto tr351;
  4638. case 47: goto tr352;
  4639. case 94: goto tr353;
  4640. case 126: goto tr354;
  4641. }
  4642. goto tr349;
  4643. st164:
  4644. if ( ++p == pe )
  4645. goto _test_eof164;
  4646. case 164:
  4647. if ( (*p) == 62 )
  4648. goto tr355;
  4649. goto tr315;
  4650. st165:
  4651. if ( ++p == pe )
  4652. goto _test_eof165;
  4653. case 165:
  4654. switch( (*p) ) {
  4655. case 33: goto tr356;
  4656. case 42: goto tr357;
  4657. case 47: goto tr358;
  4658. case 63: goto tr359;
  4659. case 94: goto tr360;
  4660. case 126: goto tr361;
  4661. }
  4662. goto tr315;
  4663. st166:
  4664. if ( ++p == pe )
  4665. goto _test_eof166;
  4666. case 166:
  4667. switch( (*p) ) {
  4668. case 33: goto tr362;
  4669. case 42: goto tr363;
  4670. case 47: goto tr364;
  4671. case 94: goto tr365;
  4672. case 126: goto tr366;
  4673. }
  4674. goto tr315;
  4675. tr297:
  4676. #line 1 "NONE"
  4677. {te = p+1;}
  4678. #line 1002 "rlscan.rl"
  4679. {act = 108;}
  4680. goto st167;
  4681. tr377:
  4682. #line 1 "NONE"
  4683. {te = p+1;}
  4684. #line 975 "rlscan.rl"
  4685. {act = 97;}
  4686. goto st167;
  4687. tr380:
  4688. #line 1 "NONE"
  4689. {te = p+1;}
  4690. #line 959 "rlscan.rl"
  4691. {act = 92;}
  4692. goto st167;
  4693. tr386:
  4694. #line 1 "NONE"
  4695. {te = p+1;}
  4696. #line 960 "rlscan.rl"
  4697. {act = 93;}
  4698. goto st167;
  4699. tr390:
  4700. #line 1 "NONE"
  4701. {te = p+1;}
  4702. #line 994 "rlscan.rl"
  4703. {act = 102;}
  4704. goto st167;
  4705. tr391:
  4706. #line 1 "NONE"
  4707. {te = p+1;}
  4708. #line 995 "rlscan.rl"
  4709. {act = 103;}
  4710. goto st167;
  4711. tr395:
  4712. #line 1 "NONE"
  4713. {te = p+1;}
  4714. #line 999 "rlscan.rl"
  4715. {act = 107;}
  4716. goto st167;
  4717. tr398:
  4718. #line 1 "NONE"
  4719. {te = p+1;}
  4720. #line 998 "rlscan.rl"
  4721. {act = 106;}
  4722. goto st167;
  4723. tr403:
  4724. #line 1 "NONE"
  4725. {te = p+1;}
  4726. #line 967 "rlscan.rl"
  4727. {act = 96;}
  4728. goto st167;
  4729. tr409:
  4730. #line 1 "NONE"
  4731. {te = p+1;}
  4732. #line 954 "rlscan.rl"
  4733. {act = 90;}
  4734. goto st167;
  4735. tr415:
  4736. #line 1 "NONE"
  4737. {te = p+1;}
  4738. #line 953 "rlscan.rl"
  4739. {act = 89;}
  4740. goto st167;
  4741. tr418:
  4742. #line 1 "NONE"
  4743. {te = p+1;}
  4744. #line 992 "rlscan.rl"
  4745. {act = 100;}
  4746. goto st167;
  4747. tr421:
  4748. #line 1 "NONE"
  4749. {te = p+1;}
  4750. #line 996 "rlscan.rl"
  4751. {act = 104;}
  4752. goto st167;
  4753. tr427:
  4754. #line 1 "NONE"
  4755. {te = p+1;}
  4756. #line 952 "rlscan.rl"
  4757. {act = 88;}
  4758. goto st167;
  4759. tr433:
  4760. #line 1 "NONE"
  4761. {te = p+1;}
  4762. #line 993 "rlscan.rl"
  4763. {act = 101;}
  4764. goto st167;
  4765. tr440:
  4766. #line 1 "NONE"
  4767. {te = p+1;}
  4768. #line 962 "rlscan.rl"
  4769. {act = 95;}
  4770. goto st167;
  4771. tr445:
  4772. #line 1 "NONE"
  4773. {te = p+1;}
  4774. #line 961 "rlscan.rl"
  4775. {act = 94;}
  4776. goto st167;
  4777. tr446:
  4778. #line 1 "NONE"
  4779. {te = p+1;}
  4780. #line 997 "rlscan.rl"
  4781. {act = 105;}
  4782. goto st167;
  4783. tr453:
  4784. #line 1 "NONE"
  4785. {te = p+1;}
  4786. #line 983 "rlscan.rl"
  4787. {act = 98;}
  4788. goto st167;
  4789. tr457:
  4790. #line 1 "NONE"
  4791. {te = p+1;}
  4792. #line 991 "rlscan.rl"
  4793. {act = 99;}
  4794. goto st167;
  4795. tr460:
  4796. #line 1 "NONE"
  4797. {te = p+1;}
  4798. #line 955 "rlscan.rl"
  4799. {act = 91;}
  4800. goto st167;
  4801. st167:
  4802. if ( ++p == pe )
  4803. goto _test_eof167;
  4804. case 167:
  4805. #line 4938 "rlscan.cpp"
  4806. if ( (*p) == 95 )
  4807. goto tr297;
  4808. if ( (*p) < 65 ) {
  4809. if ( 48 <= (*p) && (*p) <= 57 )
  4810. goto tr297;
  4811. } else if ( (*p) > 90 ) {
  4812. if ( 97 <= (*p) && (*p) <= 122 )
  4813. goto tr297;
  4814. } else
  4815. goto tr297;
  4816. goto tr367;
  4817. st168:
  4818. if ( ++p == pe )
  4819. goto _test_eof168;
  4820. case 168:
  4821. if ( (*p) == 94 )
  4822. goto tr369;
  4823. goto tr368;
  4824. st169:
  4825. if ( ++p == pe )
  4826. goto _test_eof169;
  4827. case 169:
  4828. switch( (*p) ) {
  4829. case 95: goto tr297;
  4830. case 99: goto st170;
  4831. case 108: goto st177;
  4832. }
  4833. if ( (*p) < 65 ) {
  4834. if ( 48 <= (*p) && (*p) <= 57 )
  4835. goto tr297;
  4836. } else if ( (*p) > 90 ) {
  4837. if ( 97 <= (*p) && (*p) <= 122 )
  4838. goto tr297;
  4839. } else
  4840. goto tr297;
  4841. goto tr370;
  4842. st170:
  4843. if ( ++p == pe )
  4844. goto _test_eof170;
  4845. case 170:
  4846. switch( (*p) ) {
  4847. case 95: goto tr297;
  4848. case 99: goto st171;
  4849. case 116: goto st174;
  4850. }
  4851. if ( (*p) < 65 ) {
  4852. if ( 48 <= (*p) && (*p) <= 57 )
  4853. goto tr297;
  4854. } else if ( (*p) > 90 ) {
  4855. if ( 97 <= (*p) && (*p) <= 122 )
  4856. goto tr297;
  4857. } else
  4858. goto tr297;
  4859. goto tr370;
  4860. st171:
  4861. if ( ++p == pe )
  4862. goto _test_eof171;
  4863. case 171:
  4864. switch( (*p) ) {
  4865. case 95: goto tr297;
  4866. case 101: goto st172;
  4867. }
  4868. if ( (*p) < 65 ) {
  4869. if ( 48 <= (*p) && (*p) <= 57 )
  4870. goto tr297;
  4871. } else if ( (*p) > 90 ) {
  4872. if ( 97 <= (*p) && (*p) <= 122 )
  4873. goto tr297;
  4874. } else
  4875. goto tr297;
  4876. goto tr370;
  4877. st172:
  4878. if ( ++p == pe )
  4879. goto _test_eof172;
  4880. case 172:
  4881. switch( (*p) ) {
  4882. case 95: goto tr297;
  4883. case 115: goto st173;
  4884. }
  4885. if ( (*p) < 65 ) {
  4886. if ( 48 <= (*p) && (*p) <= 57 )
  4887. goto tr297;
  4888. } else if ( (*p) > 90 ) {
  4889. if ( 97 <= (*p) && (*p) <= 122 )
  4890. goto tr297;
  4891. } else
  4892. goto tr297;
  4893. goto tr370;
  4894. st173:
  4895. if ( ++p == pe )
  4896. goto _test_eof173;
  4897. case 173:
  4898. switch( (*p) ) {
  4899. case 95: goto tr297;
  4900. case 115: goto tr377;
  4901. }
  4902. if ( (*p) < 65 ) {
  4903. if ( 48 <= (*p) && (*p) <= 57 )
  4904. goto tr297;
  4905. } else if ( (*p) > 90 ) {
  4906. if ( 97 <= (*p) && (*p) <= 122 )
  4907. goto tr297;
  4908. } else
  4909. goto tr297;
  4910. goto tr370;
  4911. st174:
  4912. if ( ++p == pe )
  4913. goto _test_eof174;
  4914. case 174:
  4915. switch( (*p) ) {
  4916. case 95: goto tr297;
  4917. case 105: goto st175;
  4918. }
  4919. if ( (*p) < 65 ) {
  4920. if ( 48 <= (*p) && (*p) <= 57 )
  4921. goto tr297;
  4922. } else if ( (*p) > 90 ) {
  4923. if ( 97 <= (*p) && (*p) <= 122 )
  4924. goto tr297;
  4925. } else
  4926. goto tr297;
  4927. goto tr370;
  4928. st175:
  4929. if ( ++p == pe )
  4930. goto _test_eof175;
  4931. case 175:
  4932. switch( (*p) ) {
  4933. case 95: goto tr297;
  4934. case 111: goto st176;
  4935. }
  4936. if ( (*p) < 65 ) {
  4937. if ( 48 <= (*p) && (*p) <= 57 )
  4938. goto tr297;
  4939. } else if ( (*p) > 90 ) {
  4940. if ( 97 <= (*p) && (*p) <= 122 )
  4941. goto tr297;
  4942. } else
  4943. goto tr297;
  4944. goto tr370;
  4945. st176:
  4946. if ( ++p == pe )
  4947. goto _test_eof176;
  4948. case 176:
  4949. switch( (*p) ) {
  4950. case 95: goto tr297;
  4951. case 110: goto tr380;
  4952. }
  4953. if ( (*p) < 65 ) {
  4954. if ( 48 <= (*p) && (*p) <= 57 )
  4955. goto tr297;
  4956. } else if ( (*p) > 90 ) {
  4957. if ( 97 <= (*p) && (*p) <= 122 )
  4958. goto tr297;
  4959. } else
  4960. goto tr297;
  4961. goto tr370;
  4962. st177:
  4963. if ( ++p == pe )
  4964. goto _test_eof177;
  4965. case 177:
  4966. switch( (*p) ) {
  4967. case 95: goto tr297;
  4968. case 112: goto st178;
  4969. }
  4970. if ( (*p) < 65 ) {
  4971. if ( 48 <= (*p) && (*p) <= 57 )
  4972. goto tr297;
  4973. } else if ( (*p) > 90 ) {
  4974. if ( 97 <= (*p) && (*p) <= 122 )
  4975. goto tr297;
  4976. } else
  4977. goto tr297;
  4978. goto tr370;
  4979. st178:
  4980. if ( ++p == pe )
  4981. goto _test_eof178;
  4982. case 178:
  4983. switch( (*p) ) {
  4984. case 95: goto tr297;
  4985. case 104: goto st179;
  4986. }
  4987. if ( (*p) < 65 ) {
  4988. if ( 48 <= (*p) && (*p) <= 57 )
  4989. goto tr297;
  4990. } else if ( (*p) > 90 ) {
  4991. if ( 97 <= (*p) && (*p) <= 122 )
  4992. goto tr297;
  4993. } else
  4994. goto tr297;
  4995. goto tr370;
  4996. st179:
  4997. if ( ++p == pe )
  4998. goto _test_eof179;
  4999. case 179:
  5000. switch( (*p) ) {
  5001. case 95: goto tr297;
  5002. case 116: goto st180;
  5003. }
  5004. if ( (*p) < 65 ) {
  5005. if ( 48 <= (*p) && (*p) <= 57 )
  5006. goto tr297;
  5007. } else if ( (*p) > 90 ) {
  5008. if ( 97 <= (*p) && (*p) <= 122 )
  5009. goto tr297;
  5010. } else
  5011. goto tr297;
  5012. goto tr370;
  5013. st180:
  5014. if ( ++p == pe )
  5015. goto _test_eof180;
  5016. case 180:
  5017. switch( (*p) ) {
  5018. case 95: goto tr297;
  5019. case 121: goto st181;
  5020. }
  5021. if ( (*p) < 65 ) {
  5022. if ( 48 <= (*p) && (*p) <= 57 )
  5023. goto tr297;
  5024. } else if ( (*p) > 90 ) {
  5025. if ( 97 <= (*p) && (*p) <= 122 )
  5026. goto tr297;
  5027. } else
  5028. goto tr297;
  5029. goto tr370;
  5030. st181:
  5031. if ( ++p == pe )
  5032. goto _test_eof181;
  5033. case 181:
  5034. switch( (*p) ) {
  5035. case 95: goto tr297;
  5036. case 112: goto st182;
  5037. }
  5038. if ( (*p) < 65 ) {
  5039. if ( 48 <= (*p) && (*p) <= 57 )
  5040. goto tr297;
  5041. } else if ( (*p) > 90 ) {
  5042. if ( 97 <= (*p) && (*p) <= 122 )
  5043. goto tr297;
  5044. } else
  5045. goto tr297;
  5046. goto tr370;
  5047. st182:
  5048. if ( ++p == pe )
  5049. goto _test_eof182;
  5050. case 182:
  5051. switch( (*p) ) {
  5052. case 95: goto tr297;
  5053. case 101: goto tr386;
  5054. }
  5055. if ( (*p) < 65 ) {
  5056. if ( 48 <= (*p) && (*p) <= 57 )
  5057. goto tr297;
  5058. } else if ( (*p) > 90 ) {
  5059. if ( 97 <= (*p) && (*p) <= 122 )
  5060. goto tr297;
  5061. } else
  5062. goto tr297;
  5063. goto tr370;
  5064. st183:
  5065. if ( ++p == pe )
  5066. goto _test_eof183;
  5067. case 183:
  5068. switch( (*p) ) {
  5069. case 95: goto tr297;
  5070. case 111: goto st184;
  5071. case 114: goto st185;
  5072. case 120: goto st186;
  5073. }
  5074. if ( (*p) < 65 ) {
  5075. if ( 48 <= (*p) && (*p) <= 57 )
  5076. goto tr297;
  5077. } else if ( (*p) > 90 ) {
  5078. if ( 97 <= (*p) && (*p) <= 122 )
  5079. goto tr297;
  5080. } else
  5081. goto tr297;
  5082. goto tr370;
  5083. st184:
  5084. if ( ++p == pe )
  5085. goto _test_eof184;
  5086. case 184:
  5087. switch( (*p) ) {
  5088. case 95: goto tr297;
  5089. case 102: goto tr390;
  5090. }
  5091. if ( (*p) < 65 ) {
  5092. if ( 48 <= (*p) && (*p) <= 57 )
  5093. goto tr297;
  5094. } else if ( (*p) > 90 ) {
  5095. if ( 97 <= (*p) && (*p) <= 122 )
  5096. goto tr297;
  5097. } else
  5098. goto tr297;
  5099. goto tr370;
  5100. st185:
  5101. if ( ++p == pe )
  5102. goto _test_eof185;
  5103. case 185:
  5104. switch( (*p) ) {
  5105. case 95: goto tr297;
  5106. case 114: goto tr391;
  5107. }
  5108. if ( (*p) < 65 ) {
  5109. if ( 48 <= (*p) && (*p) <= 57 )
  5110. goto tr297;
  5111. } else if ( (*p) > 90 ) {
  5112. if ( 97 <= (*p) && (*p) <= 122 )
  5113. goto tr297;
  5114. } else
  5115. goto tr297;
  5116. goto tr370;
  5117. st186:
  5118. if ( ++p == pe )
  5119. goto _test_eof186;
  5120. case 186:
  5121. switch( (*p) ) {
  5122. case 95: goto tr297;
  5123. case 112: goto st187;
  5124. }
  5125. if ( (*p) < 65 ) {
  5126. if ( 48 <= (*p) && (*p) <= 57 )
  5127. goto tr297;
  5128. } else if ( (*p) > 90 ) {
  5129. if ( 97 <= (*p) && (*p) <= 122 )
  5130. goto tr297;
  5131. } else
  5132. goto tr297;
  5133. goto tr370;
  5134. st187:
  5135. if ( ++p == pe )
  5136. goto _test_eof187;
  5137. case 187:
  5138. switch( (*p) ) {
  5139. case 95: goto tr297;
  5140. case 111: goto st188;
  5141. }
  5142. if ( (*p) < 65 ) {
  5143. if ( 48 <= (*p) && (*p) <= 57 )
  5144. goto tr297;
  5145. } else if ( (*p) > 90 ) {
  5146. if ( 97 <= (*p) && (*p) <= 122 )
  5147. goto tr297;
  5148. } else
  5149. goto tr297;
  5150. goto tr370;
  5151. st188:
  5152. if ( ++p == pe )
  5153. goto _test_eof188;
  5154. case 188:
  5155. switch( (*p) ) {
  5156. case 95: goto tr297;
  5157. case 114: goto st189;
  5158. }
  5159. if ( (*p) < 65 ) {
  5160. if ( 48 <= (*p) && (*p) <= 57 )
  5161. goto tr297;
  5162. } else if ( (*p) > 90 ) {
  5163. if ( 97 <= (*p) && (*p) <= 122 )
  5164. goto tr297;
  5165. } else
  5166. goto tr297;
  5167. goto tr370;
  5168. st189:
  5169. if ( ++p == pe )
  5170. goto _test_eof189;
  5171. case 189:
  5172. switch( (*p) ) {
  5173. case 95: goto tr297;
  5174. case 116: goto tr395;
  5175. }
  5176. if ( (*p) < 65 ) {
  5177. if ( 48 <= (*p) && (*p) <= 57 )
  5178. goto tr297;
  5179. } else if ( (*p) > 90 ) {
  5180. if ( 97 <= (*p) && (*p) <= 122 )
  5181. goto tr297;
  5182. } else
  5183. goto tr297;
  5184. goto tr370;
  5185. st190:
  5186. if ( ++p == pe )
  5187. goto _test_eof190;
  5188. case 190:
  5189. switch( (*p) ) {
  5190. case 95: goto tr297;
  5191. case 114: goto st191;
  5192. }
  5193. if ( (*p) < 65 ) {
  5194. if ( 48 <= (*p) && (*p) <= 57 )
  5195. goto tr297;
  5196. } else if ( (*p) > 90 ) {
  5197. if ( 97 <= (*p) && (*p) <= 122 )
  5198. goto tr297;
  5199. } else
  5200. goto tr297;
  5201. goto tr370;
  5202. st191:
  5203. if ( ++p == pe )
  5204. goto _test_eof191;
  5205. case 191:
  5206. switch( (*p) ) {
  5207. case 95: goto tr297;
  5208. case 111: goto st192;
  5209. }
  5210. if ( (*p) < 65 ) {
  5211. if ( 48 <= (*p) && (*p) <= 57 )
  5212. goto tr297;
  5213. } else if ( (*p) > 90 ) {
  5214. if ( 97 <= (*p) && (*p) <= 122 )
  5215. goto tr297;
  5216. } else
  5217. goto tr297;
  5218. goto tr370;
  5219. st192:
  5220. if ( ++p == pe )
  5221. goto _test_eof192;
  5222. case 192:
  5223. switch( (*p) ) {
  5224. case 95: goto tr297;
  5225. case 109: goto tr398;
  5226. }
  5227. if ( (*p) < 65 ) {
  5228. if ( 48 <= (*p) && (*p) <= 57 )
  5229. goto tr297;
  5230. } else if ( (*p) > 90 ) {
  5231. if ( 97 <= (*p) && (*p) <= 122 )
  5232. goto tr297;
  5233. } else
  5234. goto tr297;
  5235. goto tr370;
  5236. st193:
  5237. if ( ++p == pe )
  5238. goto _test_eof193;
  5239. case 193:
  5240. switch( (*p) ) {
  5241. case 95: goto tr297;
  5242. case 101: goto st194;
  5243. }
  5244. if ( (*p) < 65 ) {
  5245. if ( 48 <= (*p) && (*p) <= 57 )
  5246. goto tr297;
  5247. } else if ( (*p) > 90 ) {
  5248. if ( 97 <= (*p) && (*p) <= 122 )
  5249. goto tr297;
  5250. } else
  5251. goto tr297;
  5252. goto tr370;
  5253. st194:
  5254. if ( ++p == pe )
  5255. goto _test_eof194;
  5256. case 194:
  5257. switch( (*p) ) {
  5258. case 95: goto tr297;
  5259. case 116: goto st195;
  5260. }
  5261. if ( (*p) < 65 ) {
  5262. if ( 48 <= (*p) && (*p) <= 57 )
  5263. goto tr297;
  5264. } else if ( (*p) > 90 ) {
  5265. if ( 97 <= (*p) && (*p) <= 122 )
  5266. goto tr297;
  5267. } else
  5268. goto tr297;
  5269. goto tr370;
  5270. st195:
  5271. if ( ++p == pe )
  5272. goto _test_eof195;
  5273. case 195:
  5274. switch( (*p) ) {
  5275. case 95: goto tr297;
  5276. case 107: goto st196;
  5277. }
  5278. if ( (*p) < 65 ) {
  5279. if ( 48 <= (*p) && (*p) <= 57 )
  5280. goto tr297;
  5281. } else if ( (*p) > 90 ) {
  5282. if ( 97 <= (*p) && (*p) <= 122 )
  5283. goto tr297;
  5284. } else
  5285. goto tr297;
  5286. goto tr370;
  5287. st196:
  5288. if ( ++p == pe )
  5289. goto _test_eof196;
  5290. case 196:
  5291. switch( (*p) ) {
  5292. case 95: goto tr297;
  5293. case 101: goto st197;
  5294. }
  5295. if ( (*p) < 65 ) {
  5296. if ( 48 <= (*p) && (*p) <= 57 )
  5297. goto tr297;
  5298. } else if ( (*p) > 90 ) {
  5299. if ( 97 <= (*p) && (*p) <= 122 )
  5300. goto tr297;
  5301. } else
  5302. goto tr297;
  5303. goto tr370;
  5304. st197:
  5305. if ( ++p == pe )
  5306. goto _test_eof197;
  5307. case 197:
  5308. switch( (*p) ) {
  5309. case 95: goto tr297;
  5310. case 121: goto tr403;
  5311. }
  5312. if ( (*p) < 65 ) {
  5313. if ( 48 <= (*p) && (*p) <= 57 )
  5314. goto tr297;
  5315. } else if ( (*p) > 90 ) {
  5316. if ( 97 <= (*p) && (*p) <= 122 )
  5317. goto tr297;
  5318. } else
  5319. goto tr297;
  5320. goto tr370;
  5321. st198:
  5322. if ( ++p == pe )
  5323. goto _test_eof198;
  5324. case 198:
  5325. switch( (*p) ) {
  5326. case 95: goto tr297;
  5327. case 109: goto st199;
  5328. case 110: goto st203;
  5329. }
  5330. if ( (*p) < 65 ) {
  5331. if ( 48 <= (*p) && (*p) <= 57 )
  5332. goto tr297;
  5333. } else if ( (*p) > 90 ) {
  5334. if ( 97 <= (*p) && (*p) <= 122 )
  5335. goto tr297;
  5336. } else
  5337. goto tr297;
  5338. goto tr370;
  5339. st199:
  5340. if ( ++p == pe )
  5341. goto _test_eof199;
  5342. case 199:
  5343. switch( (*p) ) {
  5344. case 95: goto tr297;
  5345. case 112: goto st200;
  5346. }
  5347. if ( (*p) < 65 ) {
  5348. if ( 48 <= (*p) && (*p) <= 57 )
  5349. goto tr297;
  5350. } else if ( (*p) > 90 ) {
  5351. if ( 97 <= (*p) && (*p) <= 122 )
  5352. goto tr297;
  5353. } else
  5354. goto tr297;
  5355. goto tr370;
  5356. st200:
  5357. if ( ++p == pe )
  5358. goto _test_eof200;
  5359. case 200:
  5360. switch( (*p) ) {
  5361. case 95: goto tr297;
  5362. case 111: goto st201;
  5363. }
  5364. if ( (*p) < 65 ) {
  5365. if ( 48 <= (*p) && (*p) <= 57 )
  5366. goto tr297;
  5367. } else if ( (*p) > 90 ) {
  5368. if ( 97 <= (*p) && (*p) <= 122 )
  5369. goto tr297;
  5370. } else
  5371. goto tr297;
  5372. goto tr370;
  5373. st201:
  5374. if ( ++p == pe )
  5375. goto _test_eof201;
  5376. case 201:
  5377. switch( (*p) ) {
  5378. case 95: goto tr297;
  5379. case 114: goto st202;
  5380. }
  5381. if ( (*p) < 65 ) {
  5382. if ( 48 <= (*p) && (*p) <= 57 )
  5383. goto tr297;
  5384. } else if ( (*p) > 90 ) {
  5385. if ( 97 <= (*p) && (*p) <= 122 )
  5386. goto tr297;
  5387. } else
  5388. goto tr297;
  5389. goto tr370;
  5390. st202:
  5391. if ( ++p == pe )
  5392. goto _test_eof202;
  5393. case 202:
  5394. switch( (*p) ) {
  5395. case 95: goto tr297;
  5396. case 116: goto tr409;
  5397. }
  5398. if ( (*p) < 65 ) {
  5399. if ( 48 <= (*p) && (*p) <= 57 )
  5400. goto tr297;
  5401. } else if ( (*p) > 90 ) {
  5402. if ( 97 <= (*p) && (*p) <= 122 )
  5403. goto tr297;
  5404. } else
  5405. goto tr297;
  5406. goto tr370;
  5407. st203:
  5408. if ( ++p == pe )
  5409. goto _test_eof203;
  5410. case 203:
  5411. switch( (*p) ) {
  5412. case 95: goto tr297;
  5413. case 99: goto st204;
  5414. case 119: goto st208;
  5415. }
  5416. if ( (*p) < 65 ) {
  5417. if ( 48 <= (*p) && (*p) <= 57 )
  5418. goto tr297;
  5419. } else if ( (*p) > 90 ) {
  5420. if ( 97 <= (*p) && (*p) <= 122 )
  5421. goto tr297;
  5422. } else
  5423. goto tr297;
  5424. goto tr370;
  5425. st204:
  5426. if ( ++p == pe )
  5427. goto _test_eof204;
  5428. case 204:
  5429. switch( (*p) ) {
  5430. case 95: goto tr297;
  5431. case 108: goto st205;
  5432. }
  5433. if ( (*p) < 65 ) {
  5434. if ( 48 <= (*p) && (*p) <= 57 )
  5435. goto tr297;
  5436. } else if ( (*p) > 90 ) {
  5437. if ( 97 <= (*p) && (*p) <= 122 )
  5438. goto tr297;
  5439. } else
  5440. goto tr297;
  5441. goto tr370;
  5442. st205:
  5443. if ( ++p == pe )
  5444. goto _test_eof205;
  5445. case 205:
  5446. switch( (*p) ) {
  5447. case 95: goto tr297;
  5448. case 117: goto st206;
  5449. }
  5450. if ( (*p) < 65 ) {
  5451. if ( 48 <= (*p) && (*p) <= 57 )
  5452. goto tr297;
  5453. } else if ( (*p) > 90 ) {
  5454. if ( 97 <= (*p) && (*p) <= 122 )
  5455. goto tr297;
  5456. } else
  5457. goto tr297;
  5458. goto tr370;
  5459. st206:
  5460. if ( ++p == pe )
  5461. goto _test_eof206;
  5462. case 206:
  5463. switch( (*p) ) {
  5464. case 95: goto tr297;
  5465. case 100: goto st207;
  5466. }
  5467. if ( (*p) < 65 ) {
  5468. if ( 48 <= (*p) && (*p) <= 57 )
  5469. goto tr297;
  5470. } else if ( (*p) > 90 ) {
  5471. if ( 97 <= (*p) && (*p) <= 122 )
  5472. goto tr297;
  5473. } else
  5474. goto tr297;
  5475. goto tr370;
  5476. st207:
  5477. if ( ++p == pe )
  5478. goto _test_eof207;
  5479. case 207:
  5480. switch( (*p) ) {
  5481. case 95: goto tr297;
  5482. case 101: goto tr415;
  5483. }
  5484. if ( (*p) < 65 ) {
  5485. if ( 48 <= (*p) && (*p) <= 57 )
  5486. goto tr297;
  5487. } else if ( (*p) > 90 ) {
  5488. if ( 97 <= (*p) && (*p) <= 122 )
  5489. goto tr297;
  5490. } else
  5491. goto tr297;
  5492. goto tr370;
  5493. st208:
  5494. if ( ++p == pe )
  5495. goto _test_eof208;
  5496. case 208:
  5497. switch( (*p) ) {
  5498. case 95: goto tr297;
  5499. case 104: goto st209;
  5500. }
  5501. if ( (*p) < 65 ) {
  5502. if ( 48 <= (*p) && (*p) <= 57 )
  5503. goto tr297;
  5504. } else if ( (*p) > 90 ) {
  5505. if ( 97 <= (*p) && (*p) <= 122 )
  5506. goto tr297;
  5507. } else
  5508. goto tr297;
  5509. goto tr370;
  5510. st209:
  5511. if ( ++p == pe )
  5512. goto _test_eof209;
  5513. case 209:
  5514. switch( (*p) ) {
  5515. case 95: goto tr297;
  5516. case 101: goto st210;
  5517. }
  5518. if ( (*p) < 65 ) {
  5519. if ( 48 <= (*p) && (*p) <= 57 )
  5520. goto tr297;
  5521. } else if ( (*p) > 90 ) {
  5522. if ( 97 <= (*p) && (*p) <= 122 )
  5523. goto tr297;
  5524. } else
  5525. goto tr297;
  5526. goto tr370;
  5527. st210:
  5528. if ( ++p == pe )
  5529. goto _test_eof210;
  5530. case 210:
  5531. switch( (*p) ) {
  5532. case 95: goto tr297;
  5533. case 110: goto tr418;
  5534. }
  5535. if ( (*p) < 65 ) {
  5536. if ( 48 <= (*p) && (*p) <= 57 )
  5537. goto tr297;
  5538. } else if ( (*p) > 90 ) {
  5539. if ( 97 <= (*p) && (*p) <= 122 )
  5540. goto tr297;
  5541. } else
  5542. goto tr297;
  5543. goto tr370;
  5544. st211:
  5545. if ( ++p == pe )
  5546. goto _test_eof211;
  5547. case 211:
  5548. switch( (*p) ) {
  5549. case 95: goto tr297;
  5550. case 101: goto st212;
  5551. }
  5552. if ( (*p) < 65 ) {
  5553. if ( 48 <= (*p) && (*p) <= 57 )
  5554. goto tr297;
  5555. } else if ( (*p) > 90 ) {
  5556. if ( 97 <= (*p) && (*p) <= 122 )
  5557. goto tr297;
  5558. } else
  5559. goto tr297;
  5560. goto tr370;
  5561. st212:
  5562. if ( ++p == pe )
  5563. goto _test_eof212;
  5564. case 212:
  5565. switch( (*p) ) {
  5566. case 95: goto tr297;
  5567. case 114: goto st213;
  5568. }
  5569. if ( (*p) < 65 ) {
  5570. if ( 48 <= (*p) && (*p) <= 57 )
  5571. goto tr297;
  5572. } else if ( (*p) > 90 ) {
  5573. if ( 97 <= (*p) && (*p) <= 122 )
  5574. goto tr297;
  5575. } else
  5576. goto tr297;
  5577. goto tr370;
  5578. st213:
  5579. if ( ++p == pe )
  5580. goto _test_eof213;
  5581. case 213:
  5582. switch( (*p) ) {
  5583. case 95: goto tr297;
  5584. case 114: goto tr421;
  5585. }
  5586. if ( (*p) < 65 ) {
  5587. if ( 48 <= (*p) && (*p) <= 57 )
  5588. goto tr297;
  5589. } else if ( (*p) > 90 ) {
  5590. if ( 97 <= (*p) && (*p) <= 122 )
  5591. goto tr297;
  5592. } else
  5593. goto tr297;
  5594. goto tr370;
  5595. st214:
  5596. if ( ++p == pe )
  5597. goto _test_eof214;
  5598. case 214:
  5599. switch( (*p) ) {
  5600. case 95: goto tr297;
  5601. case 97: goto st215;
  5602. }
  5603. if ( (*p) < 65 ) {
  5604. if ( 48 <= (*p) && (*p) <= 57 )
  5605. goto tr297;
  5606. } else if ( (*p) > 90 ) {
  5607. if ( 98 <= (*p) && (*p) <= 122 )
  5608. goto tr297;
  5609. } else
  5610. goto tr297;
  5611. goto tr370;
  5612. st215:
  5613. if ( ++p == pe )
  5614. goto _test_eof215;
  5615. case 215:
  5616. switch( (*p) ) {
  5617. case 95: goto tr297;
  5618. case 99: goto st216;
  5619. }
  5620. if ( (*p) < 65 ) {
  5621. if ( 48 <= (*p) && (*p) <= 57 )
  5622. goto tr297;
  5623. } else if ( (*p) > 90 ) {
  5624. if ( 97 <= (*p) && (*p) <= 122 )
  5625. goto tr297;
  5626. } else
  5627. goto tr297;
  5628. goto tr370;
  5629. st216:
  5630. if ( ++p == pe )
  5631. goto _test_eof216;
  5632. case 216:
  5633. switch( (*p) ) {
  5634. case 95: goto tr297;
  5635. case 104: goto st217;
  5636. }
  5637. if ( (*p) < 65 ) {
  5638. if ( 48 <= (*p) && (*p) <= 57 )
  5639. goto tr297;
  5640. } else if ( (*p) > 90 ) {
  5641. if ( 97 <= (*p) && (*p) <= 122 )
  5642. goto tr297;
  5643. } else
  5644. goto tr297;
  5645. goto tr370;
  5646. st217:
  5647. if ( ++p == pe )
  5648. goto _test_eof217;
  5649. case 217:
  5650. switch( (*p) ) {
  5651. case 95: goto tr297;
  5652. case 105: goto st218;
  5653. }
  5654. if ( (*p) < 65 ) {
  5655. if ( 48 <= (*p) && (*p) <= 57 )
  5656. goto tr297;
  5657. } else if ( (*p) > 90 ) {
  5658. if ( 97 <= (*p) && (*p) <= 122 )
  5659. goto tr297;
  5660. } else
  5661. goto tr297;
  5662. goto tr370;
  5663. st218:
  5664. if ( ++p == pe )
  5665. goto _test_eof218;
  5666. case 218:
  5667. switch( (*p) ) {
  5668. case 95: goto tr297;
  5669. case 110: goto st219;
  5670. }
  5671. if ( (*p) < 65 ) {
  5672. if ( 48 <= (*p) && (*p) <= 57 )
  5673. goto tr297;
  5674. } else if ( (*p) > 90 ) {
  5675. if ( 97 <= (*p) && (*p) <= 122 )
  5676. goto tr297;
  5677. } else
  5678. goto tr297;
  5679. goto tr370;
  5680. st219:
  5681. if ( ++p == pe )
  5682. goto _test_eof219;
  5683. case 219:
  5684. switch( (*p) ) {
  5685. case 95: goto tr297;
  5686. case 101: goto tr427;
  5687. }
  5688. if ( (*p) < 65 ) {
  5689. if ( 48 <= (*p) && (*p) <= 57 )
  5690. goto tr297;
  5691. } else if ( (*p) > 90 ) {
  5692. if ( 97 <= (*p) && (*p) <= 122 )
  5693. goto tr297;
  5694. } else
  5695. goto tr297;
  5696. goto tr370;
  5697. st220:
  5698. if ( ++p == pe )
  5699. goto _test_eof220;
  5700. case 220:
  5701. switch( (*p) ) {
  5702. case 95: goto tr297;
  5703. case 117: goto st221;
  5704. }
  5705. if ( (*p) < 65 ) {
  5706. if ( 48 <= (*p) && (*p) <= 57 )
  5707. goto tr297;
  5708. } else if ( (*p) > 90 ) {
  5709. if ( 97 <= (*p) && (*p) <= 122 )
  5710. goto tr297;
  5711. } else
  5712. goto tr297;
  5713. goto tr370;
  5714. st221:
  5715. if ( ++p == pe )
  5716. goto _test_eof221;
  5717. case 221:
  5718. switch( (*p) ) {
  5719. case 95: goto tr297;
  5720. case 116: goto st222;
  5721. }
  5722. if ( (*p) < 65 ) {
  5723. if ( 48 <= (*p) && (*p) <= 57 )
  5724. goto tr297;
  5725. } else if ( (*p) > 90 ) {
  5726. if ( 97 <= (*p) && (*p) <= 122 )
  5727. goto tr297;
  5728. } else
  5729. goto tr297;
  5730. goto tr370;
  5731. st222:
  5732. if ( ++p == pe )
  5733. goto _test_eof222;
  5734. case 222:
  5735. switch( (*p) ) {
  5736. case 95: goto tr297;
  5737. case 119: goto st223;
  5738. }
  5739. if ( (*p) < 65 ) {
  5740. if ( 48 <= (*p) && (*p) <= 57 )
  5741. goto tr297;
  5742. } else if ( (*p) > 90 ) {
  5743. if ( 97 <= (*p) && (*p) <= 122 )
  5744. goto tr297;
  5745. } else
  5746. goto tr297;
  5747. goto tr370;
  5748. st223:
  5749. if ( ++p == pe )
  5750. goto _test_eof223;
  5751. case 223:
  5752. switch( (*p) ) {
  5753. case 95: goto tr297;
  5754. case 104: goto st224;
  5755. }
  5756. if ( (*p) < 65 ) {
  5757. if ( 48 <= (*p) && (*p) <= 57 )
  5758. goto tr297;
  5759. } else if ( (*p) > 90 ) {
  5760. if ( 97 <= (*p) && (*p) <= 122 )
  5761. goto tr297;
  5762. } else
  5763. goto tr297;
  5764. goto tr370;
  5765. st224:
  5766. if ( ++p == pe )
  5767. goto _test_eof224;
  5768. case 224:
  5769. switch( (*p) ) {
  5770. case 95: goto tr297;
  5771. case 101: goto st225;
  5772. }
  5773. if ( (*p) < 65 ) {
  5774. if ( 48 <= (*p) && (*p) <= 57 )
  5775. goto tr297;
  5776. } else if ( (*p) > 90 ) {
  5777. if ( 97 <= (*p) && (*p) <= 122 )
  5778. goto tr297;
  5779. } else
  5780. goto tr297;
  5781. goto tr370;
  5782. st225:
  5783. if ( ++p == pe )
  5784. goto _test_eof225;
  5785. case 225:
  5786. switch( (*p) ) {
  5787. case 95: goto tr297;
  5788. case 110: goto tr433;
  5789. }
  5790. if ( (*p) < 65 ) {
  5791. if ( 48 <= (*p) && (*p) <= 57 )
  5792. goto tr297;
  5793. } else if ( (*p) > 90 ) {
  5794. if ( 97 <= (*p) && (*p) <= 122 )
  5795. goto tr297;
  5796. } else
  5797. goto tr297;
  5798. goto tr370;
  5799. st226:
  5800. if ( ++p == pe )
  5801. goto _test_eof226;
  5802. case 226:
  5803. switch( (*p) ) {
  5804. case 95: goto tr297;
  5805. case 111: goto st227;
  5806. case 114: goto st232;
  5807. }
  5808. if ( (*p) < 65 ) {
  5809. if ( 48 <= (*p) && (*p) <= 57 )
  5810. goto tr297;
  5811. } else if ( (*p) > 90 ) {
  5812. if ( 97 <= (*p) && (*p) <= 122 )
  5813. goto tr297;
  5814. } else
  5815. goto tr297;
  5816. goto tr370;
  5817. st227:
  5818. if ( ++p == pe )
  5819. goto _test_eof227;
  5820. case 227:
  5821. switch( (*p) ) {
  5822. case 95: goto tr297;
  5823. case 115: goto st228;
  5824. }
  5825. if ( (*p) < 65 ) {
  5826. if ( 48 <= (*p) && (*p) <= 57 )
  5827. goto tr297;
  5828. } else if ( (*p) > 90 ) {
  5829. if ( 97 <= (*p) && (*p) <= 122 )
  5830. goto tr297;
  5831. } else
  5832. goto tr297;
  5833. goto tr370;
  5834. st228:
  5835. if ( ++p == pe )
  5836. goto _test_eof228;
  5837. case 228:
  5838. switch( (*p) ) {
  5839. case 95: goto tr297;
  5840. case 116: goto st229;
  5841. }
  5842. if ( (*p) < 65 ) {
  5843. if ( 48 <= (*p) && (*p) <= 57 )
  5844. goto tr297;
  5845. } else if ( (*p) > 90 ) {
  5846. if ( 97 <= (*p) && (*p) <= 122 )
  5847. goto tr297;
  5848. } else
  5849. goto tr297;
  5850. goto tr370;
  5851. st229:
  5852. if ( ++p == pe )
  5853. goto _test_eof229;
  5854. case 229:
  5855. switch( (*p) ) {
  5856. case 95: goto tr297;
  5857. case 112: goto st230;
  5858. }
  5859. if ( (*p) < 65 ) {
  5860. if ( 48 <= (*p) && (*p) <= 57 )
  5861. goto tr297;
  5862. } else if ( (*p) > 90 ) {
  5863. if ( 97 <= (*p) && (*p) <= 122 )
  5864. goto tr297;
  5865. } else
  5866. goto tr297;
  5867. goto tr370;
  5868. st230:
  5869. if ( ++p == pe )
  5870. goto _test_eof230;
  5871. case 230:
  5872. switch( (*p) ) {
  5873. case 95: goto tr297;
  5874. case 111: goto st231;
  5875. }
  5876. if ( (*p) < 65 ) {
  5877. if ( 48 <= (*p) && (*p) <= 57 )
  5878. goto tr297;
  5879. } else if ( (*p) > 90 ) {
  5880. if ( 97 <= (*p) && (*p) <= 122 )
  5881. goto tr297;
  5882. } else
  5883. goto tr297;
  5884. goto tr370;
  5885. st231:
  5886. if ( ++p == pe )
  5887. goto _test_eof231;
  5888. case 231:
  5889. switch( (*p) ) {
  5890. case 95: goto tr297;
  5891. case 112: goto tr440;
  5892. }
  5893. if ( (*p) < 65 ) {
  5894. if ( 48 <= (*p) && (*p) <= 57 )
  5895. goto tr297;
  5896. } else if ( (*p) > 90 ) {
  5897. if ( 97 <= (*p) && (*p) <= 122 )
  5898. goto tr297;
  5899. } else
  5900. goto tr297;
  5901. goto tr370;
  5902. st232:
  5903. if ( ++p == pe )
  5904. goto _test_eof232;
  5905. case 232:
  5906. switch( (*p) ) {
  5907. case 95: goto tr297;
  5908. case 101: goto st233;
  5909. }
  5910. if ( (*p) < 65 ) {
  5911. if ( 48 <= (*p) && (*p) <= 57 )
  5912. goto tr297;
  5913. } else if ( (*p) > 90 ) {
  5914. if ( 97 <= (*p) && (*p) <= 122 )
  5915. goto tr297;
  5916. } else
  5917. goto tr297;
  5918. goto tr370;
  5919. st233:
  5920. if ( ++p == pe )
  5921. goto _test_eof233;
  5922. case 233:
  5923. switch( (*p) ) {
  5924. case 95: goto tr297;
  5925. case 112: goto st234;
  5926. }
  5927. if ( (*p) < 65 ) {
  5928. if ( 48 <= (*p) && (*p) <= 57 )
  5929. goto tr297;
  5930. } else if ( (*p) > 90 ) {
  5931. if ( 97 <= (*p) && (*p) <= 122 )
  5932. goto tr297;
  5933. } else
  5934. goto tr297;
  5935. goto tr370;
  5936. st234:
  5937. if ( ++p == pe )
  5938. goto _test_eof234;
  5939. case 234:
  5940. switch( (*p) ) {
  5941. case 95: goto tr297;
  5942. case 117: goto st235;
  5943. }
  5944. if ( (*p) < 65 ) {
  5945. if ( 48 <= (*p) && (*p) <= 57 )
  5946. goto tr297;
  5947. } else if ( (*p) > 90 ) {
  5948. if ( 97 <= (*p) && (*p) <= 122 )
  5949. goto tr297;
  5950. } else
  5951. goto tr297;
  5952. goto tr370;
  5953. st235:
  5954. if ( ++p == pe )
  5955. goto _test_eof235;
  5956. case 235:
  5957. switch( (*p) ) {
  5958. case 95: goto tr297;
  5959. case 115: goto st236;
  5960. }
  5961. if ( (*p) < 65 ) {
  5962. if ( 48 <= (*p) && (*p) <= 57 )
  5963. goto tr297;
  5964. } else if ( (*p) > 90 ) {
  5965. if ( 97 <= (*p) && (*p) <= 122 )
  5966. goto tr297;
  5967. } else
  5968. goto tr297;
  5969. goto tr370;
  5970. st236:
  5971. if ( ++p == pe )
  5972. goto _test_eof236;
  5973. case 236:
  5974. switch( (*p) ) {
  5975. case 95: goto tr297;
  5976. case 104: goto tr445;
  5977. }
  5978. if ( (*p) < 65 ) {
  5979. if ( 48 <= (*p) && (*p) <= 57 )
  5980. goto tr297;
  5981. } else if ( (*p) > 90 ) {
  5982. if ( 97 <= (*p) && (*p) <= 122 )
  5983. goto tr297;
  5984. } else
  5985. goto tr297;
  5986. goto tr370;
  5987. st237:
  5988. if ( ++p == pe )
  5989. goto _test_eof237;
  5990. case 237:
  5991. switch( (*p) ) {
  5992. case 95: goto tr297;
  5993. case 111: goto tr446;
  5994. }
  5995. if ( (*p) < 65 ) {
  5996. if ( 48 <= (*p) && (*p) <= 57 )
  5997. goto tr297;
  5998. } else if ( (*p) > 90 ) {
  5999. if ( 97 <= (*p) && (*p) <= 122 )
  6000. goto tr297;
  6001. } else
  6002. goto tr297;
  6003. goto tr370;
  6004. st238:
  6005. if ( ++p == pe )
  6006. goto _test_eof238;
  6007. case 238:
  6008. switch( (*p) ) {
  6009. case 95: goto tr297;
  6010. case 97: goto st239;
  6011. }
  6012. if ( (*p) < 65 ) {
  6013. if ( 48 <= (*p) && (*p) <= 57 )
  6014. goto tr297;
  6015. } else if ( (*p) > 90 ) {
  6016. if ( 98 <= (*p) && (*p) <= 122 )
  6017. goto tr297;
  6018. } else
  6019. goto tr297;
  6020. goto tr370;
  6021. st239:
  6022. if ( ++p == pe )
  6023. goto _test_eof239;
  6024. case 239:
  6025. switch( (*p) ) {
  6026. case 95: goto tr297;
  6027. case 114: goto st240;
  6028. }
  6029. if ( (*p) < 65 ) {
  6030. if ( 48 <= (*p) && (*p) <= 57 )
  6031. goto tr297;
  6032. } else if ( (*p) > 90 ) {
  6033. if ( 97 <= (*p) && (*p) <= 122 )
  6034. goto tr297;
  6035. } else
  6036. goto tr297;
  6037. goto tr370;
  6038. st240:
  6039. if ( ++p == pe )
  6040. goto _test_eof240;
  6041. case 240:
  6042. switch( (*p) ) {
  6043. case 95: goto tr297;
  6044. case 105: goto st241;
  6045. }
  6046. if ( (*p) < 65 ) {
  6047. if ( 48 <= (*p) && (*p) <= 57 )
  6048. goto tr297;
  6049. } else if ( (*p) > 90 ) {
  6050. if ( 97 <= (*p) && (*p) <= 122 )
  6051. goto tr297;
  6052. } else
  6053. goto tr297;
  6054. goto tr370;
  6055. st241:
  6056. if ( ++p == pe )
  6057. goto _test_eof241;
  6058. case 241:
  6059. switch( (*p) ) {
  6060. case 95: goto tr297;
  6061. case 97: goto st242;
  6062. }
  6063. if ( (*p) < 65 ) {
  6064. if ( 48 <= (*p) && (*p) <= 57 )
  6065. goto tr297;
  6066. } else if ( (*p) > 90 ) {
  6067. if ( 98 <= (*p) && (*p) <= 122 )
  6068. goto tr297;
  6069. } else
  6070. goto tr297;
  6071. goto tr370;
  6072. st242:
  6073. if ( ++p == pe )
  6074. goto _test_eof242;
  6075. case 242:
  6076. switch( (*p) ) {
  6077. case 95: goto tr297;
  6078. case 98: goto st243;
  6079. }
  6080. if ( (*p) < 65 ) {
  6081. if ( 48 <= (*p) && (*p) <= 57 )
  6082. goto tr297;
  6083. } else if ( (*p) > 90 ) {
  6084. if ( 97 <= (*p) && (*p) <= 122 )
  6085. goto tr297;
  6086. } else
  6087. goto tr297;
  6088. goto tr370;
  6089. st243:
  6090. if ( ++p == pe )
  6091. goto _test_eof243;
  6092. case 243:
  6093. switch( (*p) ) {
  6094. case 95: goto tr297;
  6095. case 108: goto st244;
  6096. }
  6097. if ( (*p) < 65 ) {
  6098. if ( 48 <= (*p) && (*p) <= 57 )
  6099. goto tr297;
  6100. } else if ( (*p) > 90 ) {
  6101. if ( 97 <= (*p) && (*p) <= 122 )
  6102. goto tr297;
  6103. } else
  6104. goto tr297;
  6105. goto tr370;
  6106. st244:
  6107. if ( ++p == pe )
  6108. goto _test_eof244;
  6109. case 244:
  6110. switch( (*p) ) {
  6111. case 95: goto tr297;
  6112. case 101: goto tr453;
  6113. }
  6114. if ( (*p) < 65 ) {
  6115. if ( 48 <= (*p) && (*p) <= 57 )
  6116. goto tr297;
  6117. } else if ( (*p) > 90 ) {
  6118. if ( 97 <= (*p) && (*p) <= 122 )
  6119. goto tr297;
  6120. } else
  6121. goto tr297;
  6122. goto tr370;
  6123. st245:
  6124. if ( ++p == pe )
  6125. goto _test_eof245;
  6126. case 245:
  6127. switch( (*p) ) {
  6128. case 95: goto tr297;
  6129. case 104: goto st246;
  6130. case 114: goto st248;
  6131. }
  6132. if ( (*p) < 65 ) {
  6133. if ( 48 <= (*p) && (*p) <= 57 )
  6134. goto tr297;
  6135. } else if ( (*p) > 90 ) {
  6136. if ( 97 <= (*p) && (*p) <= 122 )
  6137. goto tr297;
  6138. } else
  6139. goto tr297;
  6140. goto tr370;
  6141. st246:
  6142. if ( ++p == pe )
  6143. goto _test_eof246;
  6144. case 246:
  6145. switch( (*p) ) {
  6146. case 95: goto tr297;
  6147. case 101: goto st247;
  6148. }
  6149. if ( (*p) < 65 ) {
  6150. if ( 48 <= (*p) && (*p) <= 57 )
  6151. goto tr297;
  6152. } else if ( (*p) > 90 ) {
  6153. if ( 97 <= (*p) && (*p) <= 122 )
  6154. goto tr297;
  6155. } else
  6156. goto tr297;
  6157. goto tr370;
  6158. st247:
  6159. if ( ++p == pe )
  6160. goto _test_eof247;
  6161. case 247:
  6162. switch( (*p) ) {
  6163. case 95: goto tr297;
  6164. case 110: goto tr457;
  6165. }
  6166. if ( (*p) < 65 ) {
  6167. if ( 48 <= (*p) && (*p) <= 57 )
  6168. goto tr297;
  6169. } else if ( (*p) > 90 ) {
  6170. if ( 97 <= (*p) && (*p) <= 122 )
  6171. goto tr297;
  6172. } else
  6173. goto tr297;
  6174. goto tr370;
  6175. st248:
  6176. if ( ++p == pe )
  6177. goto _test_eof248;
  6178. case 248:
  6179. switch( (*p) ) {
  6180. case 95: goto tr297;
  6181. case 105: goto st249;
  6182. }
  6183. if ( (*p) < 65 ) {
  6184. if ( 48 <= (*p) && (*p) <= 57 )
  6185. goto tr297;
  6186. } else if ( (*p) > 90 ) {
  6187. if ( 97 <= (*p) && (*p) <= 122 )
  6188. goto tr297;
  6189. } else
  6190. goto tr297;
  6191. goto tr370;
  6192. st249:
  6193. if ( ++p == pe )
  6194. goto _test_eof249;
  6195. case 249:
  6196. switch( (*p) ) {
  6197. case 95: goto tr297;
  6198. case 116: goto st250;
  6199. }
  6200. if ( (*p) < 65 ) {
  6201. if ( 48 <= (*p) && (*p) <= 57 )
  6202. goto tr297;
  6203. } else if ( (*p) > 90 ) {
  6204. if ( 97 <= (*p) && (*p) <= 122 )
  6205. goto tr297;
  6206. } else
  6207. goto tr297;
  6208. goto tr370;
  6209. st250:
  6210. if ( ++p == pe )
  6211. goto _test_eof250;
  6212. case 250:
  6213. switch( (*p) ) {
  6214. case 95: goto tr297;
  6215. case 101: goto tr460;
  6216. }
  6217. if ( (*p) < 65 ) {
  6218. if ( 48 <= (*p) && (*p) <= 57 )
  6219. goto tr297;
  6220. } else if ( (*p) > 90 ) {
  6221. if ( 97 <= (*p) && (*p) <= 122 )
  6222. goto tr297;
  6223. } else
  6224. goto tr297;
  6225. goto tr370;
  6226. st251:
  6227. if ( ++p == pe )
  6228. goto _test_eof251;
  6229. case 251:
  6230. if ( (*p) == 42 )
  6231. goto tr461;
  6232. goto tr315;
  6233. tr313:
  6234. #line 1 "NONE"
  6235. {te = p+1;}
  6236. goto st252;
  6237. st252:
  6238. if ( ++p == pe )
  6239. goto _test_eof252;
  6240. case 252:
  6241. #line 6374 "rlscan.cpp"
  6242. if ( (*p) == 37 )
  6243. goto st30;
  6244. goto tr315;
  6245. st30:
  6246. if ( ++p == pe )
  6247. goto _test_eof30;
  6248. case 30:
  6249. if ( (*p) == 37 )
  6250. goto tr57;
  6251. goto tr45;
  6252. tr58:
  6253. #line 1146 "rlscan.rl"
  6254. {{p = ((te))-1;}{ pass( *ts, 0, 0 ); }}
  6255. goto st253;
  6256. tr61:
  6257. #line 1130 "rlscan.rl"
  6258. {te = p+1;{ pass( IMP_Literal, ts, te ); }}
  6259. goto st253;
  6260. tr64:
  6261. #line 641 "rlscan.rl"
  6262. {
  6263. lastnl = p;
  6264. column = 0;
  6265. line++;
  6266. }
  6267. #line 1128 "rlscan.rl"
  6268. {te = p+1;{ pass(); }}
  6269. goto st253;
  6270. tr463:
  6271. #line 1146 "rlscan.rl"
  6272. {te = p+1;{ pass( *ts, 0, 0 ); }}
  6273. goto st253;
  6274. tr464:
  6275. #line 1145 "rlscan.rl"
  6276. {te = p+1;}
  6277. goto st253;
  6278. tr474:
  6279. #line 1144 "rlscan.rl"
  6280. {te = p;p--;{ pass(); }}
  6281. goto st253;
  6282. tr475:
  6283. #line 1146 "rlscan.rl"
  6284. {te = p;p--;{ pass( *ts, 0, 0 ); }}
  6285. goto st253;
  6286. tr477:
  6287. #line 1138 "rlscan.rl"
  6288. {te = p;p--;{
  6289. updateCol();
  6290. singleLineSpec = true;
  6291. startSection();
  6292. {stack[top++] = 253; goto st146;}
  6293. }}
  6294. goto st253;
  6295. tr478:
  6296. #line 1132 "rlscan.rl"
  6297. {te = p+1;{
  6298. updateCol();
  6299. singleLineSpec = false;
  6300. startSection();
  6301. {stack[top++] = 253; goto st146;}
  6302. }}
  6303. goto st253;
  6304. tr479:
  6305. #line 1127 "rlscan.rl"
  6306. {te = p;p--;{ pass( IMP_UInt, ts, te ); }}
  6307. goto st253;
  6308. tr480:
  6309. #line 1126 "rlscan.rl"
  6310. {te = p;p--;{ pass( IMP_Word, ts, te ); }}
  6311. goto st253;
  6312. st253:
  6313. #line 1 "NONE"
  6314. {ts = 0;}
  6315. if ( ++p == pe )
  6316. goto _test_eof253;
  6317. case 253:
  6318. #line 1 "NONE"
  6319. {ts = p;}
  6320. #line 6453 "rlscan.cpp"
  6321. switch( (*p) ) {
  6322. case 0: goto tr464;
  6323. case 9: goto st254;
  6324. case 10: goto tr466;
  6325. case 32: goto st254;
  6326. case 34: goto tr467;
  6327. case 35: goto tr468;
  6328. case 37: goto st257;
  6329. case 39: goto tr470;
  6330. case 47: goto tr471;
  6331. case 95: goto st262;
  6332. }
  6333. if ( (*p) < 65 ) {
  6334. if ( 48 <= (*p) && (*p) <= 57 )
  6335. goto st261;
  6336. } else if ( (*p) > 90 ) {
  6337. if ( 97 <= (*p) && (*p) <= 122 )
  6338. goto st262;
  6339. } else
  6340. goto st262;
  6341. goto tr463;
  6342. tr466:
  6343. #line 641 "rlscan.rl"
  6344. {
  6345. lastnl = p;
  6346. column = 0;
  6347. line++;
  6348. }
  6349. goto st254;
  6350. st254:
  6351. if ( ++p == pe )
  6352. goto _test_eof254;
  6353. case 254:
  6354. #line 6487 "rlscan.cpp"
  6355. switch( (*p) ) {
  6356. case 9: goto st254;
  6357. case 10: goto tr466;
  6358. case 32: goto st254;
  6359. }
  6360. goto tr474;
  6361. tr467:
  6362. #line 1 "NONE"
  6363. {te = p+1;}
  6364. goto st255;
  6365. st255:
  6366. if ( ++p == pe )
  6367. goto _test_eof255;
  6368. case 255:
  6369. #line 6502 "rlscan.cpp"
  6370. switch( (*p) ) {
  6371. case 10: goto tr60;
  6372. case 34: goto tr61;
  6373. case 92: goto st32;
  6374. }
  6375. goto st31;
  6376. tr60:
  6377. #line 641 "rlscan.rl"
  6378. {
  6379. lastnl = p;
  6380. column = 0;
  6381. line++;
  6382. }
  6383. goto st31;
  6384. st31:
  6385. if ( ++p == pe )
  6386. goto _test_eof31;
  6387. case 31:
  6388. #line 6521 "rlscan.cpp"
  6389. switch( (*p) ) {
  6390. case 10: goto tr60;
  6391. case 34: goto tr61;
  6392. case 92: goto st32;
  6393. }
  6394. goto st31;
  6395. st32:
  6396. if ( ++p == pe )
  6397. goto _test_eof32;
  6398. case 32:
  6399. if ( (*p) == 10 )
  6400. goto tr60;
  6401. goto st31;
  6402. tr468:
  6403. #line 1 "NONE"
  6404. {te = p+1;}
  6405. goto st256;
  6406. st256:
  6407. if ( ++p == pe )
  6408. goto _test_eof256;
  6409. case 256:
  6410. #line 6543 "rlscan.cpp"
  6411. if ( (*p) == 10 )
  6412. goto tr64;
  6413. goto st33;
  6414. st33:
  6415. if ( ++p == pe )
  6416. goto _test_eof33;
  6417. case 33:
  6418. if ( (*p) == 10 )
  6419. goto tr64;
  6420. goto st33;
  6421. st257:
  6422. if ( ++p == pe )
  6423. goto _test_eof257;
  6424. case 257:
  6425. if ( (*p) == 37 )
  6426. goto st258;
  6427. goto tr475;
  6428. st258:
  6429. if ( ++p == pe )
  6430. goto _test_eof258;
  6431. case 258:
  6432. if ( (*p) == 123 )
  6433. goto tr478;
  6434. goto tr477;
  6435. tr470:
  6436. #line 1 "NONE"
  6437. {te = p+1;}
  6438. goto st259;
  6439. st259:
  6440. if ( ++p == pe )
  6441. goto _test_eof259;
  6442. case 259:
  6443. #line 6576 "rlscan.cpp"
  6444. switch( (*p) ) {
  6445. case 10: goto tr66;
  6446. case 39: goto tr61;
  6447. case 92: goto st35;
  6448. }
  6449. goto st34;
  6450. tr66:
  6451. #line 641 "rlscan.rl"
  6452. {
  6453. lastnl = p;
  6454. column = 0;
  6455. line++;
  6456. }
  6457. goto st34;
  6458. st34:
  6459. if ( ++p == pe )
  6460. goto _test_eof34;
  6461. case 34:
  6462. #line 6595 "rlscan.cpp"
  6463. switch( (*p) ) {
  6464. case 10: goto tr66;
  6465. case 39: goto tr61;
  6466. case 92: goto st35;
  6467. }
  6468. goto st34;
  6469. st35:
  6470. if ( ++p == pe )
  6471. goto _test_eof35;
  6472. case 35:
  6473. if ( (*p) == 10 )
  6474. goto tr66;
  6475. goto st34;
  6476. tr471:
  6477. #line 1 "NONE"
  6478. {te = p+1;}
  6479. goto st260;
  6480. st260:
  6481. if ( ++p == pe )
  6482. goto _test_eof260;
  6483. case 260:
  6484. #line 6617 "rlscan.cpp"
  6485. switch( (*p) ) {
  6486. case 10: goto tr69;
  6487. case 47: goto tr61;
  6488. case 92: goto st37;
  6489. }
  6490. goto st36;
  6491. tr69:
  6492. #line 641 "rlscan.rl"
  6493. {
  6494. lastnl = p;
  6495. column = 0;
  6496. line++;
  6497. }
  6498. goto st36;
  6499. st36:
  6500. if ( ++p == pe )
  6501. goto _test_eof36;
  6502. case 36:
  6503. #line 6636 "rlscan.cpp"
  6504. switch( (*p) ) {
  6505. case 10: goto tr69;
  6506. case 47: goto tr61;
  6507. case 92: goto st37;
  6508. }
  6509. goto st36;
  6510. st37:
  6511. if ( ++p == pe )
  6512. goto _test_eof37;
  6513. case 37:
  6514. if ( (*p) == 10 )
  6515. goto tr69;
  6516. goto st36;
  6517. st261:
  6518. if ( ++p == pe )
  6519. goto _test_eof261;
  6520. case 261:
  6521. if ( 48 <= (*p) && (*p) <= 57 )
  6522. goto st261;
  6523. goto tr479;
  6524. st262:
  6525. if ( ++p == pe )
  6526. goto _test_eof262;
  6527. case 262:
  6528. if ( (*p) == 95 )
  6529. goto st262;
  6530. if ( (*p) < 65 ) {
  6531. if ( 48 <= (*p) && (*p) <= 57 )
  6532. goto st262;
  6533. } else if ( (*p) > 90 ) {
  6534. if ( 97 <= (*p) && (*p) <= 122 )
  6535. goto st262;
  6536. } else
  6537. goto st262;
  6538. goto tr480;
  6539. }
  6540. _test_eof38: cs = 38; goto _test_eof;
  6541. _test_eof39: cs = 39; goto _test_eof;
  6542. _test_eof40: cs = 40; goto _test_eof;
  6543. _test_eof1: cs = 1; goto _test_eof;
  6544. _test_eof2: cs = 2; goto _test_eof;
  6545. _test_eof41: cs = 41; goto _test_eof;
  6546. _test_eof42: cs = 42; goto _test_eof;
  6547. _test_eof43: cs = 43; goto _test_eof;
  6548. _test_eof3: cs = 3; goto _test_eof;
  6549. _test_eof4: cs = 4; goto _test_eof;
  6550. _test_eof44: cs = 44; goto _test_eof;
  6551. _test_eof5: cs = 5; goto _test_eof;
  6552. _test_eof6: cs = 6; goto _test_eof;
  6553. _test_eof7: cs = 7; goto _test_eof;
  6554. _test_eof45: cs = 45; goto _test_eof;
  6555. _test_eof46: cs = 46; goto _test_eof;
  6556. _test_eof47: cs = 47; goto _test_eof;
  6557. _test_eof48: cs = 48; goto _test_eof;
  6558. _test_eof49: cs = 49; goto _test_eof;
  6559. _test_eof50: cs = 50; goto _test_eof;
  6560. _test_eof51: cs = 51; goto _test_eof;
  6561. _test_eof52: cs = 52; goto _test_eof;
  6562. _test_eof53: cs = 53; goto _test_eof;
  6563. _test_eof54: cs = 54; goto _test_eof;
  6564. _test_eof8: cs = 8; goto _test_eof;
  6565. _test_eof9: cs = 9; goto _test_eof;
  6566. _test_eof55: cs = 55; goto _test_eof;
  6567. _test_eof10: cs = 10; goto _test_eof;
  6568. _test_eof56: cs = 56; goto _test_eof;
  6569. _test_eof11: cs = 11; goto _test_eof;
  6570. _test_eof12: cs = 12; goto _test_eof;
  6571. _test_eof57: cs = 57; goto _test_eof;
  6572. _test_eof13: cs = 13; goto _test_eof;
  6573. _test_eof14: cs = 14; goto _test_eof;
  6574. _test_eof58: cs = 58; goto _test_eof;
  6575. _test_eof59: cs = 59; goto _test_eof;
  6576. _test_eof15: cs = 15; goto _test_eof;
  6577. _test_eof60: cs = 60; goto _test_eof;
  6578. _test_eof61: cs = 61; goto _test_eof;
  6579. _test_eof62: cs = 62; goto _test_eof;
  6580. _test_eof63: cs = 63; goto _test_eof;
  6581. _test_eof64: cs = 64; goto _test_eof;
  6582. _test_eof65: cs = 65; goto _test_eof;
  6583. _test_eof66: cs = 66; goto _test_eof;
  6584. _test_eof67: cs = 67; goto _test_eof;
  6585. _test_eof68: cs = 68; goto _test_eof;
  6586. _test_eof69: cs = 69; goto _test_eof;
  6587. _test_eof70: cs = 70; goto _test_eof;
  6588. _test_eof71: cs = 71; goto _test_eof;
  6589. _test_eof72: cs = 72; goto _test_eof;
  6590. _test_eof73: cs = 73; goto _test_eof;
  6591. _test_eof74: cs = 74; goto _test_eof;
  6592. _test_eof75: cs = 75; goto _test_eof;
  6593. _test_eof76: cs = 76; goto _test_eof;
  6594. _test_eof77: cs = 77; goto _test_eof;
  6595. _test_eof78: cs = 78; goto _test_eof;
  6596. _test_eof79: cs = 79; goto _test_eof;
  6597. _test_eof80: cs = 80; goto _test_eof;
  6598. _test_eof81: cs = 81; goto _test_eof;
  6599. _test_eof82: cs = 82; goto _test_eof;
  6600. _test_eof83: cs = 83; goto _test_eof;
  6601. _test_eof84: cs = 84; goto _test_eof;
  6602. _test_eof85: cs = 85; goto _test_eof;
  6603. _test_eof86: cs = 86; goto _test_eof;
  6604. _test_eof87: cs = 87; goto _test_eof;
  6605. _test_eof88: cs = 88; goto _test_eof;
  6606. _test_eof89: cs = 89; goto _test_eof;
  6607. _test_eof90: cs = 90; goto _test_eof;
  6608. _test_eof91: cs = 91; goto _test_eof;
  6609. _test_eof92: cs = 92; goto _test_eof;
  6610. _test_eof93: cs = 93; goto _test_eof;
  6611. _test_eof94: cs = 94; goto _test_eof;
  6612. _test_eof95: cs = 95; goto _test_eof;
  6613. _test_eof96: cs = 96; goto _test_eof;
  6614. _test_eof97: cs = 97; goto _test_eof;
  6615. _test_eof16: cs = 16; goto _test_eof;
  6616. _test_eof17: cs = 17; goto _test_eof;
  6617. _test_eof98: cs = 98; goto _test_eof;
  6618. _test_eof18: cs = 18; goto _test_eof;
  6619. _test_eof19: cs = 19; goto _test_eof;
  6620. _test_eof99: cs = 99; goto _test_eof;
  6621. _test_eof20: cs = 20; goto _test_eof;
  6622. _test_eof21: cs = 21; goto _test_eof;
  6623. _test_eof22: cs = 22; goto _test_eof;
  6624. _test_eof100: cs = 100; goto _test_eof;
  6625. _test_eof101: cs = 101; goto _test_eof;
  6626. _test_eof23: cs = 23; goto _test_eof;
  6627. _test_eof102: cs = 102; goto _test_eof;
  6628. _test_eof103: cs = 103; goto _test_eof;
  6629. _test_eof104: cs = 104; goto _test_eof;
  6630. _test_eof105: cs = 105; goto _test_eof;
  6631. _test_eof106: cs = 106; goto _test_eof;
  6632. _test_eof107: cs = 107; goto _test_eof;
  6633. _test_eof108: cs = 108; goto _test_eof;
  6634. _test_eof109: cs = 109; goto _test_eof;
  6635. _test_eof110: cs = 110; goto _test_eof;
  6636. _test_eof111: cs = 111; goto _test_eof;
  6637. _test_eof112: cs = 112; goto _test_eof;
  6638. _test_eof113: cs = 113; goto _test_eof;
  6639. _test_eof114: cs = 114; goto _test_eof;
  6640. _test_eof115: cs = 115; goto _test_eof;
  6641. _test_eof116: cs = 116; goto _test_eof;
  6642. _test_eof117: cs = 117; goto _test_eof;
  6643. _test_eof118: cs = 118; goto _test_eof;
  6644. _test_eof119: cs = 119; goto _test_eof;
  6645. _test_eof120: cs = 120; goto _test_eof;
  6646. _test_eof121: cs = 121; goto _test_eof;
  6647. _test_eof122: cs = 122; goto _test_eof;
  6648. _test_eof123: cs = 123; goto _test_eof;
  6649. _test_eof124: cs = 124; goto _test_eof;
  6650. _test_eof125: cs = 125; goto _test_eof;
  6651. _test_eof126: cs = 126; goto _test_eof;
  6652. _test_eof127: cs = 127; goto _test_eof;
  6653. _test_eof128: cs = 128; goto _test_eof;
  6654. _test_eof129: cs = 129; goto _test_eof;
  6655. _test_eof130: cs = 130; goto _test_eof;
  6656. _test_eof131: cs = 131; goto _test_eof;
  6657. _test_eof132: cs = 132; goto _test_eof;
  6658. _test_eof133: cs = 133; goto _test_eof;
  6659. _test_eof134: cs = 134; goto _test_eof;
  6660. _test_eof135: cs = 135; goto _test_eof;
  6661. _test_eof136: cs = 136; goto _test_eof;
  6662. _test_eof137: cs = 137; goto _test_eof;
  6663. _test_eof138: cs = 138; goto _test_eof;
  6664. _test_eof139: cs = 139; goto _test_eof;
  6665. _test_eof140: cs = 140; goto _test_eof;
  6666. _test_eof141: cs = 141; goto _test_eof;
  6667. _test_eof142: cs = 142; goto _test_eof;
  6668. _test_eof143: cs = 143; goto _test_eof;
  6669. _test_eof144: cs = 144; goto _test_eof;
  6670. _test_eof145: cs = 145; goto _test_eof;
  6671. _test_eof146: cs = 146; goto _test_eof;
  6672. _test_eof147: cs = 147; goto _test_eof;
  6673. _test_eof148: cs = 148; goto _test_eof;
  6674. _test_eof24: cs = 24; goto _test_eof;
  6675. _test_eof149: cs = 149; goto _test_eof;
  6676. _test_eof25: cs = 25; goto _test_eof;
  6677. _test_eof150: cs = 150; goto _test_eof;
  6678. _test_eof26: cs = 26; goto _test_eof;
  6679. _test_eof151: cs = 151; goto _test_eof;
  6680. _test_eof152: cs = 152; goto _test_eof;
  6681. _test_eof153: cs = 153; goto _test_eof;
  6682. _test_eof27: cs = 27; goto _test_eof;
  6683. _test_eof28: cs = 28; goto _test_eof;
  6684. _test_eof154: cs = 154; goto _test_eof;
  6685. _test_eof155: cs = 155; goto _test_eof;
  6686. _test_eof156: cs = 156; goto _test_eof;
  6687. _test_eof157: cs = 157; goto _test_eof;
  6688. _test_eof158: cs = 158; goto _test_eof;
  6689. _test_eof29: cs = 29; goto _test_eof;
  6690. _test_eof159: cs = 159; goto _test_eof;
  6691. _test_eof160: cs = 160; goto _test_eof;
  6692. _test_eof161: cs = 161; goto _test_eof;
  6693. _test_eof162: cs = 162; goto _test_eof;
  6694. _test_eof163: cs = 163; goto _test_eof;
  6695. _test_eof164: cs = 164; goto _test_eof;
  6696. _test_eof165: cs = 165; goto _test_eof;
  6697. _test_eof166: cs = 166; goto _test_eof;
  6698. _test_eof167: cs = 167; goto _test_eof;
  6699. _test_eof168: cs = 168; goto _test_eof;
  6700. _test_eof169: cs = 169; goto _test_eof;
  6701. _test_eof170: cs = 170; goto _test_eof;
  6702. _test_eof171: cs = 171; goto _test_eof;
  6703. _test_eof172: cs = 172; goto _test_eof;
  6704. _test_eof173: cs = 173; goto _test_eof;
  6705. _test_eof174: cs = 174; goto _test_eof;
  6706. _test_eof175: cs = 175; goto _test_eof;
  6707. _test_eof176: cs = 176; goto _test_eof;
  6708. _test_eof177: cs = 177; goto _test_eof;
  6709. _test_eof178: cs = 178; goto _test_eof;
  6710. _test_eof179: cs = 179; goto _test_eof;
  6711. _test_eof180: cs = 180; goto _test_eof;
  6712. _test_eof181: cs = 181; goto _test_eof;
  6713. _test_eof182: cs = 182; goto _test_eof;
  6714. _test_eof183: cs = 183; goto _test_eof;
  6715. _test_eof184: cs = 184; goto _test_eof;
  6716. _test_eof185: cs = 185; goto _test_eof;
  6717. _test_eof186: cs = 186; goto _test_eof;
  6718. _test_eof187: cs = 187; goto _test_eof;
  6719. _test_eof188: cs = 188; goto _test_eof;
  6720. _test_eof189: cs = 189; goto _test_eof;
  6721. _test_eof190: cs = 190; goto _test_eof;
  6722. _test_eof191: cs = 191; goto _test_eof;
  6723. _test_eof192: cs = 192; goto _test_eof;
  6724. _test_eof193: cs = 193; goto _test_eof;
  6725. _test_eof194: cs = 194; goto _test_eof;
  6726. _test_eof195: cs = 195; goto _test_eof;
  6727. _test_eof196: cs = 196; goto _test_eof;
  6728. _test_eof197: cs = 197; goto _test_eof;
  6729. _test_eof198: cs = 198; goto _test_eof;
  6730. _test_eof199: cs = 199; goto _test_eof;
  6731. _test_eof200: cs = 200; goto _test_eof;
  6732. _test_eof201: cs = 201; goto _test_eof;
  6733. _test_eof202: cs = 202; goto _test_eof;
  6734. _test_eof203: cs = 203; goto _test_eof;
  6735. _test_eof204: cs = 204; goto _test_eof;
  6736. _test_eof205: cs = 205; goto _test_eof;
  6737. _test_eof206: cs = 206; goto _test_eof;
  6738. _test_eof207: cs = 207; goto _test_eof;
  6739. _test_eof208: cs = 208; goto _test_eof;
  6740. _test_eof209: cs = 209; goto _test_eof;
  6741. _test_eof210: cs = 210; goto _test_eof;
  6742. _test_eof211: cs = 211; goto _test_eof;
  6743. _test_eof212: cs = 212; goto _test_eof;
  6744. _test_eof213: cs = 213; goto _test_eof;
  6745. _test_eof214: cs = 214; goto _test_eof;
  6746. _test_eof215: cs = 215; goto _test_eof;
  6747. _test_eof216: cs = 216; goto _test_eof;
  6748. _test_eof217: cs = 217; goto _test_eof;
  6749. _test_eof218: cs = 218; goto _test_eof;
  6750. _test_eof219: cs = 219; goto _test_eof;
  6751. _test_eof220: cs = 220; goto _test_eof;
  6752. _test_eof221: cs = 221; goto _test_eof;
  6753. _test_eof222: cs = 222; goto _test_eof;
  6754. _test_eof223: cs = 223; goto _test_eof;
  6755. _test_eof224: cs = 224; goto _test_eof;
  6756. _test_eof225: cs = 225; goto _test_eof;
  6757. _test_eof226: cs = 226; goto _test_eof;
  6758. _test_eof227: cs = 227; goto _test_eof;
  6759. _test_eof228: cs = 228; goto _test_eof;
  6760. _test_eof229: cs = 229; goto _test_eof;
  6761. _test_eof230: cs = 230; goto _test_eof;
  6762. _test_eof231: cs = 231; goto _test_eof;
  6763. _test_eof232: cs = 232; goto _test_eof;
  6764. _test_eof233: cs = 233; goto _test_eof;
  6765. _test_eof234: cs = 234; goto _test_eof;
  6766. _test_eof235: cs = 235; goto _test_eof;
  6767. _test_eof236: cs = 236; goto _test_eof;
  6768. _test_eof237: cs = 237; goto _test_eof;
  6769. _test_eof238: cs = 238; goto _test_eof;
  6770. _test_eof239: cs = 239; goto _test_eof;
  6771. _test_eof240: cs = 240; goto _test_eof;
  6772. _test_eof241: cs = 241; goto _test_eof;
  6773. _test_eof242: cs = 242; goto _test_eof;
  6774. _test_eof243: cs = 243; goto _test_eof;
  6775. _test_eof244: cs = 244; goto _test_eof;
  6776. _test_eof245: cs = 245; goto _test_eof;
  6777. _test_eof246: cs = 246; goto _test_eof;
  6778. _test_eof247: cs = 247; goto _test_eof;
  6779. _test_eof248: cs = 248; goto _test_eof;
  6780. _test_eof249: cs = 249; goto _test_eof;
  6781. _test_eof250: cs = 250; goto _test_eof;
  6782. _test_eof251: cs = 251; goto _test_eof;
  6783. _test_eof252: cs = 252; goto _test_eof;
  6784. _test_eof30: cs = 30; goto _test_eof;
  6785. _test_eof253: cs = 253; goto _test_eof;
  6786. _test_eof254: cs = 254; goto _test_eof;
  6787. _test_eof255: cs = 255; goto _test_eof;
  6788. _test_eof31: cs = 31; goto _test_eof;
  6789. _test_eof32: cs = 32; goto _test_eof;
  6790. _test_eof256: cs = 256; goto _test_eof;
  6791. _test_eof33: cs = 33; goto _test_eof;
  6792. _test_eof257: cs = 257; goto _test_eof;
  6793. _test_eof258: cs = 258; goto _test_eof;
  6794. _test_eof259: cs = 259; goto _test_eof;
  6795. _test_eof34: cs = 34; goto _test_eof;
  6796. _test_eof35: cs = 35; goto _test_eof;
  6797. _test_eof260: cs = 260; goto _test_eof;
  6798. _test_eof36: cs = 36; goto _test_eof;
  6799. _test_eof37: cs = 37; goto _test_eof;
  6800. _test_eof261: cs = 261; goto _test_eof;
  6801. _test_eof262: cs = 262; goto _test_eof;
  6802. _test_eof: {}
  6803. if ( p == eof )
  6804. {
  6805. switch ( cs ) {
  6806. case 39: goto tr82;
  6807. case 40: goto tr83;
  6808. case 1: goto tr0;
  6809. case 2: goto tr0;
  6810. case 41: goto tr83;
  6811. case 42: goto tr85;
  6812. case 43: goto tr83;
  6813. case 3: goto tr0;
  6814. case 4: goto tr0;
  6815. case 44: goto tr83;
  6816. case 5: goto tr0;
  6817. case 6: goto tr0;
  6818. case 7: goto tr0;
  6819. case 45: goto tr87;
  6820. case 46: goto tr88;
  6821. case 47: goto tr89;
  6822. case 48: goto tr89;
  6823. case 49: goto tr89;
  6824. case 50: goto tr89;
  6825. case 51: goto tr89;
  6826. case 53: goto tr113;
  6827. case 54: goto tr114;
  6828. case 8: goto tr14;
  6829. case 9: goto tr14;
  6830. case 55: goto tr114;
  6831. case 10: goto tr14;
  6832. case 56: goto tr114;
  6833. case 11: goto tr14;
  6834. case 12: goto tr14;
  6835. case 57: goto tr114;
  6836. case 13: goto tr14;
  6837. case 14: goto tr14;
  6838. case 58: goto tr115;
  6839. case 59: goto tr115;
  6840. case 15: goto tr27;
  6841. case 60: goto tr117;
  6842. case 61: goto tr114;
  6843. case 62: goto tr119;
  6844. case 63: goto tr120;
  6845. case 64: goto tr120;
  6846. case 65: goto tr120;
  6847. case 66: goto tr120;
  6848. case 67: goto tr120;
  6849. case 68: goto tr134;
  6850. case 69: goto tr120;
  6851. case 70: goto tr120;
  6852. case 71: goto tr120;
  6853. case 72: goto tr120;
  6854. case 73: goto tr120;
  6855. case 74: goto tr120;
  6856. case 75: goto tr120;
  6857. case 76: goto tr120;
  6858. case 77: goto tr120;
  6859. case 78: goto tr120;
  6860. case 79: goto tr120;
  6861. case 80: goto tr120;
  6862. case 81: goto tr120;
  6863. case 82: goto tr120;
  6864. case 83: goto tr120;
  6865. case 84: goto tr120;
  6866. case 85: goto tr120;
  6867. case 86: goto tr120;
  6868. case 87: goto tr120;
  6869. case 88: goto tr120;
  6870. case 89: goto tr120;
  6871. case 90: goto tr120;
  6872. case 91: goto tr120;
  6873. case 92: goto tr120;
  6874. case 93: goto tr120;
  6875. case 94: goto tr120;
  6876. case 96: goto tr181;
  6877. case 97: goto tr182;
  6878. case 16: goto tr29;
  6879. case 17: goto tr29;
  6880. case 98: goto tr182;
  6881. case 18: goto tr29;
  6882. case 19: goto tr29;
  6883. case 99: goto tr182;
  6884. case 20: goto tr29;
  6885. case 21: goto tr29;
  6886. case 22: goto tr29;
  6887. case 100: goto tr183;
  6888. case 101: goto tr183;
  6889. case 23: goto tr43;
  6890. case 102: goto tr185;
  6891. case 103: goto tr182;
  6892. case 104: goto tr187;
  6893. case 105: goto tr188;
  6894. case 106: goto tr188;
  6895. case 107: goto tr188;
  6896. case 108: goto tr188;
  6897. case 109: goto tr188;
  6898. case 110: goto tr202;
  6899. case 111: goto tr188;
  6900. case 112: goto tr188;
  6901. case 113: goto tr188;
  6902. case 114: goto tr188;
  6903. case 115: goto tr188;
  6904. case 116: goto tr188;
  6905. case 117: goto tr188;
  6906. case 118: goto tr188;
  6907. case 119: goto tr188;
  6908. case 120: goto tr188;
  6909. case 121: goto tr188;
  6910. case 122: goto tr188;
  6911. case 123: goto tr188;
  6912. case 124: goto tr188;
  6913. case 125: goto tr188;
  6914. case 126: goto tr188;
  6915. case 127: goto tr188;
  6916. case 128: goto tr188;
  6917. case 129: goto tr188;
  6918. case 130: goto tr188;
  6919. case 131: goto tr188;
  6920. case 132: goto tr188;
  6921. case 133: goto tr188;
  6922. case 134: goto tr188;
  6923. case 135: goto tr188;
  6924. case 136: goto tr188;
  6925. case 138: goto tr237;
  6926. case 140: goto tr255;
  6927. case 141: goto tr257;
  6928. case 142: goto tr259;
  6929. case 144: goto tr275;
  6930. case 145: goto tr276;
  6931. case 147: goto tr314;
  6932. case 148: goto tr315;
  6933. case 24: goto tr45;
  6934. case 149: goto tr316;
  6935. case 25: goto tr45;
  6936. case 150: goto tr315;
  6937. case 26: goto tr45;
  6938. case 151: goto tr315;
  6939. case 152: goto tr315;
  6940. case 153: goto tr315;
  6941. case 27: goto tr45;
  6942. case 28: goto tr45;
  6943. case 154: goto tr315;
  6944. case 155: goto tr315;
  6945. case 156: goto tr315;
  6946. case 157: goto tr334;
  6947. case 158: goto tr334;
  6948. case 29: goto tr55;
  6949. case 159: goto tr336;
  6950. case 160: goto tr315;
  6951. case 161: goto tr340;
  6952. case 162: goto tr315;
  6953. case 163: goto tr349;
  6954. case 164: goto tr315;
  6955. case 165: goto tr315;
  6956. case 166: goto tr315;
  6957. case 167: goto tr367;
  6958. case 168: goto tr368;
  6959. case 169: goto tr370;
  6960. case 170: goto tr370;
  6961. case 171: goto tr370;
  6962. case 172: goto tr370;
  6963. case 173: goto tr370;
  6964. case 174: goto tr370;
  6965. case 175: goto tr370;
  6966. case 176: goto tr370;
  6967. case 177: goto tr370;
  6968. case 178: goto tr370;
  6969. case 179: goto tr370;
  6970. case 180: goto tr370;
  6971. case 181: goto tr370;
  6972. case 182: goto tr370;
  6973. case 183: goto tr370;
  6974. case 184: goto tr370;
  6975. case 185: goto tr370;
  6976. case 186: goto tr370;
  6977. case 187: goto tr370;
  6978. case 188: goto tr370;
  6979. case 189: goto tr370;
  6980. case 190: goto tr370;
  6981. case 191: goto tr370;
  6982. case 192: goto tr370;
  6983. case 193: goto tr370;
  6984. case 194: goto tr370;
  6985. case 195: goto tr370;
  6986. case 196: goto tr370;
  6987. case 197: goto tr370;
  6988. case 198: goto tr370;
  6989. case 199: goto tr370;
  6990. case 200: goto tr370;
  6991. case 201: goto tr370;
  6992. case 202: goto tr370;
  6993. case 203: goto tr370;
  6994. case 204: goto tr370;
  6995. case 205: goto tr370;
  6996. case 206: goto tr370;
  6997. case 207: goto tr370;
  6998. case 208: goto tr370;
  6999. case 209: goto tr370;
  7000. case 210: goto tr370;
  7001. case 211: goto tr370;
  7002. case 212: goto tr370;
  7003. case 213: goto tr370;
  7004. case 214: goto tr370;
  7005. case 215: goto tr370;
  7006. case 216: goto tr370;
  7007. case 217: goto tr370;
  7008. case 218: goto tr370;
  7009. case 219: goto tr370;
  7010. case 220: goto tr370;
  7011. case 221: goto tr370;
  7012. case 222: goto tr370;
  7013. case 223: goto tr370;
  7014. case 224: goto tr370;
  7015. case 225: goto tr370;
  7016. case 226: goto tr370;
  7017. case 227: goto tr370;
  7018. case 228: goto tr370;
  7019. case 229: goto tr370;
  7020. case 230: goto tr370;
  7021. case 231: goto tr370;
  7022. case 232: goto tr370;
  7023. case 233: goto tr370;
  7024. case 234: goto tr370;
  7025. case 235: goto tr370;
  7026. case 236: goto tr370;
  7027. case 237: goto tr370;
  7028. case 238: goto tr370;
  7029. case 239: goto tr370;
  7030. case 240: goto tr370;
  7031. case 241: goto tr370;
  7032. case 242: goto tr370;
  7033. case 243: goto tr370;
  7034. case 244: goto tr370;
  7035. case 245: goto tr370;
  7036. case 246: goto tr370;
  7037. case 247: goto tr370;
  7038. case 248: goto tr370;
  7039. case 249: goto tr370;
  7040. case 250: goto tr370;
  7041. case 251: goto tr315;
  7042. case 252: goto tr315;
  7043. case 30: goto tr45;
  7044. case 254: goto tr474;
  7045. case 255: goto tr475;
  7046. case 31: goto tr58;
  7047. case 32: goto tr58;
  7048. case 256: goto tr475;
  7049. case 33: goto tr58;
  7050. case 257: goto tr475;
  7051. case 258: goto tr477;
  7052. case 259: goto tr475;
  7053. case 34: goto tr58;
  7054. case 35: goto tr58;
  7055. case 260: goto tr475;
  7056. case 36: goto tr58;
  7057. case 37: goto tr58;
  7058. case 261: goto tr479;
  7059. case 262: goto tr480;
  7060. }
  7061. }
  7062. _out: {}
  7063. }
  7064. #line 1241 "rlscan.rl"
  7065. /* Check if we failed. */
  7066. if ( cs == rlscan_error ) {
  7067. /* Machine failed before finding a token. I'm not yet sure if this
  7068. * is reachable. */
  7069. scan_error() << "scanner error" << endl;
  7070. exit(1);
  7071. }
  7072. /* Decide if we need to preserve anything. */
  7073. char *preserve = ts;
  7074. /* Now set up the prefix. */
  7075. if ( preserve == 0 )
  7076. have = 0;
  7077. else {
  7078. /* There is data that needs to be shifted over. */
  7079. have = pe - preserve;
  7080. memmove( buf, preserve, have );
  7081. unsigned int shiftback = preserve - buf;
  7082. if ( ts != 0 )
  7083. ts -= shiftback;
  7084. te -= shiftback;
  7085. preserve = buf;
  7086. }
  7087. }
  7088. delete[] buf;
  7089. }