wdlparser

package
v0.0.0-...-9d6699e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package wdlparser implements a parser for Workflow Description Language (WDL) source files. Language specifications can be found at https://github.com/openwdl/wdl

Index

Constants

View Source
const (
	Boolean = primitive("Boolean")
	Int     = primitive("Int")
	Float   = primitive("Float")
	String  = primitive("String")
	File    = primitive("File")
	Any     = primitive("Any")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Call

type Call struct {
	After  string
	Inputs []*valueSpec
	// contains filtered or unexported fields
}

A Call represents one parsed call in a workflow.

func NewCall

func NewCall(start, end int, parent node, name string) *Call

type Task

type Task struct {
	Inputs        []*valueSpec
	PrvtDecls     []*valueSpec
	Outputs       []*valueSpec
	Command       []string
	Runtime       []*valueSpec
	Meta          []*valueSpec
	ParameterMeta []*valueSpec
	// contains filtered or unexported fields
}

A Task represents one parsed task.

func NewTask

func NewTask(start, end int, parent node, name string) *Task

type Type

type Type interface {
	// contains filtered or unexported methods
}

A Type represents a type of WDL. All types implement the Type interface.

type WDL

type WDL struct {
	Path     string
	Version  string
	Imports  []*importSpec
	Workflow *Workflow
	Tasks    []*Task
	Structs  []*valueSpec
	// contains filtered or unexported fields
}

A WDL represents a parsed WDL document.

func Antlr4Parse

func Antlr4Parse(input string) (*WDL, []wdlSyntaxError)

Antlr4Parse parse a WDL document into WDL

func NewWDL

func NewWDL(wdlPath string, size int) *WDL

type WDLOpSym

type WDLOpSym string
const (
	WDLNeg     WDLOpSym = "^-"
	WDLNot     WDLOpSym = "!"
	WDLStr     WDLOpSym = "str"
	WDLMul     WDLOpSym = "*"
	WDLDiv     WDLOpSym = "/"
	WDLMod     WDLOpSym = "%"
	WDLAdd     WDLOpSym = "+"
	WDLSub     WDLOpSym = "-"
	WDLEq      WDLOpSym = "=="
	WDLNeq     WDLOpSym = "!="
	WDLLt      WDLOpSym = "<"
	WDLLte     WDLOpSym = "<="
	WDLGt      WDLOpSym = ">"
	WDLGte     WDLOpSym = ">="
	WDLAnd     WDLOpSym = "&&"
	WDLOr      WDLOpSym = "||"
	WDLTernary WDLOpSym = "?:"
)

type Workflow

type Workflow struct {
	Inputs        []*valueSpec
	PrvtDecls     []*valueSpec
	Outputs       []*valueSpec
	Calls         []*Call
	Meta          []*valueSpec
	ParameterMeta []*valueSpec
	// contains filtered or unexported fields
}

A Workflow represents one parsed workflow.

func NewWorkflow

func NewWorkflow(start, end int, parent node, name string) *Workflow

Directories

Path Synopsis
antlr4_grammar
1_1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL