構造化プログラミング

XX世紀の80年代初頭、モスクワ州立大学の電子計算機の問題のある研究所の腸内で。 MV Lomonosovは、今日の標準、言語、またはむしろシステム、またはプログラミングのイデオロギーによってさえも、珍しいことに取り組み始めました。

PRSP


その結果が、対話型の構造化プログラミング対話システムであるDSSPでした。

DSSPは、スタック、ディクショナリ、および手続き型コードに基づいたインタラクティブモードおよび従来にないシステムアーキテクチャと組み合わせて構造化プログラミングの体系を体系的に導入することにより、複雑さを軽減し、信頼性を高め、プログラミングの幅広い可用性を確保するように設計されました。

DSSPの基礎は、構造化プログラム(DSPPプロセッサ)を構築するために慎重に開発されたツールを備えたコンピュータ上でエミュレートされるスタック型プロセッサです。

このプロセッサのプロトタイプは、60年代後半にモスクワ州立大学のPNILコンピューターで作成された実験的なSetun 70三元デジタルマシンでした。

DSPPプロセッサの対話型制御は、FORTHシステムでモデル化された辞書とコンパイラを使用して外部(シンボリック)言語で実行されますが、プロシージャを降順でコンパイルし、不要な辞書エントリを削除できます。

パラダイス


PRSP-Developed Adaptive Language(PARADISE)の基本言語は、アセンブリ言語に典型的なオブジェクト(ビット、バイト、機械語、およびそれらに対する基本操作)を提示するという意味で低レベル言語です。 Paradiseは、後置構文、管理の厳格な規律、および言語の補充と開発の効果的な手段の利用可能性により、従来のアセンブリ言語とは異なります。 したがって、DSPPはアセンブラープログラミングシステムの代替であり、多くの重要な利点があります。


F1-計算3 * X * X-4 * X + 2

: F1 [X] C [X,X] 3 * [X,3*X] 4 - [X,3*X-4] * [3*X*X-4*X] 2 + [3*X*X-4*X+2] ;

F1を使用
* 25 F1 . D 1777
* -9 F1 . D 281


F2-A2 * X * X-A1 * X + A0を計算します

: F2 [A0,A1,A2,X] C E4 E3 [A0,X,A1,X,A2] * + [A0,X,A2*X+A1] * + [A2*X*X-A1*X+A0] ;

f2の使用
* 1 2 3 4 F2 . D 57
* 1 2 -3 4 F2 . D -39


FG-N> 0の場合は階乗N、それ以外の場合は0

: FG [N] C BR+ FCT T0 [N! 0] ;
[FCT - N]
: FCT [N] C 1- C DO PD [N!] ;
: P [F,K] E2 C2 [K,F,K] * E2 1- [F*K,K-1] ;


fgの使用
* -5 FG . D 0
* 5 FG . D 120


GCD-自然数M、Nの最大公約数

: [N,M] RP D [] ;
[ - ]
: [,] E2 C2 / [,,] E2 D [,] C EX0 ;


gcdの使用
* 48 72 . D 24
* 225 650 . D 25


ダイアログ:質問-回答-概要

B8
: [] - [] ;
: [] CR ." ?
1.
2.
3. " [] ;
: - [] RP AR [] ;
[AR - ]
: AR [] CR ." - " TIB BR #1 R1 #2 R2 #3 R3 ELSE R4 [] ;
: R1 [] CR ." " EX [] ;
: R2 [] CR ." " EX [] ;
: R3 [] CR ." !" EX [] ;
: R4 [] CR ." " [] ;
B10


DIALOGUEの使用
*
?
1.
2.
3.
- 7

- 3
!


実装



結論の代わりに


残念ながら、現時点では、言語の開発は公式に停止されており、最新のニュースは2002年です。

ただし、誰でも構造化プログラミングを試すことができます。
  1. git clone git://github.com/ingeniarius/DSSP-32.git
  2. INSTALLの指示に従ってください

システムの収集には数分しかかかりません...お楽しみください!

PRSPの追加資料



PSこの珍しくて興味深いシステムのサポートと開発に興味があるすべての人に喜んでいます。

Source: https://habr.com/ru/post/J62589/


All Articles