1
0
mirror of https://github.com/go-task/task.git synced 2024-12-14 10:52:43 +02:00
task/vendor/mvdan.cc/sh/v3/syntax/tokens.go
2019-09-26 19:04:13 -03:00

350 lines
9.6 KiB
Go

// Copyright (c) 2016, Daniel Martí <mvdan@mvdan.cc>
// See LICENSE for licensing information
package syntax
//go:generate stringer -type token -linecomment -trimprefix _
type token uint32
// The list of all possible tokens.
const (
illegalTok token = iota
_EOF
_Newl
_Lit
_LitWord
_LitRedir
sglQuote // '
dblQuote // "
bckQuote // `
and // &
andAnd // &&
orOr // ||
or // |
orAnd // |&
dollar // $
dollSglQuote // $'
dollDblQuote // $"
dollBrace // ${
dollBrack // $[
dollParen // $(
dollDblParen // $((
leftBrack // [
dblLeftBrack // [[
leftParen // (
dblLeftParen // ((
rightBrace // }
rightBrack // ]
rightParen // )
dblRightParen // ))
semicolon // ;
dblSemicolon // ;;
semiAnd // ;&
dblSemiAnd // ;;&
semiOr // ;|
exclMark // !
tilde // ~
addAdd // ++
subSub // --
star // *
power // **
equal // ==
nequal // !=
lequal // <=
gequal // >=
addAssgn // +=
subAssgn // -=
mulAssgn // *=
quoAssgn // /=
remAssgn // %=
andAssgn // &=
orAssgn // |=
xorAssgn // ^=
shlAssgn // <<=
shrAssgn // >>=
rdrOut // >
appOut // >>
rdrIn // <
rdrInOut // <>
dplIn // <&
dplOut // >&
clbOut // >|
hdoc // <<
dashHdoc // <<-
wordHdoc // <<<
rdrAll // &>
appAll // &>>
cmdIn // <(
cmdOut // >(
plus // +
colPlus // :+
minus // -
colMinus // :-
quest // ?
colQuest // :?
assgn // =
colAssgn // :=
perc // %
dblPerc // %%
hash // #
dblHash // ##
caret // ^
dblCaret // ^^
comma // ,
dblComma // ,,
at // @
slash // /
dblSlash // //
colon // :
tsExists // -e
tsRegFile // -f
tsDirect // -d
tsCharSp // -c
tsBlckSp // -b
tsNmPipe // -p
tsSocket // -S
tsSmbLink // -L
tsSticky // -k
tsGIDSet // -g
tsUIDSet // -u
tsGrpOwn // -G
tsUsrOwn // -O
tsModif // -N
tsRead // -r
tsWrite // -w
tsExec // -x
tsNoEmpty // -s
tsFdTerm // -t
tsEmpStr // -z
tsNempStr // -n
tsOptSet // -o
tsVarSet // -v
tsRefVar // -R
tsReMatch // =~
tsNewer // -nt
tsOlder // -ot
tsDevIno // -ef
tsEql // -eq
tsNeq // -ne
tsLeq // -le
tsGeq // -ge
tsLss // -lt
tsGtr // -gt
globQuest // ?(
globStar // *(
globPlus // +(
globAt // @(
globExcl // !(
)
type RedirOperator token
const (
RdrOut = RedirOperator(rdrOut) + iota // >
AppOut // >>
RdrIn // <
RdrInOut // <>
DplIn // <&
DplOut // >&
ClbOut // >|
Hdoc // <<
DashHdoc // <<-
WordHdoc // <<<
RdrAll // &>
AppAll // &>>
)
type ProcOperator token
const (
CmdIn = ProcOperator(cmdIn) + iota // <(
CmdOut // >(
)
type GlobOperator token
const (
GlobZeroOrOne = GlobOperator(globQuest) + iota // ?(
GlobZeroOrMore // *(
GlobOneOrMore // +(
GlobOne // @(
GlobExcept // !(
)
type BinCmdOperator token
const (
AndStmt = BinCmdOperator(andAnd) + iota // &&
OrStmt // ||
Pipe // |
PipeAll // |&
)
type CaseOperator token
const (
Break = CaseOperator(dblSemicolon) + iota // ;;
Fallthrough // ;&
Resume // ;;&
ResumeKorn // ;|
)
type ParNamesOperator token
const (
NamesPrefix = ParNamesOperator(star) // *
NamesPrefixWords = ParNamesOperator(at) // @
)
type ParExpOperator token
const (
AlternateUnset = ParExpOperator(plus) + iota // +
AlternateUnsetOrNull // :+
DefaultUnset // -
DefaultUnsetOrNull // :-
ErrorUnset // ?
ErrorUnsetOrNull // :?
AssignUnset // =
AssignUnsetOrNull // :=
RemSmallSuffix // %
RemLargeSuffix // %%
RemSmallPrefix // #
RemLargePrefix // ##
UpperFirst // ^
UpperAll // ^^
LowerFirst // ,
LowerAll // ,,
OtherParamOps // @
)
type UnAritOperator token
const (
Not = UnAritOperator(exclMark) + iota // !
BitNegation // ~
Inc // ++
Dec // --
Plus = UnAritOperator(plus) // +
Minus = UnAritOperator(minus) // -
)
type BinAritOperator token
const (
Add = BinAritOperator(plus) // +
Sub = BinAritOperator(minus) // -
Mul = BinAritOperator(star) // *
Quo = BinAritOperator(slash) // /
Rem = BinAritOperator(perc) // %
Pow = BinAritOperator(power) // **
Eql = BinAritOperator(equal) // ==
Gtr = BinAritOperator(rdrOut) // >
Lss = BinAritOperator(rdrIn) // <
Neq = BinAritOperator(nequal) // !=
Leq = BinAritOperator(lequal) // <=
Geq = BinAritOperator(gequal) // >=
And = BinAritOperator(and) // &
Or = BinAritOperator(or) // |
Xor = BinAritOperator(caret) // ^
Shr = BinAritOperator(appOut) // >>
Shl = BinAritOperator(hdoc) // <<
AndArit = BinAritOperator(andAnd) // &&
OrArit = BinAritOperator(orOr) // ||
Comma = BinAritOperator(comma) // ,
TernQuest = BinAritOperator(quest) // ?
TernColon = BinAritOperator(colon) // :
Assgn = BinAritOperator(assgn) // =
AddAssgn = BinAritOperator(addAssgn) // +=
SubAssgn = BinAritOperator(subAssgn) // -=
MulAssgn = BinAritOperator(mulAssgn) // *=
QuoAssgn = BinAritOperator(quoAssgn) // /=
RemAssgn = BinAritOperator(remAssgn) // %=
AndAssgn = BinAritOperator(andAssgn) // &=
OrAssgn = BinAritOperator(orAssgn) // |=
XorAssgn = BinAritOperator(xorAssgn) // ^=
ShlAssgn = BinAritOperator(shlAssgn) // <<=
ShrAssgn = BinAritOperator(shrAssgn) // >>=
)
type UnTestOperator token
const (
TsExists = UnTestOperator(tsExists) + iota // -e
TsRegFile // -f
TsDirect // -d
TsCharSp // -c
TsBlckSp // -b
TsNmPipe // -p
TsSocket // -S
TsSmbLink // -L
TsSticky // -k
TsGIDSet // -g
TsUIDSet // -u
TsGrpOwn // -G
TsUsrOwn // -O
TsModif // -N
TsRead // -r
TsWrite // -w
TsExec // -x
TsNoEmpty // -s
TsFdTerm // -t
TsEmpStr // -z
TsNempStr // -n
TsOptSet // -o
TsVarSet // -v
TsRefVar // -R
TsNot = UnTestOperator(exclMark) // !
)
type BinTestOperator token
const (
TsReMatch = BinTestOperator(tsReMatch) + iota // =~
TsNewer // -nt
TsOlder // -ot
TsDevIno // -ef
TsEql // -eq
TsNeq // -ne
TsLeq // -le
TsGeq // -ge
TsLss // -lt
TsGtr // -gt
AndTest = BinTestOperator(andAnd) // &&
OrTest = BinTestOperator(orOr) // ||
TsMatchShort = BinTestOperator(assgn) // =
TsMatch = BinTestOperator(equal) // ==
TsNoMatch = BinTestOperator(nequal) // !=
TsBefore = BinTestOperator(rdrIn) // <
TsAfter = BinTestOperator(rdrOut) // >
)
func (o RedirOperator) String() string { return token(o).String() }
func (o ProcOperator) String() string { return token(o).String() }
func (o GlobOperator) String() string { return token(o).String() }
func (o BinCmdOperator) String() string { return token(o).String() }
func (o CaseOperator) String() string { return token(o).String() }
func (o ParNamesOperator) String() string { return token(o).String() }
func (o ParExpOperator) String() string { return token(o).String() }
func (o UnAritOperator) String() string { return token(o).String() }
func (o BinAritOperator) String() string { return token(o).String() }
func (o UnTestOperator) String() string { return token(o).String() }
func (o BinTestOperator) String() string { return token(o).String() }