1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},r=(new e.Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="36ca5f92-8e74-454c-8ab1-f3f159d1dda0",e._sentryDebugIdIdentifier="sentry-dbid-36ca5f92-8e74-454c-8ab1-f3f159d1dda0")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5380],{15380:(e,r,t)=>{t.d(r,{diagram:()=>y});var n=t(84108),a=t(93163);t(9659),t(85344);var s=t(18928),i=t(19394),l=t(24357),o=(0,l.WG)().RailroadEbnf.parser.LangiumParser,p=(0,i.K)(e=>{let r=e.alternatives.map(d);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformChoice"),d=(0,i.K)(e=>{let r=e.elements.map(m);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),f=(0,i.K)(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return p(e.element);case"EbnfOptional":return{type:"optional",element:p(e.element)};case"EbnfRepetition":return{type:"repetition",element:p(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),u=(0,i.K)((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},f(r.except)]};default:throw Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),m=(0,i.K)(e=>e.postfixes.reduce((e,r)=>u(e,r),f(e.base)),"transformTerm"),b=(0,i.K)(e=>({name:e.name,definition:p(e.definition)}),"transformRule"),c=(0,i.K)(e=>{(0,a.S)(e,n.db),e.title&&n.db.setTitle(e.title),e.rules.map(e=>n.db.addRule(b(e)))},"populateDb"),y={parser:{parse:(0,i.K)(e=>{n.db.clear(),s.R.debug("[EBNF Parser] Starting Langium parse");let r=o.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new l.zg(r);let t=r.value;s.R.debug("[EBNF Parser] Parsed rules:",t.rules.length),c(t),s.R.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n.db}},db:n.db,renderer:n.U,styles:n.$}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.