Skip to content

Commit b5ba6e4

Browse files
author
Oskar Lundström
committed
Tillämpade Eriks kommentarer på teori
1 parent d6d0074 commit b5ba6e4

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

Rapport/include/Teori.tex

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ \section{Domänspecifika språk}
1010
Ett domänspecifikt språk är ett språk som är avgränsat till en specifik domän.
1111
Nyckelorden är språk, specifik och domän. En domän är ett område, till exempel
1212
textformatering eller matlagning. Specifikt syftar det på att det är \textit{just
13-
detta} område fokus läggs på. Med språk menas ett sätt att uttrycka
13+
detta} område som fokus läggs på. Med språk menas ett sätt att uttrycka
1414
saker inom domänen. Svenska och Java är två exempel på språk.
1515

1616
Domänspecifika språk är vanligt förekommande i programmeringssammanhang. HTML är
@@ -22,7 +22,7 @@ \section{Domänspecifika språk}
2222
Domänspecifika språk används inte bara i programmering utan förekommer även i
2323
andra mer vardagliga sammanhang. Inom domänen matlagning är steka, grilla och
2424
fritera användbara ord. Likaså inom domänen ridning är grimma, box och galopp
25-
användbara ord. Befinner användaren sig inom domänen vet den vad som menas med grimma
25+
användbara ord. Är personen bekant med domänen vet den vad som menas med grimma
2626
och det är ett kort och väldefinierat sätt att uttrycka sig. Men detta språk (här
2727
i form av ord och begrepp) blir svårtolkat utanför domänen. Ett recept kan inte
2828
förklaras i termer av grimmor, boxar och galopper.
@@ -45,18 +45,17 @@ \section{Domänspecifika språk}
4545
utvecklats inom detta projekt är inbäddade i programmeringsspråket
4646
\textit{Haskell}. Haskell är ett lämpligt val eftersom det är enkelt att skapa
4747
datatyper som bygger upp det domänspecifika språket. Att Haskell är ett
48-
högnivåspråk är också en fördel då programmeraren slipper programmeringstekniska detaljer,
49-
till exempel minneshantering, och istället kan fokusera på programmets innehåll
50-
och betydelse. Slutligen gör dess mönstermatchning att de datatyper som utgör
48+
högnivåspråk är också en fördel då programmeraren slipper programmeringstekniska detaljer som
49+
minneshantering, och kan istället fokusera på programmets innehåll
50+
och betydelse. Slutligen möjliggör mönstermatchning att de datatyper som utgör
5151
det domänspecifika språket enkelt kan brytas isär och manipuleras.
5252

5353
För vidare läsning om domänspecifika språk rekommenderas \textit{DSL for the Uninitiated} \cite{DSLU}.
5454

5555
\section{Syntax, syntaxträd och semantik}\label{sec:syntax}
5656

5757
I samband med domänspecifika språk dyker begreppen \textit{syntax} och
58-
\textit{semantik} upp. Syntax är reglerna för hur enheter sammanslås
59-
, som ord, i språket till komplexa strukturer, som meningar och
58+
\textit{semantik} upp. Syntax är reglerna för hur enheter i språket, till exempel ord och skiljetecken, sammamslås till komplexa strukturer, som meningar och
6059
satser. Semantik är betydelsen av sådana komplexa strukturer i ett språk.
6160
Inom aritmetik\footnote{Aritmetik är
6261
den gren inom matematiken som behandlar räkning av tal.} är tal och
@@ -85,8 +84,10 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
8584

8685
Typen innehåller \textit{datakonstruktorer} för att representera
8786
\textit{löv} (ändpunkter) och \textit{förgreningar}. I detta exempel är
88-
\texttt{:+:} och \texttt{:*:} förgreningar. Med hjälp av dem kan summan respektive produkten av två andra uttryck uttryckas. Löven representeras av
89-
\texttt{Const}. Det är en konstant som ej kan byggas vidare på.
87+
\texttt{:+:} och \texttt{:*:} förgreningar. Med hjälp av dem kan summan respektive produkten av två andra uttryck uttryckas. Löven
88+
% Löfven
89+
representeras av
90+
\texttt{Const}, vilket är en konstant som ej kan byggas vidare på.
9091

9192
Med datakonstruktorerna kan uttryck representerade av syntaxträd konstrueras. Ett exempeluttryck
9293
från den tidigare datatypen visas i figur~\ref{fig:syntax_exempel_varde}, som visar hur det aritmetiska uttrycket $7 * (3

0 commit comments

Comments
 (0)