Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. removeCommentSymbol(A):-
  2. open(A,read,Stream1),
  3. removeSymbol(_,Stream1,TempStorage),
  4. open(A,write,Stream2),
  5. overwriteOld(_,Stream2,TempStorage),
  6. close(Stream1),
  7. close(Stream2).
  8.  
  9.  
  10. removeSymbol(noComment,Stream1,TempStorage):-
  11. get_char(Stream1,NewChar),
  12. handleNewChar(_,Stream1,NewChar,TempStorage).
  13.  
  14. handleNewChar('Found end_of_file',_,end_of_file,[]):- !.
  15. handleNewChar('Skipping % symbol',Stream1,'%',TempStorage):-
  16. get_char(Stream1,NewChar),
  17. skipWhitespace(_,Stream1,NewChar,TempStorage),!.
  18. handleNewChar('Copying next char',Stream1,OldChar,[OldChar|TempStorage]):-
  19. get_char(Stream1,NewChar),
  20. handleNewChar(_,Stream1,NewChar,TempStorage),!.
  21.  
  22. skipWhitespace('Found end_of_file',_,end_of_file,[]):- !.
  23. skipWhitespace('Skipping % symbol',Stream1,'%',TempStorage):-
  24. get_char(Stream1,NewChar),
  25. skipWhitespace(_,Stream1,NewChar,TempStorage),!.
  26. skipWhitespace('Skipping whitespace after % symbol',Stream1,' ',TempStorage):-
  27. get_char(Stream1,NewCode),
  28. handleNewChar(_,Stream1,NewCode,TempStorage),!.
  29. skipWhitespace('Trash whitespace has ended',Stream1,OldChar,[OldChar|TempStorage]):-
  30. get_char(Stream1,NewCode),
  31. handleNewChar(_,Stream1,NewCode,TempStorage),!.
  32.  
  33.  
  34. overwriteOld('Found end of TempStorage',_,[]):- !.
  35. overwriteOld('Writing next char',Stream2,[NextChar|RemainingTempStorage]):-
  36. write(Stream2,NextChar),
  37. overwriteOld(_,Stream2,RemainingTempStorage).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement