[
  {"type":"CommentSingle","value":"*\u0026---------------------------------------------------------------------*"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026 Report  /WUE/AUFGABE_PRIMZAHL"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026---------------------------------------------------------------------*"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026 Anmerkung: um bei einer Zahl entscheiden zu können, ob diese eine Primzahl ist,"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026            genügt es die Primzahlen zu prüfen die kleiner gleich der Würzel der Zahl sind"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"*\u0026---------------------------------------------------------------------*"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"REPORT"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"/"},
  {"type":"NameVariable","value":"wue"},
  {"type":"Punctuation","value":"/"},
  {"type":"NameVariable","value":"aufgabe_primzahl"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n\n"},
  {"type":"Keyword","value":"PARAMETERS"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"p_range"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"TYPE "},
  {"type":"NameVariable","value":"i"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n"},
  {"type":"CommentSingle","value":"\"Tabelle in der alle gefundenen Primzahlen gespeichert werden, die kleiner gleich\n\"der Würzel der eingegebenen Zahl sind\n"},
  {"type":"Keyword","value":"DATA"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"gt_prim_num"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"TYPE TABLE OF"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"i"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n"},
  {"type":"CommentSingle","value":"\"Diese Variable dient dazu, alle Zahlen \u003c= der eingegebenen Zahl und \u003e= 2 aufzustellen\n"},
  {"type":"Keyword","value":"DATA"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_number"},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"TYPE "},
  {"type":"NameVariable","value":"i"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"VALUE"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"1"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n"},
  {"type":"CommentSingle","value":"\"Diese Variable dient dazu, zu sagen, ob die aktuelle g_number eine Primzahl ist oder nicht\n"},
  {"type":"Keyword","value":"DATA"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_is_prime"},
  {"type":"Text","value":"  "},
  {"type":"Keyword","value":"TYPE "},
  {"type":"NameVariable","value":"abap_bool"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n"},
  {"type":"CommentSingle","value":"\"mit sqrt( zahl1 ) kann die Quadratwurzel der Zahl1 berechnet werden\n"},
  {"type":"Keyword","value":"DATA"},
  {"type":"Punctuation","value":"("},
  {"type":"NameVariable","value":"g_sqrt_range"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"sqrt"},
  {"type":"Punctuation","value":"("},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"p_range"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":")."},
  {"type":"Text","value":"\n\n\n\n"},
  {"type":"CommentSingle","value":"\"da die zu prüfenden Zahlen bei der 2 beginnend durch Addition von 1 aufgestellt werden\n\"muss die Schleife lediglich p_range - 1 male durchlaufen werden\n"},
  {"type":"Keyword","value":"DO"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"p_range"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"-"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"TIMES"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n  "},
  {"type":"CommentSingle","value":"\"zählt die zu prüfende Zahlen hoch\n"},
  {"type":"Text","value":"  "},
  {"type":"Keyword","value":"ADD"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"TO"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_number"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n  "},
  {"type":"CommentSingle","value":"\"grundsätzlich wird solange, bis es nicht widerlegt ist angenommen, dass g_number eine Primzahl ist\n"},
  {"type":"Text","value":"  "},
  {"type":"NameVariable","value":"g_is_prime"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"abap_true"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n  "},
  {"type":"CommentSingle","value":"\"Jede Zahl die in der Tabelle gt_prim_num enthalten ist wird geprüft, ob g_number durch diese ohne Rest teilbar ist\n"},
  {"type":"Text","value":"  "},
  {"type":"Keyword","value":"LOOP AT "},
  {"type":"NameVariable","value":"gt_prim_num"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"ASSIGNING"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"FIELD"},
  {"type":"Operator","value":"-"},
  {"type":"NameVariable","value":"SYMBOL"},
  {"type":"Punctuation","value":"("},
  {"type":"NameVariable","value":"\u003cg_prim\u003e"},
  {"type":"Punctuation","value":")."},
  {"type":"Text","value":"\n\n    "},
  {"type":"CommentSingle","value":"\"Durch Zahl1 MOD Zahl2 kann der Rest, der bei Zahl1 / Zahl2 herauskommt ermittelt werden\n"},
  {"type":"Text","value":"    "},
  {"type":"CommentSingle","value":"\"Sobald dieser bei g_number / \u003cg_prim\u003e 0 ist, handelt es sich bei g_number um keine Primzahl und somit muss diese nicht\n"},
  {"type":"Text","value":"    "},
  {"type":"CommentSingle","value":"\"weiter überprüft werden, folglich kann die Loop-Schleife mit EXIT verlassen werden\n"},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"IF"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_number"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"MOD"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"\u003cg_prim\u003e"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"LiteralNumberInteger","value":"0"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n      "},
  {"type":"NameVariable","value":"g_is_prime"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"abap_false"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n      "},
  {"type":"Keyword","value":"EXIT"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n    "},
  {"type":"Keyword","value":"ENDIF"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n  "},
  {"type":"Keyword","value":"ENDLOOP"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n  "},
  {"type":"CommentSingle","value":"\"Wenn nicht widerlegt werden konnte, dass g_number eine Primzahl ist, wird diese ausgegeben\n"},
  {"type":"Text","value":"  "},
  {"type":"Keyword","value":"IF"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_is_prime"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"abap_true"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n    "},
  {"type":"CommentSingle","value":"\"Wenn die neu gefundene Primzahl \u003c= g_sqrt_range, wird diese in die Tabelle gt_prim_num eingefügt (Erklärung siehe Anmerkung)\n"},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"IF"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_number"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003c="},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_sqrt_range"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n      "},
  {"type":"Keyword","value":"INSERT"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_number"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"INTO"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"TABLE"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"gt_prim_num"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n    "},
  {"type":"Keyword","value":"ENDIF"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n    "},
  {"type":"Keyword","value":"WRITE"},
  {"type":"Text","value":" "},
  {"type":"NameVariable","value":"g_number"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n  "},
  {"type":"Keyword","value":"ENDIF"},
  {"type":"Punctuation","value":"."},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"ENDDO"},
  {"type":"Punctuation","value":"."}
]