Annotation of researchv10no/cmd/sml/src/parse/first.sml, revision 1.1

1.1     ! root        1: (* Copyright 1989 by AT&T Bell Laboratories *)
        !             2: structure FirstSets = struct
        !             3: 
        !             4: local open Token Basics in
        !             5: 
        !             6: fun firstApat lookFIX =
        !             7:     fn ID s =>  lookFIX(s) = NONfix
        !             8:      | OP => true
        !             9:      | IDDOT _ => true
        !            10:      | INT _ => true 
        !            11:      | REAL _ => true
        !            12:      | STRING _ => true
        !            13:      | WILD => true
        !            14:      | LPAREN => true
        !            15:      | LBRACE => true
        !            16:      | LBRACKET => true
        !            17:      | _    => false
        !            18: 
        !            19: fun firstAexp lookFIX =
        !            20:     fn ID s =>   lookFIX(s) = NONfix
        !            21:      | OP => true
        !            22:      | IDDOT _ => true
        !            23:      | INT _ => true
        !            24:      | REAL _ => true
        !            25:      | STRING _ => true
        !            26:      | HASH => true
        !            27:      | LPAREN => true
        !            28:      | LBRACE => true
        !            29:      | LBRACKET => true
        !            30:      | LET => true
        !            31:      | _    => false
        !            32: 
        !            33: fun firstExp lookFIX =
        !            34:     fn IF => true
        !            35:      | WHILE => true
        !            36:      | CASE => true
        !            37:      | RAISE => true
        !            38:      | FN => true
        !            39:      | tok => firstAexp lookFIX tok
        !            40:      
        !            41: val firstLdec = 
        !            42:     fn VAL => true
        !            43:      | FUN => true
        !            44:      | TYPE => true
        !            45:      | DATATYPE => true
        !            46:      | ABSTYPE => true
        !            47:      | EXCEPTION => true
        !            48:      | Token.OPEN => true
        !            49:      | LOCAL => true
        !            50:      | INFIX => true
        !            51:      | INFIXR => true
        !            52:      | NONFIX => true
        !            53:      | OVERLOAD => true
        !            54:      | _    => false
        !            55: 
        !            56: val firstSdec = 
        !            57:     fn VAL => true
        !            58:      | FUN => true
        !            59:      | TYPE => true
        !            60:      | DATATYPE => true
        !            61:      | ABSTYPE => true
        !            62:      | EXCEPTION => true
        !            63:      | Token.OPEN => true
        !            64:      | LOCAL => true
        !            65:      | INFIX => true
        !            66:      | INFIXR => true
        !            67:      | NONFIX => true
        !            68:      | OVERLOAD => true
        !            69:      | STRUCTURE => true
        !            70:      | ABSTRACTION => true
        !            71:      | Token.FUNCTOR => true  (* monster structure hack *)
        !            72:      | SIGNATURE => true      (* ditto *)
        !            73:      | _    => false
        !            74: 
        !            75: val firstTdec = 
        !            76:     fn SIGNATURE => true
        !            77:      | STRUCTURE => true
        !            78:      | ABSTRACTION => true
        !            79:      | Token.FUNCTOR => true
        !            80:      | _    => false
        !            81: 
        !            82: val firstSpec =
        !            83:     fn STRUCTURE => true
        !            84:      | TYPE => true
        !            85:      | EQTYPE => true
        !            86:      | DATATYPE => true
        !            87:      | SHARING => true
        !            88:      | VAL => true
        !            89:      | EXCEPTION => true
        !            90:      | INFIX => true
        !            91:      | INFIXR => true
        !            92:      | NONFIX => true
        !            93:      | OVERLOAD => true
        !            94:      | INCLUDE => true
        !            95:      | LOCAL => true
        !            96:      | Token.OPEN => true
        !            97:      | _    => false
        !            98: 
        !            99: end (* local *)
        !           100: 
        !           101: end (* FirstSets *)

unix.superglobalmegacorp.com

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