⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse.c

📁 主要用于大规模的测试生成方法
💻 C
📖 第 1 页 / 共 3 页
字号:
	ONCE	Pidentifier()	ENDRULE PformalNameRef IS	ONCE	Pidentifier()	ENDRULE Pgenerate IS FORM(Kgenerate)	REPEAT	Pliteral() || Pactual() || Pbuild() ||		PforEach() || Pcomment()	ENDFORMRULE PglobalPortRef IS FORM(KglobalPortRef)	ONCE	PportNameRef()	ENDFORMRULE PgreaterThan IS FORM(KgreaterThan)	ONCE	PnumberValue()	ENDFORMRULE PgridMap IS FORM(KgridMap)	ONCE	PnumberValue() && PnumberValue()	ENDFORMRULE Pidentifier IS	if (token->type != IDENT) return(FALSE);	else	{	if (Fvref && !Fassign) token->type = VALUEREF;		Fvref = Fassign = 0;		add_token(); return(TRUE);	}    }RULE Pif IS FORM(Kif)	ONCE	PbooleanValue() && Pthen()	OPTIONAL Pelse()	ENDFORMRULE Pignore IS FORM(Kignore)	ENDFORMRULE PincludeFigureGroup IS FORM(KincludeFigureGroup)	ONCE	PfigureGroupRef() || PfigureOp()	ENDFORMRULE Pincreasing IS FORM(Kincreasing)	ONCE	PnumberValue()	REPEAT	PnumberValue()	ENDFORMRULE Pinitial IS FORM(Kinitial)	ENDFORMRULE Pinstance IS ZERO(n) ZERO(m) FORM(Kinstance)	ONCE	PinstanceNameDef() && (PviewRef() || PviewList())	REPEAT	G1(n,Ptransform) || PparameterAssign() ||		PportInstance() || G1(m,Pdesignator) || Ptiming() ||		Pproperty() || Pcomment() || PuserData()	ENDFORMRULE PinstanceBackAnnotate IS ZERO(n) FORM(KinstanceBackAnnotate)	ONCE	PinstanceRef()	REPEAT	G1(n,Pdesignator) || Ptiming() || Pproperty() || Pcomment()	ENDFORMRULE PinstanceGroup IS FORM(KinstanceGroup)	REPEAT	PinstanceRef()	ENDFORMRULE PinstanceMap IS FORM(KinstanceMap)	REPEAT	PinstanceRef() || PinstanceGroup() || Pcomment() || PuserData()	ENDRULE PinstanceNameDef IS	ONCE	PnameDef() || Parray()	ENDRULE PinstanceNameRef IS	ONCE	PnameRef() || Pmember()	ENDRULE PinstanceRef IS FORM(KinstanceRef)	ONCE	PinstanceNameRef()	OPTIONAL PinstanceRef() || PviewRef()	ENDFORMRULE Pinteger IS FORM(Kinteger)	REPEAT	PintegerValue() || PintegerDisplay() || Pinteger()	ENDFORMRULE PintegerDisplay IS	FORM(KintegerDisplay)	ONCE	PintegerValue()	REPEAT	Pdisplay()	ENDFORMRULE PintegerToken IS	if (token->type != NUMBER) return(FALSE);	else add_token(); return( TRUE);}RULE PintegerValue IS	ONCE	PintegerToken() || PvalueNameRef() || Pfloor() || Pceiling() ||        Pfix() || Pmod() || PxCoord() || PyCoord() || Pabs() || Pmax() ||		Pmin() || Pnegate() || Pproduct() || Psubtract() || Psum()	ENDRULE Pinterface IS ZERO(k) ZERO(l) ZERO(m) ZERO(n) FORM(Kinterface)	FLAG(Fintf)	REPEAT	Pport() || PportBundle() || G1(k,Psymbol) ||		G1(l,PprotectionFrame) || G1(m,ParrayRelatedInfo) ||		Pparameter() || Pjoined() || PmustJoin() || PweakJoined() ||		Ppermutable() || Ptiming() || Psimulate() ||		G1(n,Pdesignator) || Pconstant() || Pconstraint() ||		Pvariable() || Passign() || Pblock() || Pif() || Piterate() ||		Pwhile() || Pproperty() || Pcomment() || PuserData()	UNFLAG(Fintf)	ENDFORMRULE PinterFigureGroupSpacing IS FORM(KinterFigureGroupSpacing)	ONCE	PruleNameDef() && PfigureGroupObject() &&		PfigureGroupObject() &&		(Prange() || PsingleValueSet())	REPEAT	Pcomment() || PuserData()	ENDFORMRULE Pintersection IS FORM(Kintersection)	ONCE	PfigureGroupRef() || PfigureOp()	REPEAT	PfigureGroupRef() || PfigureOp()	ENDFORMRULE PintraFigureGroupSpacing IS FORM(KintraFigureGroupSpacing)	ONCE	PruleNameDef() && PfigureGroupObject() &&		(Prange() || PsingleValueSet())	REPEAT	Pcomment() || PuserData()	ENDFORMRULE Pinverse IS FORM(Kinverse)	ONCE	PfigureGroupRef() || PfigureOp()	ENDFORMRULE Pisolated IS FORM(Kisolated)	ENDFORMRULE Piterate IS FORM(Kiterate)	REPEAT	Pstatement()	ENDFORMRULE Pjoined IS FORM(Kjoined)	REPEAT	PportRef() || PportList() || PglobalPortRef()	ENDFORMRULE Pjustify IS FORM(Kjustify)	ONCE	MATCH(KUPPERLEFT) || MATCH(KUPPERCENTER) ||		MATCH(KUPPERRIGHT) || MATCH(KCENTERLEFT) ||		MATCH(KCENTERCENTER) || MATCH(KCENTERRIGHT) ||		MATCH(KLOWERLEFT) || MATCH(KLOWERCENTER) ||		MATCH(KLOWERRIGHT)	ENDFORMRULE PkeywordAlias IS FORM(KkeywordAlias)	ONCE	PkeywordNameDef() && PkeywordNameRef()	ENDFORMRULE PkeywordDefine IS FORM(KkeywordDefine)	ONCE	PkeywordNameDef() && PkeywordParameters() && Pgenerate()	ENDFORMRULE PkeywordDisplay IS FORM(KkeywordDisplay)	ONCE	PkeywordNameRef()	REPEAT	Pdisplay()	ENDFORMRULE PkeywordLevel IS FORM(KkeywordLevel)	ONCE	PintegerToken()	ENDFORMRULE PkeywordMap IS FORM(KkeywordMap)	ONCE	PkeywordLevel()	REPEAT	PkeywordAlias() || PkeywordDefine() || Pcomment()	ENDFORMRULE PkeywordNameDef IS	ONCE	Pidentifier()	ENDRULE PkeywordNameRef IS	ONCE	Pidentifier()	ENDRULE PkeywordParameters IS FORM(KkeywordParameters)	REPEAT	Pformal()	ENDFORMRULE PlayerNameDef IS	ONCE	PnameDef()	ENDRULE PlessThan IS FORM(KlessThan)	ONCE	PnumberValue()	ENDRULE Plibrary IS ZERO(n) FORM(Klibrary)	ONCE	PlibraryNameDef() && PedifLevel() && Ptechnology()	REPEAT	G1(n,Pstatus) || Pcell() || Pcomment() || PuserData()	ENDFORMRULE PlibraryNameDef IS	ONCE	PnameDef()	ENDRULE PlibraryNameRef IS	ONCE	PnameRef()	ENDRULE PlibraryRef IS FORM(KlibraryRef)	ONCE	PlibraryNameRef()	ENDFORMRULE PlistOfNets IS FORM(KlistOfNets)	REPEAT	Pnet()	ENDFORMRULE PlistOfPorts IS FORM(KlistOfPorts)	REPEAT	Pport() || PportBundle()	ENDFORMRULE Pliteral IS FORM(Kliteral)	REPEAT	PintegerToken() || PstringToken() ||		Pidentifier() || Pform()	ENDFORMRULE PloadDelay IS FORM(KloadDelay)	ONCE	(PmiNoMaxValue() || PmiNoMaxDisplay()) &&		(PmiNoMaxValue() || PmiNoMaxDisplay())	ENDFORMRULE PlogicAssign IS FORM(KlogicAssign)	ONCE	(PportNameRef() || PportRef()) &&		(PportRef() || PlogicRef() || Ptable())	OPTIONAL Pdelay() || PloadDelay()	ENDFORMRULE PlogicInput IS FORM(KlogicInput)	ONCE	(PportNameRef() || PportRef() || PportList()) &&		PlogicWaveform()	ENDFORMRULE PlogicList IS FORM(KlogicList)	REPEAT	PlogicNameRef() || PlogicOneOf() || Pignore()	ENDFORMRULE PlogicMapInput IS FORM(KlogicMapInput)	REPEAT	PlogicRef()	ENDFORMRULE PlogicMapOutput IS FORM(KlogicMapOutput)	REPEAT	PlogicRef()	ENDFORMRULE PlogicNameDef IS	ONCE	PnameDef()	ENDRULE PlogicNameRef IS	ONCE	PnameRef()	ENDRULE PlogicOneOf IS FORM(KlogicOneOf)	REPEAT	PlogicNameRef() || PlogicList()	ENDFORMRULE PlogicOutput IS FORM(KlogicOutput)	ONCE	(PportNameRef() || PportRef() || PportList()) &&		PlogicWaveform()	ENDFORMRULE PlogicPort IS CONDFORM(KlogicPort, LOGICMODEL)	ONCE	PportNameDef()	REPEAT	Pproperty() || Pcomment() || PuserData()	ENDFORMRULE PlogicRef IS FORM(KlogicRef)	ONCE	PlogicNameRef()	OPTIONAL PlibraryRef()	ENDFORMRULE PlogicValue IS ZERO(m) ZERO(n) ZERO(o) ZERO(p) ZERO(q) ZERO(r)	ZERO(s) ZERO(t) ZERO(u) ZERO(v) FORM(KlogicValue)	ONCE	PlogicNameDef()	REPEAT	G1(m,PvoltageMap) || G1(n,PcurrentMap) || G1(o,PbooleanMap) ||		G1(p,Pcompound) || G1(q,Pweak) || G1(r,Pstrong) ||		G1(s,Pdominates) || G1(t,PlogicMapOutput) ||		G1(u,PlogicMapInput) || G1(v,Pisolated) || Presolves() ||		Pproperty() || Pcomment() || PuserData()	ENDFORMRULE PlogicWaveform IS FORM(KlogicWaveform)	REPEAT	PlogicNameRef() || PlogicList() || PlogicOneOf() || Pignore()	ENDFORMRULE Pmaintain IS FORM(Kmaintain)	ONCE	PportNameRef() || PportRef()	OPTIONAL Pdelay() || PloadDelay()	ENDFORMRULE Pmatch IS FORM(Kmatch)	ONCE	(PportNameRef() || PportRef() || PportList()) &&		(PlogicNameRef() || PlogicList() || PlogicOneOf())	ENDFORMRULE Pmax IS FORM(Kmax)	ONCE	PnumberValue()	REPEAT	PnumberValue()	ENDFORMRULE Pmember IS FORM(Kmember)	ONCE	PnameRef() && PintegerValue()	REPEAT	PintegerValue()	ENDFORMRULE Pmin IS FORM(Kmin)	ONCE	PnumberValue()	REPEAT	PnumberValue()	ENDFORMRULE PmiNoMax IS FORM(KmiNoMax)	REPEAT	PmiNoMaxValue() || PmiNoMaxDisplay() || PmiNoMax()	ENDFORMRULE PmiNoMaxDisplay IS FORM(KmiNoMaxDisplay)	ONCE	PmiNoMaxValue()	REPEAT	Pdisplay()	ENDFORMRULE PmiNoMaxValue IS	ONCE	PnumberValue() || Pmnm()	ENDRULE Pmnm IS FORM(Kmnm)	ONCE	(PnumberValue() || Pundefined() || Punconstrained()) &&		(PnumberValue() || Pundefined() || Punconstrained()) &&		(PnumberValue() || Pundefined() || Punconstrained())	ENDFORMRULE Pmod IS FORM(Kmod)	ONCE	PintegerValue() && PintegerValue()	ENDFORMRULE PmultipleValueSet IS FORM(KmultipleValueSet)	REPEAT	PrangeVector()	ENDFORMRULE PmustJoin IS FORM(KmustJoin)	REPEAT	PportRef() || PportList() || PweakJoined() || Pjoined()	ENDFORMRULE Pname IS FORM(Kname)	ONCE	Pidentifier()	REPEAT	Pdisplay()	ENDFORMRULE PnameDef IS	ONCE	Pidentifier() || Pname() || Prename()	ENDRULE PnameRef IS	ONCE	Pidentifier() || Pname()	ENDRULE Pnegate IS FORM(Knegate)	ONCE	PnumberValue()	ENDFORMRULE Pnet IS ZERO(n) FORM(Knet)	ONCE	PnetNameDef() && Pjoined()	REPEAT	G1(n,Pcriticality) || PnetDelay() || Pfigure() ||		Pnet() || Pinstance() || PcommentGraphics() || Pproperty() ||		Pcomment() || PuserData()	ENDFORMRULE PnetBackAnnotate IS ZERO(n) FORM(KnetBackAnnotate)	ONCE	PnetRef()	REPEAT	PnetDelay() || G1(n,Pcriticality) || Pproperty() || Pcomment()	ENDFORMRULE PnetBundle IS FORM(KnetBundle)	ONCE	PnetNameDef() && PlistOfNets()	REPEAT	Pfigure() || PcommentGraphics() || Pproperty() ||		Pcomment() || PuserData()	ENDFORMRULE PnetDelay IS FORM(KnetDelay)	ONCE	Pderivation() && Pdelay()	REPEAT	Ptransition() || Pbecomes()	ENDFORMRULE PnetGroup IS FORM(KnetGroup)	REPEAT	PnetNameRef() || PnetRef()	ENDFORMRULE PnetMap IS FORM(KnetMap)	REPEAT	PnetRef() || PnetGroup() || Pcomment() || PuserData()	ENDFORMRULE PnetNameDef IS	ONCE	PnameDef() || Parray()	ENDRULE PnetNameRef IS	ONCE	PnameRef() || Pmember()	ENDRULE PnetRef IS FORM(KnetRef)	ONCE	PnetNameRef()	REPEAT	PnetRef() || PinstanceRef() || PviewRef()	ENDFORMRULE PnoChange IS FORM(KnoChange)	ENDFORMRULE PnonPermutable IS FORM(KnonPermutable)	REPEAT	PportRef() || Ppermutable()	ENDFORMRULE Pnot IS FORM(Knot)	ONCE	PbooleanValue()	ENDFORMRULE PnotAllowed IS FORM(KnotAllowed)	ONCE	PruleNameDef() && PfigureGroupObject()	REPEAT	Pcomment() && PuserData()	ENDFORMRULE PnotchSpacing IS FORM(KnotchSpacing)	ONCE	PruleNameDef() && PfigureGroupObject() &&		(Prange() || PsingleValueSet())	REPEAT	Pcomment() && PuserData()	ENDFORMRULE Pnumber IS FORM(Knumber)	REPEAT	PnumberValue() || PnumberDisplay() || Pnumber()	ENDFORMRULE PnumberDefinition IS ZERO(n) FORM(KnumberDefinition)	REPEAT	Pscale() || G1(n,PgridMap) || Pcomment()	ENDFORMRULE PnumberDisplay IS FORM(KnumberDisplay)	ONCE	PnumberValue()	REPEAT	Pdisplay()	ENDFORMRULE PnumberValue IS	ONCE	PscaledInteger() || PvalueNameRef() || Pfloor() ||		Pceiling() || Pfix() || Pmod() || PxCoord() ||		PyCoord() || Pdivide() || Pabs() || Pmax() || Pmin() ||		Pnegate() || Pproduct() || Psubtract() || Psum()	ENDRULE PoffPageConnector IS ZERO(n) FORM(KoffPageConnector)	ONCE	PportNameDef()	REPEAT	G1(n,Punused) || Pproperty() || Pcomment() || PuserData()	ENDFORMRULE PoffsetEvent IS FORM(KoffsetEvent)	ONCE	Pevent() && PnumberValue()	ENDFORMRULE PopenShape IS FORM(KopenShape)	ONCE	Pcurve()	REPEAT	Pproperty()	ENDFORMRULE Poptional IS FORM(Koptional)	ONCE	Pliteral() || Pactual() || Pbuild()	ENDFORMRULE Por IS FORM(Kor)	REPEAT	PbooleanValue()	ENDFORMRULE Porientation IS FORM(Korientation)	ONCE	MATCH(KR0) || MATCH(KR90) || MATCH(KR180) || MATCH(KR270) ||		MATCH(KMX) || MATCH(KMY) || MATCH(KMYR90) || MATCH(KMXR90)	ENDFORMRULE Porigin IS FORM(Korigin)	ONCE	PpointValue()	ENDFORMRULE PoverhangDistance IS FORM(KoverhangDistance)	ONCE	PruleNameDef() && PfigureGroupObject() && PfigureGroupObject() &&		(Prange() || PsingleValueSet())	REPEAT	Pcomment() || PuserData()	ENDFORMRULE PoverlapDistance IS FORM(KoverlapDistance)	ONCE	PruleNameDef() && PfigureGroupObject() && PfigureGroupObject() &&		(Prange() || PsingleValueSet())	REPEAT	Pcomment() || PuserData()	ENDFORMRULE Poversize IS FORM(Koversize)	ONCE	PintegerValue() &&		(PfigureGroupRef() || PfigureOp()) &&		PcornerType()	ENDFORMRULE Powner IS FORM(Kowner)	ONCE	PstringToken()	ENDFORMRULE Ppage IS ZERO(n) ZERO(m) FORM(Kpage)	FLAG(Fpage)	ONCE	PinstanceNameDef()	REPEAT	Pinstance() || Pnet() || PnetBundle() ||		PcommentGraphics() || PportImplementation() ||		G1(n,PpageSize) || G1(m,PboundingBox) ||		Pconstant() || Pconstraint() || Pvariable() ||		Passign() || Pblock() || Pif() || Piterate() ||		Pwhile() || Pcomment() || PuserData()	UNFLAG(Fpage)	ENDFORMRULE PpageSize IS FORM(KpageSize)	ONCE	Prectangle()	ENDFORMRULE Pparameter IS FORM(Kparameter)	ONCE	PvalueNameDef() && PtypedValue()	OPTIONAL Punit()	ENDFORMRULE PparameterAssign IS FORM(KparameterAssign)	FLAG(Fassign)	ONCE	PvalueNameRef() && PtypedValue()	ENDFORMRULE PparameterDisplay IS FORM(KparameterDisplay)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -