[[
   "start",
  ["comment","// http://www.scala-lang.org/node/54"]
],[
   "start"
],[
   "start",
  ["keyword","package"],
  ["text"," "],
  ["identifier","examples"],
  ["text","."],
  ["identifier","actors"]
],[
   "start"
],[
   "start",
  ["keyword","import"],
  ["text"," "],
  ["identifier","scala"],
  ["text","."],
  ["identifier","actors"],
  ["text","."],
  ["identifier","Actor"]
],[
   "start",
  ["keyword","import"],
  ["text"," "],
  ["identifier","scala"],
  ["text","."],
  ["identifier","actors"],
  ["text","."],
  ["identifier","Actor"],
  ["text","."],
  ["identifier","_"]
],[
   "start"
],[
   "start",
  ["keyword","abstract"],
  ["text"," "],
  ["keyword","class"],
  ["text"," "],
  ["identifier","PingMessage"]
],[
   "start",
  ["keyword","case"],
  ["text"," "],
  ["keyword","object"],
  ["text"," "],
  ["identifier","Start"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","PingMessage"]
],[
   "start",
  ["keyword","case"],
  ["text"," "],
  ["keyword","object"],
  ["text"," "],
  ["identifier","SendPing"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","PingMessage"]
],[
   "start",
  ["keyword","case"],
  ["text"," "],
  ["keyword","object"],
  ["text"," "],
  ["identifier","Pong"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","PingMessage"]
],[
   "start"
],[
   "start",
  ["keyword","abstract"],
  ["text"," "],
  ["keyword","class"],
  ["text"," "],
  ["identifier","PongMessage"]
],[
   "start",
  ["keyword","case"],
  ["text"," "],
  ["keyword","object"],
  ["text"," "],
  ["identifier","Ping"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","PongMessage"]
],[
   "start",
  ["keyword","case"],
  ["text"," "],
  ["keyword","object"],
  ["text"," "],
  ["identifier","Stop"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","PongMessage"]
],[
   "start"
],[
   "start",
  ["keyword","object"],
  ["text"," "],
  ["identifier","pingpong"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["support.function","Application"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","  "],
  ["keyword","val"],
  ["text"," "],
  ["identifier","pong"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Pong"]
],[
   "start",
  ["text","  "],
  ["keyword","val"],
  ["text"," "],
  ["identifier","ping"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Ping"],
  ["paren.lparen","("],
  ["constant.numeric","100000"],
  ["text",", "],
  ["identifier","pong"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","  "],
  ["identifier","ping"],
  ["text","."],
  ["identifier","start"]
],[
   "start",
  ["text","  "],
  ["identifier","pong"],
  ["text","."],
  ["identifier","start"]
],[
   "start",
  ["text","  "],
  ["identifier","ping"],
  ["text"," "],
  ["keyword.operator","!"],
  ["text"," "],
  ["identifier","Start"]
],[
   "start",
  ["paren.rparen","}"]
],[
   "start"
],[
   "start",
  ["keyword","class"],
  ["text"," "],
  ["identifier","Ping"],
  ["paren.lparen","("],
  ["identifier","count"],
  ["text",": "],
  ["support.function","Int"],
  ["text",", "],
  ["identifier","pong"],
  ["text",": "],
  ["identifier","Actor"],
  ["paren.rparen",")"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","Actor"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","  "],
  ["keyword","def"],
  ["text"," "],
  ["identifier","act"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","    "],
  ["keyword","println"],
  ["paren.lparen","("],
  ["string","\"Ping: Initializing with count \""],
  ["keyword.operator","+"],
  ["identifier","count"],
  ["keyword.operator","+"],
  ["string","\": \""],
  ["keyword.operator","+"],
  ["identifier","pong"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","    "],
  ["keyword","var"],
  ["text"," "],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["identifier","count"]
],[
   "start",
  ["text","    "],
  ["identifier","loop"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","      "],
  ["identifier","react"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","        "],
  ["keyword","case"],
  ["text"," "],
  ["identifier","Start"],
  ["text"," "],
  ["keyword.operator","=>"]
],[
   "start",
  ["text","          "],
  ["keyword","println"],
  ["paren.lparen","("],
  ["string","\"Ping: starting.\""],
  ["paren.rparen",")"]
],[
   "start",
  ["text","          "],
  ["identifier","pong"],
  ["text"," "],
  ["keyword.operator","!"],
  ["text"," "],
  ["identifier","Ping"]
],[
   "start",
  ["text","          "],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator","-"],
  ["text"," "],
  ["constant.numeric","1"]
],[
   "start",
  ["text","        "],
  ["keyword","case"],
  ["text"," "],
  ["identifier","SendPing"],
  ["text"," "],
  ["keyword.operator","=>"]
],[
   "start",
  ["text","          "],
  ["identifier","pong"],
  ["text"," "],
  ["keyword.operator","!"],
  ["text"," "],
  ["identifier","Ping"]
],[
   "start",
  ["text","          "],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator","-"],
  ["text"," "],
  ["constant.numeric","1"]
],[
   "start",
  ["text","        "],
  ["keyword","case"],
  ["text"," "],
  ["identifier","Pong"],
  ["text"," "],
  ["keyword.operator","=>"]
],[
   "start",
  ["text","          "],
  ["keyword","if"],
  ["text"," "],
  ["paren.lparen","("],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator","%"],
  ["text"," "],
  ["constant.numeric","1000"],
  ["text"," "],
  ["keyword.operator","=="],
  ["text"," "],
  ["constant.numeric","0"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","            "],
  ["keyword","println"],
  ["paren.lparen","("],
  ["string","\"Ping: pong from: \""],
  ["keyword.operator","+"],
  ["identifier","sender"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","          "],
  ["keyword","if"],
  ["text"," "],
  ["paren.lparen","("],
  ["identifier","pingsLeft"],
  ["text"," "],
  ["keyword.operator",">"],
  ["text"," "],
  ["constant.numeric","0"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","            "],
  ["identifier","self"],
  ["text"," "],
  ["keyword.operator","!"],
  ["text"," "],
  ["identifier","SendPing"]
],[
   "start",
  ["text","          "],
  ["keyword","else"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","            "],
  ["keyword","println"],
  ["paren.lparen","("],
  ["string","\"Ping: Stop.\""],
  ["paren.rparen",")"]
],[
   "start",
  ["text","            "],
  ["identifier","pong"],
  ["text"," "],
  ["keyword.operator","!"],
  ["text"," "],
  ["identifier","Stop"]
],[
   "start",
  ["text","            "],
  ["identifier","exit"],
  ["paren.lparen","("],
  ["symbol.constant","'stop"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","          "],
  ["paren.rparen","}"]
],[
   "start",
  ["text","      "],
  ["paren.rparen","}"]
],[
   "start",
  ["text","    "],
  ["paren.rparen","}"]
],[
   "start",
  ["text","  "],
  ["paren.rparen","}"]
],[
   "start",
  ["paren.rparen","}"]
],[
   "start"
],[
   "start",
  ["keyword","class"],
  ["text"," "],
  ["identifier","Pong"],
  ["text"," "],
  ["keyword","extends"],
  ["text"," "],
  ["identifier","Actor"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","  "],
  ["keyword","def"],
  ["text"," "],
  ["identifier","act"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","    "],
  ["keyword","var"],
  ["text"," "],
  ["identifier","pongCount"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["constant.numeric","0"]
],[
   "start",
  ["text","    "],
  ["identifier","loop"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","      "],
  ["identifier","react"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","        "],
  ["keyword","case"],
  ["text"," "],
  ["identifier","Ping"],
  ["text"," "],
  ["keyword.operator","=>"]
],[
   "start",
  ["text","          "],
  ["keyword","if"],
  ["text"," "],
  ["paren.lparen","("],
  ["identifier","pongCount"],
  ["text"," "],
  ["keyword.operator","%"],
  ["text"," "],
  ["constant.numeric","1000"],
  ["text"," "],
  ["keyword.operator","=="],
  ["text"," "],
  ["constant.numeric","0"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","            "],
  ["keyword","println"],
  ["paren.lparen","("],
  ["string","\"Pong: ping \""],
  ["keyword.operator","+"],
  ["identifier","pongCount"],
  ["keyword.operator","+"],
  ["string","\" from \""],
  ["keyword.operator","+"],
  ["identifier","sender"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","          "],
  ["identifier","sender"],
  ["text"," "],
  ["keyword.operator","!"],
  ["text"," "],
  ["identifier","Pong"]
],[
   "start",
  ["text","          "],
  ["identifier","pongCount"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["identifier","pongCount"],
  ["text"," "],
  ["keyword.operator","+"],
  ["text"," "],
  ["constant.numeric","1"]
],[
   "start",
  ["text","        "],
  ["keyword","case"],
  ["text"," "],
  ["identifier","Stop"],
  ["text"," "],
  ["keyword.operator","=>"]
],[
   "start",
  ["text","          "],
  ["keyword","println"],
  ["paren.lparen","("],
  ["string","\"Pong: Stop.\""],
  ["paren.rparen",")"]
],[
   "start",
  ["text","          "],
  ["identifier","exit"],
  ["paren.lparen","("],
  ["symbol.constant","'stop"],
  ["paren.rparen",")"]
],[
   "start",
  ["text","      "],
  ["paren.rparen","}"]
],[
   "start",
  ["text","    "],
  ["paren.rparen","}"]
],[
   "start",
  ["text","  "],
  ["paren.rparen","}"]
],[
   "start",
  ["paren.rparen","}"]
]]