InstallAtomClasses:
PROC [] ~ {
xcs, xci: Style;
integerClass, boolClass, realClass, variableClass, plainSymClass, overlaySymClass, smallMathSymClass, bigMathSymClass, italSymClass, mathItalSymClass, lineClass, placeholderClass, spaceClass, greekVarClass, infinityClass, rightArrowClass, barClass, perpClass, hatClass: AtomClass;
xerox standard character set
xcs ← [font: "Xerox/XC1-2-2/Classic"];
xci ← [font: "Xerox/XC1-2-2/Classic-italic"];
define Atom Classes
integerClass ← MakeAtomClass[$integer, atom, argument, xcs, RopeBox, PaintRope];
boolClass ← MakeAtomClass[$bool, atom, argument, xcs, RopeBox, PaintRope];
realClass ← MakeAtomClass[$real, atom, argument, xcs, RopeBox, PaintRope];
variableClass ← MakeAtomClass[$variable, atom, argument, xci, RopeBox, PaintRope];
greekVarClass ← MakeAtomClass[$greekVar, atom, argument, xcs, RopeBox, PaintRope, GreekVarToASRope];
plainSymClass ← MakeAtomClass[$plainSym, atom, symbol, xcs, RopeBox, PaintRope]; -- MathConstructors.MakePlainSym
overlaySymClass ← MakeAtomClass[$overlaySym, atom, symbol, xcs, OverlayBox, PaintOverlay]; -- MathConstructors.MakeOverlaySym
bigMathSymClass ← MakeAtomClass[$bigMathSym, atom, symbol, xcs, RopeBox, PaintRope, UnknownToASRope]; -- MathConstructors.MakeBigMathSym
smallMathSymClass ← MakeAtomClass[$smallMathSym, atom, symbol, xcs, RopeBox, PaintRope, UnknownToASRope]; -- MathConstructors.MakeSmallMathSym
mathItalSymClass ← MakeAtomClass[$mathItalicSym, atom, symbol, xci, RopeBox, PaintRope, UnknownToASRope]; -- MathConstructors.MakeMathItalSym
italSymClass ← MakeAtomClass[$italicSym, atom, symbol, xci, RopeBox, PaintRope, UnknownToASRope]; -- MathConstructors.MakeItalSym
lineClass ← MakeAtomClass[$line, atom, symbol, xcs, LineBox, PaintLine];
placeholderClass ← MakeAtomClass[$placeholder, atom, placeholder, xcs, RopeBox, PaintRope, UnknownToASRope];
spaceClass ← MakeAtomClass[$space, atom, symbol, xcs, SpaceBox, PaintSpace];
infinityClass ← MakeAtomClass[$infinity, atom, argument, xcs, RopeBox, PaintRope, InfinityToASRope];
rightArrowClass ← MakeAtomClass[$rightArrow, atom, argument, xcs, RopeBox, PaintRope, rightArrowToASRope];
barClass ← MakeAtomClass[$bar, atom, argument, xcs, RopeBox, PaintRope, barToASRope];
perpClass ← MakeAtomClass[$perp, atom, argument, xcs, RopeBox, PaintRope, barToASRope];
hatClass ← MakeAtomClass[$hat, atom, argument, xcs, RopeBox, PaintRope, hatToASRope];
register atom classes
MathDB.InstallAtomClass[integerClass];
MathDB.InstallAtomClass[boolClass];
MathDB.InstallAtomClass[realClass];
MathDB.InstallAtomClass[variableClass];
MathDB.InstallAtomClass[greekVarClass];
MathDB.InstallAtomClass[plainSymClass];
MathDB.InstallAtomClass[overlaySymClass];
MathDB.InstallAtomClass[italSymClass];
MathDB.InstallAtomClass[smallMathSymClass];
MathDB.InstallAtomClass[bigMathSymClass];
MathDB.InstallAtomClass[mathItalSymClass];
MathDB.InstallAtomClass[lineClass];
MathDB.InstallAtomClass[placeholderClass];
MathDB.InstallAtomClass[spaceClass];
MathDB.InstallAtomClass[infinityClass];
MathDB.InstallAtomClass[rightArrowClass];
MathDB.InstallAtomClass[barClass];
MathDB.InstallAtomClass[perpClass];
MathDB.InstallAtomClass[hatClass];
};