Syntaksfremhævning

// kommentar int main () { for ( int i = 0 ; i < MAX ; i ++ ) printf ( "%d \n " , i ); returnere 0 ; } C -kode med syntaksfremhævning

Syntaksfremhævning  - fremhæver de syntaktiske konstruktioner af teksten ved hjælp af forskellige farver , skrifttyper og stilarter. Normalt bruges til at lette læsning af kildeteksten til computerprogrammer, forbedre visuel opfattelse. Syntaksfremhævning er en vigtig funktion i teksteditorer , udviklingsmiljøer , debuggere og andre softwareudviklingsværktøjer. Syntaksfremhævning bruges også ved udgivelse af kildekoder på internettet og på papir.

Princip

Syntaksfremhævning i kildeteksten for programmeringssprogs højdepunkter:

  • sprogkonstruktioner;
  • kommentarer
  • numeriske og strenge data

Mere avancerede syntaksfremhævningssystemer fremhæver også:

  • variabler
  • parenteser
  • standard sprogfunktioner

Mange teksteditorer og udviklingsmiljøer har også den funktion at fremhæve parrede parenteser under markøren: Når tekstmarkøren nærmer sig en parentes, fremhæves både parentesen ved siden af, som markøren er placeret, og parret til den.

Syntaksfremhævning giver dig udover læsbarheden også mulighed for at undgå syntaktiske fejl: forkert stavning af sprogkonstruktioner, ulukkede citater osv. Der kan også være fremhævelse af åbenlyst forkert kode: for eksempel uparrede parenteser eller ugyldige tegn uden for citerede strengdata.

Historie

Live Parsing Editor ( LEXX eller LPEX ) på VM , skrevet til 1985 digitaliseringen af ​​Oxford Dictionary , var en af ​​de første redaktører med syntaksfremhævning [1] .

Eksempler

C - kodestykkerne sammenlignes nedenfor :

normalt display med syntaksfremhævning
/* Hej Verden */ #include <stdlib.h> #include <stdio.h> int main() { printf("Hej verden\n"); returnere 0; } /* Hej Verden */ #include <stdlib.h> #include <stdio.h> int main () { printf ( "Hej verden \n " ); returnere 0 ; }

Og her er et andet eksempel på syntaksfremhævning: allerede i C++-kode :

// Opret "window_count" vinduesobjekter: 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 dette eksempel genkender editoren nøgleordene auto , const, intog for; kommentarerne i begyndelsen er også fremhævet på en særlig måde for at skelne dem fra den faktiske kode.

Se også

  • Indrykningsstil
  • Colorer  er et syntaksfremhævningsbibliotek til programkildetekster i en teksteditor, udviklet af Igor Russkikh.
  • Pygments - Python - syntaksfremhævningsbibliotek
  • Scintilla er en open source-redigeringskomponent (inklusive syntaksfremhævning) til Microsoft Windows og Linux med GTK+ udviklet af Neil Hodgson
  • SynEdit - open source multi-line redigeringskomponent til Delphi, Kylix, C++ Builder; udvikling understøttes ikke længere.

Noter

  1. LEXX - En programmerbar struktureret editor . Hentet 30. januar 2008. Arkiveret fra originalen 25. marts 2009.

Links

  • Code2HTML  (engelsk) . - Konverter fra kildekoder til HTML med fremhævning. Hentet 22. november 2009. Arkiveret fra originalen 12. februar 2012.
  • syntaxhighlighter  (engelsk)  (downlink) . - syntaksfremhævning af koden på websiden. Hentet 22. november 2009. Arkiveret fra originalen 12. februar 2012.
  • highlight.js . - automatisk syntaksfremhævning på websider ved hjælp af JavaScript . Hentet 22. november 2009. Arkiveret fra originalen 12. februar 2012.