Browsable Rascal String Grammar

CC-BY

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]

Summary

Syntax

str ::=
	[center]::(⟨s⟩:string ⟨n⟩:integer)
str ::=
	[center]::(⟨s⟩:string ⟨n⟩:integer ⟨pad⟩:string)
int ::=
	[charAt]::(⟨s⟩:string ⟨i⟩:integer)
list[int] ::=
	[chars]::⟨s⟩:string
bool ::=
	[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⟩:string
str ::=
	[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⟩:string
str ::=
	[right]::(⟨s⟩:string ⟨n⟩:integer)
str ::=
	[right]::(⟨s⟩:string ⟨n⟩:integer ⟨pad⟩:string)
int ::=
	[size]::⟨s⟩:string
bool ::=
	[startsWith]::(⟨subject⟩:string ⟨prefix⟩:string)
str ::=
	[stringChar]::⟨char⟩:integer
str ::=
	[stringChars]::⟨chars⟩:integer*
bool ::=
	[isValidCharacter]::⟨ch⟩:integer
str ::=
	[substring]::(⟨s⟩:string ⟨begin⟩:integer)
str ::=
	[substring]::(⟨s⟩:string ⟨begin⟩:integer ⟨end⟩:integer)
int ::=
	[toInt]::⟨s⟩:string
int ::=
	[toInt]::(⟨s⟩:string ⟨r⟩:integer)
str ::=
	[toLowerCase]::⟨s⟩:string
real ::=
	[toReal]::⟨s⟩:string
str ::=
	[toUpperCase]::⟨s⟩:string
str ::=
	[trim]::⟨s⟩:string
str ::=
	[squeeze]::(⟨src⟩:string ⟨charSet⟩:string)
list[str] ::=
	[split]::(⟨sep⟩:string ⟨src⟩:string)
str ::=
	[capitalize]::⟨src⟩:string
str ::=
	[uncapitalize]::⟨src⟩:string
str ::=
	[wrap]::(⟨src⟩:string ⟨wrapLength⟩:integer)
str ::=
	[format]::(⟨s⟩:string ⟨dir⟩:string ⟨n⟩:integer ⟨pad⟩:string)
bool ::=
	[rexpMatch]::(⟨s⟩:string ⟨re⟩:string)
loc ::=
	[toLocation]::⟨s⟩:string
str ::=
	[subst1]::(⟨src⟩:string ⟨x⟩:string ⟨y⟩:string)
str ::=
	[substitute]::(⟨src⟩:string ⟨s⟩:(string string)*)

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. [↑]