建议我如何将以下代码转换为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 }发布于 2013-02-02 00:14:45
显然这个代码是"Algol 68 Genie“这段代码不完整,但从表面上看,下一段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;
}像HAS-TYPE这样的表达式没有直接的类比。有关此语言的更多信息,请参阅Algol 68 Genie
https://stackoverflow.com/questions/5167021
复制相似问题