home *** CD-ROM | disk | FTP | other *** search
- import java.io.PrintStream;
-
- public class JScriptToken extends JSbxBase implements Cloneable {
- public static final byte JSTT_KEYWORD = 1;
- public static final byte JSTT_IDENTIFIER = 2;
- public static final byte JSTT_CONSTANT = 3;
- public static final byte JSTT_OPERATOR = 4;
- public static final byte JSTT_SPECIAL_CHAR = 5;
- public static final byte JSTT_DEBUG = 6;
- private String aTokenStr;
- private JSbxValue aTokenVal;
- private byte nTokType;
- private short nTokID;
-
- private JScriptToken(String var1, JSbxValue var2, byte var3, short var4) {
- this.Init(var1, var2, var3, var4);
- }
-
- public JScriptToken(String var1, JSbxValue var2) {
- this.Init(var1, var2, (byte)3, (short)0);
- }
-
- public JScriptToken(String var1, byte var2, short var3) {
- this.Init(var1, (JSbxValue)null, var2, var3);
- }
-
- private void Init(String var1, JSbxValue var2, byte var3, short var4) {
- this.aTokenStr = var1;
- this.aTokenVal = var2;
- this.nTokType = var3;
- this.nTokID = var4;
- }
-
- public Object clone() {
- JScriptToken var1 = new JScriptToken(new String(this.aTokenStr), this.nTokType, this.nTokID);
- var1.aTokenVal = this.aTokenVal != null ? (JSbxValue)this.aTokenVal.clone() : null;
- return var1;
- }
-
- public String GetString() {
- return this.aTokenStr;
- }
-
- public JSbxValue GetValue() {
- return this.aTokenVal;
- }
-
- public byte GetType() {
- return this.nTokType;
- }
-
- public short GetID() {
- return this.nTokID;
- }
-
- public void DumpToken(PrintStream var1, boolean var2, int var3) {
- if (var2) {
- String var4 = "";
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4 = var4 + " ";
- }
-
- switch (this.nTokType) {
- case 1:
- var1.print("<FONT COLOR=\"LIGHT BLUE\">");
- var1.print(var4 + this.aTokenStr + " ");
- var1.print("</FONT>");
- return;
- case 2:
- var1.print("<FONT COLOR=\"BLACK\">");
- var1.print(var4 + this.aTokenStr + " ");
- var1.print("</FONT>");
- return;
- case 3:
- var1.print("<FONT COLOR=\"RED\">");
-
- try {
- String var9 = this.aTokenVal.GetString();
- if (this.aTokenVal.GetType() == 4) {
- var1.print(var4 + """ + this.ToHTML(var9) + """ + " ");
- } else {
- var1.print(var4 + var9 + " ");
- }
- } catch (JSbxException var7) {
- }
-
- var1.print("</FONT>");
- return;
- case 4:
- String var6 = this.aTokenStr;
- var1.print("<FONT COLOR=\"LIGHT BLUE\">");
- var1.print(var4 + this.ToHTML(var6) + " ");
- var1.print("</FONT>");
- return;
- case 5:
- if (this.nTokID != 134) {
- var1.print("<FONT COLOR=\"MAGENTA\">");
- var1.print(var4 + this.aTokenStr + " ");
- var1.print("</FONT>");
- return;
- }
- break;
- case 6:
- var1.print("<FONT COLOR=\"GREEN\">");
- var1.print(var4 + this.aTokenStr + " ");
- var1.print("</FONT>");
- return;
- }
- } else {
- switch (this.nTokType) {
- case 1:
- var1.println("KEYWORD-Token: " + this.aTokenStr + "\t(ID = " + this.nTokID + ")");
- return;
- case 2:
- var1.println("IDENTIFIER-Token: " + this.aTokenStr);
- return;
- case 3:
- var1.print("CONSTANT-Token: " + this.aTokenStr + "\t");
-
- try {
- this.aTokenVal.Dump(var1, 0, -1);
- return;
- } catch (JSbxException var8) {
- return;
- }
- case 4:
- var1.println("OPERATOR-Token: " + this.aTokenStr + "\t(ID = " + this.nTokID + ")");
- return;
- case 5:
- var1.println("CHAR-Token: " + this.aTokenStr + "\t(ID = " + this.nTokID + ")");
- return;
- case 6:
- var1.println("DEBUG-Token: " + this.aTokenStr);
- return;
- }
- }
-
- }
-
- private String ToHTML(String var1) {
- char[] var2 = var1.toCharArray();
- String var3 = "";
- int var4 = var2.length;
-
- for(int var5 = 0; var5 < var4; ++var5) {
- char var6 = var2[var5];
- switch (var6) {
- case '\b':
- var3 = var3 + "\\b";
- break;
- case '\t':
- var3 = var3 + "\\t";
- break;
- case '\n':
- var3 = var3 + "\\n";
- break;
- case '\f':
- var3 = var3 + "\\f";
- break;
- case '\r':
- var3 = var3 + "\\r";
- break;
- case '"':
- var3 = var3 + "\\\"";
- break;
- case '\'':
- var3 = var3 + "\\'";
- break;
- case '<':
- var3 = var3 + "<";
- break;
- case '>':
- var3 = var3 + ">";
- break;
- case '\\':
- var3 = var3 + "\\\\";
- break;
- default:
- var3 = var3 + String.valueOf(var2[var5]);
- }
- }
-
- return var3;
- }
- }
-