func NewParseBigIdent() *ParseBigIdent { f := &ParseBigIdent{} f.parseRegex = gparselib.NewParseRegexp(parseData, setParseData, "[A-Z][a-zA-Z0-9]+") f.InPort = f.parseRegex.InPort f.SetOutPort = f.parseRegex.SetOutPort return f }
func NewParseArrow() *ParseArrow { f := &ParseArrow{} f.arrow = gparselib.NewParseAll(parseData, setParseData) f.semantic = NewSemanticArrow() f.spcCom1 = NewParseSpaceComment() f.optType = gparselib.NewParseOptional(parseData, setParseData) f.optCall = gparselib.NewParseOptional(parseData, setParseData) f.litArr = gparselib.NewParseLiteral(parseData, setParseData, "->") f.spcCom2 = NewParseSpaceComment() f.typ = gparselib.NewParseAll(parseData, setParseData) f.call = gparselib.NewParseRegexp(parseData, setParseData, "[saip]") f.openType = gparselib.NewParseLiteral(parseData, setParseData, "[") f.spc1 = NewParseOptSpc() f.typeName = NewParseBigIdent() f.spc2 = NewParseOptSpc() f.closeType = gparselib.NewParseLiteral(parseData, setParseData, "]") f.arrow.SetSemOutPort(f.semantic.InPort) f.semantic.SetOutPort(f.arrow.SemInPort) f.arrow.AppendSubOutPort(f.spcCom1.InPort) f.spcCom1.SetOutPort(f.arrow.SubInPort) f.arrow.AppendSubOutPort(f.optType.InPort) f.optType.SetOutPort(f.arrow.SubInPort) f.arrow.AppendSubOutPort(f.optCall.InPort) f.optCall.SetOutPort(f.arrow.SubInPort) f.arrow.AppendSubOutPort(f.litArr.InPort) f.litArr.SetOutPort(f.arrow.SubInPort) f.arrow.AppendSubOutPort(f.spcCom2.InPort) f.spcCom2.SetOutPort(f.arrow.SubInPort) f.optType.SetSubOutPort(f.typ.InPort) f.typ.SetOutPort(f.optType.SubInPort) f.optCall.SetSubOutPort(f.call.InPort) f.call.SetOutPort(f.optCall.SubInPort) f.typ.AppendSubOutPort(f.openType.InPort) f.openType.SetOutPort(f.typ.SubInPort) f.typ.AppendSubOutPort(f.spc1.InPort) f.spc1.SetOutPort(f.typ.SubInPort) f.typ.AppendSubOutPort(f.typeName.InPort) f.typeName.SetOutPort(f.typ.SubInPort) f.typ.AppendSubOutPort(f.spc2.InPort) f.spc2.SetOutPort(f.typ.SubInPort) f.typ.AppendSubOutPort(f.closeType.InPort) f.closeType.SetOutPort(f.typ.SubInPort) f.InPort = f.arrow.InPort f.SetOutPort = f.arrow.SetOutPort return f }