CCL Home Page
Up Directory CCL tokens
/* tokens.h
 * RasMol2 Molecular Graphics
 * Roger Sayle, August 1995
 * Version 2.6
 */

/* Lexeme Tokens */
#define IdentTok       256
#define NumberTok      257
#define FloatTok       258
#define StringTok      259

/* Command Tokens */
#define BackboneTok    260
#define CartoonTok     261
#define CentreTok      262
#define ClipboardTok   263
#define ColourTok      264
#define ConnectTok     265
#define DashTok        266
#define DefineTok      267
#define DisplayTok     268
#define EchoTok        269
#define ExitTok        270
#define HelpTok        271
#define LabelTok       272
#define LoadTok        273
#define MonitorTok     274
#define PrintTok       275
#define QuitTok        276
#define RefreshTok     277
#define RenumTok       278
#define ResetTok       279
#define ResizeTok      280
#define RestrictTok    281
#define RotateTok      282
#define SaveTok        283
#define ScriptTok      284
#define SelectTok      285
#define SetTok         286
#define ShowTok        287
#define SlabTok        288
#define SourceTok      289
#define SpacefillTok   290
#define StructureTok   291
#define SymmetryTok    292
#define TraceTok       293
#define TranslateTok   294
#define WaitTok        295
#define WireframeTok   296
#define WriteTok       297
#define ZapTok         298
#define ZoomTok        299

/* Predicate Tokens */
#define IsPredTok(x)   (((x)>=300) && ((x)<=338))
#define PredTokOrd(x)  ((x)-300)
#define PredTokChr(x)  ((x)+300)

#define AlphaTok       300
#define AminoTok       301
#define ATTok          302
#define BondedTok      303
#define CGTok          304
#define CystineTok     305
#define DNATok         306
#define HelixTok       307
#define HeteroTok      308
#define HydrogenTok    309
#define IonTok         310
#define LigandTok      311
#define MainChainTok   312
#define NucleicTok     313
#define ProteinTok     314
#define PurineTok      315
#define PyrimidineTok  316
#define RNATok         317
#define SelectedTok    318
#define SheetTok       319
#define SidechainTok   320
#define SolventTok     321
#define TurnTok        322
#define WaterTok       323

#define AcidicTok      324
#define AcyclicTok     325
#define AliphaticTok   326
#define AromaticTok    327
#define BasicTok       328
#define BuriedTok      329
#define ChargedTok     330
#define CyclicTok      331
#define HydrophobicTok 332
#define LargeTok       333
#define MediumTok      334
#define NeutralTok     335
#define PolarTok       336
#define SmallTok       337
#define SurfaceTok     338


/* Property Tokens */
#define IsPropTok(x)   (((x)>=340) && ((x)<=345))
#define TemperatureTok 340
#define RadiusTok      341
#define AtomNoTok      342
#define ElemNoTok      343
#define ModelTok       344
#define ResNoTok       345

/* File Format Tokens */
/* Warning! Tokens are related to Format values */
#define IsMoleculeFormat(x)  (((x)>=350) && ((x)<=365))

#define PDBTok         350
#define MacroModelTok  351
#define GaussianTok    352
#define AlchemyTok     353
#define NMRPDBTok      354
#define CharmmTok      355
#define BiosymTok      356
#define MOPACTok       357
#define SHELXTok       358
#define Mol2Tok        359
#define FDATTok        360
#define MMDBTok        361
#define MDLTok         362
#define XYZTok         363
#define CIFTok         364
#define CEXTok         365

/* Raster Tokens */
#define IsImageFormat(x) (((x)>=366) && ((x)<=378))
#define GIFTok         366
#define PPMTok         367
#define SUNTok         368
#define SUNRLETok      369
#define EPSFTok        370
#define PICTTok        371
#define IRISTok        372
#define BMPTok         373
#define MonoPSTok      374
#define VectPSTok      375
#define KinemageTok    376
#define MolScriptTok   377
#define POVRayTok      378

/* Feature Tokens */
#define AtomTok        380
#define BondTok        381
#define DotsTok        382
#define HBondTok       383
#define RibbonTok      384
#define SSBondTok      385
#define Ribbon1Tok     386
#define Ribbon2Tok     387

/* Expression Tokens */
#define TrueTok        390
#define FalseTok       391
#define AllTok         392
#define NoneTok        393
#define AndTok         394
#define OrTok          395
#define NotTok         396
#define WithinTok      397
#define XorTok         398

/* Colour Tokens */
#define BlueTok        400
#define BlueTintTok    401
#define BlackTok       402
#define BrownTok       403
#define CyanTok        404
#define GoldTok        405
#define GrayTok        406
#define GreenTok       407
#define GreenblueTok   408
#define GreenTintTok   409
#define HotPinkTok     410
#define MagentaTok     411
#define OrangeTok      412
#define PinkTok        413
#define PinkTintTok    414
#define PurpleTok      415
#define RedTok         416
#define RedorangeTok   417
#define SeaTok         418
#define SkyTok         419
#define VioletTok      420
#define WhiteTok       421
#define YellowTok      422
#define YellowTintTok  423

#define CPKTok         424
#define ShapelyTok     425
#define UserTok        426
#define GroupTok       427
#define ChainTok       428
#define TypeTok        429
#define PotentialTok   430
#define ChargeTok      431

/* Variable Tokens */
#define AmbientTok     440
#define AxesTok        441
#define BackFadeTok    442
#define BackgroundTok  443
#define BondModeTok    444
#define BoundBoxTok    445
#define DepthCueTok    446
#define FontSizeTok    447
#define HourGlassTok   448
#define MenusTok       449
#define MouseTok       450
#define PickingTok     451
#define ShadowTok      452
#define SlabModeTok    453
#define SpecularTok    454
#define SpecPowerTok   455
#define StrandsTok     456
#define TransparentTok 457
#define UnitCellTok    458

/* SlabMode Tokens */
#define RejectTok      460
#define HalfTok        461
#define HollowTok      462
#define SolidTok       463
#define SectionTok     464

/* MouseMode Tokens */
#define RasMolTok      465
#define InsightTok     466
#define QuantaTok      467

/* Information Tokens */
#define InfoTok        470
#define SequenceTok    471
#define VersionTok     472

/* Display Mode Tokens */
#define NormalTok      475
#define StereoTok      476
#define MonoTok        477

/* Axis Tokens */
#define XTok           480
#define YTok           481
#define ZTok           482

/* Picking Tokens */
#define IdentifyTok    485
#define DistanceTok    486
#define AngleTok       487
#define TorsionTok     488

/* Misc Tokens */
#define InLineTok      490


typedef struct {
                char *ident;
                int token;
               } KeywordEntry;


#define MAXKEYLEN 11
static int KeyLen[MAXKEYLEN+1] = {
        0, 3, 8, 28, 61, 97, 148, 181, 209, 225, 229, 236 };

static KeywordEntry Keyword[] = {
            { "X",  XTok },
            { "Y",  YTok },
            { "Z",  ZTok },  /* 3 */

            { "AT", ATTok   },
            { "CG", CGTok   },
            { "ON", TrueTok },
            { "OR", OrTok   },
            { "PS", EPSFTok },  /* 8 */

            { "ALL", AllTok   },
            { "AND", AndTok   },
            { "BMP", BMPTok   },
            { "CEX", CEXTok   },
            { "CIF", CIFTok   },
            { "CPK", CPKTok   },
            { "DNA", DNATok   },
            { "GIF", GIFTok   },
            { "ION", IonTok   },
            { "MDL", MDLTok   },
            { "NOT", NotTok   },
            { "OFF", FalseTok },
            { "PDB", PDBTok   },
            { "PPM", PPMTok   },
            { "RED", RedTok   },
            { "RNA", RNATok   },
            { "SET", SetTok   },
            { "SUN", SUNTok   },
            { "XYZ", XYZTok   },
            { "ZAP", ZapTok   }, /* 28 */

            { "ATOM", AtomTok },
            { "AXES", AxesTok },
            { "AXIS", AxesTok },
            { "BLUE", BlueTok },
            { "BOND", BondTok },
            { "CYAN", CyanTok },
            { "DASH", DashTok },
            { "DOTS", DotsTok },
            { "ECHO", EchoTok },
            { "EPSF", EPSFTok },
            { "EXIT", ExitTok },
            { "FDAT", FDATTok },
            { "HALF", HalfTok },
            { "HELP", HelpTok },
            { "INFO", InfoTok },
            { "IONS", IonTok  },
            { "IRIS", IRISTok },
            { "LOAD", LoadTok },
            { "MMDB", MMDBTok },
            { "MOL2", Mol2Tok },
            { "MONO", MonoTok },
            { "NONE", NoneTok },
            { "PICT", PICTTok },
            { "QUIT", QuitTok },
            { "SAVE", SaveTok },
            { "SHOW", ShowTok },
            { "SLAB", SlabTok },
            { "TRUE", TrueTok },
            { "TURN", TurnTok },
            { "TYPE", TypeTok },
            { "USER", UserTok },
            { "WAIT", WaitTok },
            { "ZOOM", ZoomTok }, /* 61 */

            { "ALPHA", AlphaTok    },
            { "AMINO", AminoTok    },
            { "ANGLE", AngleTok    },
            { "ATOMS", AtomTok     },
            { "BASIC", BasicTok    },
            { "BLACK", BlackTok    },
            { "BONDS", BondTok     },
            { "CHAIN", ChainTok    },
            { "COLOR", ColourTok   },
            { "FALSE", FalseTok    },
            { "GREEN", GreenTok    },
            { "GROUP", GroupTok    },
            { "HBOND", HBondTok    },
            { "HELIX", HelixTok    },
            { "IDENT", IdentifyTok },
            { "LABEL", LabelTok    },
            { "LARGE", LargeTok    },
            { "MENUS", MenusTok    },
            { "MODEL", ModelTok    },
            { "MOPAC", MOPACTok    },
            { "MOUSE", MouseTok    },
            { "PAUSE", WaitTok     },
            { "POLAR", PolarTok    },
            { "PRINT", PrintTok    },
            { "RENUM", RenumTok    },
            { "RESET", ResetTok    },
            { "RESNO", ResNoTok    },
            { "SHEET", SheetTok    },
            { "SHELX", SHELXTok    },
            { "SMALL", SmallTok    },
            { "SOLID", SolidTok    },
            { "TRACE", TraceTok    },
            { "TURNS", TurnTok     },
            { "WATER", WaterTok    },
            { "WHITE", WhiteTok    },
            { "WRITE", WriteTok    },  /* 97 */

            { "ACIDIC", AcidicTok },
            { "ANGLES", AngleTok  },
            { "ATOMNO", AtomNoTok },
            { "BIOSYM", BiosymTok },
            { "BONDED", BondedTok },
            { "BURIED", BuriedTok },
            { "CENTER", CentreTok },
            { "CENTRE", CentreTok },
            { "CHARGE", ChargeTok },
            { "CHARMM", CharmmTok },
            { "COLORS", ColourTok },
            { "COLOUR", ColourTok },
            { "CYCLIC", CyclicTok },
            { "DASHES", DashTok   },
            { "DEFINE", DefineTok },
            { "ELEMNO", ElemNoTok },
            { "HBONDS", HBondTok  },
            { "HETERO", HeteroTok },
            { "HOLLOW", HollowTok },
            { "INLINE", InLineTok },
            { "LABELS", LabelTok  },
            { "LIGAND", LigandTok },
            { "MEDIUM", MediumTok },
            { "MONOPS", MonoPSTok },
            { "NMRPDB", NMRPDBTok },
            { "NORMAL", NormalTok },
            { "ORANGE", OrangeTok },
            { "POVRAY", POVRayTok },
            { "PURINE", PurineTok },
            { "PURPLE", PurpleTok },
            { "QUANTA", QuantaTok },
            { "RADIUS", RadiusTok },
            { "RASMOL", RasMolTok },
            { "RASWIN", RasMolTok },
            { "REJECT", RejectTok },
            { "RESIZE", ResizeTok },
            { "RIBBON", RibbonTok },
            { "ROTATE", RotateTok },
            { "SCRIPT", ScriptTok },
            { "SELECT", SelectTok },
            { "SHADOW", ShadowTok },
            { "SHEETS", SheetTok  },
            { "SOURCE", SourceTok },
            { "SSBOND", SSBondTok },
            { "STEREO", StereoTok },
            { "SUNRLE", SUNRLETok },
            { "VECTPS", VectPSTok },
            { "VIOLET", VioletTok },
            { "WATERS", WaterTok  },
            { "WITHIN", WithinTok },
            { "YELLOW", YellowTok },  /* 148 */

            { "ACYCLIC", AcyclicTok },
            { "ALCHEMY", AlchemyTok },
            { "AMBIENT", AmbientTok },
            { "CARTOON", CartoonTok },
            { "CHARGED", ChargedTok },
            { "CHARGES", ChargeTok  },
            { "COLOURS", ColourTok  },
            { "CONNECT", ConnectTok },
            { "CYSTINE", CystineTok },
            { "DISPLAY", DisplayTok },
            { "HELICES", HelixTok   },
            { "INSIGHT", InsightTok },
            { "LIGANDS", LigandTok  },
            { "MAGENTA", MagentaTok },
            { "MONITOR", MonitorTok },
            { "NEUTRAL", NeutralTok },
            { "NUCLEIC", NucleicTok },
            { "PICKING", PickingTok },
            { "PROTEIN", ProteinTok },
            { "PURINES", PurineTok  },
            { "REFRESH", RefreshTok },
            { "RESIDUE", GroupTok   },
            { "RIBBON1", Ribbon1Tok },
            { "RIBBON2", Ribbon2Tok },
            { "RIBBONS", RibbonTok  },
            { "SECTION", SectionTok },
            { "SHADOWS", ShadowTok  },
            { "SHAPELY", ShapelyTok },
            { "SOLVENT", SolventTok },
            { "SSBONDS", SSBondTok  },
            { "STRANDS", StrandsTok },
            { "SURFACE", SurfaceTok },  
            { "TORSION", TorsionTok }, /* 181 */

            { "AROMATIC", AromaticTok },
            { "BACKBONE", BackboneTok },
            { "BACKFADE", BackFadeTok },
            { "BONDMODE", BondModeTok },
            { "BOUNDBOX", BoundBoxTok },
            { "CARTOONS", CartoonTok  },
            { "DEPTHCUE", DepthCueTok },
            { "DISTANCE", DistanceTok },
            { "FONTSIZE", FontSizeTok },
            { "GAUSSIAN", GaussianTok },
            { "HYDROGEN", HydrogenTok },
            { "IDENTIFY", IdentifyTok },
            { "KINEMAGE", KinemageTok },
            { "MONITORS", MonitorTok  },
            { "NEGATIVE", AcidicTok   },
            { "POSITIVE", BasicTok    },
            { "RENUMBER", RenumTok    },
            { "RESTRICT", RestrictTok },
            { "RIBBONS1", Ribbon1Tok  },
            { "RIBBONS2", Ribbon2Tok  },
            { "SELECTED", SelectedTok },
            { "SEQUENCE", SequenceTok },
            { "SLABMODE", SlabModeTok },
            { "SOLVENTS", SolventTok  },
            { "SPECULAR", SpecularTok }, 
            { "SYMMETRY", SymmetryTok },
            { "TORSIONS", TorsionTok  },
            { "UNITCELL", UnitCellTok },  /* 209 */

            { "ALIPHATIC", AliphaticTok },
            { "CLIPBOARD", ClipboardTok },
            { "DISTANCES", DistanceTok  },
            { "GREENBLUE", GreenblueTok },
            { "HOURGLASS", HourGlassTok },
            { "MAINCHAIN", MainChainTok },
            { "MOLSCRIPT", MolScriptTok },
            { "MOUSEMODE", MouseTok     },
            { "POTENTIAL", PotentialTok },
            { "REDORANGE", RedorangeTok },
            { "SIDECHAIN", SidechainTok },
            { "SPACEFILL", SpacefillTok },
            { "SPECPOWER", SpecPowerTok },
            { "STRUCTURE", StructureTok },
            { "TRANSLATE", TranslateTok },
            { "WIREFRAME", WireframeTok },  /* 225 */

            { "BACKGROUND", BackgroundTok },
            { "MACROMODEL", MacroModelTok },
            { "MONOCHROME", MonoTok       },
            { "PYRIMIDINE", PyrimidineTok },  /* 229 */

            { "BOUNDINGBOX", BoundBoxTok    },
            { "HYDROPHOBIC", HydrophobicTok },
            { "INFORMATION", InfoTok        },
            { "PYRIMIDINES", PyrimidineTok, },
            { "TEMPERATURE", TemperatureTok },
            { "TRANSPARENT", TransparentTok }  /* 236 */
                };

Modified: Wed Feb 21 17:00:00 1996 GMT
Page accessed 3200 times since Sat Apr 17 22:33:07 1999 GMT