ファイル
compiler
トークン種類(tk)
lexer.nim
tkInvalid, tkEof,
tkSymbol,
tkAddr, tkAnd, tkAs, tkAsm,
tkBind, tkBlock, tkBreak, tkCase, tkCast,
tkConcept, tkConst, tkContinue, tkConverter,
tkDefer, tkDiscard, tkDistinct, tkDiv, tkDo,
tkElif, tkElse, tkEnd, tkEnum, tkExcept, tkExport,
tkFinally, tkFor, tkFrom, tkFunc,
tkIf, tkImport, tkIn, tkInclude, tkInterface,
tkIs, tkIsnot, tkIterator,
tkLet,
tkMacro, tkMethod, tkMixin, tkMod, tkNil, tkNot, tkNotin,
tkObject, tkOf, tkOr, tkOut,
tkProc, tkPtr, tkRaise, tkRef, tkReturn,
tkShl, tkShr, tkStatic,
tkTemplate,
tkTry, tkTuple, tkType, tkUsing,
tkVar, tkWhen, tkWhile, tkXor,
tkYield,
tkIntLit, tkInt8Lit, tkInt16Lit, tkInt32Lit, tkInt64Lit,
tkUIntLit, tkUInt8Lit, tkUInt16Lit, tkUInt32Lit, tkUInt64Lit,
tkFloatLit, tkFloat32Lit, tkFloat64Lit, tkFloat128Lit,
tkStrLit, tkRStrLit, tkTripleStrLit,
tkGStrLit, tkGTripleStrLit, tkCharLit, tkParLe, tkParRi, tkBracketLe,
tkBracketRi, tkCurlyLe, tkCurlyRi,
tkBracketDotLe, tkBracketDotRi,
tkCurlyDotLe, tkCurlyDotRi,
tkParDotLe, tkParDotRi,
tkComma, tkSemiColon,
tkColon, tkColonColon, tkEquals, tkDot, tkDotDot,
tkOpr, tkComment, tkAccent,
tkSpaces, tkInfixOpr, tkPrefixOpr, tkPostfixOpr
ASTノード種類(nk)
ast.nim
type
TNodeKind* = enum
nkNone,
nkEmpty,
nkIdent,
nkSym,
nkType,
nkCharLit,
nkIntLit,
nkInt8Lit,
nkInt16Lit,
nkInt32Lit,
nkInt64Lit,
nkUIntLit,
nkUInt8Lit,
nkUInt16Lit,
nkUInt32Lit,
nkUInt64Lit,
nkFloatLit,
nkFloat32Lit,
nkFloat64Lit,
nkFloat128Lit,
nkStrLit,
nkRStrLit,
nkTripleStrLit,
nkNilLit,
nkMetaNode_Obsolete,
nkDotCall,
nkCommand,
nkCall,
nkCallStrLit,
nkInfix,
nkPrefix,
nkPostfix,
nkHiddenCallConv,
nkExprEqExpr,
nkExprColonExpr,
nkIdentDefs,
nkVarTuple,
nkPar,
nkObjConstr,
nkCurly,
nkCurlyExpr,
nkBracket,
nkBracketExpr,
nkPragmaExpr,
nkRange,
nkDotExpr,
nkCheckedFieldExpr,
nkDerefExpr,
nkIfExpr,
nkElifExpr,
nkElseExpr,
nkLambda,
nkDo,
nkAccQuoted,
nkTableConstr,
nkBind,
nkClosedSymChoice,
nkOpenSymChoice,
nkHiddenStdConv,
nkHiddenSubConv,
nkConv,
nkCast,
nkStaticExpr,
nkAddr,
nkHiddenAddr,
nkHiddenDeref,
nkObjDownConv,
nkObjUpConv,
nkChckRangeF,
nkChckRange64,
nkChckRange,
nkStringToCString,
nkCStringToString,
nkAsgn,
nkFastAsgn,
nkGenericParams,
nkFormalParams,
nkOfInherit,
nkImportAs,
nkProcDef,
nkMethodDef,
nkConverterDef,
nkMacroDef,
nkTemplateDef,
nkIteratorDef,
nkOfBranch,
nkElifBranch,
nkExceptBranch,
nkElse,
nkAsmStmt,
nkPragma,
nkPragmaBlock,
nkIfStmt,
nkWhenStmt,
nkForStmt,
nkParForStmt,
nkWhileStmt,
nkCaseStmt,
nkTypeSection,
nkVarSection,
nkLetSection,
nkConstSection,
nkConstDef,
nkTypeDef,
nkYieldStmt,
nkDefer,
nkTryStmt,
nkFinally,
nkRaiseStmt,
nkReturnStmt,
nkBreakStmt,
nkContinueStmt,
nkBlockStmt,
nkStaticStmt,
nkDiscardStmt,
nkStmtList,
nkImportStmt,
nkImportExceptStmt,
nkExportStmt,
nkExportExceptStmt,
nkFromStmt,
nkIncludeStmt,
nkBindStmt,
nkMixinStmt,
nkUsingStmt,
nkCommentStmt,
nkStmtListExpr,
nkBlockExpr,
nkStmtListType,
nkBlockType,
nkWith,
nkWithout,
nkTypeOfExpr,
nkObjectTy,
nkTupleTy,
nkTupleClassTy,
nkTypeClassTy,
nkStaticTy,
nkRecList,
nkRecCase,
nkRecWhen,
nkRefTy,
nkPtrTy,
nkVarTy,
nkConstTy,
nkMutableTy,
nkDistinctTy,
nkProcTy,
nkIteratorTy,
nkSharedTy,
nkEnumTy,
nkEnumFieldDef,
nkArgList,
nkPattern,
nkReturnToken,
nkClosure,
nkGotoState,
nkState,
nkBreakState,
nkFuncDef
シンボル種類(sk)
ast.nim
TSymKind* = enum
skUnknown,
skConditional,
skDynLib,
skParam,
skGenericParam,
skTemp,
skModule,
skType,
skVar,
skLet,
skConst,
skResult,
skProc,
skFunc,
skMethod,
skIterator,
skConverter,
skMacro,
skTemplate,
skField,
skEnumField,
skForVar,
skLabel,
skStub,
skPackage,
skAlias
シンボルフラグ(sf)
ast.nim
type
TSymFlag* = enum
sfUsed,
sfExported,
sfFromGeneric,
sfGlobal,
sfForward,
sfImportc,
sfExportc,
sfVolatile,
sfRegister,
sfPure,
sfNoSideEffect,
sfSideEffect,
sfMainModule,
sfSystemModule,
sfNoReturn,
sfAddrTaken,
sfCompilerProc,
sfProcvar,
sfDiscriminant,
sfDeprecated,
sfExplain,
sfError,
sfShadowed,
sfThread,
sfCompileTime,
sfConstructor,
sfDeadCodeElim,
sfBorrow,
sfInfixCall,
sfNamedParamCall,
sfDiscardable,
sfOverriden,
sfGenSym const
sfDispatcher* = sfDeadCodeElim
sfNoInit* = sfMainModule
sfImmediate* = sfDeadCodeElim
sfAllUntyped* = sfVolatile
sfDirty* = sfPure
sfAnon* = sfDiscardable
sfNoForward* = sfRegister
sfReorder* = sfForward
sfCompileToCpp* = sfInfixCall
sfCompileToObjc* = sfNamedParamCall
sfExperimental* = sfOverriden
sfGoto* = sfOverriden
sfWrittenTo* = sfBorrow
sfEscapes* = sfProcvar
sfBase* = sfDiscriminant
sfIsSelf* = sfOverriden
内部型種類(ty)
コンパイラ内部で扱う型の種類一覧
ast.nim
type
TTypeKind* = enumXXX
tyNone, tyBool, tyChar,
tyEmpty, tyAlias, tyNil, tyExpr, tyStmt, tyTypeDesc,
tyGenericInvocation,
tyGenericBody,
tyGenericInst,
tyGenericParam,
tyDistinct,
tyEnum,
tyOrdinal,
tyArray,
tyObject,
tyTuple,
tySet,
tyRange,
tyPtr, tyRef,
tyVar,
tySequence,
tyProc,
tyPointer, tyOpenArray,
tyString, tyCString, tyForward,
tyInt, tyInt8, tyInt16, tyInt32, tyInt64,
tyFloat, tyFloat32, tyFloat64, tyFloat128,
tyUInt, tyUInt8, tyUInt16, tyUInt32, tyUInt64,
tyOptAsRef, tyUnused1, tyUnused2,
tyVarargs,
tyUnused,
tyProxy
tyBuiltInTypeClass
tyUserTypeClass
tyUserTypeClassInst
tyCompositeTypeClass
tyInferred
tyAnd, tyOr, tyNot
tyAnything
tyStatic
tyFromExpr
tyOpt
tyVoid
static:
assert TTypeKind.high.ord<= 63const
tyPureObject* = tyTuple
GcTypeKinds* = {tyRef, tySequence, tyString}
tyError* = tyProxy
tyUnknown* = tyFromExpr
tyUnknownTypes* = {tyError, tyFromExpr}
tyTypeClasses* = {tyBuiltInTypeClass, tyCompositeTypeClass,
tyUserTypeClass, tyUserTypeClassInst,
tyAnd, tyOr, tyNot, tyAnything}
tyMetaTypes* = {tyGenericParam, tyTypeDesc, tyExpr} + tyTypeClasses
tyUserTypeClasses* = {tyUserTypeClass, tyUserTypeClassInst}
内部型フラグ(tf)
TTypeFlag* = enum
tfVarargs,
tfNoSideEffect,
tfFinal,
tfInheritable,
tfAcyclic,
tfEnumHasHoles,
tfShallow,
tfThread,
tfFromGeneric,
tfUnresolved,
tfResolved
tfRetType,
tfCapturesEnv,
tfByCopy,
tfByRef,
tfIterator,
tfPartial,
tfNotNil,
tfNeedsInit,
tfVarIsPtr,
tfHasMeta,
tfHasGCedMem,
tfPacked
tfHasStatic
tfGenericTypeParam
tfImplicitTypeParam
tfInferrableStatic
tfExplicit
tfWildcard
tfHasAsgn
tfBorrowDot
tfTriggersCompileTime
tfRefsAnonObj
tfCovariant
tfWeakCovariant
tfContravariant const
routineKinds* = {skProc, skFunc, skMethod, skIterator,
skConverter, skMacro, skTemplate}
tfIncompleteStruct* = tfVarargs
tfUncheckedArray* = tfVarargs
tfUnion* = tfNoSideEffect
tfGcSafe* = tfThread
tfObjHasKids* = tfEnumHasHoles
tfOldSchoolExprStmt* = tfVarargs
tfReturnsNew* = tfInheritable
skError* = skUnknown
eqTypeFlags* = {tfIterator, tfNotNil, tfVarIsPtr}
Nim/ast.nim at 844e123061631d4cc5bc4300301d1865eda5a337 · nim-lang/Nim
type
TMagic* = enum
mNone,
mDefined, mDefinedInScope, mCompiles, mArrGet, mArrPut, mAsgn,
mLow, mHigh, mSizeOf, mTypeTrait, mIs, mOf, mAddr, mTypeOf, mRoof, mPlugin,
mEcho, mShallowCopy, mSlurp, mStaticExec,
mParseExprToAst, mParseStmtToAst, mExpandToAst, mQuoteAst,
mUnaryLt, mInc, mDec, mOrd,
mNew, mNewFinalize, mNewSeq, mNewSeqOfCap,
mLengthOpenArray, mLengthStr, mLengthArray, mLengthSeq,
mXLenStr, mXLenSeq,
mIncl, mExcl, mCard, mChr,
mGCref, mGCunref,
mAddI, mSubI, mMulI, mDivI, mModI,
mSucc, mPred,
mAddF64, mSubF64, mMulF64, mDivF64,
mShrI, mShlI, mBitandI, mBitorI, mBitxorI,
mMinI, mMaxI,
mMinF64, mMaxF64,
mAddU, mSubU, mMulU, mDivU, mModU,
mEqI, mLeI, mLtI,
mEqF64, mLeF64, mLtF64,
mLeU, mLtU,
mLeU64, mLtU64,
mEqEnum, mLeEnum, mLtEnum,
mEqCh, mLeCh, mLtCh,
mEqB, mLeB, mLtB,
mEqRef, mEqUntracedRef, mLePtr, mLtPtr,
mXor, mEqCString, mEqProc,
mUnaryMinusI, mUnaryMinusI64, mAbsI, mNot,
mUnaryPlusI, mBitnotI,
mUnaryPlusF64, mUnaryMinusF64, mAbsF64,
mZe8ToI, mZe8ToI64,
mZe16ToI, mZe16ToI64,
mZe32ToI64, mZeIToI64,
mToU8, mToU16, mToU32,
mToFloat, mToBiggestFloat,
mToInt, mToBiggestInt,
mCharToStr, mBoolToStr, mIntToStr, mInt64ToStr, mFloatToStr, mCStrToStr,
mStrToStr, mEnumToStr,
mAnd, mOr,
mEqStr, mLeStr, mLtStr,
mEqSet, mLeSet, mLtSet, mMulSet, mPlusSet, mMinusSet, mSymDiffSet,
mConStrStr, mSlice,
mDotDot,
mFields, mFieldPairs, mOmpParFor,
mAppendStrCh, mAppendStrStr, mAppendSeqElem,
mInRange, mInSet, mRepr, mExit,
mSetLengthStr, mSetLengthSeq,
mIsPartOf, mAstToStr, mParallel,
mSwap, mIsNil, mArrToSeq, mCopyStr, mCopyStrLast,
mNewString, mNewStringOfCap, mParseBiggestFloat,
mReset,
mArray, mOpenArray, mRange, mSet, mSeq, mOpt, mVarargs,
mRef, mPtr, mVar, mDistinct, mVoid, mTuple,
mOrdinal,
mInt, mInt8, mInt16, mInt32, mInt64,
mUInt, mUInt8, mUInt16, mUInt32, mUInt64,
mFloat, mFloat32, mFloat64, mFloat128,
mBool, mChar, mString, mCstring,
mPointer, mEmptySet, mIntSetBaseType, mNil, mExpr, mStmt, mTypeDesc,
mVoidType, mPNimrodNode, mShared, mGuarded, mLock, mSpawn, mDeepCopy,
mIsMainModule, mCompileDate, mCompileTime, mProcCall,
mCpuEndian, mHostOS, mHostCPU, mBuildOS, mBuildCPU, mAppType,
mNaN, mInf, mNegInf,
mCompileOption, mCompileOptionArg,
mNLen, mNChild, mNSetChild, mNAdd, mNAddMultiple, mNDel, mNKind,
mNIntVal, mNFloatVal, mNSymbol, mNIdent, mNGetType, mNStrVal, mNSetIntVal,
mNSetFloatVal, mNSetSymbol, mNSetIdent, mNSetType, mNSetStrVal, mNLineInfo,
mNNewNimNode, mNCopyNimNode, mNCopyNimTree, mStrToIdent, mIdentToStr,
mNBindSym, mLocals, mNCallSite,
mEqIdent, mEqNimrodNode, mSameNodeType, mGetImpl,
mNHint, mNWarning, mNError,
mInstantiationInfo, mGetTypeInfo, mNGenSym,
mNimvm, mIntDefine, mStrDefine