/* Generated by re2swift */
#sourceLocation(file: "codegen/swift/001_basic_conv.re", line: 1)
// re2swift $INPUT -o $OUTPUT

func lex(_ yyinput: UnsafeBufferPointer<UInt8>) -> Bool {
  var yycursor = 0

  
#sourceLocation(file: "codegen/swift/001_basic_conv.swift", line: 10)
  var yych: Int8 = 0
  var yystate: UInt = 0
  yyl: while true {
    switch yystate {
      case 0:
        yych = Int8(yyinput[yycursor])
        yycursor += 1
        switch yych {
          case 0x31...0x39:
            yystate = 2
            continue yyl
          default:
            yystate = 1
            continue yyl
        }
      case 1:
#sourceLocation(file: "codegen/swift/001_basic_conv.re", line: 14)
        return false
#sourceLocation(file: "codegen/swift/001_basic_conv.swift", line: 29)
      case 2:
        yych = Int8(yyinput[yycursor])
        switch yych {
          case 0x30...0x39:
            yycursor += 1
            yystate = 2
            continue yyl
          default:
            yystate = 3
            continue yyl
        }
      case 3:
#sourceLocation(file: "codegen/swift/001_basic_conv.re", line: 13)
        return true
#sourceLocation(file: "codegen/swift/001_basic_conv.swift", line: 44)
      default: fatalError("internal lexer error")
    }
  }
#sourceLocation(file: "codegen/swift/001_basic_conv.re", line: 15)

}

@main struct Program {
  static func main() {
    let s: StaticString = "1234\0"
    s.withUTF8Buffer {
      assert(lex($0))
    }
  }
}
