Syntaksfarvning

Fra HTX Arduino
Spring til navigation Spring til søgning

Syntaks er at koden skal skrives på en bestemt måde, og hvis koden ikke følger den måde det skal skrives på (syntaksen), så kan koden ikke forstås (den kan ikke oversættes eller afvikles).

For at understøtte at man skriver koden i den rigtige syntaks, så kan man farve forskellige dele af koden i forskellige farver.

Syntaksen i forskellige sprog er naturligvis forskellig, ellers ville der jo ikke være forskellige sprog, og der er også forskel på hvordan editorer farver syntaksen (man kan endda ændre farverne i nogle editorer).

Omtale af at kopiere kode med syntaksfarvning

Her er lidt omtale af syntaksfarvning og praktiske hints til hvordan man får det over i word.


Direkte link (8:09)

Syntaksfarvning i arbejdet med editoren

Forskellige editorer anvender syntaksfarvning lidt forskelligt, hvor nogle editorer kun får markeret den grundlæggende syntaks, altså hvad kan der stå på dette sted i koden - er det inde i en tekst-streng eller uden for. Det giver selvfølgelig noget hjælp til at kode. Andre editorer går tættere på det aktuelle sprog, og slår reserverede ord op, så man får en farve-indikation om man har stavet korrekt når man anvender de indbyggede funktioner. Dette hænger tit sammen med at editoren kan lave autocomplete, der gør at man kun skal skrive den første del af et reserveret ord, hvorefter editoren (på forskellig vis) foreslår hvad der skal stå, så man på enkel vis kan vælge det foreslåede.

Syntaksfarvning til dokumentation

Umiddelbart er det let at tage et screenshot af koden og sætte det ind i dokumentationen, det er der dog visse ulemper ved. Dels er kvaliteten af skærmvisningen sjældent god nok til udskrift, så man får en pixeleret udskrift, og det bliver kun godt hvis man forstørrer teksten og og scalerer det ned, men det betyder så at man ikke kan få så meget kode med.

Alternativt kan man i de fleste editorer få syntaksfarvningen med ved enten at kopiere som RTF-format, der er et format Word kan acceptere når man sætter ind. Andre editorer kan kopiere til HTML, hvor det fra nogle editorer kan kopieres direkte ind i Word, mens det for andre editorer skal gemmes som HTML-kode og vises i en browser for at kunne sætte den syntaksfarvede kode ind. Se evt. videoen for konkrete forskelle i nogle meget bruget editorer.

Fordelen ved at kopiere som tekst er at man kan rette på skrift-størrelsen uden at det lider kvalitetstab, samt at man kan kopiere en hel kildekode til fx et bilag, hvor den så selv kan styre sideopdeling, det er besværligt med billeder.

Syntaksfarvning i Wikien

De ting der skrives her i wikien kan også syntaksfarves, hvis det er skrevet i et kendt sprog.

Langt de fleste gængse sprog kan lave syntaks-farvning, dog med undtagelse af JAL, der også kan betragtes som et mindre og ret perifert sprog.

For at angive syntaksfarvning skrives f.x. følgende i wiki-koden:

<source lang="javascript">
for (i=0; i < 8; i++) {
  document.write("Dette er en test");
}
</source>

Det giver følgende resultat:

for (i=0; i < 8; i++) {
  document.write("Dette er en test");
}

Syntaksfarvning af forskellige sprog

Herunder er der givet eksempler på hvordan forskellige editorer laver forskellig syntaksfarvning

Syntaks i Arduino

Det viste eksempel er skrevet i Arduinos IDE 1.6.6:

Syntaksfarvning i Arduino

Det kan trækkes over i dokumentationen som billeder, men det er bedre at kopiere det som tekst med syntaksfarvning.

I den nye version af IDE'et (testet på IDE 2.0.2) er det meget simpel at få syntaksfarvning med. Her markeres blot og kopieres simpelt med Ctrl-C og ved at sætte ind med Ctrl-V fås syntaksfarvningen med over i word.

I Arduinoens gamle IDE er det lidt kompliceret at få det med, men ved at gå en genvej (eller nok nærmere en omvej) kan det lade sig gøre:

  • Marker det man ønsker at kopiere over (fx. Ctrl-A for at kopiere det hele)
  • Kopier som HTML (Rediger - Kopier som HTML eller Ctrl-Alt-C)
  • Sæt det ind i en tekst-editor (notepad eller notepad++)
  • Gem det som en HTML-fil
  • Åben HTML-filen i en browser
  • Marker alt og kopier (Ctrl-A, Ctrl-C)
  • Sæt ind i Word

Syntaks i HTML og javaScript fra NetBeans

Det viste eksempel er skrevet i NetBeans editoren med HTML-kode og javaScript:

syntaks-farvning af HTML og javaScript kode

Syntaks i Processing

Det viste eksempel er skrevet i Processing C:

syntaks-farvning af Processing C-kode

Syntaks i JAL

Det viste eksempel er skrevet i JALEdit:

syntaks-farvning af JAL kode

Billedet herover viser et tilfældigt kode-udsnit i JAL.

  • De blå dele er specielle definitioner
  • Almindelig sort tekst er den almindelige kode
  • De fede sorte tekster er reserverede ord i JAL
  • De grønne tekster er kommentarer
  • De røde dele er tal og konstanter
  • Der findes også brunlig farvning, der er tekster (ikke vist her)
Programmering
Programmeringsbegreber Initialisering - Sekvens - Algoritme - Hexadecimal - Det Binære Talsystem - HEX-fil - ASCII - Interrupt - Events - Styresystem - Autocomplete - Selvstudie Programmering - Hour Of Code - Stepwise Improvement - Syntaks - Prog-links - Microcontroller
Grundlæggende C C float - C double - C-løkker - Datatyper - Konstanter - Regnearter - Funktioner - Return - Returværdi - Rekursion - Semikolon
Variabel Typer boolean - byte - int - unsigned int - word - long - unsigned long - short - float - double - char - unsigned char - string - char array - String - object - Array - 2-dimensionelt Array - void
Program-klassikere Polling - State-machine - Trykknap - Forkant - Bagkant - Prel
Arduino Arduino til Programmering - C til Arduino - Programmering Shield - Arduino PC-software - Arduino Udviklingsmiljø - Arduino Pin Library - Funktion - Arduino Seriel - Arduino String - Arduino String Split - Arduino StateChangeDetection - setup() - loop() - Compilerdirektiver - Asynkron kommunikation - millis() - micros() - Scratch for Arduino - Send fra Arduino til Excel - [[]] - [[]]
Processing Grafik i Processing‎ - Keyboard i Processing - Mus i Processing‎ - Tid i Processing‎ - Draw() - Setup() - Tal Input til Processing - Syntaksfarvning - Kommunikation fra Arduino til Processing - Kommunikation fra Processing til Arduino
javaScript Javascript input‎ - Javascript output‎ - Javascript strukturer‎ - Javascript syntaks‎ - Tid i javaScript - Objekt‎ - AJAX
Serverprogrammering PHP - MySQL - Task Scheduler - WeMOS
PIC JAL - [[]]
Scratch for Arduino S4A Installation - S4A programmering - S4A undervisningsforløb - S4A begrænsninger
Program Dokumentation Algoritme - Flowchart - Pseudokode - Datastruktur - Dataabstraktion - Pulsplaner - Program-kommentar - Teori - Test - UML