home *** CD-ROM | disk | FTP | other *** search
- import java.io.PrintStream;
- import stardiv.tools.HoldJavaEnvironment;
-
- class JScriptCompiler extends SJMTObject {
- private JScriptManager aJScriptManager;
- private JScriptTokenizer aTokenizer;
- private JScriptParser aParser;
-
- public JScriptTokenInterface GetTokenInterface() {
- return this.aTokenizer;
- }
-
- public JScriptErrorLog GetErrorLog() {
- return this.aJScriptManager == null ? null : this.aJScriptManager.GetErrorLog();
- }
-
- public JScriptCompiler(JScriptManager var1, ThreadGroup var2) {
- super(var1, "JavaScript Compiler", var2);
- this.aJScriptManager = var1;
- this.InitRefs();
- }
-
- public JScriptCompiler(JScriptManager var1) {
- super(var1, false);
- this.aJScriptManager = var1;
- this.InitRefs();
- }
-
- private final void InitRefs() {
- this.aTokenizer = new JScriptTokenizer();
- this.aParser = new JScriptParser(this);
- }
-
- public synchronized void Compile(JScriptModule var1, boolean var2) throws JScriptParserException {
- this.aTokenizer.SetSource(var1.GetSource());
- this.aParser.ParseModule(var1, var2);
- }
-
- public void RuntimeCompile(String var1, JScriptModule var2, JScriptCodeBlock var3, JScriptMethod var4, boolean var5) throws JScriptParserException {
- this.aTokenizer.SetSource(var1);
- this.aParser.RuntimeParse(var2, var3, var4, var5);
- }
-
- protected void ProcessMessage(SJMessage var1) {
- if (var1 instanceof JScriptAction) {
- JScriptAction var2 = (JScriptAction)var1;
- switch (((SJMessage)var2).GetID()) {
- case 2001:
- ((SJMTObject)this).StopMessageLoop();
- return;
- case 2002:
- synchronized(this){}
-
- try {
- String var7;
- label95: {
- try {
- this.Compile((JScriptModule)((SJMessage)var2).GetObject(0), true);
- } catch (JScriptTokenizerException var11) {
- JScriptTokenPosition var6 = var11.GetErrorPosition();
- if (var6 != null) {
- var7 = " --> line=" + var6.GetLine() + " col=" + var6.GetCol();
- break label95;
- }
-
- var7 = " --> no valid position";
- break label95;
- } catch (Throwable var12) {
- HoldJavaEnvironment.AddToProtocol("Compiler-Error: " + var12);
- }
-
- var1.Acknowledge();
- return;
- }
-
- HoldJavaEnvironment.AddToProtocol("Compiler-Error: " + var11);
- HoldJavaEnvironment.AddToProtocol("-->" + var7);
- if (this.aJScriptManager != null) {
- this.aJScriptManager.SetLastError(var11 + var7);
- }
-
- var1.AcknowledgeError();
- } catch (Throwable var13) {
- throw var13;
- }
-
- return;
- default:
- }
- }
- }
-
- public void SetDebug(boolean var1, boolean var2, PrintStream var3) {
- this.aParser.SetDebug(var1, var2, var3);
- }
-
- public JScriptParserTerm DEBUG_ParseTerm(String var1) {
- JScriptParserTerm var2 = null;
- this.aTokenizer.SetSource(var1);
-
- try {
- var2 = this.aParser.ParseTerm();
- } catch (JSbxExceptionBase var4) {
- System.out.println("Exception in DEBUG_ParseTerm(): " + var4);
- }
-
- return var2;
- }
- }
-