Designing and Implementing Programming Languages 40364 
  CE Department- Sharif University of Technology 85-86, 2 - Group 1 

  Main Menu
   Home
   Syllabus
   Assignments
   Grades
   Calendar
   Discussion Area
   Links
   Resources


Announcments

  1386-04-16 July 07, 2007 10:31 PM  
Dear students,
We are sorry about saturday. Dr. Sehat Niaki told me she would be at the faculty from 10 to 11:30 on tuesday.

  1386-04-05 June 26, 2007 12:21 PM  
Plus (! :D) I will be available at the department on wednesday 13th and thursday 14th. If there's anyone wishing to hand his/her project in sooner please send me an email to set an appointment.

  1386-04-05 June 26, 2007 12:19 PM  
And about the projects, you are required to show me a working demonstration of your projects till thursday 14th of Tir. The documentation can be handed in:
1- to the department's office before Tir 16th
2- to Dr Sehat Niaki personally on Tir 16th.
Since the project definition statement is not concise enough you are required to send me an exact specification of the flavor you will implement (including enough details) and recieve my confirmation before you start.

  1386-04-05 June 26, 2007 12:23 PM  
Dear everyone,
On Tir 16th (10:00 AM to 11:30 AM) Dr. Sehat Niaki will be at the faculty (Guest Professors' Room) to announce your final exam scores. On the mentioned day you can also see your exam papers.

  1386-03-29 June 19, 2007 10:55 AM  
Guys! dun be so overactive!

  1386-03-27 June 17, 2007 02:12 PM  
If you have any problem with writing your code please put it the discussion area section so that the others can look for their questions in there first and ask them if they're not already answered.

  1386-03-27 June 17, 2007 02:09 PM  
Dear everyone,
Since this GNU Smalltalk thing looks kinda strange I think it's not bad to explain a few things:
1- You're not required (although recommended) to use GNU Smalltalk. Use whatever interpreter you see fit.
2- There's a huge set of examples residing at /use/share/gnu-smalltalk/examples which you can study to get a sense of the GNU Smalltalk syntax.
3- Class definitions come in the following form:

Superclassname subclass: #Classname
           instanceVariableNames: 'follan bahman'
           classVariableNames: ' '
           poolDictionaries: ' '
           category: nil !

for exmple:

Object subclass: #MyClass
           instanceVariableNames: 'firstVar auxVar'
           classVariableName: ' '
           poolDictionaries: ' '
           category: nil !

Then come the methods (cathegorized into classs methods and instances methods):

method def1 !
method def2 !
...
method defn ! !

To define class methods for a class you write the following header before method definitions:
! Classname class methodsFor: 'Some description' !
For instance functions you write:
! Classname methodsFor: 'Some description' !
("class"  has been omitted)
Note that the class methods and instance methods can be  furthur divided into subcathegories by adding header with the approperiate description:
! Classname methodsFor: 'cat1' !
methods...
! Classname methodsFor: 'cat2' !
methods...
...
For more information see the dinner (/use/share/gnu-smalltalk/exmples/dinner.st) example.
To write graphical programs you should first create an instance of the class BLOX.BWindow and then create the required objects on it (be creating graphical objects having the window as their parent) and then sending the map signal to your window:

Object subclass: #FirstDrawing
   instanceVariableNames: 'testWind'
   classVariableNames: ''
   poolDictionaries: ''
   category: 'Examples-Processes'!

!FirstDrawing class methodsFor: 'Instance Creation'!

new
   ^super new
! !

!FirstDrawing methodsFor: 'Testing'!

drawIt
   |canvas|
   testWind := BLOX.BWindow new: 'testing'.
   canvas := BLOX.BCanvas new: testWind.
   canvas backgroundColor: 'Red'.
   testWind map
! !

(FirstDrawing new) drawIt!

When you're done writing your st file with an editor run gst-blox in your terminal (use the gnome-terminal) and select the "File in" item from the smalltalk menu. Then choose your file. Note that gst-blox runs the (FirstDrawing new) drawIt ! statement.

  1386-03-06 May 27, 2007 02:58 PM  
Here's the project definition. It's not so tightly defined so as you can concentrate on the OO concepts rather than the details. And I am planning a few assistance sessions and will be annoucing the dates soon.
سلام

تعریف پروژه زبانهای برنامه سازی اینه:

برنامه ای بنویسید که تعدادی روبات را شبیه سازی کند. این رباتها باید در یک
سلسله مراتب وراثتی باشند و هر کدام بتواند کارهای مخصوص به خود را علاوه بر
کارهای مشترک انجان دهد. کارهایی مانند حرکت کردن، انتقال یک شی از جایی به جای
دیگر و ...

البته هر روبات باید بتواند خودش را رسم کند!

Instructor:
Dr. Sonya Sehat Niyaki

3 Units
Sundays and Tuesday, 10:30 AM to 12:00 PM
Room: Khodro 2

 This website is visited 7414 times since March 2007. Updated Monday 2020-09-07 09:10