Syntaxmarkering

// kommentar int main () { för ( int i = 0 ; i < MAX ; i ++ ) printf ( "%d \n " , i ); returnera 0 ; } C -kod med syntaxmarkering

Syntaxmarkering  - framhäver de syntaktiska konstruktionerna av texten med hjälp av olika färger , typsnitt och stilar. Används vanligtvis för att underlätta läsning av källtexten i datorprogram, förbättra visuell uppfattning. Syntaxmarkering är en viktig funktion i textredigerare , utvecklingsmiljöer , felsökningsverktyg och andra programvaruutvecklingsverktyg. Syntaxmarkering används också vid publicering av källkoder på Internet och på papper.

Princip

Syntaxmarkering i källtexten för programmeringsspråkens höjdpunkter:

  • språkkonstruktioner;
  • kommentarer
  • numeriska och strängdata

Mer avancerade syntaxmarkeringssystem lyfter också fram:

  • variabler
  • parentes
  • standardspråkfunktioner

Många textredigerare och utvecklingsmiljöer har också funktionen att markera parade parenteser under markören: när textmarkören närmar sig en parentes markeras både parentesen bredvid som markören är placerad och paret till den.

Syntaxmarkering, förutom läsbarhet, låter dig också undvika syntaktiska fel: felaktig stavning av språkkonstruktioner, oavslutna citattecken, etc. Det kan också finnas markering av uppenbart felaktig kod: till exempel oparade parenteser eller ogiltiga tecken utanför citerade strängdata.

Historik

Live Parsing Editor ( LEXX eller LPEX ) på VM , skriven för 1985 års digitalisering av Oxford Dictionary , var en av de första redaktörerna med syntaxmarkering [1] .

Exempel

C - kodavsnitten jämförs nedan :

normal display med syntaxmarkering
/* Hej världen */ #include <stdlib.h> #include <stdio.h> int main() { printf("Hej världen\n"); returnera 0; } /* Hej världen */ #include <stdlib.h> #include <stdio.h> int main () { printf ( "Hej världen \n " ); returnera 0 ; }

Och här är ett annat exempel på syntaxmarkering: redan i C++-kod :

// Skapa "window_count" fönsterobjekt: const auto window_count = int { 10 }; auto windows = std :: array < std :: shared_ptr < Window > , max_window_count > {}; for ( auto i = int { 0 } ; i < window_count ; ++ i ) { windows [ i ] = std :: make_shared < Window > (); }

I det här exemplet känner redigeraren igen nyckelorden auto , const, intoch for; kommentarerna i början är också markerade på ett speciellt sätt för att skilja dem från den faktiska koden.

Se även

  • Indrag stil
  • Colorer  är ett syntaxmarkeringsbibliotek för programkälltexter i en textredigerare, utvecklat av Igor Russkikh.
  • Pygments - Python - syntaxmarkeringsbibliotek
  • Scintilla är en redigeringskomponent med öppen källkod (inklusive syntaxmarkering) för Microsoft Windows och Linux med GTK+ utvecklad av Neil Hodgson
  • SynEdit - multi-line redigeringskomponent med öppen källkod för Delphi, Kylix, C++ Builder; utveckling stöds inte längre.

Anteckningar

  1. LEXX - En programmerbar strukturerad editor . Hämtad 30 januari 2008. Arkiverad från originalet 25 mars 2009.

Länkar

  • Code2HTML  (engelska) . - Konverterare från källkoder till HTML med markering. Hämtad 22 november 2009. Arkiverad från originalet 12 februari 2012.
  • syntaxhighlighter  (engelska)  (nedlänk) . - syntaxmarkering av koden på webbsidan. Hämtad 22 november 2009. Arkiverad från originalet 12 februari 2012.