程式語言sp是一門支援簡單算術功能的玩具型程式語言,易於分析和實現,適合作為語言實現初學者的處理物件。
sp語言是一門大小寫無關語言,其程式中僅允許使用33個變數,其名字分別為x、y、z、x0、…、x9、y0、…、y9、z0、…、z9;所有變數和表示式的型別均為整數型別。
sp語言僅支援四類語句,其語義描述如下:
read var 從控制台讀入乙個int 型別的值,並儲存在變數var 中
write expr 將表示式expr 的值輸出到控制台
let var = expr 將變數var 的當前值設定為表示式expr 的值
goto label [if expr] 跳轉到指定的行;
如果指定表示式expr, 則僅當expr ≧ 0 時才跳轉
sp語言語法定義的完整bnf描述如下:
::= |
::= : ; | ;
::= read |
write |
let = |
goto |
goto if
::= | + | -
::= | * | /
::= ( ) | |
::= |
::= |
::= x |y | z | x | y | z
::= 0 | 1 | ... | 9
(1) 遵循sp 語言的bnf 定義,編寫兩個語法正確的sp 源程式。要求在這兩個源程式中,用到sp 語言的所有語法構造。
a、執行時輸入10個數,然後分別輸出其中的最大值、最小值。
read y;read z;read x1;read x2;
let y=0;let z=0;let x1=1;let x2=10;
100: goto 400 if x1-x2;
read x;
200: goto 300 if x-z;
let y=x;
let x1=x1+1;
goto 100;
300: let z=x;
let x1=x1+1;
goto 100;
400: write y;write z;
源程式與目標程式
源程式也叫原始碼,就是最開始編寫的程式,計算機並不能識別,需要經過編譯生成目標程式。軟體都是目標程式,都是經過編譯的,商業公司一般不會發布原始碼,原始碼涉及到商業機密。1 源程式,是指未經編譯的,按照一定的程式語言規範書寫的,人類可讀的文字檔案。通常由高階語言編寫。源程式可以是以書籍或者磁帶或者其他...
拆分C 源程式
源程式為 proj1.cpp 定義控制台應用程式的入口點。使程式的輸出為 1 2 3 4 5 6 7 8 9 10 include stdafx.h include using namespace std class myclass myclass void print const private ...
8089彙編 源程式
匯程式設計序 包含彙編指令和偽指令的文字。組合語言由彙編指令和偽指令構成,想要組合成源程式進行編譯就需要這麼做。彙編指令 偽指令 assume cs codesg codesg segment movax,0123h movbx,0456h addax,bx addax,ax movax,4c00h...