net.sourceforge.czt.parser.circus
Class ParserState

java.lang.Object
  extended by net.sourceforge.czt.parser.z.ParserState
      extended by net.sourceforge.czt.parser.circus.ParserState

public class ParserState
extends net.sourceforge.czt.parser.z.ParserState


Constructor Summary
ParserState(net.sourceforge.czt.session.Source loc)
           
 
Method Summary
 void addCircusStateAnn(net.sourceforge.czt.z.ast.Para para)
          Adds a <code>CircusStateAnn</code> annotation to the given paragraph.
 void addImplicitlyDeclActionPara(net.sourceforge.czt.circus.ast.ActionPara ap)
          Add an implicitly declared action to the current BasicProcess cache.
 void addImplicitlyDeclProcessPara(net.sourceforge.czt.circus.ast.ProcessPara pp)
          Add an implicitly declared process to the current ZSect cache.
 void addLocallyDeclPara(net.sourceforge.czt.z.ast.Para p)
           
 void addProcessEndWarning(net.sourceforge.czt.z.ast.Name procName, net.sourceforge.czt.parser.util.LocInfo loc)
           
 void addProcessScopeWarning(java.lang.String msg, net.sourceforge.czt.parser.util.LocInfo loc)
           
 void clearAllProcessInformation()
           
 void clearBasicProcessInformation()
          Clears the implicitly declared actions and their name seed; the current main action, the current basic process, and the list of locally declared paragraphs.
 void clearBasicProcessLocalParaCache()
           
 void clearBasicProcessOnTheFlyCache()
          Clears the implicitly declared actions cache for the current BasicProcess/code>.
 void clearRefinementModel()
           
 void clearSectBasicProcessEndWarning()
           
 void clearSectBasicProcessScopeWarnings()
           
 void clearSectProcessOnTheFlyCache()
          Clears the implicitly declared processes cache for the current ZSect.
 net.sourceforge.czt.circus.ast.BasicProcess cloneBasicProcessWithAnns()
           
protected  net.sourceforge.czt.z.ast.Name createDefaultProcessStateName(net.sourceforge.czt.parser.util.LocInfo l)
           
 net.sourceforge.czt.z.ast.Para createDefaultStatePara(net.sourceforge.czt.parser.util.LocInfo l)
           
protected  net.sourceforge.czt.z.ast.Expr createEmptySchExpr()
           
 java.lang.String createImplicitlyDeclActUniqueName()
          Creates a unique string for implicitly declared actions.
 java.lang.String createImplicitlyDeclProcUniqueName()
          Creates a unique string for implicitly declared processes.
 boolean enterBasicProcessScope(net.sourceforge.czt.parser.util.LocInfo loc)
          Enters a basic process scope, provided there isn't one already, since nested scope processes are not allowed.
 boolean exitBasicProcessScope()
          Clears the current basic process scope, provided one exists.
 net.sourceforge.czt.circus.ast.BasicProcess getBasicProcess()
           
protected  java.util.List<net.sourceforge.czt.circus.ast.ActionPara> getImplicitlyDeclActPara()
           
 java.util.List<net.sourceforge.czt.circus.ast.ProcessPara> getImplicitlyDeclProcPara()
           
protected  java.util.List<net.sourceforge.czt.z.ast.Para> getLocallyDeclPara()
           
 net.sourceforge.czt.circus.ast.CircusAction getMainAction()
           
 net.sourceforge.czt.parser.util.Pair<net.sourceforge.czt.z.ast.Name,net.sourceforge.czt.parser.util.LocInfo> getProcessEndWarning()
           
 net.sourceforge.czt.z.ast.NameList getProcessGenFormals()
           
 net.sourceforge.czt.z.ast.Name getProcessName()
           
 net.sourceforge.czt.circus.ast.ProcessPara getProcessPara()
           
 java.util.List<net.sourceforge.czt.parser.util.Pair<java.lang.String,net.sourceforge.czt.parser.util.LocInfo>> getProcessScopeWarnings()
           
 net.sourceforge.czt.circus.ast.Model getRefinementModel()
           
 net.sourceforge.czt.z.ast.Para getStatePara()
           
 boolean hasBasicProcess()
           
 boolean hasMainAction()
           
 boolean hasProcessName()
           
 boolean hasProcessPara()
           
 boolean hasState()
           
 boolean isImplicitlyDeclaredActionPara(net.sourceforge.czt.circus.ast.ActionPara ap)
           
 boolean isKnownPara(java.util.List<net.sourceforge.czt.z.ast.Para> ipl)
          Check whether the given para list is contained within the parsing state either as locally declared para or implicitly declared action para.
 boolean isWithinMultipleEnvBasicProcessScope()
           
 void setBasicProcess(net.sourceforge.czt.circus.ast.BasicProcess bp)
           
 void setMainAction(net.sourceforge.czt.circus.ast.CircusAction action)
           
 void setProcessPara(net.sourceforge.czt.circus.ast.ProcessPara pp)
           
 void setRefinementModel(net.sourceforge.czt.circus.ast.Model model)
           
 void setStatePara(net.sourceforge.czt.z.ast.Para para)
           
 boolean updateBasicProcessInformation()
           
 
Methods inherited from class net.sourceforge.czt.parser.z.ParserState
addLocAnn, getLoc, isPreviousChain, setPreviousChain
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParserState

public ParserState(net.sourceforge.czt.session.Source loc)
Method Detail

clearBasicProcessOnTheFlyCache

public void clearBasicProcessOnTheFlyCache()
Clears the implicitly declared actions cache for the current BasicProcess/code>. It also resets the unique name seed to zero.


clearBasicProcessLocalParaCache

public void clearBasicProcessLocalParaCache()

clearSectProcessOnTheFlyCache

public void clearSectProcessOnTheFlyCache()
Clears the implicitly declared processes cache for the current ZSect. It also resets the unique name seed to zero.


clearBasicProcessInformation

public void clearBasicProcessInformation()
Clears the implicitly declared actions and their name seed; the current main action, the current basic process, and the list of locally declared paragraphs.


clearAllProcessInformation

public void clearAllProcessInformation()

createImplicitlyDeclActUniqueName

public java.lang.String createImplicitlyDeclActUniqueName()
Creates a unique string for implicitly declared actions.


createImplicitlyDeclProcUniqueName

public java.lang.String createImplicitlyDeclProcUniqueName()
Creates a unique string for implicitly declared processes.


addImplicitlyDeclActionPara

public void addImplicitlyDeclActionPara(net.sourceforge.czt.circus.ast.ActionPara ap)
Add an implicitly declared action to the current BasicProcess cache. It also includes an OnTheFlyDefAnn for the action the paragraph defines.


isImplicitlyDeclaredActionPara

public boolean isImplicitlyDeclaredActionPara(net.sourceforge.czt.circus.ast.ActionPara ap)

addLocallyDeclPara

public void addLocallyDeclPara(net.sourceforge.czt.z.ast.Para p)

addImplicitlyDeclProcessPara

public void addImplicitlyDeclProcessPara(net.sourceforge.czt.circus.ast.ProcessPara pp)
Add an implicitly declared process to the current ZSect cache. It also includes an OnTheFlyDefAnn for the process the paragraph defines.


getImplicitlyDeclProcPara

public java.util.List<net.sourceforge.czt.circus.ast.ProcessPara> getImplicitlyDeclProcPara()

getImplicitlyDeclActPara

protected java.util.List<net.sourceforge.czt.circus.ast.ActionPara> getImplicitlyDeclActPara()

getLocallyDeclPara

protected java.util.List<net.sourceforge.czt.z.ast.Para> getLocallyDeclPara()

addCircusStateAnn

public void addCircusStateAnn(net.sourceforge.czt.z.ast.Para para)
Adds a <code>CircusStateAnn</code> annotation to the given paragraph. The code also checks the paragraph is indeed a valid schema, and an error is report if a problem is found.


createEmptySchExpr

protected net.sourceforge.czt.z.ast.Expr createEmptySchExpr()

createDefaultProcessStateName

protected net.sourceforge.czt.z.ast.Name createDefaultProcessStateName(net.sourceforge.czt.parser.util.LocInfo l)

createDefaultStatePara

public net.sourceforge.czt.z.ast.Para createDefaultStatePara(net.sourceforge.czt.parser.util.LocInfo l)

enterBasicProcessScope

public boolean enterBasicProcessScope(net.sourceforge.czt.parser.util.LocInfo loc)
Enters a basic process scope, provided there isn't one already, since nested scope processes are not allowed. If the result is false, the parser ought to flag an error. The location information object defines where the process was first declared. This is particularly useful for multiply environment process declarations.


exitBasicProcessScope

public boolean exitBasicProcessScope()
Clears the current basic process scope, provided one exists. If it doesn't nothing change, and the parser should raise a warning.


isWithinMultipleEnvBasicProcessScope

public boolean isWithinMultipleEnvBasicProcessScope()

setMainAction

public void setMainAction(net.sourceforge.czt.circus.ast.CircusAction action)

getMainAction

public net.sourceforge.czt.circus.ast.CircusAction getMainAction()

setStatePara

public void setStatePara(net.sourceforge.czt.z.ast.Para para)

getStatePara

public net.sourceforge.czt.z.ast.Para getStatePara()

getProcessPara

public net.sourceforge.czt.circus.ast.ProcessPara getProcessPara()

setProcessPara

public void setProcessPara(net.sourceforge.czt.circus.ast.ProcessPara pp)

getProcessName

public net.sourceforge.czt.z.ast.Name getProcessName()

getProcessGenFormals

public net.sourceforge.czt.z.ast.NameList getProcessGenFormals()

hasProcessPara

public boolean hasProcessPara()

hasProcessName

public boolean hasProcessName()

setBasicProcess

public void setBasicProcess(net.sourceforge.czt.circus.ast.BasicProcess bp)

getBasicProcess

public net.sourceforge.czt.circus.ast.BasicProcess getBasicProcess()

hasMainAction

public boolean hasMainAction()

hasState

public boolean hasState()

hasBasicProcess

public boolean hasBasicProcess()

updateBasicProcessInformation

public boolean updateBasicProcessInformation()

cloneBasicProcessWithAnns

public net.sourceforge.czt.circus.ast.BasicProcess cloneBasicProcessWithAnns()

isKnownPara

public boolean isKnownPara(java.util.List<net.sourceforge.czt.z.ast.Para> ipl)
Check whether the given para list is contained within the parsing state either as locally declared para or implicitly declared action para.


getProcessScopeWarnings

public java.util.List<net.sourceforge.czt.parser.util.Pair<java.lang.String,net.sourceforge.czt.parser.util.LocInfo>> getProcessScopeWarnings()

getProcessEndWarning

public net.sourceforge.czt.parser.util.Pair<net.sourceforge.czt.z.ast.Name,net.sourceforge.czt.parser.util.LocInfo> getProcessEndWarning()

addProcessScopeWarning

public void addProcessScopeWarning(java.lang.String msg,
                                   net.sourceforge.czt.parser.util.LocInfo loc)

addProcessEndWarning

public void addProcessEndWarning(net.sourceforge.czt.z.ast.Name procName,
                                 net.sourceforge.czt.parser.util.LocInfo loc)

clearSectBasicProcessEndWarning

public void clearSectBasicProcessEndWarning()

clearSectBasicProcessScopeWarnings

public void clearSectBasicProcessScopeWarnings()

getRefinementModel

public net.sourceforge.czt.circus.ast.Model getRefinementModel()

setRefinementModel

public void setRefinementModel(net.sourceforge.czt.circus.ast.Model model)

clearRefinementModel

public void clearRefinementModel()


Copyright © 2003-2007 Community Z Tools Project. All Rights Reserved.