import{Delim as t,WhiteSpace as e}from"../../tokenizer/types.mjs";import"../../tokenizer/char-code-definitions.mjs";import"../../tokenizer/TokenStream.mjs";const i="Combinator",o={name:String};function s(){const i=this.tokenStart;let o;switch(this.tokenType){case e:o=" ";break;case t:switch(this.charCodeAt(this.tokenStart)){case 62:case 43:case 126:this.next();break;case 47:this.next(),this.eatIdent("deep"),this.eatDelim(47);break;default:this.error("Combinator is expected")}o=this.substrToCursor(i)}return{type:"Combinator",loc:this.getLocation(i,this.tokenStart),name:o}}function n(t){this.tokenize(t.name)}export{n as generate,i as name,s as parse,o as structure};