-
Notifications
You must be signed in to change notification settings - Fork 0
/
huomautuksia.txt
executable file
·91 lines (74 loc) · 4.84 KB
/
huomautuksia.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Tähän tiedostoon sopii laittaa huomautuksia toteutusdokumentin
muutoskommentointia varten. Esimerkiksi:
Luokka Nimi+pvm Huomautus
Application SR 19.3. Application meni ihan uusiksi. (Noei.)
------------------------------------------------------------------
Luokka Nimi+pvm Huomautus
Control SR 23.3. compile-metodin parametrinä TTK91Source, ei Source.
Lisätty kenttä DEFAULT_MEMORY_SIZE.
Muutettu void setLanguage ResourceBundle
loadLanguageFile(File)-metodiksi. Tätä tarvitaan
vain kun käyttäjä valitsee oman kielitiedoston.
loadSettingsFileContents heittää IOExceptionin,
samoin setDefaultStdIn ja setDefaultStdOut.
setDefaultStdIn heittää
lisäksi ParseExceptionin, jos stdin-tiedoston
sisältö ei tyydytä, *sen jälkeen* kun on
tehnyt kaiken muun. (Eli exceptionin voi
ignoroida jos lystää/näyttää varoituksen.)
Sama load()illa, mutta se heittää TTK91NoStdInDatan
ParseExceptionin/IOExceptionin sijaan.
Control tarvitsee oletusstdinin ja stdoutin
konstruktorissaan.
openSource(File):n pitää käyttötapauksen mukaan
palauttaa lähdekoodi stringinä, oli void.
Lisätty insertStdinToApplication, lisätty
ParseException ja IOException loadin
heitettäviin (koska se
tunkee applicationiin sitä STDIN-dataa samalla).
Lisätty saveBinary() ja saveBinary(File).
Control SR 26.3. Lisätty 3 public-final kenttää DEF_*_POS, ja
public File[] getApplicationDefinitions() kaivamaan
Application-luokasta määritelmät STDIN/STDOUT/HOME. Saa käyttää
GUIBrainissa jos kiinnostaa.
CompileInfo AT 23.3. SetMemoryLine-metodin parametri value on String, ei int.
CompileInfo AT 24.3. entiset return-metodit on nyt get-alkuisia. Myös DC:n ja DS:n
metodit ovat muuttuneet. Nyt getDCaddress() ja getDCname()
sama DS:lle. getMemory on korvattu getDatalla ja getInstructionsilla.
Interpreter SH 24.3. Lisätty komentojen parametrimääreitä ja muutettu
vastaavasti niitä commandData taulukossa
RunInfo OA 26.3 Kaikki muuttujen nimet vaihdettu pienillä
kirjaimilla alkaviksi. Isoilla kirjaimilla
oli ainakin ADDR, Ri, Rj, ValueOfRi,
ValueOfRj.
CompileInfo AT 25.3. symbolValue on String, ennen int. SAmoin set ja get metodit.
(jotta voi tallettaa DEFin symbolitauluun)
Compiler AT 25.3. Lisätty metodi parseLine(String) joka palauttaa string taulukon
jossa on annetty konekäsky siten, että positiossa 0 on label
1 konekäsky, 2 1. rekisteri, 3 muistinosoitusmoodi, 4 osoite
ja 5 toinen rekisteri. null jos virheellinen konekäsky
SymbolTable SR 26.3. Control (ja Compiler) tarvitsevat definitioneihin tuen, lisätty
symbolitauluun String[] getAllDefinitions, String getDefinition(String)
ja void addDefinition(String, String) sekä privaattikenttä HashMap
definitions. Lisäksi InvalidDefinitionException uutena luokkana.
Application SR 27.3. getSymbolTable() palauttaa pointterin
symbolitauluun, sillä sitä ei voi kloonata.
Settings SR 27.3. Lisätty metodi String[] getKeys().
SymbolTable SY 4.4. Nimeämisen yhtenäisyyden vuoksi tehty seuraavat muutokset:
getSymbolValue -> getSymbol
defineSymbol -> addSymbol
Processor SR 5.4. memoryInputin profiilia muutettiin hieman. Heittää addressoutofboundsin.
RandomAccessMemory SR 5.4. setMemoryLinen profiilia muutettiin hieman. Se heittää
addressoutofbounds-poikkeuksen nykyään.
FileHandler SR 5.4. checkAccess palauttaa vain booleanin, tehtiin privaatista
testAccessista checkAccess joka heittää poikkeuksia ja poistettiin
checkAccess, joka oli sekin lisätty suunnittelun jälkeen. SaveStdOut
poistettu turhana.
Processor SY 16.4. lisdtty: getMemoryLine (int row)
status-kenttd lisdtty, jotta prossu tietdd tilansa.
getStatus-metodi palauttaa TTK91Cpu rajapinnan mukaisi arvoja
kentdt pc ja ir poistettu koska ne lvytyvdt prosessorin rekistereistd
kentdt mar ja mbr poistettu turhina
kdskyjd kdsittelevien metodien svc, subr, stack, branch, comp ja alu parametreja muutettu.
boolean MemoryInput (MemoryLine inputLine)->void memoryInput (int rowNumber, MemoryLine inputLine)
boolean eraseMemory() -> void eraseMemory()