com.veromodo.tempo.sem
Class CheckTypeVocab

java.lang.Object
  extended by com.veromodo.tempo.ast.ASTHVisitor
      extended by com.veromodo.tempo.ast.ASTBVisitor
          extended by com.veromodo.tempo.sem.CheckType
              extended by com.veromodo.tempo.sem.CheckTypeVocab
All Implemented Interfaces:
ASTIVisitor

public class CheckTypeVocab
extends CheckType


Method Summary
 void applyASTTypeId(ASTTypeId n)
          Vocabularies can *implicitely* define a GENERIC type PARAMETER within an import directive See AugmentedReal for an example (it imports NumericOps and introduces the type name AugmentedReal in the import clause.
 
Methods inherited from class com.veromodo.tempo.sem.CheckType
applyASTType, applyASTTypeEnum, applyASTTypeFunction, applyASTTypeGeneric, applyASTTypeParameter, applyASTTypeTuple, applyASTTypeUnion, synthesizeType
 
Methods inherited from class com.veromodo.tempo.ast.ASTBVisitor
applyASTAction, applyASTActionFormalConst, applyASTActionFormalName, applyASTActionFormalTypedIdList, applyASTActionSet, applyASTActualExpr, applyASTActualType, applyASTAssignment, applyASTBackwardSim, applyASTBasicAutomaton, applyASTBinary, applyASTBlock, applyASTCall, applyASTChoose, applyASTComponent, applyASTComponentDef, applyASTComponentInst, applyASTCompositeAutomaton, applyASTCond, applyASTDeclFun, applyASTDeclLocals, applyASTDeclScheduleLocal, applyASTDeclVar, applyASTDeclVocabulary, applyASTDefType, applyASTDerefArray, applyASTDerefField, applyASTEffect, applyASTExpr, applyASTExprId, applyASTExprLiteral, applyASTFireInput, applyASTFireInternal, applyASTFireOutput, applyASTFollow, applyASTForClause, applyASTForLoop, applyASTFormal, applyASTForwardSim, applyASTIdentifier, applyASTIfThen, applyASTIfThenElse, applyASTInvariant, applyASTList, applyASTLiteral, applyASTMSGInvokeInput, applyASTMSGInvokeInternal, applyASTMSGInvokeOutput, applyASTNDRChoose, applyASTNDRFire, applyASTNDRFireInput, applyASTNDRFireInternal, applyASTNDRFireOutput, applyASTNDRFollow, applyASTNDRIfThen, applyASTNDRIfThenElse, applyASTNDRWhile, applyASTNDRYield, applyASTNode, applyASTNotation, applyASTNotationFun, applyASTNotationInfix, applyASTNotationInfixRight, applyASTNotationITE, applyASTNotationMixBracket, applyASTNotationMixCBrace, applyASTNotationPrefix, applyASTNotationSuffix, applyASTOperator, applyASTOperatorSignature, applyASTProofFire, applyASTProofFollow, applyASTProofIfThen, applyASTProofIfThenElse, applyASTProofUsing, applyASTProofWhile, applyASTQExist, applyASTQForall, applyASTRoot, applyASTRootDeclFuns, applyASTRootDeclTypes, applyASTRootDeclVocab, applyASTRootVocabRef, applyASTSchedule, applyASTSetof, applyASTSimProof, applyASTSimProofAction, applyASTStartEntry, applyASTState, applyASTTask, applyASTTrajectory, applyASTTrajEntry, applyASTTrajRef, applyASTTransEntry, applyASTTransition, applyASTTupleConstructor, applyASTTypeAlias, applyASTTypeSelector, applyASTUnary, applyASTVocabRef, applyASTWhile, applyDeclFields
 
Methods inherited from class com.veromodo.tempo.ast.ASTHVisitor
applyASTActionFormal, applyASTActual, applyASTAdd, applyASTAnd, applyASTAutomaton, applyASTBinOp, applyASTDecl, applyASTDeclFields, applyASTDiv, applyASTEqual, applyASTEquiv, applyASTFire, applyASTFloatLiteral, applyASTGEqual, applyASTGreater, applyASTIdOrNum, applyASTImply, applyASTIntLiteral, applyASTLEqual, applyASTLess, applyASTListActionFormal, applyASTListActionSet, applyASTListActual, applyASTListComponent, applyASTListDeclFuns, applyASTListDeclLocals, applyASTListDeclScheduleLocal, applyASTListDefType, applyASTListFields, applyASTListFormal, applyASTListFormula, applyASTListId, applyASTListIdOrNum, applyASTListName, applyASTListOperatorSignature, applyASTListProofUsing, applyASTListRoot, applyASTListSignature, applyASTListSimProofEntry, applyASTListStartEntry, applyASTListState, applyASTListStatement, applyASTListTask, applyASTListTrajectories, applyASTListTrajRef, applyASTListTransition, applyASTListType, applyASTListVocabRef, applyASTMixCBraceOp, applyASTMSGInvoke, applyASTMul, applyASTNeg, applyASTNEqual, applyASTNot, applyASTNotationMixFix, applyASTOr, applyASTPost, applyASTPow, applyASTProofStatement, applyASTQuantified, applyASTSignature, applyASTSimProofEntry, applyASTSimulation, applyASTStatement, applyASTSub
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

applyASTTypeId

public void applyASTTypeId(ASTTypeId n)
Vocabularies can *implicitely* define a GENERIC type PARAMETER within an import directive See AugmentedReal for an example (it imports NumericOps and introduces the type name AugmentedReal in the import clause. This is *ugly*. Nothing should be implicit it makes the languages semantics murky. It would be much better to require a types declaration as in the Natural or Integer vocabulary and have import refer to the type name explicitely declared this way.

Specified by:
applyASTTypeId in interface ASTIVisitor
Overrides:
applyASTTypeId in class CheckType