Ich muss eine Textdatei einlesen und parsen.
In dieser können aber auch Kommentarzeilen stehen (mit -- eingeleitet,
wie in VHDL) und möchte diese daher nicht mit read(l, int_val, good)
einlesen, sondern schon vorher überspringen:
Ich habe daher folgenden Code geschrieben:
1 | function isntComment (l : line) return boolean is
|
2 | variable i : integer;
|
3 | variable gefunden : boolean := false; --nix gefunden
|
4 | begin
|
5 | for i in l'range loop
|
6 | if gefunden = false then
|
7 | if l(i) = '-' then gefunden := true;
|
8 | else gefunden := false;
|
9 | end if;
|
10 | else if l(i) = '-' then --2 '-' hintereinander gefunden
|
11 | return false; --ist Kommentar
|
12 | end if;
|
13 | end if;
|
14 | end loop;
|
15 |
|
16 | return true; --keine Kommentarzeile
|
17 |
|
18 | end function;
|
Ich bekomme aber als Felermeldung "Object of access type must be of
class variable." für die Titelzeile der Funktion.
Was habe ich falsch gemacht?