5. Report contents / Зміст звіту
The report is submitted together with the source code. It must contain the following sections.
- Title block — course, laboratory work number and title, student’s name and group, date.
- Objective — a short statement of the goal of the work (see 1purpose.md).
- Brief theory — what a finite state machine is (states, alphabet, transitions, start and accepting states), in your own words (see Lecture 14 — Automata theory).
- State design — the transition table or state diagram of your scanner, the character classes used, and which states are emitting. Explain how the machine grows across the four tasks.
- Implementation — the source code of the scanner, with brief comments. State the programming language used.
- Testing — the results for the example input
adfvq3414fn.f143.31f-113.112vweat all four stages (341414331113112;[3414, 143, 31, 113, 112];[3414, 143.31, 113.112];[3414, 143.31, -113.112]) and your own cases: a string with no digits, a number at the very start or end, and a lone.or-. - Complexity — argue that the scanner runs in time and uses state.
- Conclusions — what was implemented, difficulties encountered (especially
the roles of
.and-), and what you learned about state machines.
Submission requirements. The source must compile/run and reproduce the example outputs of 4task.md.