Module conch_parser::ast [] [src]

Defines abstract representations of the shell source.

Modules

builder

Defines an interfaces to receive parse data and construct ASTs.

Structs

AndOrList

A nonempty list of AndOr commands, e.g. foo && bar || baz.

AtomicTopLevelCommand

A top-level representation of a shell command. Uses Arc wrappers for function declarations.

AtomicTopLevelWord

A top-level representation of a shell word. Uses Arc wrappers for function declarations.

CompoundCommand

A class of commands where redirection is applied to a command group.

GuardBodyPair

A grouping of guard and body commands.

PatternBodyPair

A grouping of patterns and body commands.

SimpleCommand

The simplest possible command: an executable with arguments, environment variable assignments, and redirections.

TopLevelCommand

A top-level representation of a shell command. Uses Rc wrappers for function declarations.

TopLevelWord

A top-level representation of a shell word. Uses Rc wrappers for function declarations.

Enums

AndOr

A command which conditionally runs based on the exit status of the previous command.

Arithmetic

Represents an expression within an arithmetic subsitution.

Command

Represents any valid shell command.

ComplexWord

Represents whitespace delimited text.

CompoundCommandKind

A specific kind of a CompoundCommand.

ListableCommand

Commands that can be used within an and/or list.

Parameter

Represents reading a parameter (or variable) value, e.g. $foo.

ParameterSubstitution

A parameter substitution, e.g. ${param-word}.

PipeableCommand

Commands that can be used within a pipeline.

Redirect

Represents redirecting a command's file descriptors.

RedirectOrCmdWord

Represents a parsed redirect or a defined command or command argument.

RedirectOrEnvVar

Represents a parsed redirect or a defined environment variable at the start of a command.

SimpleWord

Represents the smallest fragment of any text.

Word

Represents whitespace delimited single, double, or non quoted text.

Type Definitions

AtomicCommandList

A type alias over an and/or list of conventional shell commands.

AtomicShellPipeableCommand

A type alias for the default hiearchy to represent pipeable commands, using Arc wrappers around function declarations.

CommandList

A type alias over an and/or list of conventional shell commands.

DefaultAndOrList

Type alias for the default AndOrList representation.

DefaultArithmetic

Type alias for the default Arithmetic representation.

DefaultCommand

Type alias for the default Command representation.

DefaultComplexWord

Type alias for the default ComplexWord representation.

DefaultCompoundCommand

Type alias for the default CompoundCommandKind representation.

DefaultCompoundCommandKind

Type alias for the default CompoundCommandKind representation.

DefaultListableCommand

Type alias for the default ListableCommand representation.

DefaultParameter

Type alias for the default Parameter representation.

DefaultParameterSubstitution

Type alias for the default ParameterSubstitution representation.

DefaultPipeableCommand

Type alias for the default PipeableCommand representation.

DefaultRedirect

Type alias for the default Redirect representation.

DefaultSimpleCommand

Type alias for the default SimpleCommand representation.

DefaultSimpleWord

Type alias for the default SimpleWord representation.

DefaultWord

Type alias for the default Word representation.

ShellCompoundCommand

A type alias for the default hiearchy for representing compound shell commands.

ShellPipeableCommand

A type alias for the default hiearchy to represent pipeable commands, using Rc wrappers around function declarations.

ShellWord

A type alias for the default hiearchy for representing shell words.