PageSourceSearch

https://gonka-api.org/assets/ebnfDiagram-CCIWWBDH-BhEtf8zy.js

js gonka-api.org collected 2026-09-24 13:53:44 UTC 2,811 bytes, 1 lines download raw bytes

1import{d as n,r as p,g as s}from"./chunk-MOJQB5TN-BwMJlYYP.js";import{p as l}from"./chunk-JWPE2WC7-kvD9-0uv.js";import{_ as t,l as i}from"./Admin-DyqaYVhF.js";import{a as u,M as f}from"./cynefin-VYW2F7L2-CwooMiF4.js";import"./markdown--GtaSHee.js";import"./recharts-BeKZuLkv.js";import"./select-DYvesJGt.js";import"./index-CwLMpyPQ.js";import"./supabase-CXOtveJb.js";import"./index-CDEGERko.js";import"./Logo-CmSzrewh.js";import"./button-CvWIh0wA.js";import"./claim-api-Cx9cUfTi.js";import"./card-BpT7KXvn.js";import"./popover-C8biE7SC.js";import"./badge-Be4qcw1N.js";import"./textarea-D2ju_SPA.js";import"./loader-circle-E8ifEcGx.js";import"./refresh-cw-4ldpb0-s.js";import"./copy-_Mw3LfSg.js";import"./users-C7re592J.js";import"./bot-Ckjuc9jk.js";import"./square-CUyGi08w.js";import"./plus-DvajB_f2.js";import"./eye-C_5ZLeIN.js";import"./sparkles-BMOYLD50.js";import"./dialog-D1cdDpAI.js";import"./circle-check-big-C2b98zPA.js";import"./circle-x-DW4hRh-i.js";import"./calendar-lScbt-82.js";import"./heart-Cyg43O5M.js";import"./arrow-left-DvkoChDz.js";var c=u().RailroadEbnf.parser.LangiumParser,o=t(e=>{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),m=t(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 o(e.element);case"EbnfOptional":return{type:"optional",element:o(e.element)};case"EbnfRepetition":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((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:"-"},m(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),m(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),v=t(e=>{l(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),i.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new f(r);const a=r.value;i.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),i.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},X={parser:g,db:n,renderer:p,styles:s};export{X as diagram};

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.