| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496 |
- /* A Bison parser, made by GNU Bison 2.7. */
- /* Skeleton implementation for Bison GLR parsers in C
-
- Copyright (C) 2002-2012 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
- /* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
- /* C GLR parser skeleton written by Paul Hilfinger. */
- /* Identify Bison output. */
- #define YYBISON 1
- /* Bison version. */
- #define YYBISON_VERSION "2.7"
- /* Skeleton name. */
- #define YYSKELETON_NAME "glr.c"
- /* Pure parsers. */
- #define YYPURE 1
- /* Copy the first part of user declarations. */
- /* Line 207 of glr.c */
- #line 1 "BsParserFX.y"
- #include "BsParserFX.h"
- #include "BsLexerFX.h"
- #define inline
- void yyerror(YYLTYPE *locp, ParseState* parse_state, yyscan_t scanner, const char *msg);
- /* Line 207 of glr.c */
- #line 64 "BsParserFX.c"
- # ifndef YY_NULL
- # if defined __cplusplus && 201103L <= __cplusplus
- # define YY_NULL nullptr
- # else
- # define YY_NULL 0
- # endif
- # endif
- #include "BsParserFX.h"
- /* Enabling verbose error messages. */
- #ifdef YYERROR_VERBOSE
- # undef YYERROR_VERBOSE
- # define YYERROR_VERBOSE 1
- #else
- # define YYERROR_VERBOSE 0
- #endif
- /* Default (constant) value used for initialization for null
- right-hand sides. Unlike the standard yacc.c template, here we set
- the default value of $$ to a zeroed-out value. Since the default
- value is undefined, this behavior is technically correct. */
- static YYSTYPE yyval_default;
- static YYLTYPE yyloc_default
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
- = { 1, 1, 1, 1 }
- # endif
- ;
- /* Copy the second part of user declarations. */
- /* Line 230 of glr.c */
- #line 98 "BsParserFX.c"
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #ifndef YY_
- # if defined YYENABLE_NLS && YYENABLE_NLS
- # if ENABLE_NLS
- # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
- # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
- # endif
- # endif
- # ifndef YY_
- # define YY_(Msgid) Msgid
- # endif
- #endif
- /* Suppress unused-variable warnings by "using" E. */
- #if ! defined lint || defined __GNUC__
- # define YYUSE(E) ((void) (E))
- #else
- # define YYUSE(E) /* empty */
- #endif
- /* Identity function, used to suppress warnings about constant conditions. */
- #ifndef lint
- # define YYID(N) (N)
- #else
- #if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
- static int
- YYID (int i)
- #else
- static int
- YYID (i)
- int i;
- #endif
- {
- return i;
- }
- #endif
- #ifndef YYFREE
- # define YYFREE free
- #endif
- #ifndef YYMALLOC
- # define YYMALLOC malloc
- #endif
- #ifndef YYREALLOC
- # define YYREALLOC realloc
- #endif
- #define YYSIZEMAX ((size_t) -1)
- #ifdef __cplusplus
- typedef bool yybool;
- #else
- typedef unsigned char yybool;
- #endif
- #define yytrue 1
- #define yyfalse 0
- #ifndef YYSETJMP
- # include <setjmp.h>
- # define YYJMP_BUF jmp_buf
- # define YYSETJMP(Env) setjmp (Env)
- /* Pacify clang. */
- # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
- #endif
- /*-----------------.
- | GCC extensions. |
- `-----------------*/
- #ifndef __attribute__
- /* This feature is available in gcc versions 2.5 and later. */
- # if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
- # define __attribute__(Spec) /* empty */
- # endif
- #endif
- #ifndef YYASSERT
- # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
- #endif
- /* YYFINAL -- State number of the termination state. */
- #define YYFINAL 24
- /* YYLAST -- Last index in YYTABLE. */
- #define YYLAST 620
- /* YYNTOKENS -- Number of terminals. */
- #define YYNTOKENS 119
- /* YYNNTS -- Number of nonterminals. */
- #define YYNNTS 83
- /* YYNRULES -- Number of rules. */
- #define YYNRULES 198
- /* YYNRULES -- Number of states. */
- #define YYNSTATES 638
- /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
- #define YYMAXRHS 33
- /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
- accessed by $0, $-1, etc., in any rule. */
- #define YYMAXLEFT 0
- /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
- #define YYUNDEFTOK 2
- #define YYMAXUTOK 365
- #define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
- /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
- static const unsigned char yytranslate[] =
- {
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 117, 118, 2, 2, 115, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 116, 112,
- 2, 111, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 113, 2, 114, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110
- };
- #if YYDEBUG
- /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
- static const unsigned short int yyprhs[] =
- {
- 0, 0, 3, 4, 7, 9, 11, 13, 15, 20,
- 25, 30, 35, 41, 44, 45, 48, 50, 52, 54,
- 56, 61, 66, 72, 75, 76, 79, 81, 83, 88,
- 93, 98, 103, 108, 113, 118, 123, 128, 133, 138,
- 143, 148, 153, 158, 164, 170, 176, 182, 187, 192,
- 194, 199, 208, 211, 214, 217, 220, 223, 226, 229,
- 232, 235, 243, 244, 247, 252, 257, 262, 267, 273,
- 276, 277, 280, 282, 287, 292, 298, 304, 310, 316,
- 321, 324, 327, 328, 331, 337, 342, 347, 352, 353,
- 356, 358, 363, 368, 373, 378, 383, 388, 393, 398,
- 403, 409, 415, 418, 424, 425, 428, 433, 438, 443,
- 449, 457, 467, 481, 499, 519, 545, 579, 585, 588,
- 589, 592, 597, 602, 607, 612, 617, 622, 627, 632,
- 637, 642, 647, 652, 657, 661, 665, 668, 671, 674,
- 677, 680, 683, 686, 689, 692, 695, 698, 701, 704,
- 707, 710, 713, 716, 719, 722, 725, 728, 731, 734,
- 737, 740, 743, 746, 749, 752, 755, 758, 759, 762,
- 763, 766, 767, 770, 771, 774, 775, 778, 779, 782,
- 783, 786, 787, 790, 791, 794, 795, 800, 806, 809,
- 810, 813, 817, 820, 821, 824, 830, 836, 842
- };
- /* YYRHS -- A `-1'-separated list of the rules' RHS. */
- static const short int yyrhs[] =
- {
- 120, 0, -1, -1, 121, 120, -1, 122, -1, 123,
- -1, 165, -1, 195, -1, 52, 111, 5, 112, -1,
- 53, 111, 3, 112, -1, 54, 111, 3, 112, -1,
- 60, 111, 6, 112, -1, 124, 113, 125, 114, 112,
- -1, 57, 111, -1, -1, 126, 125, -1, 127, -1,
- 128, -1, 132, -1, 133, -1, 58, 111, 6, 112,
- -1, 59, 111, 6, 112, -1, 129, 113, 130, 114,
- 112, -1, 61, 111, -1, -1, 131, 130, -1, 132,
- -1, 133, -1, 91, 111, 3, 112, -1, 70, 111,
- 8, 112, -1, 71, 111, 9, 112, -1, 72, 111,
- 4, 112, -1, 73, 111, 4, 112, -1, 74, 111,
- 5, 112, -1, 75, 111, 5, 112, -1, 76, 111,
- 5, 112, -1, 77, 111, 5, 112, -1, 78, 111,
- 5, 112, -1, 79, 111, 5, 112, -1, 80, 111,
- 10, 112, -1, 81, 111, 5, 112, -1, 82, 111,
- 3, 112, -1, 83, 111, 3, 112, -1, 135, 113,
- 138, 114, 112, -1, 136, 113, 138, 114, 112, -1,
- 135, 113, 137, 114, 112, -1, 136, 113, 137, 114,
- 112, -1, 88, 111, 5, 112, -1, 89, 111, 5,
- 112, -1, 140, -1, 69, 111, 3, 112, -1, 134,
- 113, 91, 111, 3, 112, 114, 112, -1, 62, 111,
- -1, 63, 111, -1, 64, 111, -1, 65, 111, -1,
- 66, 111, -1, 67, 111, -1, 68, 111, -1, 84,
- 111, -1, 85, 111, -1, 11, 115, 11, 115, 11,
- 115, 10, -1, -1, 139, 138, -1, 86, 111, 11,
- 112, -1, 87, 111, 11, 112, -1, 61, 111, 11,
- 112, -1, 80, 111, 10, 112, -1, 141, 113, 142,
- 114, 112, -1, 90, 111, -1, -1, 143, 142, -1,
- 144, -1, 91, 111, 3, 112, -1, 92, 111, 5,
- 112, -1, 145, 113, 147, 114, 112, -1, 146, 113,
- 147, 114, 112, -1, 145, 113, 148, 114, 112, -1,
- 146, 113, 148, 114, 112, -1, 95, 111, 12, 112,
- -1, 93, 111, -1, 94, 111, -1, -1, 149, 147,
- -1, 11, 115, 11, 115, 15, -1, 96, 111, 11,
- 112, -1, 97, 111, 11, 112, -1, 98, 111, 15,
- 112, -1, -1, 151, 150, -1, 152, -1, 100, 111,
- 14, 112, -1, 101, 111, 14, 112, -1, 102, 111,
- 14, 112, -1, 103, 111, 3, 112, -1, 104, 111,
- 4, 112, -1, 105, 111, 4, 112, -1, 106, 111,
- 4, 112, -1, 107, 111, 159, 112, -1, 80, 111,
- 10, 112, -1, 153, 113, 155, 114, 112, -1, 153,
- 113, 154, 114, 112, -1, 99, 111, -1, 13, 115,
- 13, 115, 13, -1, -1, 156, 155, -1, 108, 111,
- 13, 112, -1, 109, 111, 13, 112, -1, 110, 111,
- 13, 112, -1, 113, 4, 115, 4, 114, -1, 113,
- 4, 115, 4, 115, 4, 114, -1, 113, 4, 115,
- 4, 115, 4, 115, 4, 114, -1, 113, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 115, 4, 114,
- -1, 113, 4, 115, 4, 115, 4, 115, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 114, -1, 113,
- 4, 115, 4, 115, 4, 115, 4, 115, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 114, -1, 113,
- 4, 115, 4, 115, 4, 115, 4, 115, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 115, 4, 115,
- 4, 115, 4, 114, -1, 113, 4, 115, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 115, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 115, 4, 115,
- 4, 115, 4, 115, 4, 115, 4, 114, -1, 166,
- 113, 167, 114, 112, -1, 55, 111, -1, -1, 168,
- 167, -1, 169, 200, 185, 112, -1, 170, 200, 186,
- 112, -1, 171, 200, 187, 112, -1, 172, 200, 188,
- 112, -1, 173, 200, 188, 112, -1, 174, 200, 189,
- 112, -1, 175, 200, 190, 112, -1, 176, 200, 189,
- 112, -1, 177, 200, 191, 112, -1, 178, 200, 192,
- 112, -1, 179, 200, 190, 112, -1, 180, 200, 192,
- 112, -1, 181, 200, 193, 112, -1, 183, 200, 112,
- -1, 184, 194, 112, -1, 17, 7, -1, 18, 7,
- -1, 19, 7, -1, 20, 7, -1, 21, 7, -1,
- 22, 7, -1, 23, 7, -1, 24, 7, -1, 25,
- 7, -1, 26, 7, -1, 27, 7, -1, 28, 7,
- -1, 29, 7, -1, 30, 7, -1, 31, 7, -1,
- 32, 7, -1, 33, 7, -1, 34, 7, -1, 35,
- 7, -1, 36, 7, -1, 37, 7, -1, 38, 7,
- -1, 39, 7, -1, 40, 7, -1, 41, 7, -1,
- 42, 7, -1, 43, 7, -1, 44, 7, -1, 45,
- 7, -1, 46, 7, -1, 182, 200, -1, -1, 111,
- 4, -1, -1, 111, 157, -1, -1, 111, 158, -1,
- -1, 111, 159, -1, -1, 111, 160, -1, -1, 111,
- 161, -1, -1, 111, 162, -1, -1, 111, 163, -1,
- -1, 111, 164, -1, -1, 111, 113, 150, 114, -1,
- 196, 113, 197, 114, 112, -1, 56, 111, -1, -1,
- 198, 197, -1, 199, 200, 112, -1, 47, 7, -1,
- -1, 201, 200, -1, 116, 49, 117, 6, 118, -1,
- 116, 48, 117, 6, 118, -1, 116, 50, 117, 5,
- 118, -1, 116, 51, 117, 16, 118, -1
- };
- /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
- static const unsigned short int yyrline[] =
- {
- 0, 229, 229, 230, 234, 235, 236, 237, 241, 242,
- 243, 244, 250, 254, 261, 263, 267, 268, 269, 270,
- 274, 275, 281, 285, 292, 294, 298, 299, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 331, 345, 350, 355, 360, 365, 370, 375, 385,
- 393, 401, 415, 417, 421, 422, 423, 424, 429, 433,
- 440, 442, 446, 450, 451, 452, 453, 454, 455, 456,
- 461, 469, 476, 478, 482, 495, 496, 497, 502, 504,
- 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
- 522, 523, 527, 535, 547, 549, 553, 554, 555, 560,
- 564, 568, 572, 581, 592, 603, 614, 628, 632, 639,
- 641, 645, 646, 647, 648, 649, 650, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 675, 679, 683, 687,
- 691, 695, 699, 703, 707, 711, 715, 719, 723, 727,
- 728, 729, 730, 731, 735, 736, 737, 738, 739, 740,
- 741, 742, 743, 744, 745, 746, 750, 758, 759, 763,
- 764, 768, 769, 773, 774, 778, 779, 783, 784, 788,
- 789, 793, 794, 798, 799, 803, 804, 809, 813, 820,
- 822, 826, 830, 844, 846, 850, 851, 852, 853
- };
- #endif
- #if YYDEBUG || YYERROR_VERBOSE || 0
- /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
- static const char *const yytname[] =
- {
- "$end", "error", "$undefined", "TOKEN_INTEGER", "TOKEN_FLOAT",
- "TOKEN_BOOLEAN", "TOKEN_STRING", "TOKEN_IDENTIFIER",
- "TOKEN_FILLMODEVALUE", "TOKEN_CULLMODEVALUE", "TOKEN_COMPFUNCVALUE",
- "TOKEN_OPVALUE", "TOKEN_COLORMASK", "TOKEN_ADDRMODEVALUE",
- "TOKEN_FILTERVALUE", "TOKEN_BLENDOPVALUE", "TOKEN_BUFFERUSAGE",
- "TOKEN_FLOATTYPE", "TOKEN_FLOAT2TYPE", "TOKEN_FLOAT3TYPE",
- "TOKEN_FLOAT4TYPE", "TOKEN_MAT2x2TYPE", "TOKEN_MAT2x3TYPE",
- "TOKEN_MAT2x4TYPE", "TOKEN_MAT3x2TYPE", "TOKEN_MAT3x3TYPE",
- "TOKEN_MAT3x4TYPE", "TOKEN_MAT4x2TYPE", "TOKEN_MAT4x3TYPE",
- "TOKEN_MAT4x4TYPE", "TOKEN_SAMPLER1D", "TOKEN_SAMPLER2D",
- "TOKEN_SAMPLER3D", "TOKEN_SAMPLERCUBE", "TOKEN_SAMPLER2DMS",
- "TOKEN_TEXTURE1D", "TOKEN_TEXTURE2D", "TOKEN_TEXTURE3D",
- "TOKEN_TEXTURECUBE", "TOKEN_TEXTURE2DMS", "TOKEN_BYTEBUFFER",
- "TOKEN_STRUCTBUFFER", "TOKEN_RWTYPEDBUFFER", "TOKEN_RWBYTEBUFFER",
- "TOKEN_RWSTRUCTBUFFER", "TOKEN_RWAPPENDBUFFER", "TOKEN_RWCONSUMEBUFFER",
- "TOKEN_PARAMSBLOCK", "TOKEN_AUTO", "TOKEN_ALIAS", "TOKEN_SHARED",
- "TOKEN_USAGE", "TOKEN_SEPARABLE", "TOKEN_QUEUE", "TOKEN_PRIORITY",
- "TOKEN_PARAMETERS", "TOKEN_BLOCKS", "TOKEN_TECHNIQUE", "TOKEN_RENDERER",
- "TOKEN_LANGUAGE", "TOKEN_INCLUDE", "TOKEN_PASS", "TOKEN_VERTEX",
- "TOKEN_FRAGMENT", "TOKEN_GEOMETRY", "TOKEN_HULL", "TOKEN_DOMAIN",
- "TOKEN_COMPUTE", "TOKEN_COMMON", "TOKEN_STENCILREF", "TOKEN_FILLMODE",
- "TOKEN_CULLMODE", "TOKEN_DEPTHBIAS", "TOKEN_SDEPTHBIAS",
- "TOKEN_DEPTHCLIP", "TOKEN_SCISSOR", "TOKEN_MULTISAMPLE", "TOKEN_AALINE",
- "TOKEN_DEPTHREAD", "TOKEN_DEPTHWRITE", "TOKEN_COMPAREFUNC",
- "TOKEN_STENCIL", "TOKEN_STENCILREADMASK", "TOKEN_STENCILWRITEMASK",
- "TOKEN_STENCILOPFRONT", "TOKEN_STENCILOPBACK", "TOKEN_FAIL",
- "TOKEN_ZFAIL", "TOKEN_ALPHATOCOVERAGE", "TOKEN_INDEPENDANTBLEND",
- "TOKEN_TARGET", "TOKEN_INDEX", "TOKEN_BLEND", "TOKEN_COLOR",
- "TOKEN_ALPHA", "TOKEN_WRITEMASK", "TOKEN_SOURCE", "TOKEN_DEST",
- "TOKEN_OP", "TOKEN_ADDRMODE", "TOKEN_MINFILTER", "TOKEN_MAGFILTER",
- "TOKEN_MIPFILTER", "TOKEN_MAXANISO", "TOKEN_MIPBIAS", "TOKEN_MIPMIN",
- "TOKEN_MIPMAX", "TOKEN_BORDERCOLOR", "TOKEN_U", "TOKEN_V", "TOKEN_W",
- "'='", "';'", "'{'", "'}'", "','", "':'", "'('", "')'", "$accept",
- "shader", "shader_statement", "shader_option", "technique",
- "technique_header", "technique_body", "technique_statement",
- "technique_option", "pass", "pass_header", "pass_body", "pass_statement",
- "pass_option", "code", "code_header", "stencil_op_front_header",
- "stencil_op_back_header", "stencil_op_body_init", "stencil_op_body",
- "stencil_op_option", "target", "target_header", "target_body",
- "target_statement", "target_option", "blend_color_header",
- "blend_alpha_header", "blenddef_body", "blenddef_body_init",
- "blenddef_option", "sampler_state_body", "sampler_state_option",
- "addr_mode", "addr_mode_header", "addr_mode_body_init", "addr_mode_body",
- "addr_mode_option", "float2", "float3", "float4", "mat6", "mat8", "mat9",
- "mat12", "mat16", "parameters", "parameters_header", "parameters_body",
- "parameter", "param_header_float", "param_header_float2",
- "param_header_float3", "param_header_float4", "param_header_mat2x2",
- "param_header_mat2x3", "param_header_mat2x4", "param_header_mat3x2",
- "param_header_mat3x3", "param_header_mat3x4", "param_header_mat4x2",
- "param_header_mat4x3", "param_header_mat4x4", "param_header_sampler",
- "param_header_generic", "param_header_qualified_sampler",
- "param_body_float", "param_body_float2", "param_body_float3",
- "param_body_float4", "param_body_mat6", "param_body_mat8",
- "param_body_mat9", "param_body_mat12", "param_body_mat16",
- "param_body_sampler", "blocks", "blocks_header", "blocks_body", "block",
- "block_header", "qualifier_list", "qualifier", YY_NULL
- };
- #endif
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
- static const unsigned char yyr1[] =
- {
- 0, 119, 120, 120, 121, 121, 121, 121, 122, 122,
- 122, 122, 123, 124, 125, 125, 126, 126, 126, 126,
- 127, 127, 128, 129, 130, 130, 131, 131, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 133, 134, 134, 134, 134, 134, 134, 134, 135,
- 136, 137, 138, 138, 139, 139, 139, 139, 140, 141,
- 142, 142, 143, 144, 144, 144, 144, 144, 144, 144,
- 145, 146, 147, 147, 148, 149, 149, 149, 150, 150,
- 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
- 152, 152, 153, 154, 155, 155, 156, 156, 156, 157,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 167, 168, 168, 168, 168, 168, 168, 168, 168, 168,
- 168, 168, 168, 168, 168, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 182, 182, 182, 182, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 184, 185, 185, 186,
- 186, 187, 187, 188, 188, 189, 189, 190, 190, 191,
- 191, 192, 192, 193, 193, 194, 194, 195, 196, 197,
- 197, 198, 199, 200, 200, 201, 201, 201, 201
- };
- /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
- static const unsigned char yyr2[] =
- {
- 0, 2, 0, 2, 1, 1, 1, 1, 4, 4,
- 4, 4, 5, 2, 0, 2, 1, 1, 1, 1,
- 4, 4, 5, 2, 0, 2, 1, 1, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 5, 5, 5, 5, 4, 4, 1,
- 4, 8, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 7, 0, 2, 4, 4, 4, 4, 5, 2,
- 0, 2, 1, 4, 4, 5, 5, 5, 5, 4,
- 2, 2, 0, 2, 5, 4, 4, 4, 0, 2,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 5, 2, 5, 0, 2, 4, 4, 4, 5,
- 7, 9, 13, 17, 19, 25, 33, 5, 2, 0,
- 2, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 3, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 0, 2, 0,
- 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
- 2, 0, 2, 0, 2, 0, 4, 5, 2, 0,
- 2, 3, 2, 0, 2, 5, 5, 5, 5
- };
- /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
- static const unsigned char yydprec[] =
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
- static const unsigned char yymerger[] =
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- /* YYDEFACT[S] -- default reduction number in state S. Performed when
- YYTABLE doesn't specify something else to do. Zero means the default
- is an error. */
- static const unsigned char yydefact[] =
- {
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 2,
- 4, 5, 0, 6, 0, 7, 0, 0, 0, 0,
- 118, 188, 13, 0, 1, 3, 14, 119, 189, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 16, 17, 0, 18,
- 19, 0, 0, 0, 49, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 119, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 185, 0, 0, 189, 193, 8, 9,
- 10, 11, 0, 0, 23, 52, 53, 54, 55, 56,
- 57, 58, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 59, 60, 0,
- 0, 69, 0, 0, 15, 24, 0, 62, 62, 70,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 0, 120, 0, 167, 193, 169, 171, 173, 173, 175,
- 177, 175, 179, 181, 177, 181, 183, 166, 0, 0,
- 0, 192, 0, 190, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 12, 0, 24, 26, 27,
- 0, 0, 0, 0, 0, 0, 0, 0, 62, 0,
- 0, 0, 0, 0, 0, 0, 0, 70, 72, 0,
- 0, 117, 0, 0, 0, 0, 0, 0, 194, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
- 88, 135, 187, 191, 20, 21, 50, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 47, 48, 28, 0, 25, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 0, 0, 0, 0, 80,
- 81, 0, 0, 71, 82, 82, 0, 0, 0, 0,
- 168, 121, 0, 170, 122, 0, 172, 123, 0, 174,
- 124, 125, 0, 176, 126, 0, 178, 127, 128, 0,
- 180, 129, 0, 182, 130, 131, 132, 0, 184, 133,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 88, 90, 0, 22, 0, 0, 0, 0, 0,
- 0, 45, 43, 46, 44, 0, 0, 0, 68, 0,
- 0, 0, 0, 0, 0, 82, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
- 186, 89, 104, 0, 0, 66, 67, 64, 65, 73,
- 74, 79, 0, 0, 0, 0, 0, 0, 83, 0,
- 0, 196, 195, 197, 198, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
- 0, 0, 0, 0, 0, 75, 77, 76, 78, 0,
- 0, 0, 0, 0, 0, 0, 0, 99, 91, 92,
- 93, 94, 95, 96, 97, 98, 0, 0, 0, 0,
- 0, 0, 105, 51, 0, 0, 85, 86, 87, 109,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 101, 100, 61, 84, 0, 0, 0, 0, 0,
- 0, 0, 0, 106, 107, 108, 110, 0, 0, 0,
- 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
- 111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 112, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
- 0, 0, 0, 0, 0, 114, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
- 0, 0, 0, 0, 0, 0, 0, 116
- };
- /* YYPDEFGOTO[NTERM-NUM]. */
- static const short int yydefgoto[] =
- {
- -1, 8, 9, 10, 11, 12, 64, 65, 66, 67,
- 68, 246, 247, 69, 70, 71, 72, 73, 256, 257,
- 258, 74, 75, 266, 267, 268, 269, 270, 413, 414,
- 415, 390, 391, 392, 393, 486, 487, 488, 353, 356,
- 359, 363, 366, 370, 373, 378, 13, 14, 106, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 277, 280, 282, 284,
- 287, 289, 292, 294, 298, 220, 15, 16, 125, 126,
- 127, 203, 204
- };
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
- #define YYPACT_NINF -326
- static const short int yypact[] =
- {
- 12, -92, -52, -41, -40, -30, -26, -25, 93, 12,
- -326, -326, -21, -326, -19, -326, -11, 98, 101, 102,
- -326, -326, -326, 100, -326, -326, -28, 92, 117, 57,
- 58, 59, 60, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 80, 81, 82, 84, 85, 86, 87, 88,
- 89, 90, 91, 94, 95, 96, 97, 99, 103, 104,
- 105, 106, 107, 108, 109, -28, -326, -326, 111, -326,
- -326, 112, 113, 114, -326, 115, 187, 196, 197, 202,
- 204, 205, 206, 213, 214, 215, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
- 236, 237, 238, 239, 240, 241, 135, 92, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 140, 245, 139, 117, 134, -326, -326,
- -326, -326, 248, 249, -326, -326, -326, -326, -326, -326,
- -326, -326, 253, 250, 251, 255, 257, 252, 258, 259,
- 260, 261, 262, 263, 264, 265, 267, -326, -326, 266,
- 269, -326, 272, 150, -326, 77, 181, 21, 21, -69,
- -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
- -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
- -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
- 164, -326, 25, 166, 134, 167, 168, 169, 169, 170,
- 171, 170, 172, 173, 171, 173, 174, -326, 175, 176,
- 178, -326, 179, -326, 180, 182, 183, 184, 185, 186,
- 188, 189, 190, 191, 192, 193, 194, 195, 198, 199,
- 200, 201, 203, 207, 208, -326, 209, 77, -326, -326,
- 177, 210, 211, 216, 217, 218, 212, 219, -3, 220,
- 221, 242, 243, 244, 246, 247, 254, -69, -326, 256,
- 268, -326, 270, 271, 273, 274, 282, 277, -326, 279,
- 281, 283, 285, 286, 288, 289, 290, 292, 293, 295,
- 296, 297, 299, 300, 302, 303, 304, 305, 307, -326,
- 83, -326, -326, -326, -326, -326, -326, -326, -326, -326,
- -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
- -326, -326, -326, -326, 308, -326, 306, 310, 313, 298,
- 319, 320, 309, 311, -326, 312, 314, 315, 294, -326,
- -326, 324, 316, -326, -9, -9, 287, 326, 332, 301,
- -326, -326, 334, -326, -326, 335, -326, -326, 336, -326,
- -326, -326, 337, -326, -326, 338, -326, -326, -326, 339,
- -326, -326, 340, -326, -326, -326, -326, 341, -326, -326,
- 275, 284, 291, 318, 321, 322, 323, 325, 327, 328,
- 280, 83, -326, 317, -326, 329, 330, 331, 342, 343,
- 344, -326, -326, -326, -326, 345, 346, 347, -326, 333,
- 349, 350, 351, 352, 353, -18, 354, 355, 356, 357,
- 358, 359, 348, 363, 364, 365, 366, 367, 368, 369,
- 360, -326, 361, 362, 370, 371, 373, 374, 375, 286,
- -326, -326, -13, 372, 387, -326, -326, -326, -326, -326,
- -326, -326, 394, 398, 401, 402, 376, 377, -326, 378,
- 379, -326, -326, -326, -326, 381, 418, 421, 423, 427,
- 431, 433, 436, 380, 382, 383, 384, 385, 386, 388,
- 389, 390, 391, 392, 393, 396, 395, 397, -81, 400,
- 399, 403, 404, 405, 407, -326, -326, -326, -326, 406,
- 408, 409, 410, 411, 412, 413, 414, -326, -326, -326,
- -326, -326, -326, -326, -326, -326, 429, 434, 437, 438,
- 419, 420, -326, -326, 439, 449, -326, -326, -326, -326,
- 440, 442, 448, 461, 466, 467, 468, 415, 422, 424,
- 425, -326, -326, -326, -326, 426, 428, 430, 432, 435,
- 441, 443, 460, -326, -326, -326, -326, 481, 483, 489,
- 495, 501, 504, -326, 445, 446, 447, 450, 451, 452,
- -326, 506, 509, 511, 517, 518, 453, 454, 455, 456,
- 457, 529, 531, 534, 535, 537, 459, 462, 463, 464,
- 465, -326, 538, 540, 542, 544, 469, 470, 471, 472,
- 545, 547, 548, 549, 474, 475, 476, 477, -326, 550,
- 551, 553, 479, 480, 482, -326, 556, 559, 484, 485,
- 560, 570, 486, 487, 571, 572, 490, 488, -326, 577,
- 491, 578, 492, 579, 493, 585, 496, -326
- };
- /* YYPGOTO[NTERM-NUM]. */
- static const short int yypgoto[] =
- {
- -326, 444, -326, -326, -326, -326, 533, -326, -326, -326,
- -326, 116, -326, -148, -147, -326, -326, -326, 146, -167,
- -326, -326, -326, 49, -326, -326, -326, -326, -325, 1,
- -326, -44, -326, -326, -326, -326, -140, -326, -326, -326,
- -90, -326, -326, -326, -326, -326, -326, -326, 276, -326,
- -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
- -326, -326, -326, -326, -326, -326, -326, -326, -326, 142,
- 141, 137, -326, 144, -326, -326, -326, -326, 494, -326,
- -326, -106, -326
- };
- /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
- #define YYTABLE_NINF -1
- static const unsigned short int yytable[] =
- {
- 482, 260, 409, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 218, 248, 249, 17,
- 416, 224, 261, 262, 263, 264, 265, 483, 484, 485,
- 33, 34, 251, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 252, 18,
- 60, 61, 62, 63, 1, 2, 3, 4, 5, 6,
- 19, 20, 7, 272, 273, 274, 275, 253, 410, 411,
- 412, 21, 252, 254, 255, 22, 23, 410, 411, 412,
- 458, 334, 26, 24, 27, 483, 484, 485, 278, 248,
- 249, 253, 28, 29, 30, 31, 32, 254, 255, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 380, 124, 60, 61, 62, 63, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 381, 382, 383, 384, 385, 386, 387, 388,
- 389, 141, 142, 143, 170, 144, 145, 146, 147, 148,
- 149, 150, 151, 171, 172, 152, 153, 154, 155, 173,
- 156, 174, 175, 176, 157, 158, 159, 160, 161, 162,
- 177, 178, 179, 163, 165, 166, 167, 168, 169, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 202, 219, 221, 222, 225, 226, 227, 232, 228, 230,
- 229, 231, 245, 233, 234, 235, 236, 237, 240, 239,
- 241, 242, 250, 238, 243, 244, 271, 276, 279, 281,
- 283, 286, 288, 291, 293, 297, 350, 299, 326, 300,
- 301, 302, 303, 418, 304, 305, 306, 307, 308, 406,
- 309, 310, 311, 312, 313, 314, 315, 316, 398, 395,
- 317, 318, 319, 320, 259, 321, 343, 421, 405, 322,
- 323, 396, 328, 324, 397, 327, 332, 329, 330, 331,
- 399, 400, 419, 333, 335, 336, 407, 420, 422, 423,
- 424, 425, 426, 427, 428, 429, 417, 441, 522, 481,
- 285, 295, 290, 337, 338, 339, 0, 340, 341, 296,
- 0, 0, 0, 325, 0, 0, 0, 0, 342, 344,
- 473, 0, 0, 0, 477, 474, 475, 478, 479, 480,
- 0, 345, 0, 201, 476, 499, 430, 346, 347, 351,
- 348, 349, 352, 354, 440, 431, 355, 357, 490, 358,
- 360, 361, 432, 362, 364, 491, 365, 367, 368, 492,
- 369, 371, 493, 372, 374, 375, 376, 494, 377, 379,
- 394, 401, 500, 402, 403, 501, 404, 502, 408, 433,
- 442, 503, 434, 435, 436, 504, 437, 505, 438, 439,
- 506, 443, 537, 445, 545, 444, 546, 538, 452, 543,
- 539, 540, 547, 25, 446, 447, 448, 449, 450, 451,
- 453, 454, 455, 465, 544, 548, 456, 457, 459, 460,
- 549, 550, 551, 563, 461, 462, 463, 464, 466, 467,
- 468, 469, 470, 471, 472, 564, 489, 565, 495, 496,
- 497, 498, 507, 566, 508, 509, 510, 511, 512, 567,
- 513, 514, 515, 517, 518, 568, 516, 519, 569, 520,
- 576, 521, 523, 577, 524, 578, 526, 527, 525, 528,
- 529, 579, 580, 530, 531, 532, 533, 534, 535, 536,
- 552, 541, 542, 586, 553, 587, 554, 555, 588, 589,
- 556, 590, 596, 557, 597, 558, 598, 559, 599, 604,
- 560, 605, 606, 607, 612, 613, 561, 614, 562, 570,
- 618, 571, 572, 619, 622, 573, 574, 575, 581, 582,
- 583, 584, 585, 591, 623, 626, 627, 592, 593, 594,
- 595, 630, 632, 634, 600, 601, 602, 603, 608, 636,
- 609, 610, 611, 615, 0, 616, 0, 617, 164, 620,
- 621, 624, 625, 629, 628, 0, 631, 633, 635, 0,
- 637, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 223
- };
- /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
- list of conflicting reductions corresponding to action entry for
- state STATE-NUM in yytable. 0 means no conflicts. The list in
- yyconfl is terminated by a rule number of 0. */
- static const unsigned char yyconflp[] =
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0
- };
- /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
- 0, pointed into by YYCONFLP. */
- static const short int yyconfl[] =
- {
- 0
- };
- static const short int yycheck[] =
- {
- 13, 168, 11, 109, 110, 111, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 165, 165, 111,
- 345, 127, 91, 92, 93, 94, 95, 108, 109, 110,
- 58, 59, 11, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 61, 111,
- 88, 89, 90, 91, 52, 53, 54, 55, 56, 57,
- 111, 111, 60, 48, 49, 50, 51, 80, 96, 97,
- 98, 111, 61, 86, 87, 111, 111, 96, 97, 98,
- 415, 258, 113, 0, 113, 108, 109, 110, 204, 247,
- 247, 80, 113, 5, 3, 3, 6, 86, 87, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 80, 47, 88, 89, 90, 91, 112,
- 112, 112, 112, 111, 111, 111, 111, 111, 111, 111,
- 111, 111, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 111, 111, 111, 7, 111, 111, 111, 111, 111,
- 111, 111, 111, 7, 7, 111, 111, 111, 111, 7,
- 111, 7, 7, 7, 111, 111, 111, 111, 111, 111,
- 7, 7, 7, 114, 113, 113, 113, 113, 113, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 114,
- 116, 111, 7, 114, 6, 6, 3, 5, 8, 4,
- 9, 4, 112, 5, 5, 5, 5, 5, 3, 5,
- 3, 5, 91, 10, 5, 3, 112, 111, 111, 111,
- 111, 111, 111, 111, 111, 111, 4, 112, 111, 113,
- 112, 112, 112, 6, 112, 112, 112, 112, 112, 5,
- 112, 112, 112, 112, 112, 112, 112, 112, 10, 3,
- 112, 112, 112, 112, 168, 112, 267, 16, 3, 112,
- 112, 11, 111, 114, 11, 115, 114, 111, 111, 111,
- 11, 11, 6, 114, 114, 114, 12, 5, 4, 4,
- 4, 4, 4, 4, 4, 4, 345, 391, 488, 439,
- 208, 214, 211, 111, 111, 111, -1, 111, 111, 215,
- -1, -1, -1, 247, -1, -1, -1, -1, 114, 113,
- 10, -1, -1, -1, 3, 14, 14, 4, 4, 4,
- -1, 113, -1, 107, 14, 4, 111, 117, 117, 112,
- 117, 117, 113, 112, 114, 111, 113, 112, 11, 113,
- 112, 112, 111, 113, 112, 11, 113, 112, 112, 11,
- 113, 112, 11, 113, 112, 112, 112, 15, 113, 112,
- 112, 112, 4, 112, 112, 4, 112, 4, 112, 111,
- 113, 4, 111, 111, 111, 4, 111, 4, 111, 111,
- 4, 112, 13, 112, 4, 115, 4, 13, 115, 10,
- 13, 13, 4, 9, 112, 112, 112, 112, 112, 112,
- 111, 111, 111, 115, 15, 4, 114, 114, 114, 114,
- 4, 4, 4, 13, 118, 118, 118, 118, 115, 115,
- 115, 115, 115, 115, 115, 4, 114, 4, 112, 112,
- 112, 112, 112, 4, 112, 112, 112, 112, 112, 4,
- 112, 112, 112, 111, 111, 4, 115, 111, 4, 114,
- 4, 114, 112, 4, 115, 4, 112, 112, 115, 112,
- 114, 4, 4, 115, 115, 115, 115, 115, 115, 115,
- 115, 112, 112, 4, 112, 4, 112, 112, 4, 4,
- 114, 4, 4, 115, 4, 115, 4, 115, 4, 4,
- 115, 4, 4, 4, 4, 4, 115, 4, 115, 114,
- 4, 115, 115, 4, 4, 115, 115, 115, 115, 115,
- 115, 115, 115, 114, 4, 4, 4, 115, 115, 115,
- 115, 4, 4, 4, 115, 115, 115, 115, 114, 4,
- 115, 115, 115, 114, -1, 115, -1, 115, 65, 115,
- 115, 115, 115, 115, 114, -1, 115, 115, 115, -1,
- 114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 126
- };
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
- static const unsigned char yystos[] =
- {
- 0, 52, 53, 54, 55, 56, 57, 60, 120, 121,
- 122, 123, 124, 165, 166, 195, 196, 111, 111, 111,
- 111, 111, 111, 111, 0, 120, 113, 113, 113, 5,
- 3, 3, 6, 58, 59, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 88, 89, 90, 91, 125, 126, 127, 128, 129, 132,
- 133, 134, 135, 136, 140, 141, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 47, 197, 198, 199, 112, 112,
- 112, 112, 111, 111, 111, 111, 111, 111, 111, 111,
- 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
- 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
- 111, 111, 111, 114, 125, 113, 113, 113, 113, 113,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 114, 167, 116, 200, 201, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200, 200, 111,
- 194, 7, 114, 197, 200, 6, 6, 3, 8, 9,
- 4, 4, 5, 5, 5, 5, 5, 5, 10, 5,
- 3, 3, 5, 5, 3, 112, 130, 131, 132, 133,
- 91, 11, 61, 80, 86, 87, 137, 138, 139, 137,
- 138, 91, 92, 93, 94, 95, 142, 143, 144, 145,
- 146, 112, 48, 49, 50, 51, 111, 185, 200, 111,
- 186, 111, 187, 111, 188, 188, 111, 189, 111, 190,
- 189, 111, 191, 111, 192, 190, 192, 111, 193, 112,
- 113, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 114, 130, 111, 115, 111, 111,
- 111, 111, 114, 114, 138, 114, 114, 111, 111, 111,
- 111, 111, 114, 142, 113, 113, 117, 117, 117, 117,
- 4, 112, 113, 157, 112, 113, 158, 112, 113, 159,
- 112, 112, 113, 160, 112, 113, 161, 112, 112, 113,
- 162, 112, 113, 163, 112, 112, 112, 113, 164, 112,
- 80, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 150, 151, 152, 153, 112, 3, 11, 11, 10, 11,
- 11, 112, 112, 112, 112, 3, 5, 12, 112, 11,
- 96, 97, 98, 147, 148, 149, 147, 148, 6, 6,
- 5, 16, 4, 4, 4, 4, 4, 4, 4, 4,
- 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
- 114, 150, 113, 112, 115, 112, 112, 112, 112, 112,
- 112, 112, 115, 111, 111, 111, 114, 114, 147, 114,
- 114, 118, 118, 118, 118, 115, 115, 115, 115, 115,
- 115, 115, 115, 10, 14, 14, 14, 3, 4, 4,
- 4, 159, 13, 108, 109, 110, 154, 155, 156, 114,
- 11, 11, 11, 11, 15, 112, 112, 112, 112, 4,
- 4, 4, 4, 4, 4, 4, 4, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 115, 111, 111, 111,
- 114, 114, 155, 112, 115, 115, 112, 112, 112, 114,
- 115, 115, 115, 115, 115, 115, 115, 13, 13, 13,
- 13, 112, 112, 10, 15, 4, 4, 4, 4, 4,
- 4, 4, 115, 112, 112, 112, 114, 115, 115, 115,
- 115, 115, 115, 13, 4, 4, 4, 4, 4, 4,
- 114, 115, 115, 115, 115, 115, 4, 4, 4, 4,
- 4, 115, 115, 115, 115, 115, 4, 4, 4, 4,
- 4, 114, 115, 115, 115, 115, 4, 4, 4, 4,
- 115, 115, 115, 115, 4, 4, 4, 4, 114, 115,
- 115, 115, 4, 4, 4, 114, 115, 115, 4, 4,
- 115, 115, 4, 4, 115, 115, 4, 4, 114, 115,
- 4, 115, 4, 115, 4, 115, 4, 114
- };
- /* Error token number */
- #define YYTERROR 1
- /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
- #ifndef YYLLOC_DEFAULT
- # define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (YYID (N)) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (YYID (0))
- #endif
- # define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
- /* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
- #ifndef __attribute__
- /* This feature is available in gcc versions 2.5 and later. */
- # if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
- # define __attribute__(Spec) /* empty */
- # endif
- #endif
- #ifndef YY_LOCATION_PRINT
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
- /* Print *YYLOCP on YYO. Private, do not rely on its existence. */
- __attribute__((__unused__))
- #if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
- static unsigned
- yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
- #else
- static unsigned
- yy_location_print_ (yyo, yylocp)
- FILE *yyo;
- YYLTYPE const * const yylocp;
- #endif
- {
- unsigned res = 0;
- int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
- if (0 <= yylocp->first_line)
- {
- res += fprintf (yyo, "%d", yylocp->first_line);
- if (0 <= yylocp->first_column)
- res += fprintf (yyo, ".%d", yylocp->first_column);
- }
- if (0 <= yylocp->last_line)
- {
- if (yylocp->first_line < yylocp->last_line)
- {
- res += fprintf (yyo, "-%d", yylocp->last_line);
- if (0 <= end_col)
- res += fprintf (yyo, ".%d", end_col);
- }
- else if (0 <= end_col && yylocp->first_column < end_col)
- res += fprintf (yyo, "-%d", end_col);
- }
- return res;
- }
- # define YY_LOCATION_PRINT(File, Loc) \
- yy_location_print_ (File, &(Loc))
- # else
- # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
- # endif
- #endif
- /* YYLEX -- calling `yylex' with the right arguments. */
- #define YYLEX yylex (&yylval, &yylloc, scanner)
- #undef yynerrs
- #define yynerrs (yystackp->yyerrcnt)
- #undef yychar
- #define yychar (yystackp->yyrawchar)
- #undef yylval
- #define yylval (yystackp->yyval)
- #undef yylloc
- #define yylloc (yystackp->yyloc)
- static const int YYEOF = 0;
- static const int YYEMPTY = -2;
- typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
- #define YYCHK(YYE) \
- do { YYRESULTTAG yyflag = YYE; if (yyflag != yyok) return yyflag; } \
- while (YYID (0))
- #if YYDEBUG
- # ifndef YYFPRINTF
- # define YYFPRINTF fprintf
- # endif
- # define YYDPRINTF(Args) \
- do { \
- if (yydebug) \
- YYFPRINTF Args; \
- } while (YYID (0))
- /*--------------------------------.
- | Print this symbol on YYOUTPUT. |
- `--------------------------------*/
- /*ARGSUSED*/
- static void
- yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ParseState* parse_state, yyscan_t scanner)
- {
- FILE *yyo = yyoutput;
- YYUSE (yyo);
- if (!yyvaluep)
- return;
- YYUSE (yylocationp);
- YYUSE (parse_state);
- YYUSE (scanner);
- # ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
- # else
- YYUSE (yyoutput);
- # endif
- switch (yytype)
- {
- default:
- break;
- }
- }
- /*--------------------------------.
- | Print this symbol on YYOUTPUT. |
- `--------------------------------*/
- static void
- yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ParseState* parse_state, yyscan_t scanner)
- {
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
- YY_LOCATION_PRINT (yyoutput, *yylocationp);
- YYFPRINTF (yyoutput, ": ");
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parse_state, scanner);
- YYFPRINTF (yyoutput, ")");
- }
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
- do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, Type, Value, Location, parse_state, scanner); \
- YYFPRINTF (stderr, "\n"); \
- } \
- } while (YYID (0))
- /* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
- int yydebug;
- #else /* !YYDEBUG */
- # define YYDPRINTF(Args)
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
- #endif /* !YYDEBUG */
- /* YYINITDEPTH -- initial size of the parser's stacks. */
- #ifndef YYINITDEPTH
- # define YYINITDEPTH 200
- #endif
- /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
- Do not make this value too large; the results are undefined if
- SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
- evaluated with infinite-precision integer arithmetic. */
- #ifndef YYMAXDEPTH
- # define YYMAXDEPTH 10000
- #endif
- /* Minimum number of free items on the stack allowed after an
- allocation. This is to allow allocation and initialization
- to be completed by functions that call yyexpandGLRStack before the
- stack is expanded, thus insuring that all necessary pointers get
- properly redirected to new data. */
- #define YYHEADROOM 2
- #ifndef YYSTACKEXPANDABLE
- # if (! defined __cplusplus \
- || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
- && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))
- # define YYSTACKEXPANDABLE 1
- # else
- # define YYSTACKEXPANDABLE 0
- # endif
- #endif
- #if YYSTACKEXPANDABLE
- # define YY_RESERVE_GLRSTACK(Yystack) \
- do { \
- if (Yystack->yyspaceLeft < YYHEADROOM) \
- yyexpandGLRStack (Yystack); \
- } while (YYID (0))
- #else
- # define YY_RESERVE_GLRSTACK(Yystack) \
- do { \
- if (Yystack->yyspaceLeft < YYHEADROOM) \
- yyMemoryExhausted (Yystack); \
- } while (YYID (0))
- #endif
- #if YYERROR_VERBOSE
- # ifndef yystpcpy
- # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
- # define yystpcpy stpcpy
- # else
- /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
- static char *
- yystpcpy (char *yydest, const char *yysrc)
- {
- char *yyd = yydest;
- const char *yys = yysrc;
- while ((*yyd++ = *yys++) != '\0')
- continue;
- return yyd - 1;
- }
- # endif
- # endif
- # ifndef yytnamerr
- /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
- static size_t
- yytnamerr (char *yyres, const char *yystr)
- {
- if (*yystr == '"')
- {
- size_t yyn = 0;
- char const *yyp = yystr;
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
- if (! yyres)
- return strlen (yystr);
- return yystpcpy (yyres, yystr) - yyres;
- }
- # endif
- #endif /* !YYERROR_VERBOSE */
- /** State numbers, as in LALR(1) machine */
- typedef int yyStateNum;
- /** Rule numbers, as in LALR(1) machine */
- typedef int yyRuleNum;
- /** Grammar symbol */
- typedef short int yySymbol;
- /** Item references, as in LALR(1) machine */
- typedef short int yyItemNum;
- typedef struct yyGLRState yyGLRState;
- typedef struct yyGLRStateSet yyGLRStateSet;
- typedef struct yySemanticOption yySemanticOption;
- typedef union yyGLRStackItem yyGLRStackItem;
- typedef struct yyGLRStack yyGLRStack;
- struct yyGLRState {
- /** Type tag: always true. */
- yybool yyisState;
- /** Type tag for yysemantics. If true, yysval applies, otherwise
- * yyfirstVal applies. */
- yybool yyresolved;
- /** Number of corresponding LALR(1) machine state. */
- yyStateNum yylrState;
- /** Preceding state in this stack */
- yyGLRState* yypred;
- /** Source position of the first token produced by my symbol */
- size_t yyposn;
- union {
- /** First in a chain of alternative reductions producing the
- * non-terminal corresponding to this state, threaded through
- * yynext. */
- yySemanticOption* yyfirstVal;
- /** Semantic value for this state. */
- YYSTYPE yysval;
- } yysemantics;
- /** Source location for this state. */
- YYLTYPE yyloc;
- };
- struct yyGLRStateSet {
- yyGLRState** yystates;
- /** During nondeterministic operation, yylookaheadNeeds tracks which
- * stacks have actually needed the current lookahead. During deterministic
- * operation, yylookaheadNeeds[0] is not maintained since it would merely
- * duplicate yychar != YYEMPTY. */
- yybool* yylookaheadNeeds;
- size_t yysize, yycapacity;
- };
- struct yySemanticOption {
- /** Type tag: always false. */
- yybool yyisState;
- /** Rule number for this reduction */
- yyRuleNum yyrule;
- /** The last RHS state in the list of states to be reduced. */
- yyGLRState* yystate;
- /** The lookahead for this reduction. */
- int yyrawchar;
- YYSTYPE yyval;
- YYLTYPE yyloc;
- /** Next sibling in chain of options. To facilitate merging,
- * options are chained in decreasing order by address. */
- yySemanticOption* yynext;
- };
- /** Type of the items in the GLR stack. The yyisState field
- * indicates which item of the union is valid. */
- union yyGLRStackItem {
- yyGLRState yystate;
- yySemanticOption yyoption;
- };
- struct yyGLRStack {
- int yyerrState;
- /* To compute the location of the error token. */
- yyGLRStackItem yyerror_range[3];
- int yyerrcnt;
- int yyrawchar;
- YYSTYPE yyval;
- YYLTYPE yyloc;
- YYJMP_BUF yyexception_buffer;
- yyGLRStackItem* yyitems;
- yyGLRStackItem* yynextFree;
- size_t yyspaceLeft;
- yyGLRState* yysplitPoint;
- yyGLRState* yylastDeleted;
- yyGLRStateSet yytops;
- };
- #if YYSTACKEXPANDABLE
- static void yyexpandGLRStack (yyGLRStack* yystackp);
- #endif
- static void yyFail (yyGLRStack* yystackp, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner, const char* yymsg)
- __attribute__ ((__noreturn__));
- static void
- yyFail (yyGLRStack* yystackp, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner, const char* yymsg)
- {
- if (yymsg != YY_NULL)
- yyerror (yylocp, parse_state, scanner, yymsg);
- YYLONGJMP (yystackp->yyexception_buffer, 1);
- }
- static void yyMemoryExhausted (yyGLRStack* yystackp)
- __attribute__ ((__noreturn__));
- static void
- yyMemoryExhausted (yyGLRStack* yystackp)
- {
- YYLONGJMP (yystackp->yyexception_buffer, 2);
- }
- #if YYDEBUG || YYERROR_VERBOSE
- /** A printable representation of TOKEN. */
- static inline const char*
- yytokenName (yySymbol yytoken)
- {
- if (yytoken == YYEMPTY)
- return "";
- return yytname[yytoken];
- }
- #endif
- /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
- * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
- * containing the pointer to the next state in the chain. */
- static void yyfillin (yyGLRStackItem *, int, int) __attribute__ ((__unused__));
- static void
- yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
- {
- int i;
- yyGLRState *s = yyvsp[yylow0].yystate.yypred;
- for (i = yylow0-1; i >= yylow1; i -= 1)
- {
- YYASSERT (s->yyresolved);
- yyvsp[i].yystate.yyresolved = yytrue;
- yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
- yyvsp[i].yystate.yyloc = s->yyloc;
- s = yyvsp[i].yystate.yypred = s->yypred;
- }
- }
- /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
- * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
- * For convenience, always return YYLOW1. */
- static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
- __attribute__ ((__unused__));
- static inline int
- yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
- {
- if (!yynormal && yylow1 < *yylow)
- {
- yyfillin (yyvsp, *yylow, yylow1);
- *yylow = yylow1;
- }
- return yylow1;
- }
- /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
- * and top stack item YYVSP. YYLVALP points to place to put semantic
- * value ($$), and yylocp points to place for location information
- * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
- * yyerr for YYERROR, yyabort for YYABORT. */
- /*ARGSUSED*/ static YYRESULTTAG
- yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp,
- yyGLRStack* yystackp,
- YYSTYPE* yyvalp, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner)
- {
- yybool yynormal __attribute__ ((__unused__)) =
- (yystackp->yysplitPoint == YY_NULL);
- int yylow;
- YYUSE (parse_state);
- YYUSE (scanner);
- # undef yyerrok
- # define yyerrok (yystackp->yyerrState = 0)
- # undef YYACCEPT
- # define YYACCEPT return yyaccept
- # undef YYABORT
- # define YYABORT return yyabort
- # undef YYERROR
- # define YYERROR return yyerrok, yyerr
- # undef YYRECOVERING
- # define YYRECOVERING() (yystackp->yyerrState != 0)
- # undef yyclearin
- # define yyclearin (yychar = YYEMPTY)
- # undef YYFILL
- # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
- # undef YYBACKUP
- # define YYBACKUP(Token, Value) \
- return yyerror (yylocp, parse_state, scanner, YY_("syntax error: cannot back up")), \
- yyerrok, yyerr
- yylow = 1;
- if (yyrhslen == 0)
- *yyvalp = yyval_default;
- else
- *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
- YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
- yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
- switch (yyn)
- {
- case 2:
- /* Line 868 of glr.c */
- #line 229 "BsParserFX.y"
- { }
- break;
- case 3:
- /* Line 868 of glr.c */
- #line 230 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 5:
- /* Line 868 of glr.c */
- #line 235 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Technique; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 6:
- /* Line 868 of glr.c */
- #line 236 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Parameters; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 7:
- /* Line 868 of glr.c */
- #line 237 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Blocks; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 8:
- /* Line 868 of glr.c */
- #line 241 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Separable; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 9:
- /* Line 868 of glr.c */
- #line 242 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Queue; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 10:
- /* Line 868 of glr.c */
- #line 243 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Priority; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 11:
- /* Line 868 of glr.c */
- #line 244 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Include; ((*yyvalp).nodeOption).value.strValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.strValue); }
- break;
- case 12:
- /* Line 868 of glr.c */
- #line 250 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 13:
- /* Line 868 of glr.c */
- #line 255 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Technique);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 15:
- /* Line 868 of glr.c */
- #line 263 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 17:
- /* Line 868 of glr.c */
- #line 268 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Pass; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 19:
- /* Line 868 of glr.c */
- #line 270 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Code; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 20:
- /* Line 868 of glr.c */
- #line 274 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Renderer; ((*yyvalp).nodeOption).value.strValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.strValue); }
- break;
- case 21:
- /* Line 868 of glr.c */
- #line 275 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Language; ((*yyvalp).nodeOption).value.strValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.strValue); }
- break;
- case 22:
- /* Line 868 of glr.c */
- #line 281 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 23:
- /* Line 868 of glr.c */
- #line 286 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Pass);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 25:
- /* Line 868 of glr.c */
- #line 294 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 27:
- /* Line 868 of glr.c */
- #line 299 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Code; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 28:
- /* Line 868 of glr.c */
- #line 303 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Index; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 29:
- /* Line 868 of glr.c */
- #line 304 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_FillMode; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 30:
- /* Line 868 of glr.c */
- #line 305 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_CullMode; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 31:
- /* Line 868 of glr.c */
- #line 306 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_DepthBias; ((*yyvalp).nodeOption).value.floatValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 32:
- /* Line 868 of glr.c */
- #line 307 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_SDepthBias; ((*yyvalp).nodeOption).value.floatValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 33:
- /* Line 868 of glr.c */
- #line 308 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_DepthClip; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 34:
- /* Line 868 of glr.c */
- #line 309 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Scissor; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 35:
- /* Line 868 of glr.c */
- #line 310 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Multisample; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 36:
- /* Line 868 of glr.c */
- #line 311 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_AALine; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 37:
- /* Line 868 of glr.c */
- #line 312 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_DepthRead; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 38:
- /* Line 868 of glr.c */
- #line 313 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_DepthWrite; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 39:
- /* Line 868 of glr.c */
- #line 314 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_CompareFunc; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 40:
- /* Line 868 of glr.c */
- #line 315 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Stencil; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 41:
- /* Line 868 of glr.c */
- #line 316 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_StencilReadMask; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 42:
- /* Line 868 of glr.c */
- #line 317 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_StencilWriteMask; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 43:
- /* Line 868 of glr.c */
- #line 318 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_StencilOpFront; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 44:
- /* Line 868 of glr.c */
- #line 319 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_StencilOpBack; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 45:
- /* Line 868 of glr.c */
- #line 320 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_StencilOpFront; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 46:
- /* Line 868 of glr.c */
- #line 321 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_StencilOpBack; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 47:
- /* Line 868 of glr.c */
- #line 322 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_AlphaToCoverage; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 48:
- /* Line 868 of glr.c */
- #line 323 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_IndependantBlend; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 49:
- /* Line 868 of glr.c */
- #line 324 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Target; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 50:
- /* Line 868 of glr.c */
- #line 325 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_StencilRef; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 51:
- /* Line 868 of glr.c */
- #line 332 "BsParserFX.y"
- {
- NodeOption index;
- index.type = OT_Index;
- index.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (8))].yystate.yysemantics.yysval.intValue);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &index);
- nodePop(parse_state);
- ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (8))].yystate.yysemantics.yysval.nodePtr);
- }
- break;
- case 52:
- /* Line 868 of glr.c */
- #line 346 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 53:
- /* Line 868 of glr.c */
- #line 351 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 54:
- /* Line 868 of glr.c */
- #line 356 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 55:
- /* Line 868 of glr.c */
- #line 361 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 56:
- /* Line 868 of glr.c */
- #line 366 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 57:
- /* Line 868 of glr.c */
- #line 371 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 58:
- /* Line 868 of glr.c */
- #line 376 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Code);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 59:
- /* Line 868 of glr.c */
- #line 386 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_StencilOp);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 60:
- /* Line 868 of glr.c */
- #line 394 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_StencilOp);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 61:
- /* Line 868 of glr.c */
- #line 402 "BsParserFX.y"
- {
- NodeOption fail; fail.type = OT_Fail; fail.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (7))].yystate.yysemantics.yysval.intValue);
- NodeOption zfail; zfail.type = OT_ZFail; zfail.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.intValue);
- NodeOption pass; pass.type = OT_PassOp; pass.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (7))].yystate.yysemantics.yysval.intValue);
- NodeOption cmp; cmp.type = OT_CompareFunc; cmp.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((7) - (7))].yystate.yysemantics.yysval.intValue);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &fail);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &zfail);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &pass);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &cmp);
- }
- break;
- case 63:
- /* Line 868 of glr.c */
- #line 417 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 64:
- /* Line 868 of glr.c */
- #line 421 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Fail; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 65:
- /* Line 868 of glr.c */
- #line 422 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ZFail; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 66:
- /* Line 868 of glr.c */
- #line 423 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_PassOp; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 67:
- /* Line 868 of glr.c */
- #line 424 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_CompareFunc; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 68:
- /* Line 868 of glr.c */
- #line 429 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 69:
- /* Line 868 of glr.c */
- #line 434 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Target);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 71:
- /* Line 868 of glr.c */
- #line 442 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 73:
- /* Line 868 of glr.c */
- #line 450 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Index; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 74:
- /* Line 868 of glr.c */
- #line 451 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Blend; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 75:
- /* Line 868 of glr.c */
- #line 452 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Color; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 76:
- /* Line 868 of glr.c */
- #line 453 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Alpha; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 77:
- /* Line 868 of glr.c */
- #line 454 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Color; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 78:
- /* Line 868 of glr.c */
- #line 455 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Alpha; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 79:
- /* Line 868 of glr.c */
- #line 456 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_WriteMask; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 80:
- /* Line 868 of glr.c */
- #line 462 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_BlendDef);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 81:
- /* Line 868 of glr.c */
- #line 470 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_BlendDef);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 83:
- /* Line 868 of glr.c */
- #line 478 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 84:
- /* Line 868 of glr.c */
- #line 483 "BsParserFX.y"
- {
- NodeOption src; src.type = OT_Source; src.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.intValue);
- NodeOption dst; dst.type = OT_Dest; dst.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.intValue);
- NodeOption op; op.type = OT_Op; op.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.intValue);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &src);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &dst);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &op);
- }
- break;
- case 85:
- /* Line 868 of glr.c */
- #line 495 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Source; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 86:
- /* Line 868 of glr.c */
- #line 496 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Dest; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 87:
- /* Line 868 of glr.c */
- #line 497 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Op; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 89:
- /* Line 868 of glr.c */
- #line 504 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 90:
- /* Line 868 of glr.c */
- #line 508 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_AddrMode; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 91:
- /* Line 868 of glr.c */
- #line 509 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MinFilter; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 92:
- /* Line 868 of glr.c */
- #line 510 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MagFilter; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 93:
- /* Line 868 of glr.c */
- #line 511 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MipFilter; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 94:
- /* Line 868 of glr.c */
- #line 512 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MaxAniso; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 95:
- /* Line 868 of glr.c */
- #line 513 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MipBias; ((*yyvalp).nodeOption).value.floatValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 96:
- /* Line 868 of glr.c */
- #line 514 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MipMin; ((*yyvalp).nodeOption).value.floatValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 97:
- /* Line 868 of glr.c */
- #line 515 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_MipMax; ((*yyvalp).nodeOption).value.floatValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 98:
- /* Line 868 of glr.c */
- #line 516 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_BorderColor; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 99:
- /* Line 868 of glr.c */
- #line 517 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_CompareFunc; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 100:
- /* Line 868 of glr.c */
- #line 522 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 101:
- /* Line 868 of glr.c */
- #line 523 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 102:
- /* Line 868 of glr.c */
- #line 528 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_AddrMode);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 103:
- /* Line 868 of glr.c */
- #line 536 "BsParserFX.y"
- {
- NodeOption u; u.type = OT_U; u.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.intValue);
- NodeOption v; v.type = OT_V; v.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.intValue);
- NodeOption w; w.type = OT_W; w.value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.intValue);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &u);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &v);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &w);
- }
- break;
- case 105:
- /* Line 868 of glr.c */
- #line 549 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 106:
- /* Line 868 of glr.c */
- #line 553 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_U; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 107:
- /* Line 868 of glr.c */
- #line 554 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_V; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 108:
- /* Line 868 of glr.c */
- #line 555 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_W; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.intValue); }
- break;
- case 109:
- /* Line 868 of glr.c */
- #line 560 "BsParserFX.y"
- { ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (5))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 110:
- /* Line 868 of glr.c */
- #line 564 "BsParserFX.y"
- { ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (7))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (7))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (7))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 111:
- /* Line 868 of glr.c */
- #line 568 "BsParserFX.y"
- { ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (9))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (9))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (9))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[3] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.floatValue);}
- break;
- case 112:
- /* Line 868 of glr.c */
- #line 574 "BsParserFX.y"
- {
- ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (13))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (13))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (13))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[3] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (13))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[4] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((10) - (13))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[5] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((12) - (13))].yystate.yysemantics.yysval.floatValue);
- }
- break;
- case 113:
- /* Line 868 of glr.c */
- #line 584 "BsParserFX.y"
- {
- ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (17))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (17))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (17))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[3] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (17))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[4] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((10) - (17))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[5] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((12) - (17))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[6] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((14) - (17))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[7] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((16) - (17))].yystate.yysemantics.yysval.floatValue);
- }
- break;
- case 114:
- /* Line 868 of glr.c */
- #line 595 "BsParserFX.y"
- {
- ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (19))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (19))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (19))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[3] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (19))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[4] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((10) - (19))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[5] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((12) - (19))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[6] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((14) - (19))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[7] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((16) - (19))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[8] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((18) - (19))].yystate.yysemantics.yysval.floatValue);
- }
- break;
- case 115:
- /* Line 868 of glr.c */
- #line 606 "BsParserFX.y"
- {
- ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[3] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (25))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[4] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((10) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[5] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((12) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[6] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((14) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[7] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((16) - (25))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[8] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((18) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[9] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((20) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[10] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((22) - (25))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[11] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((24) - (25))].yystate.yysemantics.yysval.floatValue);
- }
- break;
- case 116:
- /* Line 868 of glr.c */
- #line 618 "BsParserFX.y"
- {
- ((*yyvalp).matrixValue)[0] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[1] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[2] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[3] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (33))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[4] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((10) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[5] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((12) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[6] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((14) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[7] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((16) - (33))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[8] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((18) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[9] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((20) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[10] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((22) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[11] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((24) - (33))].yystate.yysemantics.yysval.floatValue);
- ((*yyvalp).matrixValue)[12] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((26) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[13] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((28) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[14] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((30) - (33))].yystate.yysemantics.yysval.floatValue); ((*yyvalp).matrixValue)[15] = (((yyGLRStackItem const *)yyvsp)[YYFILL ((32) - (33))].yystate.yysemantics.yysval.floatValue);
- }
- break;
- case 117:
- /* Line 868 of glr.c */
- #line 628 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 118:
- /* Line 868 of glr.c */
- #line 633 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Parameters);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 120:
- /* Line 868 of glr.c */
- #line 641 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 121:
- /* Line 868 of glr.c */
- #line 645 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 122:
- /* Line 868 of glr.c */
- #line 646 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 123:
- /* Line 868 of glr.c */
- #line 647 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 124:
- /* Line 868 of glr.c */
- #line 648 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 125:
- /* Line 868 of glr.c */
- #line 649 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 126:
- /* Line 868 of glr.c */
- #line 650 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 127:
- /* Line 868 of glr.c */
- #line 651 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 128:
- /* Line 868 of glr.c */
- #line 652 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 129:
- /* Line 868 of glr.c */
- #line 653 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 130:
- /* Line 868 of glr.c */
- #line 654 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 131:
- /* Line 868 of glr.c */
- #line 655 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 132:
- /* Line 868 of glr.c */
- #line 656 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 133:
- /* Line 868 of glr.c */
- #line 657 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.nodeOption)); nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 134:
- /* Line 868 of glr.c */
- #line 658 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 135:
- /* Line 868 of glr.c */
- #line 660 "BsParserFX.y"
- {
- nodePop(parse_state);
- NodeOption samplerState;
- samplerState.type = OT_SamplerState;
- samplerState.value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.nodePtr);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &samplerState);
- ((*yyvalp).nodeOption).type = OT_Parameter; ((*yyvalp).nodeOption).value.nodePtr = parse_state->topNode;
- nodePop(parse_state);
- }
- break;
- case 136:
- /* Line 868 of glr.c */
- #line 675 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 137:
- /* Line 868 of glr.c */
- #line 679 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 138:
- /* Line 868 of glr.c */
- #line 683 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 139:
- /* Line 868 of glr.c */
- #line 687 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 140:
- /* Line 868 of glr.c */
- #line 691 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 141:
- /* Line 868 of glr.c */
- #line 695 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 142:
- /* Line 868 of glr.c */
- #line 699 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 143:
- /* Line 868 of glr.c */
- #line 703 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 144:
- /* Line 868 of glr.c */
- #line 707 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 145:
- /* Line 868 of glr.c */
- #line 711 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 146:
- /* Line 868 of glr.c */
- #line 715 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 147:
- /* Line 868 of glr.c */
- #line 719 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 148:
- /* Line 868 of glr.c */
- #line 723 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 149:
- /* Line 868 of glr.c */
- #line 727 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 150:
- /* Line 868 of glr.c */
- #line 728 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 151:
- /* Line 868 of glr.c */
- #line 729 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 152:
- /* Line 868 of glr.c */
- #line 730 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 153:
- /* Line 868 of glr.c */
- #line 731 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 154:
- /* Line 868 of glr.c */
- #line 735 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 155:
- /* Line 868 of glr.c */
- #line 736 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 156:
- /* Line 868 of glr.c */
- #line 737 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 157:
- /* Line 868 of glr.c */
- #line 738 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 158:
- /* Line 868 of glr.c */
- #line 739 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 159:
- /* Line 868 of glr.c */
- #line 740 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 160:
- /* Line 868 of glr.c */
- #line 741 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 161:
- /* Line 868 of glr.c */
- #line 742 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 162:
- /* Line 868 of glr.c */
- #line 743 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 163:
- /* Line 868 of glr.c */
- #line 744 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 164:
- /* Line 868 of glr.c */
- #line 745 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 165:
- /* Line 868 of glr.c */
- #line 746 "BsParserFX.y"
- { ADD_PARAMETER(((*yyvalp).nodePtr), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.intValue), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue)); }
- break;
- case 166:
- /* Line 868 of glr.c */
- #line 751 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_SamplerState);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 167:
- /* Line 868 of glr.c */
- #line 758 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 168:
- /* Line 868 of glr.c */
- #line 759 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; ((*yyvalp).nodeOption).value.floatValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.floatValue); }
- break;
- case 169:
- /* Line 868 of glr.c */
- #line 763 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 170:
- /* Line 868 of glr.c */
- #line 764 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 171:
- /* Line 868 of glr.c */
- #line 768 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 172:
- /* Line 868 of glr.c */
- #line 769 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 173:
- /* Line 868 of glr.c */
- #line 773 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 174:
- /* Line 868 of glr.c */
- #line 774 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 175:
- /* Line 868 of glr.c */
- #line 778 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 176:
- /* Line 868 of glr.c */
- #line 779 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 177:
- /* Line 868 of glr.c */
- #line 783 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 178:
- /* Line 868 of glr.c */
- #line 784 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 179:
- /* Line 868 of glr.c */
- #line 788 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 180:
- /* Line 868 of glr.c */
- #line 789 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 181:
- /* Line 868 of glr.c */
- #line 793 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 182:
- /* Line 868 of glr.c */
- #line 794 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 183:
- /* Line 868 of glr.c */
- #line 798 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 184:
- /* Line 868 of glr.c */
- #line 799 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_ParamValue; memcpy(((*yyvalp).nodeOption).value.matrixValue, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue), sizeof((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.matrixValue))); }
- break;
- case 185:
- /* Line 868 of glr.c */
- #line 803 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_None; }
- break;
- case 186:
- /* Line 868 of glr.c */
- #line 804 "BsParserFX.y"
- { }
- break;
- case 187:
- /* Line 868 of glr.c */
- #line 809 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodePtr) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 188:
- /* Line 868 of glr.c */
- #line 814 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Blocks);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- }
- break;
- case 190:
- /* Line 868 of glr.c */
- #line 822 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 191:
- /* Line 868 of glr.c */
- #line 826 "BsParserFX.y"
- { nodePop(parse_state); ((*yyvalp).nodeOption).type = OT_Block; ((*yyvalp).nodeOption).value.nodePtr = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.nodePtr); }
- break;
- case 192:
- /* Line 868 of glr.c */
- #line 831 "BsParserFX.y"
- {
- ((*yyvalp).nodePtr) = nodeCreate(parse_state->memContext, NT_Block);
- nodePush(parse_state, ((*yyvalp).nodePtr));
- NodeOption blockName;
- blockName.type = OT_Identifier;
- blockName.value.strValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.strValue);
- nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &blockName);
- }
- break;
- case 194:
- /* Line 868 of glr.c */
- #line 846 "BsParserFX.y"
- { nodeOptionsAdd(parse_state->memContext, parse_state->topNode->options, &(((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.nodeOption)); }
- break;
- case 195:
- /* Line 868 of glr.c */
- #line 850 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Alias; ((*yyvalp).nodeOption).value.strValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.strValue); }
- break;
- case 196:
- /* Line 868 of glr.c */
- #line 851 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Auto; ((*yyvalp).nodeOption).value.strValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.strValue); }
- break;
- case 197:
- /* Line 868 of glr.c */
- #line 852 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Shared; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.intValue); }
- break;
- case 198:
- /* Line 868 of glr.c */
- #line 853 "BsParserFX.y"
- { ((*yyvalp).nodeOption).type = OT_Usage; ((*yyvalp).nodeOption).value.intValue = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.intValue); }
- break;
- /* Line 868 of glr.c */
- #line 2761 "BsParserFX.c"
- default: break;
- }
- return yyok;
- # undef yyerrok
- # undef YYABORT
- # undef YYACCEPT
- # undef YYERROR
- # undef YYBACKUP
- # undef yyclearin
- # undef YYRECOVERING
- }
- /*ARGSUSED*/ static void
- yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
- {
- YYUSE (yy0);
- YYUSE (yy1);
- switch (yyn)
- {
-
- default: break;
- }
- }
- /* Bison grammar-table manipulation. */
- /*-----------------------------------------------.
- | Release the memory associated to this symbol. |
- `-----------------------------------------------*/
- /*ARGSUSED*/
- static void
- yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, ParseState* parse_state, yyscan_t scanner)
- {
- YYUSE (yyvaluep);
- YYUSE (yylocationp);
- YYUSE (parse_state);
- YYUSE (scanner);
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- switch (yytype)
- {
- default:
- break;
- }
- }
- /** Number of symbols composing the right hand side of rule #RULE. */
- static inline int
- yyrhsLength (yyRuleNum yyrule)
- {
- return yyr2[yyrule];
- }
- static void
- yydestroyGLRState (char const *yymsg, yyGLRState *yys, ParseState* parse_state, yyscan_t scanner)
- {
- if (yys->yyresolved)
- yydestruct (yymsg, yystos[yys->yylrState],
- &yys->yysemantics.yysval, &yys->yyloc, parse_state, scanner);
- else
- {
- #if YYDEBUG
- if (yydebug)
- {
- if (yys->yysemantics.yyfirstVal)
- YYFPRINTF (stderr, "%s unresolved ", yymsg);
- else
- YYFPRINTF (stderr, "%s incomplete ", yymsg);
- yy_symbol_print (stderr, yystos[yys->yylrState],
- YY_NULL, &yys->yyloc, parse_state, scanner);
- YYFPRINTF (stderr, "\n");
- }
- #endif
- if (yys->yysemantics.yyfirstVal)
- {
- yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
- yyGLRState *yyrh;
- int yyn;
- for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
- yyn > 0;
- yyrh = yyrh->yypred, yyn -= 1)
- yydestroyGLRState (yymsg, yyrh, parse_state, scanner);
- }
- }
- }
- /** Left-hand-side symbol for rule #RULE. */
- static inline yySymbol
- yylhsNonterm (yyRuleNum yyrule)
- {
- return yyr1[yyrule];
- }
- #define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-326)))
- /** True iff LR state STATE has only a default reduction (regardless
- * of token). */
- static inline yybool
- yyisDefaultedState (yyStateNum yystate)
- {
- return yypact_value_is_default (yypact[yystate]);
- }
- /** The default reduction for STATE, assuming it has one. */
- static inline yyRuleNum
- yydefaultAction (yyStateNum yystate)
- {
- return yydefact[yystate];
- }
- #define yytable_value_is_error(Yytable_value) \
- YYID (0)
- /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
- * Result R means
- * R < 0: Reduce on rule -R.
- * R = 0: Error.
- * R > 0: Shift to state R.
- * Set *CONFLICTS to a pointer into yyconfl to 0-terminated list of
- * conflicting reductions.
- */
- static inline void
- yygetLRActions (yyStateNum yystate, int yytoken,
- int* yyaction, const short int** yyconflicts)
- {
- int yyindex = yypact[yystate] + yytoken;
- if (yypact_value_is_default (yypact[yystate])
- || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
- {
- *yyaction = -yydefact[yystate];
- *yyconflicts = yyconfl;
- }
- else if (! yytable_value_is_error (yytable[yyindex]))
- {
- *yyaction = yytable[yyindex];
- *yyconflicts = yyconfl + yyconflp[yyindex];
- }
- else
- {
- *yyaction = 0;
- *yyconflicts = yyconfl + yyconflp[yyindex];
- }
- }
- static inline yyStateNum
- yyLRgotoState (yyStateNum yystate, yySymbol yylhs)
- {
- int yyr;
- yyr = yypgoto[yylhs - YYNTOKENS] + yystate;
- if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
- return yytable[yyr];
- else
- return yydefgoto[yylhs - YYNTOKENS];
- }
- static inline yybool
- yyisShiftAction (int yyaction)
- {
- return 0 < yyaction;
- }
- static inline yybool
- yyisErrorAction (int yyaction)
- {
- return yyaction == 0;
- }
- /* GLRStates */
- /** Return a fresh GLRStackItem. Callers should call
- * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
- * headroom. */
- static inline yyGLRStackItem*
- yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
- {
- yyGLRStackItem* yynewItem = yystackp->yynextFree;
- yystackp->yyspaceLeft -= 1;
- yystackp->yynextFree += 1;
- yynewItem->yystate.yyisState = yyisState;
- return yynewItem;
- }
- /** Add a new semantic action that will execute the action for rule
- * RULENUM on the semantic values in RHS to the list of
- * alternative actions for STATE. Assumes that RHS comes from
- * stack #K of *STACKP. */
- static void
- yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
- yyGLRState* rhs, yyRuleNum yyrule)
- {
- yySemanticOption* yynewOption =
- &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
- yynewOption->yystate = rhs;
- yynewOption->yyrule = yyrule;
- if (yystackp->yytops.yylookaheadNeeds[yyk])
- {
- yynewOption->yyrawchar = yychar;
- yynewOption->yyval = yylval;
- yynewOption->yyloc = yylloc;
- }
- else
- yynewOption->yyrawchar = YYEMPTY;
- yynewOption->yynext = yystate->yysemantics.yyfirstVal;
- yystate->yysemantics.yyfirstVal = yynewOption;
- YY_RESERVE_GLRSTACK (yystackp);
- }
- /* GLRStacks */
- /** Initialize SET to a singleton set containing an empty stack. */
- static yybool
- yyinitStateSet (yyGLRStateSet* yyset)
- {
- yyset->yysize = 1;
- yyset->yycapacity = 16;
- yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
- if (! yyset->yystates)
- return yyfalse;
- yyset->yystates[0] = YY_NULL;
- yyset->yylookaheadNeeds =
- (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
- if (! yyset->yylookaheadNeeds)
- {
- YYFREE (yyset->yystates);
- return yyfalse;
- }
- return yytrue;
- }
- static void yyfreeStateSet (yyGLRStateSet* yyset)
- {
- YYFREE (yyset->yystates);
- YYFREE (yyset->yylookaheadNeeds);
- }
- /** Initialize STACK to a single empty stack, with total maximum
- * capacity for all stacks of SIZE. */
- static yybool
- yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
- {
- yystackp->yyerrState = 0;
- yynerrs = 0;
- yystackp->yyspaceLeft = yysize;
- yystackp->yyitems =
- (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
- if (!yystackp->yyitems)
- return yyfalse;
- yystackp->yynextFree = yystackp->yyitems;
- yystackp->yysplitPoint = YY_NULL;
- yystackp->yylastDeleted = YY_NULL;
- return yyinitStateSet (&yystackp->yytops);
- }
- #if YYSTACKEXPANDABLE
- # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
- &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
- /** If STACK is expandable, extend it. WARNING: Pointers into the
- stack from outside should be considered invalid after this call.
- We always expand when there are 1 or fewer items left AFTER an
- allocation, so that we can avoid having external pointers exist
- across an allocation. */
- static void
- yyexpandGLRStack (yyGLRStack* yystackp)
- {
- yyGLRStackItem* yynewItems;
- yyGLRStackItem* yyp0, *yyp1;
- size_t yynewSize;
- size_t yyn;
- size_t yysize = yystackp->yynextFree - yystackp->yyitems;
- if (YYMAXDEPTH - YYHEADROOM < yysize)
- yyMemoryExhausted (yystackp);
- yynewSize = 2*yysize;
- if (YYMAXDEPTH < yynewSize)
- yynewSize = YYMAXDEPTH;
- yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
- if (! yynewItems)
- yyMemoryExhausted (yystackp);
- for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
- 0 < yyn;
- yyn -= 1, yyp0 += 1, yyp1 += 1)
- {
- *yyp1 = *yyp0;
- if (*(yybool *) yyp0)
- {
- yyGLRState* yys0 = &yyp0->yystate;
- yyGLRState* yys1 = &yyp1->yystate;
- if (yys0->yypred != YY_NULL)
- yys1->yypred =
- YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
- if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULL)
- yys1->yysemantics.yyfirstVal =
- YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
- }
- else
- {
- yySemanticOption* yyv0 = &yyp0->yyoption;
- yySemanticOption* yyv1 = &yyp1->yyoption;
- if (yyv0->yystate != YY_NULL)
- yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
- if (yyv0->yynext != YY_NULL)
- yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
- }
- }
- if (yystackp->yysplitPoint != YY_NULL)
- yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
- yystackp->yysplitPoint, yystate);
- for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
- if (yystackp->yytops.yystates[yyn] != YY_NULL)
- yystackp->yytops.yystates[yyn] =
- YYRELOC (yystackp->yyitems, yynewItems,
- yystackp->yytops.yystates[yyn], yystate);
- YYFREE (yystackp->yyitems);
- yystackp->yyitems = yynewItems;
- yystackp->yynextFree = yynewItems + yysize;
- yystackp->yyspaceLeft = yynewSize - yysize;
- }
- #endif
- static void
- yyfreeGLRStack (yyGLRStack* yystackp)
- {
- YYFREE (yystackp->yyitems);
- yyfreeStateSet (&yystackp->yytops);
- }
- /** Assuming that S is a GLRState somewhere on STACK, update the
- * splitpoint of STACK, if needed, so that it is at least as deep as
- * S. */
- static inline void
- yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
- {
- if (yystackp->yysplitPoint != YY_NULL && yystackp->yysplitPoint > yys)
- yystackp->yysplitPoint = yys;
- }
- /** Invalidate stack #K in STACK. */
- static inline void
- yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
- {
- if (yystackp->yytops.yystates[yyk] != YY_NULL)
- yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
- yystackp->yytops.yystates[yyk] = YY_NULL;
- }
- /** Undelete the last stack that was marked as deleted. Can only be
- done once after a deletion, and only when all other stacks have
- been deleted. */
- static void
- yyundeleteLastStack (yyGLRStack* yystackp)
- {
- if (yystackp->yylastDeleted == YY_NULL || yystackp->yytops.yysize != 0)
- return;
- yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
- yystackp->yytops.yysize = 1;
- YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
- yystackp->yylastDeleted = YY_NULL;
- }
- static inline void
- yyremoveDeletes (yyGLRStack* yystackp)
- {
- size_t yyi, yyj;
- yyi = yyj = 0;
- while (yyj < yystackp->yytops.yysize)
- {
- if (yystackp->yytops.yystates[yyi] == YY_NULL)
- {
- if (yyi == yyj)
- {
- YYDPRINTF ((stderr, "Removing dead stacks.\n"));
- }
- yystackp->yytops.yysize -= 1;
- }
- else
- {
- yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
- /* In the current implementation, it's unnecessary to copy
- yystackp->yytops.yylookaheadNeeds[yyi] since, after
- yyremoveDeletes returns, the parser immediately either enters
- deterministic operation or shifts a token. However, it doesn't
- hurt, and the code might evolve to need it. */
- yystackp->yytops.yylookaheadNeeds[yyj] =
- yystackp->yytops.yylookaheadNeeds[yyi];
- if (yyj != yyi)
- {
- YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
- (unsigned long int) yyi, (unsigned long int) yyj));
- }
- yyj += 1;
- }
- yyi += 1;
- }
- }
- /** Shift to a new state on stack #K of STACK, corresponding to LR state
- * LRSTATE, at input position POSN, with (resolved) semantic value SVAL. */
- static inline void
- yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
- size_t yyposn,
- YYSTYPE* yyvalp, YYLTYPE* yylocp)
- {
- yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
- yynewState->yylrState = yylrState;
- yynewState->yyposn = yyposn;
- yynewState->yyresolved = yytrue;
- yynewState->yypred = yystackp->yytops.yystates[yyk];
- yynewState->yysemantics.yysval = *yyvalp;
- yynewState->yyloc = *yylocp;
- yystackp->yytops.yystates[yyk] = yynewState;
- YY_RESERVE_GLRSTACK (yystackp);
- }
- /** Shift stack #K of YYSTACK, to a new state corresponding to LR
- * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
- * semantic value of YYRHS under the action for YYRULE. */
- static inline void
- yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
- size_t yyposn, yyGLRState* rhs, yyRuleNum yyrule)
- {
- yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
- yynewState->yylrState = yylrState;
- yynewState->yyposn = yyposn;
- yynewState->yyresolved = yyfalse;
- yynewState->yypred = yystackp->yytops.yystates[yyk];
- yynewState->yysemantics.yyfirstVal = YY_NULL;
- yystackp->yytops.yystates[yyk] = yynewState;
- /* Invokes YY_RESERVE_GLRSTACK. */
- yyaddDeferredAction (yystackp, yyk, yynewState, rhs, yyrule);
- }
- /** Pop the symbols consumed by reduction #RULE from the top of stack
- * #K of STACK, and perform the appropriate semantic action on their
- * semantic values. Assumes that all ambiguities in semantic values
- * have been previously resolved. Set *VALP to the resulting value,
- * and *LOCP to the computed location (if any). Return value is as
- * for userAction. */
- static inline YYRESULTTAG
- yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- YYSTYPE* yyvalp, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner)
- {
- int yynrhs = yyrhsLength (yyrule);
- if (yystackp->yysplitPoint == YY_NULL)
- {
- /* Standard special case: single stack. */
- yyGLRStackItem* rhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
- YYASSERT (yyk == 0);
- yystackp->yynextFree -= yynrhs;
- yystackp->yyspaceLeft += yynrhs;
- yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
- return yyuserAction (yyrule, yynrhs, rhs, yystackp,
- yyvalp, yylocp, parse_state, scanner);
- }
- else
- {
- /* At present, doAction is never called in nondeterministic
- * mode, so this branch is never taken. It is here in
- * anticipation of a future feature that will allow immediate
- * evaluation of selected actions in nondeterministic mode. */
- int yyi;
- yyGLRState* yys;
- yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
- yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
- = yystackp->yytops.yystates[yyk];
- if (yynrhs == 0)
- /* Set default location. */
- yyrhsVals[YYMAXRHS + YYMAXLEFT - 1].yystate.yyloc = yys->yyloc;
- for (yyi = 0; yyi < yynrhs; yyi += 1)
- {
- yys = yys->yypred;
- YYASSERT (yys);
- }
- yyupdateSplit (yystackp, yys);
- yystackp->yytops.yystates[yyk] = yys;
- return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
- yystackp, yyvalp, yylocp, parse_state, scanner);
- }
- }
- #if !YYDEBUG
- # define YY_REDUCE_PRINT(Args)
- #else
- # define YY_REDUCE_PRINT(Args) \
- do { \
- if (yydebug) \
- yy_reduce_print Args; \
- } while (YYID (0))
- /*----------------------------------------------------------.
- | Report that the RULE is going to be reduced on stack #K. |
- `----------------------------------------------------------*/
- /*ARGSUSED*/ static inline void
- yy_reduce_print (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- YYSTYPE* yyvalp, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner)
- {
- int yynrhs = yyrhsLength (yyrule);
- yybool yynormal __attribute__ ((__unused__)) =
- (yystackp->yysplitPoint == YY_NULL);
- yyGLRStackItem* yyvsp = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
- int yylow = 1;
- int yyi;
- YYUSE (yyvalp);
- YYUSE (yylocp);
- YYUSE (parse_state);
- YYUSE (scanner);
- YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
- (unsigned long int) yyk, yyrule - 1,
- (unsigned long int) yyrline[yyrule]);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(((yyGLRStackItem const *)yyvsp)[YYFILL ((yyi + 1) - (yynrhs))].yystate.yysemantics.yysval)
- , &(((yyGLRStackItem const *)yyvsp)[YYFILL ((yyi + 1) - (yynrhs))].yystate.yyloc) , parse_state, scanner);
- YYFPRINTF (stderr, "\n");
- }
- }
- #endif
- /** Pop items off stack #K of STACK according to grammar rule RULE,
- * and push back on the resulting nonterminal symbol. Perform the
- * semantic action associated with RULE and store its value with the
- * newly pushed state, if FORCEEVAL or if STACK is currently
- * unambiguous. Otherwise, store the deferred semantic action with
- * the new state. If the new state would have an identical input
- * position, LR state, and predecessor to an existing state on the stack,
- * it is identified with that existing state, eliminating stack #K from
- * the STACK. In this case, the (necessarily deferred) semantic value is
- * added to the options for the existing state's semantic value.
- */
- static inline YYRESULTTAG
- yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- yybool yyforceEval, ParseState* parse_state, yyscan_t scanner)
- {
- size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
- if (yyforceEval || yystackp->yysplitPoint == YY_NULL)
- {
- YYSTYPE yysval;
- YYLTYPE yyloc;
- YY_REDUCE_PRINT ((yystackp, yyk, yyrule, &yysval, &yyloc, parse_state, scanner));
- YYCHK (yydoAction (yystackp, yyk, yyrule, &yysval, &yyloc, parse_state, scanner));
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
- yyglrShift (yystackp, yyk,
- yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
- yylhsNonterm (yyrule)),
- yyposn, &yysval, &yyloc);
- }
- else
- {
- size_t yyi;
- int yyn;
- yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
- yyStateNum yynewLRState;
- for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
- 0 < yyn; yyn -= 1)
- {
- yys = yys->yypred;
- YYASSERT (yys);
- }
- yyupdateSplit (yystackp, yys);
- yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
- YYDPRINTF ((stderr,
- "Reduced stack %lu by rule #%d; action deferred. Now in state %d.\n",
- (unsigned long int) yyk, yyrule - 1, yynewLRState));
- for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
- if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULL)
- {
- yyGLRState *yysplit = yystackp->yysplitPoint;
- yyGLRState *yyp = yystackp->yytops.yystates[yyi];
- while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
- {
- if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
- {
- yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
- yymarkStackDeleted (yystackp, yyk);
- YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
- (unsigned long int) yyk,
- (unsigned long int) yyi));
- return yyok;
- }
- yyp = yyp->yypred;
- }
- }
- yystackp->yytops.yystates[yyk] = yys;
- yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
- }
- return yyok;
- }
- static size_t
- yysplitStack (yyGLRStack* yystackp, size_t yyk)
- {
- if (yystackp->yysplitPoint == YY_NULL)
- {
- YYASSERT (yyk == 0);
- yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
- }
- if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
- {
- yyGLRState** yynewStates;
- yybool* yynewLookaheadNeeds;
- yynewStates = YY_NULL;
- if (yystackp->yytops.yycapacity
- > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yycapacity *= 2;
- yynewStates =
- (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
- (yystackp->yytops.yycapacity
- * sizeof yynewStates[0]));
- if (yynewStates == YY_NULL)
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yystates = yynewStates;
- yynewLookaheadNeeds =
- (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
- (yystackp->yytops.yycapacity
- * sizeof yynewLookaheadNeeds[0]));
- if (yynewLookaheadNeeds == YY_NULL)
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
- }
- yystackp->yytops.yystates[yystackp->yytops.yysize]
- = yystackp->yytops.yystates[yyk];
- yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
- = yystackp->yytops.yylookaheadNeeds[yyk];
- yystackp->yytops.yysize += 1;
- return yystackp->yytops.yysize-1;
- }
- /** True iff Y0 and Y1 represent identical options at the top level.
- * That is, they represent the same rule applied to RHS symbols
- * that produce the same terminal symbols. */
- static yybool
- yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
- {
- if (yyy0->yyrule == yyy1->yyrule)
- {
- yyGLRState *yys0, *yys1;
- int yyn;
- for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
- yyn = yyrhsLength (yyy0->yyrule);
- yyn > 0;
- yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
- if (yys0->yyposn != yys1->yyposn)
- return yyfalse;
- return yytrue;
- }
- else
- return yyfalse;
- }
- /** Assuming identicalOptions (Y0,Y1), destructively merge the
- * alternative semantic values for the RHS-symbols of Y1 and Y0. */
- static void
- yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
- {
- yyGLRState *yys0, *yys1;
- int yyn;
- for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
- yyn = yyrhsLength (yyy0->yyrule);
- yyn > 0;
- yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
- {
- if (yys0 == yys1)
- break;
- else if (yys0->yyresolved)
- {
- yys1->yyresolved = yytrue;
- yys1->yysemantics.yysval = yys0->yysemantics.yysval;
- }
- else if (yys1->yyresolved)
- {
- yys0->yyresolved = yytrue;
- yys0->yysemantics.yysval = yys1->yysemantics.yysval;
- }
- else
- {
- yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
- yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
- while (YYID (yytrue))
- {
- if (yyz1 == *yyz0p || yyz1 == YY_NULL)
- break;
- else if (*yyz0p == YY_NULL)
- {
- *yyz0p = yyz1;
- break;
- }
- else if (*yyz0p < yyz1)
- {
- yySemanticOption* yyz = *yyz0p;
- *yyz0p = yyz1;
- yyz1 = yyz1->yynext;
- (*yyz0p)->yynext = yyz;
- }
- yyz0p = &(*yyz0p)->yynext;
- }
- yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
- }
- }
- }
- /** Y0 and Y1 represent two possible actions to take in a given
- * parsing state; return 0 if no combination is possible,
- * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
- static int
- yypreference (yySemanticOption* y0, yySemanticOption* y1)
- {
- yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
- int p0 = yydprec[r0], p1 = yydprec[r1];
- if (p0 == p1)
- {
- if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
- return 0;
- else
- return 1;
- }
- if (p0 == 0 || p1 == 0)
- return 0;
- if (p0 < p1)
- return 3;
- if (p1 < p0)
- return 2;
- return 0;
- }
- static YYRESULTTAG yyresolveValue (yyGLRState* yys,
- yyGLRStack* yystackp, ParseState* parse_state, yyscan_t scanner);
- /** Resolve the previous N states starting at and including state S. If result
- * != yyok, some states may have been left unresolved possibly with empty
- * semantic option chains. Regardless of whether result = yyok, each state
- * has been left with consistent data so that yydestroyGLRState can be invoked
- * if necessary. */
- static YYRESULTTAG
- yyresolveStates (yyGLRState* yys, int yyn,
- yyGLRStack* yystackp, ParseState* parse_state, yyscan_t scanner)
- {
- if (0 < yyn)
- {
- YYASSERT (yys->yypred);
- YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, parse_state, scanner));
- if (! yys->yyresolved)
- YYCHK (yyresolveValue (yys, yystackp, parse_state, scanner));
- }
- return yyok;
- }
- /** Resolve the states for the RHS of OPT, perform its user action, and return
- * the semantic value and location. Regardless of whether result = yyok, all
- * RHS states have been destroyed (assuming the user action destroys all RHS
- * semantic values if invoked). */
- static YYRESULTTAG
- yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
- YYSTYPE* yyvalp, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner)
- {
- yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
- int yynrhs = yyrhsLength (yyopt->yyrule);
- YYRESULTTAG yyflag =
- yyresolveStates (yyopt->yystate, yynrhs, yystackp, parse_state, scanner);
- if (yyflag != yyok)
- {
- yyGLRState *yys;
- for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
- yydestroyGLRState ("Cleanup: popping", yys, parse_state, scanner);
- return yyflag;
- }
- yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
- if (yynrhs == 0)
- /* Set default location. */
- yyrhsVals[YYMAXRHS + YYMAXLEFT - 1].yystate.yyloc = yyopt->yystate->yyloc;
- {
- int yychar_current = yychar;
- YYSTYPE yylval_current = yylval;
- YYLTYPE yylloc_current = yylloc;
- yychar = yyopt->yyrawchar;
- yylval = yyopt->yyval;
- yylloc = yyopt->yyloc;
- yyflag = yyuserAction (yyopt->yyrule, yynrhs,
- yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
- yystackp, yyvalp, yylocp, parse_state, scanner);
- yychar = yychar_current;
- yylval = yylval_current;
- yylloc = yylloc_current;
- }
- return yyflag;
- }
- #if YYDEBUG
- static void
- yyreportTree (yySemanticOption* yyx, int yyindent)
- {
- int yynrhs = yyrhsLength (yyx->yyrule);
- int yyi;
- yyGLRState* yys;
- yyGLRState* yystates[1 + YYMAXRHS];
- yyGLRState yyleftmost_state;
- for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
- yystates[yyi] = yys;
- if (yys == YY_NULL)
- {
- yyleftmost_state.yyposn = 0;
- yystates[0] = &yyleftmost_state;
- }
- else
- yystates[0] = yys;
- if (yyx->yystate->yyposn < yys->yyposn + 1)
- YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
- yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
- yyx->yyrule - 1);
- else
- YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
- yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
- yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
- (unsigned long int) yyx->yystate->yyposn);
- for (yyi = 1; yyi <= yynrhs; yyi += 1)
- {
- if (yystates[yyi]->yyresolved)
- {
- if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
- YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
- yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]));
- else
- YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
- yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]),
- (unsigned long int) (yystates[yyi - 1]->yyposn + 1),
- (unsigned long int) yystates[yyi]->yyposn);
- }
- else
- yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
- }
- }
- #endif
- /*ARGSUSED*/ static YYRESULTTAG
- yyreportAmbiguity (yySemanticOption* yyx0,
- yySemanticOption* yyx1, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner)
- {
- YYUSE (yyx0);
- YYUSE (yyx1);
- #if YYDEBUG
- YYFPRINTF (stderr, "Ambiguity detected.\n");
- YYFPRINTF (stderr, "Option 1,\n");
- yyreportTree (yyx0, 2);
- YYFPRINTF (stderr, "\nOption 2,\n");
- yyreportTree (yyx1, 2);
- YYFPRINTF (stderr, "\n");
- #endif
- yyerror (yylocp, parse_state, scanner, YY_("syntax is ambiguous"));
- return yyabort;
- }
- /** Starting at and including state S1, resolve the location for each of the
- * previous N1 states that is unresolved. The first semantic option of a state
- * is always chosen. */
- static void
- yyresolveLocations (yyGLRState* yys1, int yyn1,
- yyGLRStack *yystackp, ParseState* parse_state, yyscan_t scanner)
- {
- if (0 < yyn1)
- {
- yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp, parse_state, scanner);
- if (!yys1->yyresolved)
- {
- yyGLRStackItem yyrhsloc[1 + YYMAXRHS];
- int yynrhs;
- yySemanticOption *yyoption = yys1->yysemantics.yyfirstVal;
- YYASSERT (yyoption != YY_NULL);
- yynrhs = yyrhsLength (yyoption->yyrule);
- if (yynrhs > 0)
- {
- yyGLRState *yys;
- int yyn;
- yyresolveLocations (yyoption->yystate, yynrhs,
- yystackp, parse_state, scanner);
- for (yys = yyoption->yystate, yyn = yynrhs;
- yyn > 0;
- yys = yys->yypred, yyn -= 1)
- yyrhsloc[yyn].yystate.yyloc = yys->yyloc;
- }
- else
- {
- /* Both yyresolveAction and yyresolveLocations traverse the GSS
- in reverse rightmost order. It is only necessary to invoke
- yyresolveLocations on a subforest for which yyresolveAction
- would have been invoked next had an ambiguity not been
- detected. Thus the location of the previous state (but not
- necessarily the previous state itself) is guaranteed to be
- resolved already. */
- yyGLRState *yyprevious = yyoption->yystate;
- yyrhsloc[0].yystate.yyloc = yyprevious->yyloc;
- }
- {
- int yychar_current = yychar;
- YYSTYPE yylval_current = yylval;
- YYLTYPE yylloc_current = yylloc;
- yychar = yyoption->yyrawchar;
- yylval = yyoption->yyval;
- yylloc = yyoption->yyloc;
- YYLLOC_DEFAULT ((yys1->yyloc), yyrhsloc, yynrhs);
- yychar = yychar_current;
- yylval = yylval_current;
- yylloc = yylloc_current;
- }
- }
- }
- }
- /** Resolve the ambiguity represented in state S, perform the indicated
- * actions, and set the semantic value of S. If result != yyok, the chain of
- * semantic options in S has been cleared instead or it has been left
- * unmodified except that redundant options may have been removed. Regardless
- * of whether result = yyok, S has been left with consistent data so that
- * yydestroyGLRState can be invoked if necessary. */
- static YYRESULTTAG
- yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, ParseState* parse_state, yyscan_t scanner)
- {
- yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
- yySemanticOption* yybest = yyoptionList;
- yySemanticOption** yypp;
- yybool yymerge = yyfalse;
- YYSTYPE yysval;
- YYRESULTTAG yyflag;
- YYLTYPE *yylocp = &yys->yyloc;
- for (yypp = &yyoptionList->yynext; *yypp != YY_NULL; )
- {
- yySemanticOption* yyp = *yypp;
- if (yyidenticalOptions (yybest, yyp))
- {
- yymergeOptionSets (yybest, yyp);
- *yypp = yyp->yynext;
- }
- else
- {
- switch (yypreference (yybest, yyp))
- {
- case 0:
- yyresolveLocations (yys, 1, yystackp, parse_state, scanner);
- return yyreportAmbiguity (yybest, yyp, yylocp, parse_state, scanner);
- break;
- case 1:
- yymerge = yytrue;
- break;
- case 2:
- break;
- case 3:
- yybest = yyp;
- yymerge = yyfalse;
- break;
- default:
- /* This cannot happen so it is not worth a YYASSERT (yyfalse),
- but some compilers complain if the default case is
- omitted. */
- break;
- }
- yypp = &yyp->yynext;
- }
- }
- if (yymerge)
- {
- yySemanticOption* yyp;
- int yyprec = yydprec[yybest->yyrule];
- yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp, parse_state, scanner);
- if (yyflag == yyok)
- for (yyp = yybest->yynext; yyp != YY_NULL; yyp = yyp->yynext)
- {
- if (yyprec == yydprec[yyp->yyrule])
- {
- YYSTYPE yysval_other;
- YYLTYPE yydummy;
- yyflag = yyresolveAction (yyp, yystackp, &yysval_other, &yydummy, parse_state, scanner);
- if (yyflag != yyok)
- {
- yydestruct ("Cleanup: discarding incompletely merged value for",
- yystos[yys->yylrState],
- &yysval, yylocp, parse_state, scanner);
- break;
- }
- yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
- }
- }
- }
- else
- yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp, parse_state, scanner);
- if (yyflag == yyok)
- {
- yys->yyresolved = yytrue;
- yys->yysemantics.yysval = yysval;
- }
- else
- yys->yysemantics.yyfirstVal = YY_NULL;
- return yyflag;
- }
- static YYRESULTTAG
- yyresolveStack (yyGLRStack* yystackp, ParseState* parse_state, yyscan_t scanner)
- {
- if (yystackp->yysplitPoint != YY_NULL)
- {
- yyGLRState* yys;
- int yyn;
- for (yyn = 0, yys = yystackp->yytops.yystates[0];
- yys != yystackp->yysplitPoint;
- yys = yys->yypred, yyn += 1)
- continue;
- YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
- , parse_state, scanner));
- }
- return yyok;
- }
- static void
- yycompressStack (yyGLRStack* yystackp)
- {
- yyGLRState* yyp, *yyq, *yyr;
- if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULL)
- return;
- for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULL;
- yyp != yystackp->yysplitPoint;
- yyr = yyp, yyp = yyq, yyq = yyp->yypred)
- yyp->yypred = yyr;
- yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
- yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
- yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
- yystackp->yysplitPoint = YY_NULL;
- yystackp->yylastDeleted = YY_NULL;
- while (yyr != YY_NULL)
- {
- yystackp->yynextFree->yystate = *yyr;
- yyr = yyr->yypred;
- yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
- yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
- yystackp->yynextFree += 1;
- yystackp->yyspaceLeft -= 1;
- }
- }
- static YYRESULTTAG
- yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
- size_t yyposn, YYLTYPE *yylocp, ParseState* parse_state, yyscan_t scanner)
- {
- int yyaction;
- const short int* yyconflicts;
- yyRuleNum yyrule;
- while (yystackp->yytops.yystates[yyk] != YY_NULL)
- {
- yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
- YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
- (unsigned long int) yyk, yystate));
- YYASSERT (yystate != YYFINAL);
- if (yyisDefaultedState (yystate))
- {
- yyrule = yydefaultAction (yystate);
- if (yyrule == 0)
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- return yyok;
- }
- YYCHK (yyglrReduce (yystackp, yyk, yyrule, yyfalse, parse_state, scanner));
- }
- else
- {
- yySymbol yytoken;
- yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- }
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
- yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
- while (*yyconflicts != 0)
- {
- size_t yynewStack = yysplitStack (yystackp, yyk);
- YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
- (unsigned long int) yynewStack,
- (unsigned long int) yyk));
- YYCHK (yyglrReduce (yystackp, yynewStack,
- *yyconflicts, yyfalse, parse_state, scanner));
- YYCHK (yyprocessOneStack (yystackp, yynewStack,
- yyposn, yylocp, parse_state, scanner));
- yyconflicts += 1;
- }
- if (yyisShiftAction (yyaction))
- break;
- else if (yyisErrorAction (yyaction))
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- break;
- }
- else
- YYCHK (yyglrReduce (yystackp, yyk, -yyaction,
- yyfalse, parse_state, scanner));
- }
- }
- return yyok;
- }
- /*ARGSUSED*/ static void
- yyreportSyntaxError (yyGLRStack* yystackp, ParseState* parse_state, yyscan_t scanner)
- {
- if (yystackp->yyerrState != 0)
- return;
- #if ! YYERROR_VERBOSE
- yyerror (&yylloc, parse_state, scanner, YY_("syntax error"));
- #else
- {
- yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
- size_t yysize0 = yytnamerr (YY_NULL, yytokenName (yytoken));
- size_t yysize = yysize0;
- yybool yysize_overflow = yyfalse;
- char* yymsg = YY_NULL;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULL;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
- yyarg[yycount++] = yytokenName (yytoken);
- if (!yypact_value_is_default (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for this
- state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytokenName (yyx);
- {
- size_t yysz = yysize + yytnamerr (YY_NULL, yytokenName (yyx));
- yysize_overflow |= yysz < yysize;
- yysize = yysz;
- }
- }
- }
- }
- switch (yycount)
- {
- #define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
- #undef YYCASE_
- }
- {
- size_t yysz = yysize + strlen (yyformat);
- yysize_overflow |= yysz < yysize;
- yysize = yysz;
- }
- if (!yysize_overflow)
- yymsg = (char *) YYMALLOC (yysize);
- if (yymsg)
- {
- char *yyp = yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat))
- {
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- yyerror (&yylloc, parse_state, scanner, yymsg);
- YYFREE (yymsg);
- }
- else
- {
- yyerror (&yylloc, parse_state, scanner, YY_("syntax error"));
- yyMemoryExhausted (yystackp);
- }
- }
- #endif /* YYERROR_VERBOSE */
- yynerrs += 1;
- }
- /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
- yylval, and yylloc are the syntactic category, semantic value, and location
- of the lookahead. */
- /*ARGSUSED*/ static void
- yyrecoverSyntaxError (yyGLRStack* yystackp, ParseState* parse_state, yyscan_t scanner)
- {
- size_t yyk;
- int yyj;
- if (yystackp->yyerrState == 3)
- /* We just shifted the error token and (perhaps) took some
- reductions. Skip tokens until we can proceed. */
- while (YYID (yytrue))
- {
- yySymbol yytoken;
- if (yychar == YYEOF)
- yyFail (yystackp, &yylloc, parse_state, scanner, YY_NULL);
- if (yychar != YYEMPTY)
- {
- /* We throw away the lookahead, but the error range
- of the shifted error token must take it into account. */
- yyGLRState *yys = yystackp->yytops.yystates[0];
- yyGLRStackItem yyerror_range[3];
- yyerror_range[1].yystate.yyloc = yys->yyloc;
- yyerror_range[2].yystate.yyloc = yylloc;
- YYLLOC_DEFAULT ((yys->yyloc), yyerror_range, 2);
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Error: discarding",
- yytoken, &yylval, &yylloc, parse_state, scanner);
- }
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
- yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
- if (yypact_value_is_default (yyj))
- return;
- yyj += yytoken;
- if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
- {
- if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
- return;
- }
- else if (! yytable_value_is_error (yytable[yyj]))
- return;
- }
- /* Reduce to one stack. */
- for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
- if (yystackp->yytops.yystates[yyk] != YY_NULL)
- break;
- if (yyk >= yystackp->yytops.yysize)
- yyFail (yystackp, &yylloc, parse_state, scanner, YY_NULL);
- for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
- yymarkStackDeleted (yystackp, yyk);
- yyremoveDeletes (yystackp);
- yycompressStack (yystackp);
- /* Now pop stack until we find a state that shifts the error token. */
- yystackp->yyerrState = 3;
- while (yystackp->yytops.yystates[0] != YY_NULL)
- {
- yyGLRState *yys = yystackp->yytops.yystates[0];
- yyj = yypact[yys->yylrState];
- if (! yypact_value_is_default (yyj))
- {
- yyj += YYTERROR;
- if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
- && yyisShiftAction (yytable[yyj]))
- {
- /* Shift the error token. */
- /* First adjust its location.*/
- YYLTYPE yyerrloc;
- yystackp->yyerror_range[2].yystate.yyloc = yylloc;
- YYLLOC_DEFAULT (yyerrloc, (yystackp->yyerror_range), 2);
- YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
- &yylval, &yyerrloc);
- yyglrShift (yystackp, 0, yytable[yyj],
- yys->yyposn, &yylval, &yyerrloc);
- yys = yystackp->yytops.yystates[0];
- break;
- }
- }
- yystackp->yyerror_range[1].yystate.yyloc = yys->yyloc;
- if (yys->yypred != YY_NULL)
- yydestroyGLRState ("Error: popping", yys, parse_state, scanner);
- yystackp->yytops.yystates[0] = yys->yypred;
- yystackp->yynextFree -= 1;
- yystackp->yyspaceLeft += 1;
- }
- if (yystackp->yytops.yystates[0] == YY_NULL)
- yyFail (yystackp, &yylloc, parse_state, scanner, YY_NULL);
- }
- #define YYCHK1(YYE) \
- do { \
- switch (YYE) { \
- case yyok: \
- break; \
- case yyabort: \
- goto yyabortlab; \
- case yyaccept: \
- goto yyacceptlab; \
- case yyerr: \
- goto yyuser_error; \
- default: \
- goto yybuglab; \
- } \
- } while (YYID (0))
- /*----------.
- | yyparse. |
- `----------*/
- int
- yyparse (ParseState* parse_state, yyscan_t scanner)
- {
- int yyresult;
- yyGLRStack yystack;
- yyGLRStack* const yystackp = &yystack;
- size_t yyposn;
- YYDPRINTF ((stderr, "Starting parse\n"));
- yychar = YYEMPTY;
- yylval = yyval_default;
- yylloc = yyloc_default;
- if (! yyinitGLRStack (yystackp, YYINITDEPTH))
- goto yyexhaustedlab;
- switch (YYSETJMP (yystack.yyexception_buffer))
- {
- case 0: break;
- case 1: goto yyabortlab;
- case 2: goto yyexhaustedlab;
- default: goto yybuglab;
- }
- yyglrShift (&yystack, 0, 0, 0, &yylval, &yylloc);
- yyposn = 0;
- while (YYID (yytrue))
- {
- /* For efficiency, we have two loops, the first of which is
- specialized to deterministic operation (single stack, no
- potential ambiguity). */
- /* Standard mode */
- while (YYID (yytrue))
- {
- yyRuleNum yyrule;
- int yyaction;
- const short int* yyconflicts;
- yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- if (yystate == YYFINAL)
- goto yyacceptlab;
- if (yyisDefaultedState (yystate))
- {
- yyrule = yydefaultAction (yystate);
- if (yyrule == 0)
- {
- yystack.yyerror_range[1].yystate.yyloc = yylloc;
- yyreportSyntaxError (&yystack, parse_state, scanner);
- goto yyuser_error;
- }
- YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, parse_state, scanner));
- }
- else
- {
- yySymbol yytoken;
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- }
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
- yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
- if (*yyconflicts != 0)
- break;
- if (yyisShiftAction (yyaction))
- {
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- yychar = YYEMPTY;
- yyposn += 1;
- yyglrShift (&yystack, 0, yyaction, yyposn, &yylval, &yylloc);
- if (0 < yystack.yyerrState)
- yystack.yyerrState -= 1;
- }
- else if (yyisErrorAction (yyaction))
- {
- yystack.yyerror_range[1].yystate.yyloc = yylloc;
- yyreportSyntaxError (&yystack, parse_state, scanner);
- goto yyuser_error;
- }
- else
- YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, parse_state, scanner));
- }
- }
- while (YYID (yytrue))
- {
- yySymbol yytoken_to_shift;
- size_t yys;
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
- /* yyprocessOneStack returns one of three things:
- - An error flag. If the caller is yyprocessOneStack, it
- immediately returns as well. When the caller is finally
- yyparse, it jumps to an error label via YYCHK1.
- - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
- (&yystack, yys), which sets the top state of yys to NULL. Thus,
- yyparse's following invocation of yyremoveDeletes will remove
- the stack.
- - yyok, when ready to shift a token.
- Except in the first case, yyparse will invoke yyremoveDeletes and
- then shift the next token onto all remaining stacks. This
- synchronization of the shift (that is, after all preceding
- reductions on all stacks) helps prevent double destructor calls
- on yylval in the event of memory exhaustion. */
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, &yylloc, parse_state, scanner));
- yyremoveDeletes (&yystack);
- if (yystack.yytops.yysize == 0)
- {
- yyundeleteLastStack (&yystack);
- if (yystack.yytops.yysize == 0)
- yyFail (&yystack, &yylloc, parse_state, scanner, YY_("syntax error"));
- YYCHK1 (yyresolveStack (&yystack, parse_state, scanner));
- YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
- yystack.yyerror_range[1].yystate.yyloc = yylloc;
- yyreportSyntaxError (&yystack, parse_state, scanner);
- goto yyuser_error;
- }
- /* If any yyglrShift call fails, it will fail after shifting. Thus,
- a copy of yylval will already be on stack 0 in the event of a
- failure in the following loop. Thus, yychar is set to YYEMPTY
- before the loop to make sure the user destructor for yylval isn't
- called twice. */
- yytoken_to_shift = YYTRANSLATE (yychar);
- yychar = YYEMPTY;
- yyposn += 1;
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- {
- int yyaction;
- const short int* yyconflicts;
- yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
- yygetLRActions (yystate, yytoken_to_shift, &yyaction,
- &yyconflicts);
- /* Note that yyconflicts were handled by yyprocessOneStack. */
- YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
- YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
- yyglrShift (&yystack, yys, yyaction, yyposn,
- &yylval, &yylloc);
- YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
- (unsigned long int) yys,
- yystack.yytops.yystates[yys]->yylrState));
- }
- if (yystack.yytops.yysize == 1)
- {
- YYCHK1 (yyresolveStack (&yystack, parse_state, scanner));
- YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
- yycompressStack (&yystack);
- break;
- }
- }
- continue;
- yyuser_error:
- yyrecoverSyntaxError (&yystack, parse_state, scanner);
- yyposn = yystack.yytops.yystates[0]->yyposn;
- }
- yyacceptlab:
- yyresult = 0;
- goto yyreturn;
- yybuglab:
- YYASSERT (yyfalse);
- goto yyabortlab;
- yyabortlab:
- yyresult = 1;
- goto yyreturn;
- yyexhaustedlab:
- yyerror (&yylloc, parse_state, scanner, YY_("memory exhausted"));
- yyresult = 2;
- goto yyreturn;
- yyreturn:
- if (yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- YYTRANSLATE (yychar), &yylval, &yylloc, parse_state, scanner);
- /* If the stack is well-formed, pop the stack until it is empty,
- destroying its entries as we go. But free the stack regardless
- of whether it is well-formed. */
- if (yystack.yyitems)
- {
- yyGLRState** yystates = yystack.yytops.yystates;
- if (yystates)
- {
- size_t yysize = yystack.yytops.yysize;
- size_t yyk;
- for (yyk = 0; yyk < yysize; yyk += 1)
- if (yystates[yyk])
- {
- while (yystates[yyk])
- {
- yyGLRState *yys = yystates[yyk];
- yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;
- if (yys->yypred != YY_NULL)
- yydestroyGLRState ("Cleanup: popping", yys, parse_state, scanner);
- yystates[yyk] = yys->yypred;
- yystack.yynextFree -= 1;
- yystack.yyspaceLeft += 1;
- }
- break;
- }
- }
- yyfreeGLRStack (&yystack);
- }
- /* Make sure YYID is used. */
- return YYID (yyresult);
- }
- /* DEBUGGING ONLY */
- #if YYDEBUG
- static void yypstack (yyGLRStack* yystackp, size_t yyk)
- __attribute__ ((__unused__));
- static void yypdumpstack (yyGLRStack* yystackp) __attribute__ ((__unused__));
- static void
- yy_yypstack (yyGLRState* yys)
- {
- if (yys->yypred)
- {
- yy_yypstack (yys->yypred);
- YYFPRINTF (stderr, " -> ");
- }
- YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
- (unsigned long int) yys->yyposn);
- }
- static void
- yypstates (yyGLRState* yyst)
- {
- if (yyst == YY_NULL)
- YYFPRINTF (stderr, "<null>");
- else
- yy_yypstack (yyst);
- YYFPRINTF (stderr, "\n");
- }
- static void
- yypstack (yyGLRStack* yystackp, size_t yyk)
- {
- yypstates (yystackp->yytops.yystates[yyk]);
- }
- #define YYINDEX(YYX) \
- ((YYX) == YY_NULL ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
- static void
- yypdumpstack (yyGLRStack* yystackp)
- {
- yyGLRStackItem* yyp;
- size_t yyi;
- for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
- {
- YYFPRINTF (stderr, "%3lu. ",
- (unsigned long int) (yyp - yystackp->yyitems));
- if (*(yybool *) yyp)
- {
- YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
- yyp->yystate.yyresolved, yyp->yystate.yylrState,
- (unsigned long int) yyp->yystate.yyposn,
- (long int) YYINDEX (yyp->yystate.yypred));
- if (! yyp->yystate.yyresolved)
- YYFPRINTF (stderr, ", firstVal: %ld",
- (long int) YYINDEX (yyp->yystate
- .yysemantics.yyfirstVal));
- }
- else
- {
- YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
- yyp->yyoption.yyrule - 1,
- (long int) YYINDEX (yyp->yyoption.yystate),
- (long int) YYINDEX (yyp->yyoption.yynext));
- }
- YYFPRINTF (stderr, "\n");
- }
- YYFPRINTF (stderr, "Tops:");
- for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
- YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
- (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
- YYFPRINTF (stderr, "\n");
- }
- #endif
- /* Line 2575 of glr.c */
- #line 855 "BsParserFX.y"
- void yyerror(YYLTYPE *locp, ParseState* parse_state, yyscan_t scanner, const char *msg)
- {
- parse_state->hasError = 1;
- parse_state->errorLine = locp->first_line;
- parse_state->errorColumn = locp->first_column;
- parse_state->errorMessage = mmalloc_strdup(parse_state->memContext, msg);
- }
|