extend the program, the editor(edit) to handle move the cursor down N lines edit :- edit(file([],[])). edit(File) :- write_prompt, read(Command), edit(File,Command). edit(_,exit) :- !. edit(File,Command) :- apply(Command,File,Filel),!,edit(Filel). edit(File,Command) :- writeln([Command,' is not applicable']),!,edit(File). apply(up,file([X|Xs],Ys),file(Xs,[X|Ys])). apply(up(N),file(Xs,Ys),file(Xsl,Ysl)) :- N > 0,up(N,Xs,Ys,Xsl,Ysl). apply(down,file(Xs,[Y|Ys]),file([Y|Xs],Ys)). apply(insert(Line),file(Xs,Ys),file(Xs,[Line|Ys])). apply(delete,file(Xs,[_|Ys]),file(Xs,Ys)). apply(print,file([X|Xs],Ys),file([X|Xs],Ys)) :- write(X),nl. apply(print(*),file(Xs,Ys),file(Xs,Ys)) :- reverse(Xs,Xsl),write_file(Xsl),write_file(Ys). up(_,[],Ys,[],Ys). up(0,Xs,Ys,Xs,Ys). up(N,[X|Xs],Ys,Xs1,Ys1) :- N > 0, Nl is N-1, up(Nl,Xs,[X|Ys],Xs1,Ys1). write_file([X|Xs]) :- write(X), nl, write_file(Xs). write_file([]). write_prompt :- write
extend the program, the editor(edit) to handle move the cursor down N lines edit :- edit(file([],[])). edit(File) :- write_prompt, read(Command), edit(File,Command). edit(_,exit) :- !. edit(File,Command) :- apply(Command,File,Filel),!,edit(Filel). edit(File,Command) :- writeln([Command,' is not applicable']),!,edit(File). apply(up,file([X|Xs],Ys),file(Xs,[X|Ys])). apply(up(N),file(Xs,Ys),file(Xsl,Ysl)) :- N > 0,up(N,Xs,Ys,Xsl,Ysl). apply(down,file(Xs,[Y|Ys]),file([Y|Xs],Ys)). apply(insert(Line),file(Xs,Ys),file(Xs,[Line|Ys])). apply(delete,file(Xs,[_|Ys]),file(Xs,Ys)). apply(print,file([X|Xs],Ys),file([X|Xs],Ys)) :- write(X),nl. apply(print(*),file(Xs,Ys),file(Xs,Ys)) :- reverse(Xs,Xsl),write_file(Xsl),write_file(Ys). up(_,[],Ys,[],Ys). up(0,Xs,Ys,Xs,Ys). up(N,[X|Xs],Ys,Xs1,Ys1) :- N > 0, Nl is N-1, up(Nl,Xs,[X|Ys],Xs1,Ys1). write_file([X|Xs]) :- write(X), nl, write_file(Xs). write_file([]). write_prompt :- write
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
PROLOG: extend the program , the editor(edit) to handle move the cursor down N lines
edit :- edit(file([],[])).
edit(File) :-
write_prompt, read(Command), edit(File,Command).
edit(_,exit) :- !.
edit(File,Command) :-
apply(Command,File,Filel),!,edit(Filel).
edit(File,Command) :-
writeln([Command,' is not applicable']),!,edit(File).
apply(up,file([X|Xs],Ys),file(Xs,[X|Ys])).
apply(up(N),file(Xs,Ys),file(Xsl,Ysl)) :-
N > 0,up(N,Xs,Ys,Xsl,Ysl).
apply(down,file(Xs,[Y|Ys]),file([Y|Xs],Ys)).
apply(insert(Line),file(Xs,Ys),file(Xs,[Line|Ys])).
apply(delete,file(Xs,[_|Ys]),file(Xs,Ys)).
apply(print,file([X|Xs],Ys),file([X|Xs],Ys)) :-
write(X),nl.
apply(print(*),file(Xs,Ys),file(Xs,Ys)) :-
reverse(Xs,Xsl),write_file(Xsl),write_file(Ys).
up(_,[],Ys,[],Ys).
up(0,Xs,Ys,Xs,Ys).
up(N,[X|Xs],Ys,Xs1,Ys1) :-
N > 0, Nl is N-1, up(Nl,Xs,[X|Ys],Xs1,Ys1).
write_file([X|Xs]) :-
write(X), nl, write_file(Xs).
write_file([]).
write_prompt :- write
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education