Sketch = Shape Mode *EOF*. Shape : VisualComponent | // ShapeGroup | Box | Line *common* "coords" Coordinates. // Repetition-Buffer rule ShapeGroup = "{" List(Shape) "}". // VisualComponents = List(VisualComponent). VisualComponent : ShapeGroup | Decorator. Decorator : ScrollDecorator | BorderDecorator *common* VisualComponent. // VisualComponents. ScrollDecorator = "scroll". BorderDecorator = "border". Coordinates = Point Point. Point = Integer Integer. Box = "box". Line = "line". Mode : Gesture | Transfer | Drag *common* [ Mode]. Gesture = "gesture" Shape Point. Drag = "drag" ShapeGroup Point. Transfer = "transfer" ShapeGroup Point. List(S) ~ {S}. Main = . Cursor = . DrawingVisitor = Color. Color : Black | Red. Black = "black". Red = "red".