Zápočtový test 26. 1.

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zápočtový test 26. 1.

Re: Zápočtový test 26. 1.

od Tommassino » 27. 1. 2011 15:15

Interpret měl umět detekovat některé nekonečné cykly (pro každý řádek si pamatovat všechny předchozí stavy hodnot proměnných a kontrolovat na shodu), skoky dopředu (znamenalo labely zaznamenavat už při parsování a při runtime do jiného dictionary), dozadu a vypisovat různé chyby - redeklarace proměnných, labelů; nedeklarace proměnných, labelů etc.
Regexpy mi prisly jednodussi... :)
proměnné jsem měl v sorteddictionary

Zápočtový test 26. 1.

od kedrigern » 26. 1. 2011 19:50

Dneska jsme programovali jednoduchý interpret jazyka s operacemi:
- deklarování proměnné
- dekrementace prom.
- inkrementace prom.
- IF ... GOTO (+ label)

Podmínka byla jednoduchá pouze porovnání konstanty a proměnné.

Čili celkem dva větší úkoly. Nějak to naparsovat ze souboru a pak to spočítat. Plus ještě vypisovat nějaké základní chyby.

S využitím datových struktur a funkcí .NETu to nebylo těžké.
Parsoval jsem pomocí:

Kód: Vybrat vše

Console.ReadLine().Split(new char[] {' ', '\t'} , StringSplitOptions.RemoveEmptyEntries);
A pak nějákých podmínek. V zadání byl hint s RegExpy (a konkrétní třída), ale to co znám mi přišlo jednodušší.

Proměnné a labely jsem měl v System.Collection.Generic.Dictionary.

Nahoru