2011-03-02 73 views
0

推薦我如何更改下面的代碼爲C++代碼:如何使陵68吉尼亞語言轉換到C++語言

ROOTPROC VarUse 
PROC VarUse 
ROOT Cfile; 
1 { 
2 [ 
3 (?NameRef 
4 (IF (AND (HAS-TYPE $parent Assignment) (IS-EQUAL $slot ``lhs'')) 
5 (THEN (PRINT stdout "Variable %s defined at %s" $token $location)) 
6 (ELSE (PRINT stdout "Name %s accessed at %s" $token $location))))] 
7 } 
+0

請使用代碼格式。看看如何做到這一點常見問題。 – fingerprint211b 2011-03-02 12:12:26

+0

我不知道熱那亞是什麼,所以也許你可以描述代碼的作用。你有什麼嘗試? – 2011-03-02 16:08:38

+0

@Denis:看起來這是寫在[熱那亞](http://stackoverflow.com/questions/5166096/which-language-is-the-follow-program-written-in),而不是[Algol68](http ://algol68.sourceforge.net/) – NevilleDNZ 2013-02-12 19:38:31

回答

1

顯然,這個代碼爲「陵68精靈」。此代碼是不完整的,但在它的面前必須等於下一個C++代碼:

if(parent->hasType('Assigment') and slot == lhs) 
{ 
    std::cout << "Variable " << token << " defined at " << location << std::endl; 
} 
else 
{ 
    std::cout << "Name " << token << " accessed at " << location << std::endl; 
} 

表達式等具有-TYPE沒有直接模擬。有關此語言的更多信息請參見Algol 68 Genie