Abstract Value Members
-
-
abstract
def
backward: Movement
Concrete Value Members
-
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
final
def
atLeastOnce: Movement
-
final
def
atMostNtimes(n: Int): Movement
-
-
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
nTimes(n: Int): Movement
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
optional: Movement
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
final
def
zeroOrMore: Movement
-
-
-
-
A context dependent, directional movement that can be applied to a SourceWithMarker
Overview
Movements can be combined similar to parser combinators and optionally applied backwards. They are meant to be used to perform minor tweaks in already parsed source code that might be necessary due to compiler bugs or compiler API limitations.
Why not use parser combinators?
Examples
Movements