Previous Up Next

Appendix A  Reserved Words


A.1  Introduction

This appendix lists SIDL’s reserved words. Other words and constructs that are problematic in particular language bindings are also listed.

A.2  Reserved Words


Table A.1: SIDL Reserved Words
RESERVED WORD ROLE
abstract optional modifier for class
array datatype
bool builtin datatype
char builtin datatype
class user defined datatype
copy argument modifer
dcomplex builtin datatype
double builtin datatype
enum user defined datatype
extends inheritance mode
fcomplex builtin datatype
final package and method modifier
float builtin datatype
implements inheritance mode
implements-all inheritance mode
import bring other packages into current scope
in argument mode
inout argument mode
int builtin datatype
interface user defined datatype
local method modifier
long builtin datatype
nonblocking method modifier
oneway method modifier
opaque builtin datatype
out argument mode
package scoping construct
static method modifier
string builtin datatype
throws exception declaration
version assign version number to package
void declares method as not returning a type

Table A.1 lists all the words that are part of the SIDL grammar and cannot be used as a package, enum, interface, class, or argument name.

A.3  Suggested Things To Avoid

Since SIDL maps onto many other languages there are a great number of words and constructs that are harmless in SIDL, but cause great trouble in generated language bindings. We list known problems in Table A.2.

In addition, the following should be avoided:


Table A.2: Other words/constructs to avoid
WORDCC++JavaPythonwordCC++JavaPython
abstract   X lambda   X
and  X XlongXXX 
and_eq  X  mutable X  
asm XX  namespace X  
assert    Xnative  X 
auto XX  new XX 
bitand  X  not X X
bitor  X  not_eq X  
bool  X  null  X 
boolean   X operator X  
break XXXXor X X
case XXX or_eq X  
catch  XX package  X 
char XXX pass   X
class  XX print   X
compl  X  private XX 
const XXX protected XX 
const_cast  X  public XX 
continue XXXXraise   X
def    XregisterXX  
default XXX reinterpret_cast X  
del    XreturnXXXX
delete  X  shortXXX 
do XXX signedXX  
double XXX sizeofXX  
dynamic_cast  X  staticXXX 
elif    Xstatic_cast X  
else XXXXstrictfp  X 
enum XX  structXX  
except    Xsuper  X 
exec    XswitchXXX 
explicit  X  synchronized  X 
export  X  template X  
extends   X this XX 
extern XX  throw XX 
false  XX throws  X 
final   X transient  X 
finally   XXtrue XX 
float XXX try XXX
for XXXXtypedefXX  
friend  X  typeid X  
from    Xtypename X  
global    XunionXX  
goto XXX unsignedXX  
if XXXXusing X  
implements   X virtual X  
import   X voidXXX 
inline  X  volatileXXX 
instanceof   X wchar_t X  
int XXX whileXXXX
interface   X xor X  
is    Xxor_eq X  


Previous Up Next