너무 오랫만입니다. 한달만이네요.
시험 기간 전에 과제를 어느정도 마무리 하느라고 정신없이 코딩하고,
시험치고나서 게을러지는 바람에 늦어 졌습니다.
바로 직전에 제가 썻던 내용을 보니까 프로시저를 구현 하기 직전 까지군요..
프로시저는 현제 잘 동작하고 있습니다.
이미 컴파일러와 디버거와도 연동되어서 테스트 중에 있습니다.
와~~ 많은 일이 있었군요...
그동안을 간략하게 정리해보아야 겠군요..
1. 프로시저를 구현했습니다.
프로시저로 쓸 InnerFrame을 JFrame을 수정하여서 새로운 InnterFrame을 만들었습니다.
기존의 JInternalFrame은 internalframe을 붙인 패널에는 다른 것이 붙이안아서 직접 서적을 참고하여
구현하였습니다.
프로시저의 생성은 툴바에 버튼을 통해 생성할 수 있고 삭제는 프레임의 타이틀바에서 삭제 할 수 있습
니다.
타이틀바에 적혀 지는 이름이 곧 프로시저의 이름이 되며, 메뉴바를 통해 변경할 수 잇습니다.
프로시저 창위에서 만들어지는 도형들은 내부적으로 메인 패널에 있는 것과는 따로 관리 됩니다.
2. 메뉴바의 나머지 이벤트를 구현했습니다.
새로만들기, 열기, 저장, 다른이름으로 저장, 잘라내기, 붙여넣기, 복사등 기본적인 응용 프로그램에서
제공하는 기능을 구현하였습니다.
저장과 열기는 프로그램에 변경됨에 따라 계속 바뀌고 있는 중인데
아마 , 앞으로 변경은 되지 않을듯 합니다.
3. Undo, Redo의 대대적인 수정이 있었습니다.
저장과, 불러오기 기능을 구현하면서, 언두, 리두 알고리즘의 문제를 찾았습니다.
연결성을 모두 잃게 되는 문제였습니다.
그래서 다시 구현하였고, 지금은 아무 문제 없이(??) 동작하고 있습니다.
4. Comment 도형을 구현하였습니다.
Comment를 구현하였는데요.. Comment자체는 도형에 화살표가 붙어 있는 모양이기 때문에,
새로운 상속 구조를 만들어야 했습니다. 심볼 의 하위 클래스에 Line과 Figure외에 Comment를 두어
구현하였습니다.
5. 브레이크 포인트 및 인터프리터, 컴파일러와 연동을 하였습니다.
도형을 우클릭하여 나오는 팝업 메뉴를 이용하여 브레이크 포인트 지정을 구현하였고,
컴파일러, 인터프리터와의 연동을 위한 작업을 구현 하였습니다.
현재 컴파일러와 인터프리터와의 연동자체는 잘 작동하고 있지만
언어 설계와 구현에 대해서는 아직 작업이 남아 있습니다.
기억을 더듬어서 적어봤는데 아쉽군요..
마무리로 멋진 UI화면을 보내 드립니다~~