Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_prologens [2008/11/02 19:14]
miw
pl:miw:miw08_prologens [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== Opis ====== ====== Opis ======
 +__**Projekt zakończony**__
 +
 **Paweł Marek**, <​pmarek@student.agh.edu.pl>​ **Paweł Marek**, <​pmarek@student.agh.edu.pl>​
  
 ===== PrologEns ===== ===== PrologEns =====
 Kolorowanie składni języka Prolog dla [[http://​www.gnu.org/​software/​enscript/​|GNU Enscript]]. Kolorowanie składni języka Prolog dla [[http://​www.gnu.org/​software/​enscript/​|GNU Enscript]].
-Patrz realizacja dla [[prolog:​geshi_prolog|GeSHi]]. +Patrz realizacja dla [[pl:prolog:​geshi_prolog|GeSHi]].
- +
-====== Spotkania ====== +
- +
-===== 080408 ===== +
-przydzielenie projektu+
  
  
Linia 17: Linia 14:
  
  
 +prolog.st
 <​code>​ <​code>​
  /**  /**
Linia 114: Linia 112:
 Enscript konwertuje pliki tekstowe do formatu PostScript lub innego języka wyjściowego (HTML, RFT, ANSI). Program potrafi zapisać wynik swojego działania w pliku lub wysłać bezpośrednio do drukarki. Jeżeli podczas wywołania nie podano pliku wejściowego enscript przetwarza wejście standardowe (stdin). Enscript może być rozbudowywany do obsługi wielu mediów wyjściowych i posiada szereg opcji konfigurowalnych,​ które mogą być używane do dostosowywania wydruków do swoich potrzeb. ​ Enscript konwertuje pliki tekstowe do formatu PostScript lub innego języka wyjściowego (HTML, RFT, ANSI). Program potrafi zapisać wynik swojego działania w pliku lub wysłać bezpośrednio do drukarki. Jeżeli podczas wywołania nie podano pliku wejściowego enscript przetwarza wejście standardowe (stdin). Enscript może być rozbudowywany do obsługi wielu mediów wyjściowych i posiada szereg opcji konfigurowalnych,​ które mogą być używane do dostosowywania wydruków do swoich potrzeb. ​
 Jednym ze sposobów wykorzystania programu jest kolorowanie składni. Enscript w najnowszej swojej wersji 1.6.4 posiada obsługę kolorowania składni kilkudziesięciu języków, m.innymi: ADA95, C, C++, Delphi, Fortran, VHDL, HTML. Moim zadaniem było dopisać definicje kolorowania składni języka Prolog. ​ Jednym ze sposobów wykorzystania programu jest kolorowanie składni. Enscript w najnowszej swojej wersji 1.6.4 posiada obsługę kolorowania składni kilkudziesięciu języków, m.innymi: ADA95, C, C++, Delphi, Fortran, VHDL, HTML. Moim zadaniem było dopisać definicje kolorowania składni języka Prolog. ​
 +
  
 ==== 2. Highlighting rules ==== ==== 2. Highlighting rules ====
Linia 119: Linia 118:
  
 Aby sprawdzić jakie reguły podświetlania składni podsiada Enscript należy wydać polecenie: Aby sprawdzić jakie reguły podświetlania składni podsiada Enscript należy wydać polecenie:
 +<​code>​
 enscript --help-pretty-print enscript --help-pretty-print
 +</​code>​
 Wywołanie zwraca nazwę języków, krótkie opisy i autorów reguł. Wywołanie zwraca nazwę języków, krótkie opisy i autorów reguł.
  
Linia 128: Linia 127:
 ==== 3. Instalacja dodatku ==== ==== 3. Instalacja dodatku ====
 Instalacja reguł podświetlania składni Prologu polega na skopiowaniu pliku prolog.st do katalogu /​usr/​local/​share/​enscript/​hl gdzie znajdują się inne reguły. Program podczas działania sprawdza czy dane reguły są w katalogu i w razie problemów zgłasza błędy. Instalacja reguł podświetlania składni Prologu polega na skopiowaniu pliku prolog.st do katalogu /​usr/​local/​share/​enscript/​hl gdzie znajdują się inne reguły. Program podczas działania sprawdza czy dane reguły są w katalogu i w razie problemów zgłasza błędy.
 +
  
 ==== 4. Przykładowe użycie ==== ==== 4. Przykładowe użycie ====
 Aby skorzystać z podświetlania składni Prologu należy wydać polecenie: Aby skorzystać z podświetlania składni Prologu należy wydać polecenie:
 +<​code>​
 enscript nazwa_pliku -Eprolog --color --output=nazwa_pliku.ps enscript nazwa_pliku -Eprolog --color --output=nazwa_pliku.ps
 +</​code>​
 Opcja -E wskazuje jakie reguły podświetlania składni mają zostać użyte. Druga opcja --color włącza bogatsze wyniki o kolory (domyślnie wyniki są tylko pogrubiane). Ostatnia opcja --output sprawia iż wyniki zapisywane są w pliku o podanej po znaku równości nazwie. Opcja -E wskazuje jakie reguły podświetlania składni mają zostać użyte. Druga opcja --color włącza bogatsze wyniki o kolory (domyślnie wyniki są tylko pogrubiane). Ostatnia opcja --output sprawia iż wyniki zapisywane są w pliku o podanej po znaku równości nazwie.
 +
 +
  
 ==== 5. Testy ==== ==== 5. Testy ====
 +
 +Przykładowe wyniki. Plik wejściowy:
 +<​code>​
 +/*
 + * family.pl
 + * taken from Bratko, 3rd ed, ch.1, p.17
 + *
 + */
 + 
 +parent(pam,​bob).
 +parent(tom,​bob).
 +parent(tom,​liz).
 + 
 +female(pam).
 +female(liz).
 +female(pat).
 + 
 +male(tom).
 +male(bob).
 +male(jim).
 + 
 +mother(X,Y) :-
 + parent(X,​Y),​
 + female(X).
 + 
 +father(X,Y) :-
 + parent(X,​Y),​
 + male(X).
 +</​code>​
 +
 +Plik wynikowy:
 +
 {{:​pl:​miw:​prologens.gif|:​pl:​miw:​prologens.gif}} ​ {{:​pl:​miw:​prologens.gif|:​pl:​miw:​prologens.gif}} ​
 +
  
  
Linia 144: Linia 179:
  
 ====== Materiały ====== ====== Materiały ======
 +  * GNU Enscript Home Page [[http://​www.codento.com/​people/​mtr/​genscript/​]]
 +  * GNU Enscript Manual Page [[http://​www.codento.com/​people/​mtr/​genscript/​enscript.man.html]]
 +  * GNU Enscript v1.6.4 [[http://​www.iki.fi/​mtr/​genscript/​enscript-1.6.4.tar.gz]]
 +  * Writing New Highlighting Definitions in GNU Enscript ​
 +    [[http://​lavica.fesb.hr/​cgi-bin/​info2html?​(enscript)Writing%20New%20Highlighting%20Definitions]]
 +  * Output Languages in GNU Enscript
 +    [[http://​lavica.fesb.hr/​cgi-bin/​info2html?​(enscript)Output%20Languages]]
 +  * Guildelines for writing new highlighting rules for the GNU Enscript
 +    /​usr/​local/​share/​enscript/​hl/​enscript.st
 +
 +
 +
 +
 +
 +
pl/miw/miw08_prologens.1225649690.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0