
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: api/rascal/string/extracted
Source used for this grammar: Jurgen J. Vinju, Tijs van der Storm, Paul Klint, Arnold Lankamp, Vadim Zaytsev, String, 2009–2013 [Explore]
str, int, list[int], bool, real, list[str], loc), 0 root (—), 7 top (str, int, list[int], bool, real, list[str], loc), 0 bottom (—).[center] 2, [charAt], [chars], [contains], [endsWith], [escape], [findAll], [findFirst], [findLast], [isEmpty], [left] 2, [replaceAll], [replaceFirst], [replaceLast], [reverse], [right] 2, [size], [startsWith], [stringChar], [stringChars], [isValidCharacter], [substring] 2, [toInt] 2, [toLowerCase], [toReal], [toUpperCase], [trim], [squeeze], [split], [capitalize], [uncapitalize], [wrap], [format], [rexpMatch], [toLocation], [subst1], [substitute].⟨s⟩ 23, ⟨n⟩ 7, ⟨pad⟩ 4, ⟨i⟩, ⟨input⟩, ⟨find⟩ 7, ⟨subject⟩ 9, ⟨suffix⟩, ⟨mapping⟩, ⟨replacement⟩ 3, ⟨prefix⟩, ⟨char⟩, ⟨chars⟩, ⟨ch⟩, ⟨begin⟩ 2, ⟨end⟩, ⟨r⟩, ⟨src⟩ 7, ⟨charSet⟩, ⟨sep⟩, ⟨wrapLength⟩, ⟨dir⟩, ⟨re⟩, ⟨x⟩, ⟨y⟩.str ::= [center]::⟨s⟩:string ⟨n⟩:integer
str ::= [center]::⟨s⟩:string ⟨n⟩:integer ⟨pad⟩:string
int ::= [charAt]::⟨s⟩:string ⟨i⟩:integer
list[int] ::=
[chars]::⟨s⟩:stringbool ::= [contains]::⟨input⟩:string ⟨find⟩:string
bool ::= [endsWith]::⟨subject⟩:string ⟨suffix⟩:string
str ::= [escape]::⟨subject⟩:string ⟨mapping⟩:string string
list[int] ::= [findAll]::⟨subject⟩:string ⟨find⟩:string
int ::= [findFirst]::⟨subject⟩:string ⟨find⟩:string
int ::= [findLast]::⟨subject⟩:string ⟨find⟩:string
bool ::=
[isEmpty]::⟨s⟩:stringstr ::= [left]::⟨s⟩:string ⟨n⟩:integer
str ::= [left]::⟨s⟩:string ⟨n⟩:integer ⟨pad⟩:string
str ::= [replaceAll]::⟨subject⟩:string ⟨find⟩:string ⟨replacement⟩:string
str ::= [replaceFirst]::⟨subject⟩:string ⟨find⟩:string ⟨replacement⟩:string
str ::= [replaceLast]::⟨subject⟩:string ⟨find⟩:string ⟨replacement⟩:string
str ::=
[reverse]::⟨s⟩:stringstr ::= [right]::⟨s⟩:string ⟨n⟩:integer
str ::= [right]::⟨s⟩:string ⟨n⟩:integer ⟨pad⟩:string
int ::=
[size]::⟨s⟩:stringbool ::= [startsWith]::⟨subject⟩:string ⟨prefix⟩:string
str ::=
[stringChar]::⟨char⟩:integerstr ::=
[stringChars]::⟨chars⟩:integerbool ::=
[isValidCharacter]::⟨ch⟩:integerstr ::= [substring]::⟨s⟩:string ⟨begin⟩:integer
str ::= [substring]::⟨s⟩:string ⟨begin⟩:integer ⟨end⟩:integer
int ::=
[toInt]::⟨s⟩:stringint ::= [toInt]::⟨s⟩:string ⟨r⟩:integer
str ::=
[toLowerCase]::⟨s⟩:stringreal ::=
[toReal]::⟨s⟩:stringstr ::=
[toUpperCase]::⟨s⟩:stringstr ::=
[trim]::⟨s⟩:stringstr ::= [squeeze]::⟨src⟩:string ⟨charSet⟩:string
list[str] ::= [split]::⟨sep⟩:string ⟨src⟩:string
str ::=
[capitalize]::⟨src⟩:stringstr ::=
[uncapitalize]::⟨src⟩:stringstr ::= [wrap]::⟨src⟩:string ⟨wrapLength⟩:integer
str ::= [format]::⟨s⟩:string ⟨dir⟩:string ⟨n⟩:integer ⟨pad⟩:string
bool ::= [rexpMatch]::⟨s⟩:string ⟨re⟩:string
loc ::=
[toLocation]::⟨s⟩:stringstr ::= [subst1]::⟨src⟩:string ⟨x⟩:string ⟨y⟩:string
str ::= [substitute]::⟨src⟩:string ⟨s⟩:string string