コード例 #1
0
ファイル: parseFlowDsl.go プロジェクト: flowdev/gflowparser
func NewParseVersion() *ParseVersion {
	f := &ParseVersion{}
	f.version = gparselib.NewParseAll(parseData, setParseData)
	//	f.semantic = NewSemanticCreateVersion()
	f.spcComm = NewParseSpaceComment()
	f.vers = gparselib.NewParseLiteral(parseData, setParseData, "version")
	f.aspc = gparselib.NewParseSpace(parseData, setParseData, false)
	f.political = gparselib.NewParseNatural(parseData, setParseData, 10)
	f.dot = gparselib.NewParseLiteral(parseData, setParseData, ".")
	f.major = gparselib.NewParseNatural(parseData, setParseData, 10)

	//	f.version.SetSemOutPort(f.semantic.InPort)
	//	f.semantic.SetOutPort(f.version.SemInPort)
	f.version.AppendSubOutPort(f.spcComm.InPort)
	f.spcComm.SetOutPort(f.version.SubInPort)
	f.version.AppendSubOutPort(f.vers.InPort)
	f.vers.SetOutPort(f.version.SubInPort)
	f.version.AppendSubOutPort(f.aspc.InPort)
	f.aspc.SetOutPort(f.version.SubInPort)
	f.version.AppendSubOutPort(f.political.InPort)
	f.political.SetOutPort(f.version.SubInPort)
	f.version.AppendSubOutPort(f.dot.InPort)
	f.dot.SetOutPort(f.version.SubInPort)
	f.version.AppendSubOutPort(f.major.InPort)
	f.major.SetOutPort(f.version.SubInPort)
	f.version.AppendSubOutPort(f.spcComm.InPort)
	f.spcComm.SetOutPort(f.version.SubInPort)

	f.InPort = f.version.InPort

	return f
}
コード例 #2
0
ファイル: parseUtils.go プロジェクト: flowdev/gflowparser
func NewParseSpaceComment() *ParseSpaceComment {
	f := &ParseSpaceComment{}
	f.spcComs = gparselib.NewParseMulti0(parseData, setParseData)
	f.semantic = NewTextSemantic()
	f.spcOrCom = gparselib.NewParseAny(parseData, setParseData)
	f.parseSpace = gparselib.NewParseSpace(parseData, setParseData, true)
	f.parseLineComment = gparselib.NewParseLineComment(parseData, setParseData, "//")
	f.parseBlockComment = gparselib.NewParseBlockComment(parseData, setParseData, "/*", "*/")

	f.spcComs.SetSemOutPort(f.semantic.InPort)
	f.semantic.SetOutPort(f.spcComs.SemInPort)
	f.spcComs.SetSubOutPort(f.spcOrCom.InPort)
	f.spcOrCom.SetOutPort(f.spcComs.SubInPort)
	f.spcOrCom.AppendSubOutPort(f.parseSpace.InPort)
	f.parseSpace.SetOutPort(f.spcOrCom.SubInPort)
	f.spcOrCom.AppendSubOutPort(f.parseLineComment.InPort)
	f.parseLineComment.SetOutPort(f.spcOrCom.SubInPort)
	f.spcOrCom.AppendSubOutPort(f.parseBlockComment.InPort)
	f.parseBlockComment.SetOutPort(f.spcOrCom.SubInPort)

	f.InPort = f.spcComs.InPort
	f.SetOutPort = f.spcComs.SetOutPort

	return f
}
コード例 #3
0
ファイル: parseUtils.go プロジェクト: flowdev/gflowparser
func NewParseOptSpc() *ParseOptSpc {
	f := &ParseOptSpc{}
	f.optSpc = gparselib.NewParseOptional(parseData, setParseData)
	f.semantic = NewTextSemantic()
	f.parseSpace = gparselib.NewParseSpace(parseData, setParseData, false)

	f.optSpc.SetSemOutPort(f.semantic.InPort)
	f.semantic.SetOutPort(f.optSpc.SemInPort)
	f.optSpc.SetSubOutPort(f.parseSpace.InPort)
	f.parseSpace.SetOutPort(f.optSpc.SubInPort)

	f.InPort = f.optSpc.InPort
	f.SetOutPort = f.optSpc.SetOutPort

	return f
}
コード例 #4
0
func NewParseOptPortSpc() *ParseOptPortSpc {
	f := &ParseOptPortSpc{}
	f.optPortSpc = gparselib.NewParseOptional(parseData, setParseData)
	f.portSpc = gparselib.NewParseAll(parseData, setParseData)
	f.semantic = NewSemanticOptPortSpc()
	f.pport = NewParsePort()
	f.space = gparselib.NewParseSpace(parseData, setParseData, false)

	f.optPortSpc.SetSubOutPort(f.portSpc.InPort)
	f.portSpc.SetOutPort(f.optPortSpc.SubInPort)
	f.portSpc.SetSemOutPort(f.semantic.InPort)
	f.semantic.SetOutPort(f.portSpc.SemInPort)
	f.portSpc.AppendSubOutPort(f.pport.InPort)
	f.pport.SetOutPort(f.portSpc.SubInPort)
	f.portSpc.AppendSubOutPort(f.space.InPort)
	f.space.SetOutPort(f.portSpc.SubInPort)

	f.InPort = f.optPortSpc.InPort
	f.SetOutPort = f.optPortSpc.SetOutPort

	return f
}
コード例 #5
0
ファイル: parseFlowDsl.go プロジェクト: flowdev/gflowparser
func NewParseFlow() *ParseFlow {
	f := &ParseFlow{}
	f.flow = gparselib.NewParseAll(parseData, setParseData)
	//	f.semantic = NewSemanticCreateFlow()
	f.flowLiteral = gparselib.NewParseLiteral(parseData, setParseData, "flow")
	f.aspc = gparselib.NewParseSpace(parseData, setParseData, false)
	f.name = NewParseBigIdent()
	f.spcComm1 = NewParseSpaceComment()
	f.openFlow = gparselib.NewParseLiteral(parseData, setParseData, "{")
	f.spcComm2 = NewParseSpaceComment()
	f.connections = NewParseConnections()
	f.closeFlow = gparselib.NewParseLiteral(parseData, setParseData, "}")
	f.spcComm3 = NewParseSpaceComment()

	//	f.flow.SetSemOutPort(f.semantic.InPort)
	//	f.semantic.SetOutPort(f.flow.SemInPort)
	f.flow.AppendSubOutPort(f.flowLiteral.InPort)
	f.flowLiteral.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.aspc.InPort)
	f.aspc.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.name.InPort)
	f.name.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.spcComm1.InPort)
	f.spcComm1.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.openFlow.InPort)
	f.openFlow.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.spcComm2.InPort)
	f.spcComm2.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.connections.InPort)
	f.connections.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.closeFlow.InPort)
	f.closeFlow.SetOutPort(f.flow.SubInPort)
	f.flow.AppendSubOutPort(f.spcComm3.InPort)
	f.spcComm3.SetOutPort(f.flow.SubInPort)

	f.InPort = f.flow.InPort

	return f
}