📄 parse.c
字号:
ONCE PvalueNameRef() REPEAT Pdisplay() ENDFORMRULE Ppath IS FORM(Kpath) ONCE PpointList() REPEAT Pproperty() ENDFORMRULE PpathDelay IS FORM(KpathDelay) ONCE Pdelay() REPEAT Pevent() ENDFORMRULE PpathWidth IS FORM(KpathWidth) ONCE PintegerValue() ENDFORMRULE Ppermutable IS FORM(Kpermutable) REPEAT PportRef() || Ppermutable() || PnonPermutable() ENDFORMRULE PphysicalDesignRule IS FORM(KphysicalDesignRule) REPEAT PfigureWidth() || PfigureArea() || PrectangleSize() || PfigurePerimeter() || PoverlapDistance() || PoverhangDistance() || PenclosureDistance() || PinterFigureGroupSpacing() || PintraFigureGroupSpacing() || PnotchSpacing() || PnotAllowed() || PfigureGroup() || Pcomment() || PuserData() ENDFORMRULE Pplug IS FORM(Kplug) REPEAT PsocketSet() ENDFORMRULE Ppoint IS CONDFORM(Kpoint, GRAPHIC) REPEAT PpointValue() || PpointDisplay() || Ppoint() ENDFORMRULE PpointDisplay IS FORM(KpointDisplay) ONCE PpointValue() REPEAT Pdisplay() ENDFORMRULE PpointList IS FORM(KpointList) REPEAT PpointValue() ENDFORMRULE PpointSubtract IS FORM(KpointSubtract) ONCE PpointValue() REPEAT PpointValue() ENDFORMRULE PpointSum IS FORM(KpointSum) REPEAT PpointValue() ENDFORMRULE PpointValue IS ONCE Ppt() || PvalueNameRef() || PpointSum() || PpointSubtract() ENDRULE Ppolygon IS FORM(Kpolygon) ONCE PpointList() REPEAT Pproperty() ENDRULE Pport IS ZERO(i) ZERO(j) ZERO(k) ZERO(l) ZERO(m) ZERO(n) ZERO(o) ZERO(p) FORM(Kport) ONCE PportNameDef() REPEAT G1(i,Pdirection) || G1(j,Punused) || G1(k,Pdesignator) || G1(l,PdcFaninLoad) || G1(m,PdcFanoutLoad) || G1(n,PdcMaxFanin) || G1(o,PdcMaxFanout) || G1(p,PacLoad) || PportDelay() || Pproperty() || Pcomment() || PuserData() ENDFORMRULE PportBackAnnotate IS ZERO(m) ZERO(n) ZERO(o) ZERO(p) ZERO(q) ZERO(r) FORM(KportBackAnnotate) ONCE PportRef() REPEAT G1(m,Pdesignator) || G1(n,PdcFaninLoad) || G1(o,PdcFanoutLoad) || G1(p,PdcMaxFanin) || G1(q,PdcMaxFanout) || G1(r,PacLoad) || PportDelay() || Pproperty() || Pcomment() ENDFORMRULE PportBundle IS FORM(KportBundle) ONCE PportNameDef() && PlistOfPorts() REPEAT Pproperty() || Pcomment() || PuserData() ENDFORMRULE PportDelay IS FORM(KportDelay) ONCE Pderivation() && (Pdelay() || PloadDelay()) REPEAT Ptransition() || Pbecomes() ENDFORMRULE PportGroup IS FORM(KportGroup) REPEAT PportNameRef() || PportRef() ENDFORMRULE PportImplementation IS ZERO(m) FORM(KportImplementation) ONCE PportNameRef() || PportRef() REPEAT G1(m,PconnectLocation) || Pfigure() || Pinstance() || PcommentGraphics() || PpropertyDisplay() || PkeywordDisplay() || Pproperty() || Pcomment() || PuserData() ENDFORMRULE PportInstance IS ZERO(j) ZERO(k) ZERO(l) ZERO(m) ZERO(n) ZERO(o) ZERO(p) FORM(KportInstance) ONCE PportNameRef() || PportRef() REPEAT G1(j,Punused) || G1(k,Pdesignator) || G1(l,PdcFaninLoad) || G1(m,PdcFanoutLoad) || G1(n,PdcMaxFanin) || G1(o,PdcMaxFanout) || G1(p,PacLoad) || PportDelay() || Pproperty() || Pcomment() || PuserData() ENDFORMRULE PportList IS FORM(KportList) REPEAT PportNameRef() || PportRef() ENDFORMRULE PportListAlias IS FORM(KportListAlias) ONCE PportNameDef() && PportList() ENDFORMRULE PportMap IS FORM(KportMap) REPEAT PportRef() || PportGroup() || Pcomment() || PuserData() ENDFORMRULE PportNameDef IS ONCE PnameDef() || Parray() ENDRULE PportNameRef IS ONCE PnameRef() || Pmember() ENDRULE PportRef IS FORM(KportRef) ONCE PportNameRef() OPTIONAL PportRef() || PinstanceRef() || PviewRef() ENDFORMRULE Pproduct IS FORM(Kproduct) REPEAT PnumberValue() ENDFORMRULE Pprogram IS FORM(Kprogram) ONCE PstringToken() OPTIONAL Pversion() ENDFORMRULE Pproperty IS ZERO(n) ZERO(m) FORM(Kproperty) ONCE PpropertyNameDef() && PtypedValue() REPEAT G1(n,Powner) || G1(m,Punit) || Pproperty() || Pcomment() ENDFORMRULE PpropertyDisplay IS FORM(KpropertyDisplay) ONCE PpropertyNameRef() REPEAT Pdisplay() ENDFORMRULE PpropertyNameDef IS ONCE PnameDef() ENDRULE PpropertyNameRef IS ONCE PnameRef() ENDRULE PprotectionFrame IS ZERO(m) CONDFORM(KprotectionFrame, GRAPHIC) REPEAT PportImplementation() || Pfigure() || Pinstance() || PcommentGraphics() || G1(m,PboundingBox) || PpropertyDisplay() || PkeywordDisplay() || PparameterDisplay() || Pproperty() || Pcomment() || PuserData() ENDFORMRULE Ppt IS FORM(Kpt) ONCE PintegerValue() && PintegerValue() ENDFORMRULE Prange IS ONCE PatLeast() || PatMost() || Pbetween() || Pexactly() || PgreaterThan() || PlessThan() ENDRULE PrangeVector IS FORM(KrangeVector) REPEAT Prange() || PsingleValueSet() ENDFORMRULE Prectangle IS FORM(Krectangle) ONCE PpointValue() && PpointValue() REPEAT Pproperty() ENDFORMRULE PrectangleSize IS FORM(KrectangleSize) ONCE PruleNameDef() && PfigureGroupObject() && (PrangeVector() || PmultipleValueSet()) REPEAT Pcomment() || PuserData() ENDFORMRULE Prename IS FORM(Krename) ONCE (Pidentifier() || Pname()) && (PstringToken() || PstringDisplay()) ENDFORMRULE Presolves IS FORM(Kresolves) REPEAT PlogicNameRef() ENDFORMRULE PruleNameDef IS ONCE PnameDef() ENDRULE Pscale IS FORM(Kscale) ONCE PnumberValue() && PnumberValue() && Punit() ENDFORMRULE PscaledInteger IS ONCE PintegerToken() || Pe() ENDRULE PscaleX IS FORM(KscaleX) ONCE PintegerValue() && PintegerValue() ENDFORMRULE PscaleY IS FORM(KscaleY) ONCE PintegerValue() && PintegerValue() ENDFORMRULE Psection IS FORM(Ksection) ONCE PstringValue() REPEAT PstringValue() || Psection() || Pinstance() ENDFORMRULE Pshape IS FORM(Kshape) ONCE Pcurve() REPEAT Pproperty() ENDFORMRULE Psimulate IS CONDFORM(Ksimulate, LOGICMODEL) ONCE PsimulateNameDef() REPEAT PportListAlias() || PwaveValue() || Papply() || Pcomment() || PuserData() ENDFORMRULE PsimulateNameDef IS ONCE PnameDef() ENDRULE PsimulationInfo IS CONDFORM(KsimulationInfo, LOGICMODEL) REPEAT PlogicValue() || Pcomment() || PuserData() ENDFORMRULE PsingleValueSet IS FORM(KsingleValueSet) REPEAT Prange() ENDFORMRULE Psite IS FORM(Ksite) ONCE PviewRef() OPTIONAL Ptransform() ENDFORMRULE Psocket IS FORM(Ksocket) OPTIONAL Psymmetry() ENDFORMRULE PsocketSet IS FORM(KsocketSet) ONCE Psymmetry() REPEAT Psite() ENDFORMRULE Pstatement IS ONCE Pblock() || Pcomment() || Pconstant() || Pconstraint() || Pif() || Piterate() || PuserData() || Pwhile() || Pescape() || Fintf && Pproperty() || Fcont && (Pfigure() || Pfollow() || PlogicPort() || PoffPageConnector() || Psection() || Pwhen()) || (Fcont || Fintf) && (Psimulate() || Ptiming()) || (Fcont || Fpage) && (PcommentGraphics() || Pinstance() || Pnet() || PnetBundle() || PportImplementation()) || (Fcont || Fintf || Fpage) && (Pvariable() || Passign()) ENDRULE Pstatus IS FORM(Kstatus) REPEAT Pwritten() || Pcomment() || PuserData() ENDFORMRULE Psteady IS FORM(Ksteady) ONCE (PportNameRef() || PportRef() || PportList()) && Pduration() OPTIONAL Ptransition() || Pbecomes() ENDFORMRULE PstrictlyIncreasing IS FORM(KstrictlyIncreasing) ONCE PnumberValue() REPEAT PnumberValue() ENDFORMRULE Pstring IS FORM(Kstring) REPEAT PstringValue() || PstringDisplay() || Pstring() ENDFORMRULE PstringDisplay IS FORM(KstringDisplay) ONCE PstringValue() REPEAT Pdisplay() ENDFORMRULE PstringToken IS if (token->type != STRING) return(FALSE); else add_token(); return(TRUE);}RULE PstringValue IS ONCE PstringToken() || PvalueNameRef() || Pconcat() ENDRULE Pstrong IS FORM(Kstrong) ONCE PlogicNameRef() ENDFORMRULE Psubtract IS FORM(Ksubtract) ONCE PnumberValue() REPEAT PnumberValue() ENDFORMRULE Psum IS FORM(Ksum) REPEAT PnumberValue() ENDFORMRULE Psymbol IS ZERO(m) ZERO(n) CONDFORM(Ksymbol, GRAPHIC) REPEAT PportImplementation() || Pfigure() || Pannotate() || Pinstance() || PcommentGraphics() || G1(m,PpageSize) || G1(n,PboundingBox) || PpropertyDisplay() || PkeywordDisplay() || PparameterDisplay() || Pproperty() || Pcomment() || PuserData() ENDFORMRULE Psymmetry IS FORM(Ksymmetry) REPEAT Ptransform() ENDFORMRULE Ptable IS ZERO(m) FORM(Ktable) REPEAT Pentry() || G1(m,PtableDefault) ENDFORMRULE PtableDefault IS FORM(KtableDefault) ONCE PlogicRef() || PportRef() || PnoChange() || Ptable() OPTIONAL Pdelay() || PloadDelay() ENDFORMRULE Ptechnology IS ZERO(n) ZERO(m) FORM(Ktechnology) FLAG(Ftech) ONCE PnumberDefinition() REPEAT PfigureGroup() || Pfabricate() || G1(n,PsimulationInfo) || G1(m,PphysicalDesignRule) || Pconstant() || Pconstraint() || Pblock() || Pif() || Piterate() || Pwhile() || Pcomment() || PuserData() UNFLAG(Ftech) ENDFORMRULE Pthen IS FORM(Kthen) REPEAT Pstatement() ENDFORMRULE PtextHeight IS FORM(KtextHeight) ONCE PintegerValue() ENDFORMRULE PtimeInterval IS FORM(KtimeInterval) ONCE (Pevent() || PoffsetEvent()) && (Pevent() || PoffsetEvent() || Pduration()) ENDFORMRULE PtimeStamp IS FORM(KtimeStamp) ONCE PintegerToken() && PintegerToken() && PintegerToken() && PintegerToken() && PintegerToken() && PintegerToken() ENDFORMRULE Ptiming IS CONDFORM(Ktiming, LOGICMODEL) ONCE Pderivation() REPEAT PpathDelay() || PforbiddenEvent() || Pcomment() || PuserData() ENDFORMRULE Ptransform IS CONDFORM(Ktransform, GRAPHIC) OPTIONAL PscaleX() OPTIONAL PscaleY() OPTIONAL Pdelta() OPTIONAL Porientation() OPTIONAL Porigin() ENDFORMRULE Ptransition IS FORM(Ktransition) ONCE (PlogicNameRef() || PlogicList() || PlogicOneOf()) && (PlogicNameRef() || PlogicList() || PlogicOneOf()) ENDFORMRULE Ptrigger IS CONDFORM(Ktrigger, LOGICMODEL) REPEAT Pchange() || Psteady() || Pinitial() ENDFORMRULE Ptrue IS FORM(Ktrue) ENDFORMRULE PtypedValue IS ONCE Pboolean() || Pinteger() || PmiNoMax() || Pnumber() || Ppoint() || Pstring() ENDRULE Punconstrained IS FORM(Kunconstrained) ENDFORMRULE Pundefined IS FORM(Kundefined) ENDFORMRULE Punion IS FORM(Kunion) ONCE PfigureGroupRef() || PfigureOp() REPEAT PfigureGroupRef() || PfigureOp() ENDFORMRULE Punit IS FORM(Kunit) ONCE MATCH(KANGLE) || MATCH(KCAPACITANCE) || MATCH(KCONDUCTANCE) || MATCH(KCHARGE) || MATCH(KCURRENT) || MATCH(KDISTANCE) || MATCH(KENERGY) || MATCH(KFLUX) || MATCH(KFREQUENCY) || MATCH(KINDUCTANCE) || MATCH(KMASS) || MATCH(KPOWER) || MATCH(KRESISTANCE) || MATCH(KTEMPERATURE) || MATCH(KTIME) || MATCH(KVOLTAGE) ENDFORMRULE Punused IS FORM(Kunused) ENDFORMRULE PuserData IS CONDFORM(KuserData, USERDATA) ONCE Pidentifier() REPEAT PintegerToken() || PstringToken() || Pidentifier() || Pform() ENDFORMRULE PvalueNameDef IS ONCE PnameDef() || Parray() ENDRULE PvalueNameRef IS FLAG(Fvref) ONCE PnameRef() || Pmember() UNFLAG(Fvref) ENDRULE Pvariable IS FORM(Kvariable) ONCE PvalueNameDef() && PtypedValue() ENDFORMRULE Pversion IS FORM(Kversion) ONCE PstringToken() ENDFORMRULE Pview IS ZERO(n) ZERO(m) FORM(Kview) ; if (Fext) m=TRUE /* prohibit contents in (external */ ONCE PviewNameDef() && PviewType() && Pinterface() REPEAT G1(n,Pstatus) || G1(m,Pcontents) || Pcomment() || Pproperty() || PuserData() ENDFORMRULE PviewList IS FORM(KviewList) REPEAT PviewRef() || PviewList() ENDFORMRULE PviewMap IS FORM(KviewMap) REPEAT PportMap() || PportBackAnnotate() || PinstanceMap() || PinstanceBackAnnotate() || PnetMap() || PnetBackAnnotate() || Pcomment() || PuserData() ENDFORMRULE PviewNameDef IS ONCE PnameDef() ENDRULE PviewNameRef IS ONCE PnameRef() ENDRULE PviewRef IS FORM(KviewRef) ONCE PviewNameRef() OPTIONAL PcellRef() ENDFORMRULE PviewType IS FORM(KviewType) ONCE MATCH(KBEHAVIOR) || MATCH(KDOCUMENT) || MATCH(KGRAPHIC) || MATCH(KLOGICMODEL) || MATCH(KMASKLAYOUT) || MATCH(KNETLIST) || MATCH(KPCBLAYOUT) || MATCH(KSCHEMATIC) || MATCH(KSTRANGER) || MATCH(KSYMBOLIC) ENDFORMRULE Pvisible IS FORM(Kvisible) ONCE PbooleanValue() ENDFORMRULE PvoltageMap IS CONDFORM(KvoltageMap, LOGICMODEL) ONCE PmiNoMaxValue() ENDFORMRULE PwaveValue IS CONDFORM(KwaveValue, LOGICMODEL) ONCE PlogicNameDef() && PnumberValue() && PlogicWaveform() ENDFORMRULE Pweak IS CONDFORM(Kweak, LOGICMODEL) ONCE PlogicNameRef() ENDFORMRULE PweakJoined IS FORM(KweakJoined) REPEAT PportRef() || PportList() || Pjoined() ENDFORMRULE Pwhen IS CONDFORM(Kwhen, LOGICMODEL) ONCE Ptrigger() REPEAT Pafter() || Pfollow() || PlogicAssign() || Pmaintain() || Pcomment() || PuserData() ENDFORMRULE Pwhile IS FORM(Kwhile) ONCE PbooleanValue() REPEAT Pstatement() ENDFORMRULE Pwritten IS ZERO(l) ZERO(m) ZERO(n) FORM(Kwritten) ONCE PtimeStamp() REPEAT G1(l,Pauthor) || G1(m,Pprogram) || G1(n,PdataOrigin) || Pproperty() || Pcomment() || PuserData() ENDFORMRULE PxCoord IS FORM(KxCoord) ONCE PpointValue() ENDFORMRULE Pxor IS FORM(Kxor) REPEAT PbooleanValue() ENDFORMRULE PyCoord IS FORM(KyCoord) ONCE PpointValue() ENDFORM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -