rendered paste bodyheader{ package feb_07;}//Analizador SINTCTICOclass Anasint extends Parser;options { buildAST = true;}tokens { HIERARCHY="HIERARCHY"; ROOT="ROOT"; OFFSET="OFFSET"; CHANNELS="CHANNELS"; JOINT="JOINT"; END="END SITE"; MOTION="MOTION"; FRAMES="FRAMES"; TIME="FRAME TIME"; DATA="DATA"; JOINTS;}hierarchy : HIERARCHY^ root motion EOF! ;root : ROOT^ IDENT LLA! offset channels joints LLC! ; offset : OFFSET^ NUMERO NUMERO NUMERO ;channels : CHANNELS^ NUMERO (IDENT)* ;joints : ((JOINT IDENT LLA offset channels end)=>joint | nested_joint)+ {#joints=#(#[JOINTS,"JOINTS"],#joints);} ;joint : JOINT^ IDENT LLA! offset channels end LLC! ;nested_joint : JOINT^ IDENT LLA! offset channels joints LLC! ;end : END LLA! offset LLC! ;motion : MOTION frames time data ; frames : FRAMES DOSPTS! NUMERO ;time : TIME DOSPTS! NUMERO ;data : (NUMERO)+ ;