sprint.lsl

sprint.lsl

sprint(T, String): trait
  includes cstring
  introduces
    parse: String -> T
    unparse: T -> String
    isSprint: String, T -> bool
  asserts \forall t: T, s: String
    parse(unparse(t)) == t;
    isSprint(s, t) ==
        parse(s) = t /\ nullTerminated(s)
  implies T partitioned by unparse

Return LCLint Home Page David Evans
University of Virginia, Computer Science
evans@cs.virginia.edu