From 23bb488bb028acf936fa4c2fce03649802515eb6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 17 May 2010 16:18:42 +0000 Subject: c-pascal update (long ago) git-svn-id: svn://tug.org/texlive/trunk@18316 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/c-pascal/README.pol | 94 ++++++++++++++++++++++ Master/texmf-dist/doc/generic/c-pascal/demo2.tex | 41 ++++++++++ Master/texmf-dist/doc/generic/c-pascal/prog/fib.py | 27 +++++++ Master/texmf-dist/doc/generic/c-pascal/prog/sun.c | 2 +- Master/texmf-dist/doc/generic/c-pascal/readme.eng | 90 --------------------- Master/texmf-dist/doc/generic/c-pascal/readme.pol | 92 --------------------- 6 files changed, 163 insertions(+), 183 deletions(-) create mode 100644 Master/texmf-dist/doc/generic/c-pascal/README.pol create mode 100644 Master/texmf-dist/doc/generic/c-pascal/prog/fib.py delete mode 100644 Master/texmf-dist/doc/generic/c-pascal/readme.eng delete mode 100644 Master/texmf-dist/doc/generic/c-pascal/readme.pol (limited to 'Master/texmf-dist/doc/generic/c-pascal') diff --git a/Master/texmf-dist/doc/generic/c-pascal/README.pol b/Master/texmf-dist/doc/generic/c-pascal/README.pol new file mode 100644 index 00000000000..e86c9c47b9e --- /dev/null +++ b/Master/texmf-dist/doc/generic/c-pascal/README.pol @@ -0,0 +1,94 @@ +Polskie robaczki w standardzie ISO-Latin2. +======================================================================= + + CAP (C albo Pascal) --- makra do składu programów w C i Pascalu + +======================================================================= + + + Zawartość +----------- +Ten pakiet makr składa się z trzech plików: + cap_c.tex --- makra do składu programów w języku C + cap_pas.tex --- makra do składu programów w Pascalu + cap_comm.tex --- pomocnicze makra i deklaracje używane do składania + programów w obu językach; ten plik nie zawiera + żadnych makr pożytecznych dla użytkownika + + + Programy w C +-------------- +W pliku cap_c.tex znajdują się definicje dwóch makr: + + 1. \BeginC ... \EndC + Pomiędzy te komendy należy wstawić dowolny program źródłowy + w języku C. Treść programu zostanie sformatowana z wykorzystaniem + odpowiednich czcionek. Rozpoznawane są następujące elementy + programu: + * słowa kluczowe --- domyślnie wyróżniane są pogrubieniem + * teksty --- wszystko to, co wewnątrz apostrofów; domyślnie pochylone + * komentarze --- zarówno /*takie...*/ jak i //takie... , + ale nie zagnieżdżone; kursywa typewriter + * symbole --- operatory, nawiasy, itp.; typewriter + * dyrektywy kompilatora --- składane pochyloną czcionką typewriter + * identyfikatory --- wszystko, co nie jest żadnym z powyższych; + kursywa + Makro nie ingeruje w układ programu. Wcięcia są pozostawione takie, + jakie są w programie źródłowym. Podział na linie również nie jest + zmieniany. + UWAGA: W trakcie kompilacji makro \BeginC ... \EndC wczytuje cały + program do pamięci TeXa. Z tego powodu można spodziewać się kłopotów + składając tym makrem bardzo duży program. W mojej konfiguracji + (emTeX pod DOSem) wszystko działa bez zarzutu jeśli program jest + nie większy niż około 15KB. Jeśli NAPRAWDĘ konieczne jest wstawnienie + ogromnego programu bezpośrednio do pliku TeXowego, konieczny będzie + podział programu na mniejsze części, z których każda będzie ujęta + w komendy \BeginC ... \EndC. + + 2. \InputC{nazwapliku} + Wstawia program w języku C z pliku zewnętrznego. Program zostanie + sformatowany jak w poprzednim przypadku. Przypomnienie dla pracujących + pod DOSem: w nazwie pliku wszystkie wtyłciachy należy zastąpić + ciachami. + To makro nie nakłada ŻADNYCH ograniczeń na rozmiar programu --- czyta + wskazany plik linia po linii, więc nie grozi mu wyczerpanie pamięci. + +Lista słów kluczowych znajduje się w pliku cap_c.tex. Nie gwarantuję, że +jest kompletna, więc w razie potrzeby można ją poprawić. + + + Programy w Pascalu +-------------------- +Aby składać programy w Pascalu należy załączyć plik cap_pas.tex. Zawiera +on również dwa makra: + + 1. \BeginPascal ... \EndPascal + + 2. \InputPascal{nazwapliku} + +Działają one analogicznie. W przypadku \BeginPascal ... \EndPascal +obowiązują podobne ograniczenia na wielkość formatowanego programu. +W programie rozpoznawane są zarówno {takie} jak i (*takie*) komentarze. + +Lista słów kluczowych pochodzi z Pomocy Borland Delphi. W razie potrzeby +można ją zmodyfikować. + + + Wspólne +--------- +Czcionki używane do składania programów są zadeklarowane na początku +pliku cap_comm.tex. W razie potrzeby można je łatwo przedefiniować. +Osoby używające czcionek PL zamiast CM będą musiały zmodyfikować dwie +linie w tym pliku. Są one wyraźnie zaznaczone. + + + Uwaga +------- +Jeśli modyfikujesz któryś z plików, zaznacz wyraźnie swoje zmiany. Nie +chcę brać odpowiedzialności na modyfikacje wprowadzone przez innych. + + +------------ + + Michał Gulczyński + mgulcz@we.tuniv.szczecin.pl diff --git a/Master/texmf-dist/doc/generic/c-pascal/demo2.tex b/Master/texmf-dist/doc/generic/c-pascal/demo2.tex index bd26d89b713..548ef8ee21b 100644 --- a/Master/texmf-dist/doc/generic/c-pascal/demo2.tex +++ b/Master/texmf-dist/doc/generic/c-pascal/demo2.tex @@ -1,4 +1,18 @@ \input cap +\let\IdentifierColor=\Black +\let\KeywordColor=\MidnightBlue +\let\SpecialColor=\Black +\let\SymbolColor=\Black +\let\CommentColor=\Gray +\let\TextColor=\ForestGreen +\let\DirectiveColor=\Tan +\SpaceSkip=1.3ex + +% Just for fun, you can use a cyrillic font for identifiers +% Of course, any font can be changed just like in the non-color +% version of cap. +%\font\cirm=wncyi10\let\IdentifierFont=\cirm + A short program in C. It was inserted directly into the \TeX\ source file. @@ -46,4 +60,31 @@ This one was imported from another file. \medskip \InputPascal{prog/guess.pas} +\vfill\eject + +And now, my latest addition: programs written in Python. The first one +is typed directly into the file. + +\medskip +\BeginPython +def fib(n): + """Calculates Fibonacci series. + + It returns the first member of Fibonacci series larger than n""" + a,b=1,1 + while b <= n: + a,b = b,a+b # see how we use multiple assignment? + return b + +fib(10) +\EndPython + +\hrule +\bigskip + +This one was imported from another file. + +\medskip +\InputPython{prog/fib.py} + \bye diff --git a/Master/texmf-dist/doc/generic/c-pascal/prog/fib.py b/Master/texmf-dist/doc/generic/c-pascal/prog/fib.py new file mode 100644 index 00000000000..3c0bc3d8a23 --- /dev/null +++ b/Master/texmf-dist/doc/generic/c-pascal/prog/fib.py @@ -0,0 +1,27 @@ +# Just a little test program +from sys import stderr + +class FibSeries: + """Returns all the elements of Fibonacci series up to a given number. + + Requires one parameter (the number we're going up to).""" + + + def __init__(self,number): + self.series=[1,1] + a,b=1,1 + + while b