Caltech Intermediate Form is a programming language created in 1980.
#2913on PLDB | 44Years Old |
Caltech Intermediate Form (CIF) is a file format for describing integrated circuits. CIF provides a limited set of graphics primitives that are useful for describing the two-dimensional shapes on the different layers of a chip. The format allows hierarchical description, which makes the representation concise. Read more on Wikipedia...
cifFile聽::= (blank* command? semi)* endCommand blank*
command聽::= primCommand | defDeleteCommand | defStartCommand semi (blank* primCommand? semi)* defFinishCommand
primCommand聽::= polygonCommand | boxCommand | roundFlashCommand | wireCommand | layerCommand | callCommand | userExtensionCommand | commentCommand
polygonCommand聽::= "P" path
boxCommand聽::= "B" integer sep integer sep point (sep point)?
roundFlashCommand聽::= "R" integer sep point
wireCommand聽::= "W" integer sep path
layerCommand聽::= "L" blank* shortname
defStartCommand聽::= "D" blank* "S" integer (sep integer sep integer)?
defFinishCommand聽::= "D" blank* "F"
defDeleteCommand聽::= "D" blank* "D" integer
callCommand聽::= "C" integer transformation
userExtensionCommand聽::= digit userText
commentCommand聽::= "(" commentText ")"
endCommand聽::= "E"
transformation聽::= (blank* ("T" point |"M" blank* "X" |"M" blank* "Y" |"R" point)*)*
path聽::= point (sep point)*
point聽::= sInteger sep sInteger
sInteger聽::= sep* "-"? integerD
integer聽::= sep* integerD
integerD聽::= digit+
shortname聽::= c c? c? c?
c聽::= digit | upperChar
userText聽::= userChar*
commentText聽::= commentChar* | commentText "(" commentText ")" commentText
semi聽::= blank* ";" blank*
sep聽::= upperChar | blank
digit聽::= "0" | "1" | ... | "9"
upperChar聽::= "A" | "B" | ... | "Z"
blank聽::= any ASCII character except digit, upperChar, "-", "(", ")", or ";"
userChar聽::= any ASCII character except ";"
commentChar聽::= any ASCII character except "(" or ")"