Skip to content

Commit

Permalink
Fix linebreaks in listings
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanschoeberl committed Jul 5, 2020
1 parent 9a719a5 commit 76ee794
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 12 deletions.
8 changes: 7 additions & 1 deletion back/miniJavaGrammatik.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
\chapter{MiniJava-Grammatik in ANTLR-Syntax}
\label{app:MiniJava-Grammatik}

\lstinputlisting{src/miniJavaGrammatik/MiniJava.g4}
\lstinputlisting[lastline=36]{src/miniJavaGrammatik/MiniJava.g4}

\pagebreak
\lstinputlisting[firstline=38, lastline=92, firstnumber=37]{src/miniJavaGrammatik/MiniJava.g4}

\pagebreak
\lstinputlisting[firstline=94, firstnumber=92]{src/miniJavaGrammatik/MiniJava.g4}
5 changes: 4 additions & 1 deletion chapters/javaScriptIntegration.tex
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,10 @@ \section{Objektverwaltung für MiniJava in JavaScript}

Nachfolgend wird der Quelltext für diese drei Methoden dargestellt:

\lstinputlisting{src/javaScriptIntegration/runtimeRefs.js}
\lstinputlisting[lastline=10]{src/javaScriptIntegration/runtimeRefs.js}

\pagebreak
\lstinputlisting[firstline=12, firstnumber=11]{src/javaScriptIntegration/runtimeRefs.js}

\section{Hilfsmethoden}

Expand Down
10 changes: 8 additions & 2 deletions chapters/technischeGrundlagen.tex
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,10 @@ \subsection{Kotlin}

\lstinputlisting[label = {lst:point-kotlin}, caption = {Die Klasse \lstinline{Point} in Kotlin}]{src/technischeGrundlagen/Point.kt}

\lstinputlisting[label = {lst:point-java}, caption = {Die Klasse \lstinline{Point} in Java. Konstruktor, \emph{Getter}, \emph{Setter}, \lstinline{hashCode}, \lstinline{equals} und \lstinline{toString} wurden von IntelliJ generiert.}]{src/technischeGrundlagen/Point.java}
\lstinputlisting[label = {lst:point-java}, caption = {Die Klasse \lstinline{Point} in Java. Konstruktor, \emph{Getter}, \emph{Setter}, \lstinline{hashCode}, \lstinline{equals} und \lstinline{toString} wurden von IntelliJ generiert.}, lastline=19]{src/technischeGrundlagen/Point.java}

\pagebreak
\lstinputlisting[firstline=22, firstnumber=20]{src/technischeGrundlagen/Point.java}

Kotlin bietet wie bereits erwähnt Absicherungen gegen \lstinline{NullPointerExceptions} zur Übersetzungszeit. Ein einfaches Beispiel dafür findet sich in Listing \ref{lst:npe-kotlin}.

Expand Down Expand Up @@ -334,7 +337,10 @@ \subsection{Rust}

Um Rust"=Quelltext im WebAssembly"=Umfeld verwenden zu können, sind einige Anpassungen im Quelltext notwendig. In Listing \ref{lst:rust-example} findet sich ein einfaches Beispiel (basierend auf der offiziellen Dokumentation \cite{RustWasmBook}), das die Interoperbilität zwischen Rust und JavaScript demonstrieren soll.

\lstinputlisting[label={lst:rust-example}, caption = {Rust"=Quelltext für WebAssembly angepasst}]{src/technischeGrundlagen/rustLib.rs}
\lstinputlisting[label={lst:rust-example}, caption = {Rust"=Quelltext für WebAssembly angepasst}, lastline=14]{src/technischeGrundlagen/rustLib.rs}

\pagebreak
\lstinputlisting[firstline=16, firstnumber=15]{src/technischeGrundlagen/rustLib.rs}

Zunächst muss die Speicherverwaltung konfiguriert werden. Dafür wird \lstinline{wee_alloc} (The Wasm"=Enabled, Elfin Allocator) eingesetzt. Dieser erzeugt besonders wenig WebAssembly"=Bytecode, laut offizieller Dokumentation unter einem Kilobyte und ist für WebAssembly ausgelegt \cite{WeeAlloc}.

Expand Down
3 changes: 0 additions & 3 deletions src/javaScriptIntegration/runtimeRefs.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ wasmRef(obj) {
}
}




wasmRefType(obj, type) {
if (obj !== null) {
this.types.set(obj, type);
Expand Down
3 changes: 0 additions & 3 deletions src/miniJavaGrammatik/MiniJava.g4
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ incompleteIfStatement: 'if' '(' condition=expr ')'
elsebranch=incompleteIfStatement # IncompleteIfElseStmt
;



completeStatement: 'if' '(' condition=expr ')'
thenbranch=completeStatement 'else'
elsebranch=completeStatement # CompleteIfElseStmt
Expand Down Expand Up @@ -93,7 +91,6 @@ SUB: '-';
MUL: '*';
DIV: '/';


TRUE: 'true';
FALSE: 'false';
NULL: 'null';
Expand Down
2 changes: 0 additions & 2 deletions src/technischeGrundlagen/rustLib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ pub struct Point {
y: u32,
}



#[wasm_bindgen]
impl Point {
pub fn new(x: u32, y: u32) -> Point {
Expand Down

0 comments on commit 76ee794

Please sign in to comment.