Skip to content

A simple README.md template to kickstart projects

License

Notifications You must be signed in to change notification settings

samcik333/readme-template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Implementačná dokumentácia k 1. úlohe do IPP 2021/2022

Meno a priezvisko: Samuel Sadlek
Login: xsadle01

parse.php

Ako prvé sme si skontrolovali, či máme správny počet argumentov, načítali sme si súbor zo vstupu,
pomocou regexu sme odstránili komentáre na konkrétnom riadku a funkciu trim sme použili na odstránenie bielych znakov

parse_line.php

Skontrolovali sme či sa prvý riadok nerovná hlavičke pokiaľ áno odstránime bodku a vypíšeme do xml názov hlavičky.
Funkcia preg_split mi rozdelí slová do poľa podľa bielych znakov.

set_inst.php

Vytvorili sme si konštanty, do ktorých sme si uložili všetky inštrukcie, koľko argumentov potrebujú a aké.
Kontrolujeme pomocou regexu či boli inštrukcie správne zapísané vždy v prvom poli riadku. Tieto inštrukcie sa zapíšu ako Objekt Následne kontrolujeme typy za inštrukciou zavolaním funkcie get_type. V nej kontrolujeme
cez cyklus, ktorý spracováva pole riadku, operandy či sú správne zapísané podľa jazyka IPPcode22.
S týmto sa kontroluje aj, či bol správny počet operandov pre každú konkrétnu inštrukciu.
Pri znakoch ako sú napríklad "<" sme prepísali špecialnou hodnotou "<" Následný switch nám prechádza po jednotlivých symbolov predom definovaných konštánt, ak nájde inštrukcie, následne kontroluje, či sa typ predefinovaného operandu rovná typu práve spracovaváneho operandu. Pokiaľ nájde, zapíše sa ako objekt.

Argument.php

Táto trieda vytvára objekty typu operandov má svoj typ,symbol,a hodnotu. Symbol je uložený iba ak sa typ nerovná label.

Instruction.php

Táto trieda vytvára objekty pre inštrukcie a má svoje meno a počet operandov.

About

A simple README.md template to kickstart projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published