Prettyprint - Prettyprint
Pěkný tisk (nebo pěkný tisk) je aplikace kteréhokoli z různých stylistických stylů formátování konvence pro textové soubory, jako zdrojový kód, označení a podobné druhy obsahu. Tyto konvence formátování mohou zahrnovat dodržování styl odsazení pomocí jiné barvy a písma až zvýraznit syntaktické prvky zdrojového kódu nebo úpravou velikosti, aby byl obsah pro lidi snáze čitelný a srozumitelný. Někdy se nazývají hezké tiskárny pro zdrojový kód zkrášlovače kódu.
Hezká matematika

Pěkný tisk obvykle označuje zobrazení matematické výrazy podobné tomu, jak by byli vysázet profesionálně. Například v systémy počítačové algebry jako Maxima nebo Mathematica systém může zapisovat výstup jako „x ^ 2 + 3 * x" tak jako "". Nějaký grafické kalkulačky, tak jako Řada Casio 9860, Řada HP-49, TI-84 Plus, TI-89, a TI-Nspire, TI-83 Plus s PrettyPt[1] doplněk nebo TI-84 Plus se stejným doplňkem nebo operačním systémem "MathPrint", může provádět pěkný tisk. Řada novějších vědeckých kalkulaček je navíc vybavena jehličkovými obrazovkami schopnými pěkného tisku, jako je řada Casio FX-ES (Natural Display), Řada Sharp EL-W (WriteView), HP SmartCalc 300s, a TI-30XB.
Mnoho programů pro formátování textu může také sázet matematiku: TeX byl vyvinut speciálně pro vysoce kvalitní matematiku sazba.
Pěkný tisk značek a kód založený na značkách

Pěkný tisk v instancích značkovacího jazyka je nejčastěji spojen s odsazení značek a obsahu řetězce k vizuálnímu určení hierarchie a vnoření. Ačkoli se syntaktické struktury jazyků založených na značkách významně neliší, odsazení se může významně lišit kvůli interpretaci značkovacího jazyka nebo kvůli údajům, které popisuje.
v MathML, prázdné znaky neodráží data, význam nebo syntaxi nad rámec toho, co vyžaduje XML syntax. v HTML, mezery mezi značkami jsou považovány za text a jsou analyzovány jako textové uzly do analyzovaného výsledku.[2] Zatímco na dokument MathML lze velkoryse použít odsazení, je třeba věnovat dostatečnou pozornost pečlivému tisku dokumentu HTML, aby se zajistilo, že další textové uzly nebudou vytvořeny nebo zničeny v obecné blízkosti obsahu nebo prvků tagu odrážejícího obsah. Tento rozdíl ve složitosti není z hlediska automatizované operace hezkého tisku, kde nejsou nutná žádná speciální pravidla nebo okrajové případy, triviální, jako v jednodušším příkladu MathML. Příklad HTML může vyžadovat řadu progresivních vzájemně propojených algoritmů, které zohlední různé vzory prvků značky a obsahu, který odpovídá jednotnému stylu a je konzistentní v aplikaci napříč různými instancemi, jak dokládá markup.ts[3] aplikační komponenta použitá ke zkrášlení HTML, XML a souvisejících technologií pro Docela rozdíl nářadí.
Programování formátování kódu
Programátoři k formátování často používají nástroje programovací jazyk zdrojový kód konkrétním způsobem. Správné formátování kódu usnadňuje čtení a porozumění. Různí programátoři často upřednostňují různé styly formátování, například použití kódu odsazení a mezery nebo umístění rovnátka. Formátor kódu převádí zdrojový kód z jednoho stylu formátu na jiný. To je relativně jednoduché kvůli jednoznačné syntaxi programovacích jazyků. Zkrášlování kódu zahrnuje analýzu zdrojového kódu do struktur komponent, jako jsou příkazy přiřazení, -li bloky, smyčky atd. (viz také regulační tok ) a jejich formátování způsobem určeným uživatelem v konfiguračním souboru.
Zkrášlovače kódu existují jako samostatné aplikace a jsou součástí textové editory a integrovaná vývojová prostředí. Například, Emacs „různé jazykové režimy mohou správně Odrážka bloky kódu atraktivně.[4]
HTML
Lisp hezká tiskárna
Časný příklad hezkého tisku byl Bill Gosper „GRINDEF“ (tj. 'funkce grind') (C. 1967), který používal kombinatorické vyhledávání s prořezáváním do formátu LISP programy. Rané verze fungovaly na spustitelné (struktuře seznamu) formě programu Lisp a zapomínaly na speciální významy různých funkcí. Novější verze měly speciální konvence pro čtení pro začlenění nespustitelných komentářů a také pro uchování číst makra v neexpandované formě. Také povolili speciální konvence odsazení pro speciální funkce, jako je -li
.[5][6] Termín „grind“ byl v některých kruzích Lisp používán jako synonymum pro hezký tisk.[7]
Pravidla stylu projektu
Mnoho projektů s otevřeným zdrojovým kódem zavedlo pravidla pro rozložení kódu. Nejtypičtější je formátování GNU[8] a styl BSD.[9] Největším rozdílem mezi těmito dvěma je umístění složených závorek: ve stylu GNU jsou otevírací a zavírací závorky samy o sobě na řádcích se stejnou odrážkou. Styl BSD umístí úvodní závorku na konec předchozího řádku a za závorky může následovat jiný. Liší se také velikost odsazení a umístění mezer.
Příklad formátování a zkrášlování kódu
Následující příklad ukazuje některé typické struktury C a to, jak různé styl odsazení pravidla je formátují. Bez jakéhokoli formátování to vypadá takto:
int foo(int k){-li(k<1||k>2){printf("mimo dosah n");printf("tato funkce vyžaduje hodnotu 1 nebo 2 n");}jiný{printf("Přepínání n");přepínač(k){případ 1:printf("1 n");přestávka;případ2:printf("2 n");přestávka;}}}
The GNU program odsazení vytvoří následující výstup, když bude požádán o odsazení podle Pravidla GNU:
intfoo (int k){ -li (k < 1 || k > 2) { printf ("mimo dosah n"); printf ("tato funkce vyžaduje hodnotu 1 nebo 2 n"); } jiný { printf ("Přepínání n"); přepínač (k) { případ 1: printf ("1 n"); přestávka; případ 2: printf ("2 n"); přestávka; } }}
Produkuje tento výstup při formátování podle pravidel BSD:
intfoo(int k) { -li (k < 1 || k > 2) { printf("mimo dosah n"); printf("tato funkce vyžaduje hodnotu 1 nebo 2 n"); } jiný { printf("Přepínání n"); přepínač (k) { případ 1: printf("1 n"); přestávka; případ 2: printf("2 n"); přestávka; } }}
Viz také
Související pojmy
- Elastický tabstop, rys některých editorů zdrojového kódu, který detekuje a udržuje zarovnané odsazení
- Minifikace, čímž je zdrojový kód kompaktní, i když je pro člověka těžší pochopit
- Zmatek, vědomě způsobující, že zdrojový kód je pro člověka velmi obtížně pochopitelný, i když je poněkud spletitý
Utility
- rukopis, převaděč textu na PostScript s funkcemi pěkného tisku
- Odrážka, hezká tiskárna pro kód C a C ++, dodávaná s Unixem
- Docela rozdíl, webová aplikace pro porovnávání dat s pěknými funkcemi tisku
Reference
- ^ PrettyPt
- ^ Baron, L. David. „Mezery v DOM“. Mozilla Developer Network. Citováno 2012-08-27.
- ^ markup.ts
- ^ Stallman, Richard M. „Odsazení pro programy“. Manuál GNU Emacs. Free Software Foundation. Citováno 2011-10-20.
- ^ Ira Goldstein, „Pretty Printing: Converting List to Linear Structure“, Memorandum o umělé inteligenci 279, Massachusetts Institute of Technology, únor 1973. celý text
- ^ Richard C. Waters, „Používání nové běžné tiskárny Lisp pretty“, ACM SIGPLAN Lisp Ukazatele 5: 2: 27–34, duben – èerven 1992. celý text
- ^ Soubor žargonu, s.v. broušení
- ^ GNU styl
- ^ BSD styl
externí odkazy
- Algoritmus 268: ALGOL 60 editor referenčních jazyků William M. McKeeman: Komun. ACM 8 (11): 667-668 (1965)
- mlít, Komplexní síť archivu TEX
- NEATER2: přeformátovač zdrojového prohlášení PL / I Kenneth Conrow, Ronald G. Smith: Komun. ACM 13 (11): 669-675 (1970)
- SOAP - Zjednodušte temné programy Algol R. S. Scowen, D. Allin, A. L. Hillman, M. Shimell: Zpráva ústřední počítačové jednotky National Physical Laboratory CCU6 (Duben 1969) Zahrnuje formátovaný seznam zdrojového kódu SOAP.
- SOAP - Program, který dokumentuje a upravuje programy ALGOL 60. R. S. Scowen, D. Allin, A. L. Hillman, M. Shimell: Výpočet. J. 14 (2): 133-135 (1971)
- Originální zdrojový kód SOAP z KDF9 (neformátovaný)
- Uživatelská příručka SOAP. (pro Edinburgh IMP ) Peter Salkeld Robertson (1976)
- Zdrojový kód SOAP v / pro IMP9
- Soap80: Program pro formátování zdrojových programů IMP80. J.M.Murison, Edinburgh Regional Computer Center (1980)
- Zdrojový kód SOAP v / pro IMP80 E. N. Gregory, University of Kent v Canterbury; Peter D. Stephens, Edinburgh Regional Computer Center
- PRETTYP.PAS Brzy pascal prettyprinter. Ledgard a kol.
- Pascal se stylem (1979)
- styl (9) Pokyny pro styl FreeBSD
- vgrind „Projekt [Unix] Dědictví
- Formátování zdrojového kódu Pokyny pro styl GNU