Jak deklarować struktury/funkcje we flexie/yaccu?

0

Hej!
Na stdin we flexie dostaję listę w postaci:
Imię, Nazwisko, liczba, liczba...;
Liczby oznaczają oceny. Moje zadanie polega na tym, że mam zsumować je i wyliczyć średnią arytmetyczną dla każdej osoby. Flex/ yacc są dla mnie nowymi technologiami, nie mam też doświadczenia z językiem C. Tutaj pojawiają się pytania: w jaki sposób mogę zadeklarować strukturę/ funkcję, która policzy mi tą średnią arytmetyczną - a dokładniej, czy mogę to zrobić w grupie definicji lub reguł czy też może dodatkowy kod w flexowym mainie powinien przetwarzać tokeny, tak bym na wyjściu dostał średnią? A może to yacc powinien dostarczyć funkcje, które to obsłużą?

1

Idea jest taka, że Flex to lekser a Yacc to parser.
Lekser wczytuje pojedncze tokeny (liczby w tym przypadku) i nic z nimi nie robi.
Parser powinien zgrupować je wszystkie i wypluć jakąś tablicę.
Dalsze przetwarzanie wczytanych danych powinno się odbywać poza lex/yacc.

Choć jak się uprzesz to w yaccu też się da policzyć tę średnią.

0

Sama idea z grubsza jest mi znana - zastanawiałem się po prostu, czy da się to zrobić w jakiś prosty sposób, o którym nie wiem z racji nie znajomości narzędzi. Wygląda na to, że ta funkcja musi być umieszczona w mainie i tam będę próbował przetwarzać te dane. Dziękuję za pomoc! :)

1

Używając flexa/yacca zwykle wszystkie definicje potrzebne (funkcje, struktury itp.) robiłem w osobnym pliku z własnym plikiem nagłówkowym, plik nagłówkowy dołączałęm, a potem normlanie linkowałem z moimi funkcjami...

1 użytkowników online, w tym zalogowanych: 0, gości: 1