diff --git a/Aufgabe4/UML_Aufgabe4.uxf b/Aufgabe4/UML_Aufgabe4.uxf new file mode 100644 index 0000000000000000000000000000000000000000..0f0ebad0d70c67e3aa475f210f9d7224b44f0827 --- /dev/null +++ b/Aufgabe4/UML_Aufgabe4.uxf @@ -0,0 +1,129 @@ +<diagram program="umletino" version="15.0.0"><zoom_level>8</zoom_level><help_text>Space for diagram notes</help_text><element><id>UMLClass</id><coordinates><x>360</x><y>248</y><w>80</w><h>64</h></coordinates><panel_attributes>/AbstractClass/ +Ast +- + +- ++ visit() : void +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>176</x><y>112</y><w>152</w><h>72</h></coordinates><panel_attributes>AstExpression +- ++ astExpression: AstExpression ++ astBinaryOp: AstBinaryOp ++ astValue: AstValue +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>80</x><y>232</y><w>152</w><h>72</h></coordinates><panel_attributes>AstBinaryOp +- ++ astExpression1: AstExpression ++ astExpression2: AstExpression ++ astOperator: AstOperator +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>80</x><y>352</y><w>152</w><h>72</h></coordinates><panel_attributes>AstValue +- ++ astNumber: AstNumber ++ astDecimal: AstDecimal ++ AstVariable: astVariable +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>240</x><y>432</y><w>96</w><h>48</h></coordinates><panel_attributes>AstVariable +- ++ astVariable: String +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>544</x><y>264</y><w>152</w><h>64</h></coordinates><panel_attributes>AstNumber +- ++ astDigitWoZ: astDigitWoZ ++ astDogots: ArrayList<AstDigit> +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>520</x><y>416</y><w>88</w><h>48</h></coordinates><panel_attributes>AstDigitWoZ +- ++ astDigitWoZ: int +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>360</x><y>448</y><w>136</w><h>64</h></coordinates><panel_attributes>AstDigit +- ++ astDigitWoZ: AstDigitWoZ ++ astDigit: Int +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>552</x><y>176</y><w>176</w><h>64</h></coordinates><panel_attributes>AstDecimal +- ++ astDigitbeforeComma: AstNumber ++ astDigitafterComma: AstNumber +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>408</x><y>128</y><w>120</w><h>48</h></coordinates><panel_attributes>AstOperator +- ++ astOperator: String +- ++ visit() : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>648</x><y>376</y><w>168</w><h>112</h></coordinates><panel_attributes>Evaluator +-- +- counter: float +- ++ setCounter(float) ++ visit (AstExpression) ++ visit (AstBinaryOp) ++ visit (AstValue) ++ visit (AstNumber) ++ visit (AstVariable)</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>264</x><y>552</y><w>200</w><h>88</h></coordinates><panel_attributes>Exceptions +-- +- message: String +- ++ ParserException(String): String ++ toString() : String ++ LexerException(): void ++ LexerException(String): void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>360</x><y>728</y><w>352</w><h>88</h></coordinates><panel_attributes>Lexer +-- + +-- ++ lex(String): ArrayList<Token> +- separateChars(String): ArrayList<String> +- buildSubstringsFromSeparatedChars(ArrayList<String>): ArrayList<String> +- constructTokenList(ArrayList<String>): ArrayList<Token></panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>16</x><y>696</y><w>304</w><h>160</h></coordinates><panel_attributes>Parser +-- + +-- ++ parse(tokenList: ArrayList<Token>): AstExpression +- parseAstExpression(tokenList: ArrayList<Token>): AstExpression +- parseBinaryOp(tokenList: ArrayList<Token>): AstBinaryOp +- parseOperator(operator: Token): AstOperator +- parseValue(valueTokens: ArrayList<Token>): AstValue +- parseVariable(valueTokens: ArrayList<Token>): AstVariable +- parseDecimal(valueTokens: ArrayList<Token>): AstDecimal +- parseNumber(valueTokens: ArrayList<Token>): AstNumber +- parseDigitWoZ(digitWoz: Token): AstDigitWoZ +- parseAstDigit(digit: Token): AstDigit +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>920</x><y>176</y><w>200</w><h>48</h></coordinates><panel_attributes>Plotter +-- ++ plot(ValuesToDraw) : void ++ createAndShowGUI(ValuesToDraw) : void +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>904</x><y>280</y><w>208</w><h>136</h></coordinates><panel_attributes>PlotterPanel +-- +- xCords : int[] +- yCords : int[] +- ZERO_POINT_Y : int +- ZERO_POINT_X : int +- valuesToDraw : ValuesToDraw +-- ++ PlotterPanel(ValuesToDraw) : constructor ++ getPreferredSize() : Dimension ++ paintComponent(Graphics) : void ++ drawLine(Graphics) : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>744</x><y>672</y><w>168</w><h>112</h></coordinates><panel_attributes>Token +-- +- tokenType: TokenType +- tokenString: String +-- ++ Token(TokenType, String) : constructor ++ getTokenType() : TokenType ++ setTokenType(TokenType) : void ++ getTokenString() : String ++ setTokenString(String) : void</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>784</x><y>552</y><w>80</w><h>72</h></coordinates><panel_attributes><<Enum>> +TokenType +-- +number +var +special</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>896</x><y>464</y><w>216</w><h>88</h></coordinates><panel_attributes>ValuesToDraw +-- +- xCordArrays: ArrayList<int[]> +- i: int +-- ++ ValuesToDraw(ArrayList<int[]>) : constructor ++ getXCords() : int[] ++ getYCords() : int[]</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>432</x><y>232</y><w>136</w><h>64</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>10;60;150;10</additional_attributes></element><element><id>Relation</id><coordinates><x>392</x><y>168</y><w>88</w><h>96</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>10;100;90;10</additional_attributes></element><element><id>Relation</id><coordinates><x>320</x><y>176</y><w>80</w><h>88</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>80;90;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>224</x><y>264</y><w>152</w><h>24</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>170;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>224</x><y>304</y><w>168</w><h>64</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>190;10;10;60</additional_attributes></element><element><id>Relation</id><coordinates><x>280</x><y>304</y><w>136</w><h>144</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>150;10;10;160</additional_attributes></element><element><id>Relation</id><coordinates><x>408</x><y>304</y><w>32</w><h>160</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>10;10;20;180</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>304</y><w>120</w><h>128</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>10;10;130;140</additional_attributes></element><element><id>Relation</id><coordinates><x>432</x><y>288</y><w>128</w><h>24</h></coordinates><panel_attributes>lt=<<<-</panel_attributes><additional_attributes>10;10;140;10</additional_attributes></element><element><id>UMLPackage</id><coordinates><x>0</x><y>56</y><w>1176</w><h>832</h></coordinates><panel_attributes>src +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>816</x><y>616</y><w>24</w><h>72</h></coordinates><panel_attributes>lt=<-</panel_attributes><additional_attributes>10;70;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>160</x><y>632</y><w>208</w><h>80</h></coordinates><panel_attributes><<throws>> +lt=<..</panel_attributes><additional_attributes>240;10;10;80</additional_attributes></element><element><id>Relation</id><coordinates><x>456</x><y>632</y><w>96</w><h>112</h></coordinates><panel_attributes><<throws>> +lt=<..</panel_attributes><additional_attributes>10;10;100;120</additional_attributes></element></diagram> \ No newline at end of file