Różnice

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

Odnośnik do tego porównania

pl:miw:miw08_prologens [2008/11/02 19:14]
miw
pl:miw:miw08_prologens [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Opis ====== 
-**Paweł Marek**, <​pmarek@student.agh.edu.pl>​ 
  
-===== PrologEns ===== 
-Kolorowanie składni języka Prolog dla [[http://​www.gnu.org/​software/​enscript/​|GNU Enscript]]. 
-Patrz realizacja dla [[prolog:​geshi_prolog|GeSHi]]. 
- 
-====== Spotkania ====== 
- 
-===== 080408 ===== 
-przydzielenie projektu 
- 
- 
-====== Projekt ====== 
- 
-Poniżej zamieszczam wyniki wykonania projektu kolorowania składni języka Prolog w GNU Enscript. 
- 
- 
-<​code>​ 
- /** 
- * Name: prolog 
- * Description:​ Prolog (PROgramming in LOGic) programming language. 
- * Author: Pawel Marek <​p.marek@student.agh.edu.pl>​ 
- */ 
- 
-state prolog extends HighlightEntry 
-{ 
-  /* Comments. */ 
-  /\/\*/ { 
-    comment_face (true); 
-    language_print ($0); 
-    call (c_comment);​ 
-    comment_face (false); 
-  } 
-  ​ 
-  /* Comments. */ 
-  /%/ { 
-    comment_face (true); 
-    language_print ($0); 
-    call (eat_one_line);​ 
-    comment_face (false); 
-  } 
-  ​ 
-  /* String constants. */ 
-  /'/ { 
-    string_face (true); 
-    language_print ($0); 
-    call (prol_string);​ 
-    string_face (false); 
-  } 
-  ​ 
-  /* String constants. */ 
-  /\"/ { 
-    string_face (true); 
-    language_print ($0); 
-    call (c_string); 
-    string_face (false); 
-  } 
-  ​ 
-  /* Symbols. */ 
-  /​+|-|*|\/​|\\\\|\^|<​|>​|=|~|:​|\.|,​|?​|@|#​|\$|&/​ { 
-    keyword_face (true); 
-    language_print ($0); 
-    keyword_face (false); 
-  }  
-  ​ 
-  /* Brackets. */ 
-  /​\[|\]|\(|\)/​ { 
-    function_name_face (true); 
-    language_print ($0); 
-    function_name_face (false); 
-  } 
-  ​ 
-  /* Predicates. */ 
-  /​([A-Z])([a-zA-Z0-9]*)/​ { 
-    bold (true); 
-    language_print ($0); 
-    bold (false); 
-  } 
-  ​ 
-  /* Numbers. */ 
-  /([0-9])/ { 
-    type_face (true); 
-    language_print ($0); 
-    type_face (false); 
-  } 
-} 
- 
- 
-state prol_string extends Highlight 
-{ 
-  /\\\\./ { 
-    language_print ($0); 
-  } 
-  /'/ { 
-    language_print ($0); 
-    return; 
-  } 
-} 
- 
- 
-/* 
-Local variables: 
-mode: c 
-End: 
-*/ 
-</​code>​ 
- 
- 
-====== Sprawozdanie ====== 
- 
- 
-==== 1. Enscript ==== 
-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. ​ 
- 
-==== 2. Highlighting rules ==== 
-Program po zainstalowaniu umieszcza swoje pliki konfiguracyjne w /​usr/​local/​share/​enscript. Zagłębiając się dalej w strukturze katalogów /​usr/​local/​share/​enscript/​hl znajdują się pliki z definicjami kolorowania składni poszczególnych języków. Między nimi znajduje się główny plik kolorowania składni enscript.st w którym znaleźć można wskazówki jak należy pisać nowe reguły. ​ 
- 
-Aby sprawdzić jakie reguły podświetlania składni podsiada Enscript należy wydać polecenie: 
- 
-enscript --help-pretty-print 
- 
-Wywołanie zwraca nazwę języków, krótkie opisy i autorów reguł. 
- 
-Z powodu braku dokumentacji GNU Enscript dotyczących reguł podświetlania składni podczas pisania projektu korzystałem praktycznie tylko z zaleceń zawartych w pliku enscript.st oraz z analizy istniejących już reguł dla innych języków. 
- 
-==== 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. 
- 
-==== 4. Przykładowe użycie ==== 
-Aby skorzystać z podświetlania składni Prologu należy wydać polecenie: 
- 
-enscript nazwa_pliku -Eprolog --color --output=nazwa_pliku.ps 
- 
-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 ==== 
-{{:​pl:​miw:​prologens.gif|:​pl:​miw:​prologens.gif}} ​ 
- 
- 
- 
- 
- 
-====== Materiały ====== 
pl/miw/miw08_prologens.txt · ostatnio zmienione: 2019/06/27 15:50 (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