Annotation of researchv10dc/man/man10/fsm.10.5, revision 1.1

1.1     ! root        1: .TH FSM 10.5 UCDS
        !             2: .SH NAME
        !             3: fsm \- finite state machine language format
        !             4: .SH DESCRIPTION
        !             5: .B Fsm
        !             6: is designed to write finite state machines.
        !             7: It assumes that there are
        !             8: some number of input and output pins.
        !             9: These must be declared first.
        !            10: The input clock speed can also be declared so that the compiler will
        !            11: calculate the length of loops given in the time format.
        !            12: The input programs resemble C.
        !            13: There must be a procedure
        !            14: named
        !            15: .B main
        !            16: for the compiler to proceed.
        !            17: Procedures declared "inline"
        !            18: are called directly by the compiler to generate inline code.  Otherwise
        !            19: the syntax is very familiar.
        !            20: Note that all procedures
        !            21: .B must
        !            22: be declared void.
        !            23: Therefore, there are no expressions on the return
        !            24: statement.
        !            25: .PP
        !            26: The
        !            27: .IR yacc (1)
        !            28: syntax for
        !            29: .I fsm
        !            30: is given below:
        !            31: .sp
        !            32: .nf
        !            33: .ta 20n +3n
        !            34: program        :       declarations procedures
        !            35: declarations   :       declarations declaration ;
        !            36:        |       empty
        !            37: declaration    :       input
        !            38:        |       outputDecl
        !            39: input  :       \f5INPUT\fP inputDetails
        !            40: inputDetails   :       BIT ID
        !            41:        |       \f5FIELD ID < NUMBER : NUMBER >\fP
        !            42:        |       \f5CLOCK\fP clockFrequency frequency
        !            43: clockFrequency :       \f5NUMBER\fP
        !            44:        |       \f5NUMBER . NUMBER\fP
        !            45: frequency      :       \f5MHZ\fP
        !            46:        |       \f5KHZ\fP
        !            47: outputDecl     :       \f5OUTPUT\fP outputDetails
        !            48: outputDetails  :       \f5BIT ID\fP
        !            49:        |       \f5FIELD ID < NUMBER : NUMBER >\fP
        !            50: procedures     :       procedures procedure
        !            51:        |       empty
        !            52: procedure      :       inline \f5VOID ID\fP ( id_list ) statement
        !            53: inline :       \f5INLINE\fP
        !            54:        |       empty
        !            55: statements     :       statements statement
        !            56:        |       empty
        !            57: statement      :       output
        !            58:        |       loop
        !            59:        |       do
        !            60:        |       enabled
        !            61:        |       ifprefix statement
        !            62:        |       ifelseprefix statement
        !            63:        |       while
        !            64:        |       repeat
        !            65:        |       goto
        !            66:        |       break
        !            67:        |       continue
        !            68:        |       call
        !            69:        |       label statement
        !            70:        |       \f5{\fP statements \f5}\fP
        !            71:        |       \f5;\fP
        !            72: call   :       \f5ID (\fP expression_list \f5) ;\fP
        !            73: loop   :       \f5LOOP\fP statement
        !            74: enabled        :       \f5ENABLED\fP statement
        !            75: ifprefix       :       \f5IF\fP boolean
        !            76: ifelseprefix   :       ifprefix statement \f5ELSE\fP
        !            77: while  :       \f5WHILE\fP whileHead boolean whileTail statement
        !            78: do     :       \f5DO\fP statement dopart \f5;\fP
        !            79: dopart :       \f5UNTIL\fP boolean
        !            80:        |       \f5WHILE\fP boolean
        !            81: repeat :       \f5REPEAT NUMBER DO\fP statement
        !            82: output :       \f5OUTPUT (\fP field_list \f5)\fP outputSuffix \f5;\fP
        !            83: outputSuffix   :       \f5FOR\fP timesOrCycles
        !            84: timesOrCycles  :       \f5NUMBER\fP times
        !            85:        |       \f5NUMBER CYCLES\fP
        !            86: times  :       \f5NS\fP
        !            87:        |       \f5US\fP
        !            88:        |       \f5MS\fP
        !            89: goto   :       \f5GOTO ID\fP
        !            90: break  :       \f5BREAK\fP
        !            91: continue       :       \f5CONTINUE\fP
        !            92: label  :       \f5ID :\fP
        !            93: boolean        :       \f5(\fP expression \f5)\fP
        !            94: id_list        :       \f5ID\fP
        !            95:        |       id_list \f5, ID\fP
        !            96:        |       empty
        !            97: expression_list        :       expression
        !            98:        |       expression_list \f5,\fP expression
        !            99:        |       empty
        !           100: field_list     :       field
        !           101:        |       field_list \f5,\fP field
        !           102: field  :       \f5ID =\fP expression
        !           103: expression     :       \f5(\fP expression \f5)\fP
        !           104:        |       expression \f5+\fP expression
        !           105:        |       expression \f5-\fP expression
        !           106:        |       expression \f5&\fP expression
        !           107:        |       expression \f5|\fP expression
        !           108:        |       expression \f5^\fP expression
        !           109:        |       expression \f5>>\fP expression
        !           110:        |       expression \f5<<\fP expression
        !           111:        |       \f5~\fP expression
        !           112:        |       \f5!\fP expression
        !           113:        |       \f5INPUT ( ID )\fP
        !           114:        |       \f5ID\fP
        !           115:        |       \f5NUMBER\fP
        !           116: .fi

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.