package de.fuberlin.projectF.CodeGenerator; import java.io.*; import de.fuberlin.projectF.CodeGenerator.model.Token; import de.fuberlin.projectF.CodeGenerator.model.TokenType; //Die Klasse StringLexer ist zuständig für das Parsen eines Strings in dem der //zu übersetzende LLVM Code enthalten ist. Sie erbt alle Funktionen vom Lexer public class StringLexer extends Lexer{ FileInputStream fstream; DataInputStream in; BufferedReader br; String[] code; int cursor; public StringLexer(String code, Debuginfo debug) { super(debug); this.code = code.split("\n"); this.cursor = 0; } public int close() { return 0; } //geht durch alle LLVM Zeilen und erzeugt die Token public Token getNextToken() { Token token; while (cursor < code.length) { String[] splitInformation = splitInformation(code[cursor]); if (splitInformation.length == 0) { cursor++; continue; } else { token = fillToken(splitInformation); cursor++; return token; } } token = new Token(); token.setType(TokenType.EOF); return token; } }