Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In this assignment you will compare two implementations of storing text files: 1. One continuous string (newline char as separator). 2. List of strings where



In this assignment you will compare two implementations of storing text files:

1. One continuous string (newline char as separator).

2. List of strings where each string represents a line

Each of these representations has to be implemented as a separate set of functions and, of course, with separate Python file For each implementation, you will write editor functions to move the cursor. In each representation, you use a cursor to represent the current position. For example, for (1) the cursor is just the position (index). For (2), the cursor is a pair: the index of the line and the position within the corresponding line string. Finally, for (3) the cursor is a pointer to the node (containing the line) and the position within that line.

Write (and test) the following 10 functions (names are taken from old vi editor) for each implementation

1. cmd_h: move cursor one character to the left x

2. cmd_I: move cursor one character to the right x

3. cmd_j: move cursor vertically up one line

4. cmd_k: move cursor vertically down one line

5. cmd_X: delete the character to the left of the cursor x

6. cmd_D: transpose chars to left and right of cursor

7. cmd_dd: delete current line and move cursor to the beginning of next line xx

8. cmd_ddp: transpose two adjacent lines

9. cmd_n: search for next occurrence of a string (assume that string to be searched is fully in one line. xxx

10. cmd_wq: write your representation as text file and save it

Additional commands:

Cmd_mid put cursor in the middle of the file

Think of and implement any other 5 functions (your choice)

For testing, you will read the following nerdy poem (from the Zen of Python) into your file representation.

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

After each command, print the contents of your file with character ^ as cursor.

Example: your initial configuration is

^Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

After executing cmd_n(better), your representation should print:

Beautiful is ^better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.




Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Mobile Communications

Authors: Jochen Schiller

2nd edition

978-0321123817, 321123816, 978-8131724262

More Books

Students also viewed these Programming questions

Question

Solve each triangle. b = 1, c = 3, A = 80

Answered: 1 week ago

Question

1. Persuasive Techniques

Answered: 1 week ago

Question

b. How can you build your readers interest?

Answered: 1 week ago