2013-02-15 2 views
0

http://news.cnet.com/8301-1023_3-57569533-93/adobe-releases-source-code-for-1990-version-of-photoshop/Какой язык используется для создания фотошопа 1990 года?

http://www.computerhistory.org/atchm/photoshop-license-agreement/

Вопрос> Является ли это паскаль?

PROCEDURE AddCode (node: PNode; code: INTEGER; VAR word: Str255); 

VAR 
    branch: INTEGER; 

BEGIN 

IF LENGTH (word) = 0 THEN 
    BEGIN 

    IF node^.leaf OR (node^.branch [0] <> NIL) OR 
        (node^.branch [1] <> NIL) THEN 
     BEGIN 
     WRITELN ('? Conflict for code ', code:1); 
     EXIT (PROGRAM) 
     END; 

    node^.leaf := TRUE; 
    node^.code := code 

    END 

ELSE 
    BEGIN 

    IF word [1] = '0' THEN 
     branch := 0 
    ELSE IF word [1] = '1' THEN 
     branch := 1 
    ELSE 
     BEGIN 
     WRITELN ('? Invalid word for code ', code:1); 
     EXIT (PROGRAM) 
     END; 

    DELETE (word, 1, 1); 

    IF node^.branch [branch] = NIL THEN 
     BEGIN 

     NEW (node^.branch [branch]); 

     node^.branch [branch]^.leaf := FALSE; 
     node^.branch [branch]^.branch [0] := NIL; 
     node^.branch [branch]^.branch [1] := NIL 

     END; 

    AddCode (node^.branch [branch], code, word) 

    END 

END; 
+0

За исключением «выхода (программы)», это может быть даже турбо-паскаль. Но, вероятно, его Apple Pascal. Free Pascal поддерживает его в некоторой степени –

+0

Этот небольшой фрагмент кода напоминает мне, почему я использовал отступы для открытия/закрытия фигурных скобок, когда я впервые научился C, привычку, которую я вскоре перерос. Я всегда удивлялся, почему я это сделал. Это выглядит так естественно с BEGIN/END. –

ответ

2

В Cnet статья ссылка на a blog post from the Computer History Museum объявляет о выпуске коды, который говорит вам ответ:

По подсчетам линии, около 75% коды в Паскале, около 15% в 68000 ассемблерном языке, а остальные - данные разного рода.

Конкретный код, указанный в вопросе, действительно является Паскалем.

Смежные вопросы