Commit 7884b94f authored by Markus's avatar Markus
Browse files

New compiler version + little improvements

NEEDS TO BE TESTED HARD
parent 6fefcce7
......@@ -3,10 +3,10 @@ TODO:
-Fix: JSyntaxpane: nach { die geschlossene Klammer automatisch setzen
-Fix: Move all gui elements to gui package
-Fix: Set position of new windows to desktop mid
-Add: Pause function into mainframe
-Fix: Same size for debug and value frame
-Add: Pause function into mainframe?????
Changelog
-Fix: Same size for debug and value frame
-Add: Font size (+Shortcut(Strg+0/+/-))
-Add: Rename projects
-Fix: Save as when no project is loaded
......@@ -52,46 +52,18 @@ Changelog
TODO Debugger
- More infos
- startet by [OK]
- Stacktrace [OK]
- internal state [FAIL]
- Statistics??? [OK]
- Globale Variablen? [OK]
- X Arrays
- ? Agents
- X Channels
- X Locks
- X Objects (ref)
- X Struct/Monitor
- _ Conditions
- OK Testen: select case
- X Gui: button plazieren, erst nach compilieren aktivieren
- Globale Variablen?
- editieren???
- Auto-refresh???
- X Array-loadchild-struktur ist VERKACKT!!!
- Breakpoints???
- Single step [OK]
- (evtl. join, waiting, loop, ...)? [OK]
- Rename threads to agents => LISA
- More buttons: restart [OK]
- Stop all wirft error [FIXED]
- Alle ein/ausklappen [OK]
TODO LISA
- Changelog
- Wann kommen die agents? ===JETZT===
Bugs im Compiler
(-) ChildFirstURLClassLoader
- MainCodeGen: 182 => null-Pointer (insert "if (reader!=null) ")
- PseuCoCo: 204 => task.call wird Rückgabewert nicht geprüft
(-) Was gibts noch an Schlüsselwörtern?
- Rename threads to agents
- lock-Prozedur wirft komischen Fehler...
No preview for this file type
......@@ -57,7 +57,7 @@ public class DebuggerFrame extends JFrame {
frame.debugger.closeFrame();
}
});
setBounds(30, 100, 720, 500);
setBounds(30, 100, 720, 520);
setMinimumSize(new Dimension(520, 220));
contentPane = new JPanel();
//contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
......@@ -189,7 +189,7 @@ public class DebuggerFrame extends JFrame {
private static final long serialVersionUID = 1L;
public RestartAction(){
super("", ResourceLoader.loadIcon("run.png"));
super("", ResourceLoader.loadIcon("debug.png"));
putValue(Action.SHORT_DESCRIPTION, "Restarts the current program");
}
......
......@@ -103,7 +103,7 @@ public aspect DebuggerListeners {
String around() : renameAgents(){
if (Pseuco.debugging && lastCallCode != null){
String result = "\" [ \\\""+escapeCode(lastCallCode)+"\\\" ]\", "+proceed();
String result = "\""+escapeCode(lastCallCode)+"\", "+proceed();
lastCallCode = null;
return result;
}else{
......@@ -115,6 +115,8 @@ public aspect DebuggerListeners {
return s.replaceAll("\"", "\\\"").replaceAll("\n", " ").replaceAll("PseuCo_", "");
}
/*
//also the "waiting main agent"
pointcut nameMainAgent() : call(String codeGen.Code+.generateClassCode(..));
String around() : nameMainAgent(){
......@@ -127,14 +129,14 @@ public aspect DebuggerListeners {
}
*/
//catch multiple HWInterrupts
pointcut hwcheck() : (withincode(* tree.ASTStmtBlock.codeGen(..)) ||
withincode(* tree.ASTForStatement.codeGen(..))) && call(String shiftCode(..));
String around() : hwcheck(){
String res = proceed();
String res = proceed();
if (Pseuco.debugging){
res = res.replaceAll("Simulate\\.HWInterrupt\\(\\);\\s*?Simulate\\.HWInterrupt\\(\\);", "Simulate.HWInterrupt();");
res = res.replaceAll("Simulate\\.HWInterrupt\\(\\);\\s*?Simulate\\.HWInterrupt\\(\\);", "Simulate.HWInterrupt();");
......
......@@ -46,7 +46,7 @@ public class ClassWatcherFrame extends JFrame implements TreeWillExpandListener
public ClassWatcherFrame(Class<?> mainClass) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setBounds(750, 100, 400, 600);
setBounds(750, 100, 400, 520);
setTitle("PseuCo IDE - Values");
setIconImage(Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/resources/logo.png")));
......
......@@ -198,7 +198,9 @@ public abstract class NodeField extends NodeBase {
private boolean isBlacklisted(Field f) {
if (f.getName() == "wildcard" && f.getType() == Object.class) return true;
if (f.getName() == "thread" && f.getType().getName().contains("PseuCoThread")) return true;
if (typeName.equals(TN_AGENT) && (f.getName().contains("Listener")) || f.getName().equals("threadcount")) return true;
if (typeName.equals(TN_AGENT) &&
(f.getName().contains("Listener")) || f.getName().equals("threadcount") ||
f.getName().equals("numberOfThreads") || f.getName().equals("pseuCoId")) return true;
return false;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment