'10' Name.Label 'REM' Keyword.Declaration ' >EIRC' Comment.Single '\n' Text.Whitespace '20' Name.Label 'REM' Keyword.Declaration ' The simplest IRC client you can write. Maybe.' Comment.Single '\n' Text.Whitespace '30' Name.Label 'REM' Keyword.Declaration ' (C) Justin Fletcher, 1998' Comment.Single '\n' Text.Whitespace '40' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '50' Name.Label 'END' Keyword '=' Operator 'PAGE' Keyword.Pseudo '+1024' Literal.Number.Integer '*' Operator '16' Literal.Number.Integer '\n' Text.Whitespace '60' Name.Label 'REM' Keyword.Declaration ' Change these if you wish' Comment.Single '\n' Text.Whitespace '70' Name.Label 'host$' Name.Variable '=' Operator '"' Literal.String.Double 'irc.stealth.net' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '80' Name.Label 'port' Name.Variable '=' Operator '6667' Literal.Number.Integer '\n' Text.Whitespace '90' Name.Label 'nick$' Name.Variable '=' Operator '"' Literal.String.Double 'eirc' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '100' Name.Label 'ourchan$' Name.Variable '=' Operator '"' Literal.String.Double '#acorn' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '110' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '120' Name.Label 'REM' Keyword.Declaration ' Start connecting to a host' Comment.Single '\n' Text.Whitespace '130' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_ConnectToHost' Literal.String.Double '"' Literal.String.Double ',' Operator 'host$' Name.Variable ',' Operator 'port' Name.Variable ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'handle' Name.Variable '\n' Text.Whitespace '140' Name.Label 'REPEAT' Keyword '\n' Text.Whitespace '150' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_CheckState' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'state' Name.Variable '\n' Text.Whitespace '160' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'state' Name.Variable '<' Operator '-1' Literal.Number.Integer ' ' Text.Whitespace 'THEN' Keyword 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_Forget' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ':' Comment.Preproc 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_DecodeState' Literal.String.Double '"' Literal.String.Double ',' Operator 'state' Name.Variable ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'a$' Name.Variable ':' Comment.Preproc 'ERR' Keyword.Pseudo 'OR' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ',' Operator '"' Literal.String.Double 'Failed (' Literal.String.Double '"' Literal.String.Double '+' Operator 'a$' Name.Variable '+' Operator '"' Literal.String.Double ')' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '170' Name.Label 'UNTIL' Keyword ' ' Text.Whitespace 'state' Name.Variable '=' Operator '4' Literal.Number.Integer '\n' Text.Whitespace '180' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '190' Name.Label 'REM' Keyword.Declaration ' We are now connected' Comment.Single '\n' Text.Whitespace '200' Name.Label 'PRINT' Keyword '"' Literal.String.Double 'Connected' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '210' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '220' Name.Label 'REM' Keyword.Declaration ' Log on to the server' Comment.Single '\n' Text.Whitespace '230' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_SendLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '"' Literal.String.Double 'USER ' Literal.String.Double '"' Literal.String.Double '+' Operator 'nick$' Name.Variable '+' Operator '"' Literal.String.Double ' x x :' Literal.String.Double '"' Literal.String.Double '+' Operator 'nick$' Name.Variable '\n' Text.Whitespace '240' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_SendLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '"' Literal.String.Double 'NICK ' Literal.String.Double '"' Literal.String.Double '+' Operator 'nick$' Name.Variable '\n' Text.Whitespace '250' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_SendLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '"' Literal.String.Double 'JOIN ' Literal.String.Double '"' Literal.String.Double '+' Operator 'ourchan$' Name.Variable '\n' Text.Whitespace '260' Name.Label 'REM' Keyword.Declaration " Install a monitor so that we don't waste time" Comment.Single '\n' Text.Whitespace '270' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_Monitor' Literal.String.Double '"' Literal.String.Double ',' Operator '0' Literal.Number.Integer ',' Operator 'handle' Name.Variable ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'monitor' Name.Variable '\n' Text.Whitespace '280' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_ResetMonitor' Literal.String.Double '"' Literal.String.Double ',' Operator 'monitor' Name.Variable ',' Operator '0' Literal.Number.Integer ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'polladdr%' Name.Variable '\n' Text.Whitespace '290' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '300' Name.Label 'REM' Keyword.Declaration ' If we crash, we should tidy up after ourselves' Comment.Single '\n' Text.Whitespace '310' Name.Label 'ON' Keyword ' ' Text.Whitespace 'ERR' Keyword.Pseudo 'OR' Keyword ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'XESocket_Forget' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ':' Comment.Preproc 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'XESocket_Forget' Literal.String.Double '"' Literal.String.Double ',' Operator 'monitor' Name.Variable ':' Comment.Preproc 'ERR' Keyword.Pseudo 'OR' Keyword ' ' Text.Whitespace 'EXT' Keyword ' ' Text.Whitespace 'ERR' Keyword.Pseudo ',' Operator 'REPORT$' Keyword.Pseudo '+' Operator '"' Literal.String.Double ' at line ' Literal.String.Double '"' Literal.String.Double '+' Operator 'STR$' Keyword 'ERL' Keyword.Pseudo '\n' Text.Whitespace '320' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '330' Name.Label 'REM' Keyword.Declaration ' Memory buffer for our data' Comment.Single '\n' Text.Whitespace '340' Name.Label 'bufsize%' Name.Variable '=' Operator '1024' Literal.Number.Integer '\n' Text.Whitespace '350' Name.Label 'DIM' Keyword ' ' Text.Whitespace 'buf%' Name.Variable ' ' Text.Whitespace 'bufsize%' Name.Variable '\n' Text.Whitespace '360' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '370' Name.Label 'input$' Name.Variable '=' Operator '"' Literal.String.Double '"' Literal.String.Double ':' Comment.Preproc 'REM' Keyword.Declaration ' The input line' Comment.Single '\n' Text.Whitespace '380' Name.Label 'REPEAT' Keyword '\n' Text.Whitespace '390' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' In a taskwindow we should yield until there is data' Comment.Single '\n' Text.Whitespace '400' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'OS_UpCall' Literal.String.Double '"' Literal.String.Double ',' Operator '6' Literal.Number.Integer ',' Operator 'polladdr%' Name.Variable '\n' Text.Whitespace '410' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace '!' Operator 'polladdr%' Name.Variable '<' Operator '>' Operator '0' Literal.Number.Integer ' ' Text.Whitespace 'THEN' Keyword '\n' Text.Whitespace '420' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Reset the monitor for the time being' Comment.Single '\n' Text.Whitespace '430' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_ResetMonitor' Literal.String.Double '"' Literal.String.Double ',' Operator 'monitor' Name.Variable ',' Operator '0' Literal.Number.Integer ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'polladdr%' Name.Variable '\n' Text.Whitespace '440' Name.Label ' ' Text.Whitespace 'REPEAT' Keyword '\n' Text.Whitespace '450' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Read lines from the connection until this buffer is empty' Comment.Single '\n' Text.Whitespace '460' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_ReadLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator 'buf%' Name.Variable ',' Operator 'bufsize%' Name.Variable ',' Operator '%100' Literal.Number.Bin ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace ',' Operator 'str' Name.Variable ',' Operator 'len' Name.Variable '\n' Text.Whitespace '470' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'str' Name.Variable '<' Operator '>' Operator '0' Literal.Number.Integer ' ' Text.Whitespace 'AND' Keyword ' ' Text.Whitespace '$' Operator 'str' Name.Variable '<' Operator '>' Operator '"' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword '\n' Text.Whitespace '480' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator '$' Operator 'str' Name.Variable '\n' Text.Whitespace '490' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator '4' Literal.Number.Integer ')' Operator '=' Operator '"' Literal.String.Double 'PING' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword '\n' Text.Whitespace '500' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration " Ping's must be replied to immediately" Comment.Single '\n' Text.Whitespace '510' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_SendLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '"' Literal.String.Double 'PONG ' Literal.String.Double '"' Literal.String.Double '+' Operator 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator '6' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '520' Name.Label ' ' Text.Whitespace 'ELSE' Keyword '\n' Text.Whitespace '530' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Extract source info' Comment.Single '\n' Text.Whitespace '540' Name.Label ' ' Text.Whitespace 'from$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '-1' Literal.Number.Integer ')' Operator ',' Operator '2' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '550' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '+1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '560' Name.Label ' ' Text.Whitespace 'uid$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'from$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'from$' Name.Variable '+' Operator '"' Literal.String.Double '!' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double '!' Literal.String.Double '"' Literal.String.Double ')' Operator '-1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '570' Name.Label ' ' Text.Whitespace 'com$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '-1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '580' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '+1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '590' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' remove the input line' Comment.Single '\n' Text.Whitespace '600' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'input$' Name.Variable '<' Operator '>' Operator '"' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword 'FOR' Keyword 'I' Name.Variable '=' Operator '1' Literal.Number.Integer 'TO' Keyword 'LEN' Keyword '(' Operator 'input$' Name.Variable ')' Operator ':' Comment.Preproc 'VDU' Keyword '127' Literal.Number.Integer ':' Comment.Preproc 'NEXT' Keyword '\n' Text.Whitespace '610' Name.Label ' ' Text.Whitespace 'CASE' Keyword ' ' Text.Whitespace 'FN' Keyword 'upper' Name.Function '(' Operator 'com$' Name.Variable ')' Operator ' ' Text.Whitespace 'OF' Keyword '\n' Text.Whitespace '620' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'PRIVMSG' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '630' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Extract the destination' Comment.Single '\n' Text.Whitespace '640' Name.Label ' ' Text.Whitespace 'chan$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '-1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '650' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '+2' Literal.Number.Integer ')' Operator ':' Comment.Preproc 'REM' Keyword.Declaration ' Skip :' Comment.Single '\n' Text.Whitespace '660' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator '1' Literal.Number.Integer ')' Operator '=' Operator 'CHR$' Keyword '1' Literal.Number.Integer ' ' Text.Whitespace 'THEN' Keyword '\n' Text.Whitespace '670' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' CTCP, so respond to it' Comment.Single '\n' Text.Whitespace '680' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator '2' Literal.Number.Integer ',' Operator 'LEN' Keyword '(' Operator 'line$' Name.Variable ')' Operator '-2' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '690' Name.Label ' ' Text.Whitespace 'com$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '-1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '700' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '+1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '710' Name.Label ' ' Text.Whitespace 'CASE' Keyword ' ' Text.Whitespace 'FN' Keyword 'upper' Name.Function '(' Operator 'com$' Name.Variable ')' Operator ' ' Text.Whitespace 'OF' Keyword '\n' Text.Whitespace '720' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'PING' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '730' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Ping lag timing' Comment.Single '\n' Text.Whitespace '740' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator '"' Literal.String.Double 'PONG ' Literal.String.Double '"' Literal.String.Double '+' Operator 'line$' Name.Variable '\n' Text.Whitespace '750' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' pinged us' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '760' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'VERSION' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '770' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Version checking' Comment.Single '\n' Text.Whitespace '780' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator '"' Literal.String.Double 'VERSION EIRC 1.00 (c) Justin Fletcher' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '790' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' wanted our version' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '800' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ACTION' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '810' Name.Label ' ' Text.Whitespace 'PRINT' Keyword '"' Literal.String.Double '* ' Literal.String.Double '"' Literal.String.Double ';' Operator 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ';' Operator 'line$' Name.Variable '\n' Text.Whitespace '820' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator '"' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '830' Name.Label ' ' Text.Whitespace 'OTHERWISE' Keyword '\n' Text.Whitespace '840' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' everything else is an error' Comment.Single '\n' Text.Whitespace '850' Name.Label ' ' Text.Whitespace 'line$' Name.Variable '=' Operator '"' Literal.String.Double 'ERRMSG ' Literal.String.Double '"' Literal.String.Double '+' Operator 'com$' Name.Variable '+' Operator '"' Literal.String.Double ' not understood' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '860' Name.Label ' ' Text.Whitespace 'PRINT' Keyword '"' Literal.String.Double "CTCP '" Literal.String.Double '"' Literal.String.Double ';' Operator 'com$' Name.Variable ';' Operator '"' Literal.String.Double "' from " Literal.String.Double '"' Literal.String.Double ';' Operator 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' (' Literal.String.Double '"' Literal.String.Double ';' Operator 'line$' Name.Variable ';' Operator '"' Literal.String.Double ')' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '870' Name.Label ' ' Text.Whitespace 'END' Keyword 'CASE' Keyword '\n' Text.Whitespace '880' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'line$' Name.Variable '<' Operator '>' Operator '"' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword '\n' Text.Whitespace '890' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_SendLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '"' Literal.String.Double 'NOTICE ' Literal.String.Double '"' Literal.String.Double '+' Operator 'uid$' Name.Variable '+' Operator '"' Literal.String.Double ' :' Literal.String.Double '"' Literal.String.Double '+' Operator 'CHR$' Keyword '1' Literal.Number.Integer '+' Operator 'line$' Name.Variable '+' Operator 'CHR$' Keyword '1' Literal.Number.Integer '\n' Text.Whitespace '900' Name.Label ' ' Text.Whitespace 'END' Keyword 'IF' Keyword '\n' Text.Whitespace '910' Name.Label ' ' Text.Whitespace 'ELSE' Keyword '\n' Text.Whitespace '920' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Somebody said something...' Comment.Single '\n' Text.Whitespace '930' Name.Label ' ' Text.Whitespace 'PRINT' Keyword '"' Literal.String.Double '<' Literal.String.Double '"' Literal.String.Double ';' Operator 'uid$' Name.Variable ';' Operator '"' Literal.String.Double '> ' Literal.String.Double '"' Literal.String.Double ';' Operator 'FN' Keyword 'safe' Name.Function '(' Operator 'line$' Name.Variable ')' Operator '\n' Text.Whitespace '940' Name.Label ' ' Text.Whitespace 'END' Keyword 'IF' Keyword '\n' Text.Whitespace '950' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'JOIN' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '960' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' We (or someone else) has joined the channel' Comment.Single '\n' Text.Whitespace '970' Name.Label ' ' Text.Whitespace 'chan$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator ')' Operator ':' Comment.Preproc 'REM' Keyword.Declaration ' Skip :' Comment.Single '\n' Text.Whitespace '980' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'LEFT$' Keyword '(' Operator 'chan$' Name.Variable ',' Operator '1' Literal.Number.Integer ')' Operator '=' Operator '"' Literal.String.Double ':' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword 'chan$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'chan$' Name.Variable ',' Operator '2' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '990' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' has joined ' Literal.String.Double '"' Literal.String.Double ';' Operator 'chan$' Name.Variable '\n' Text.Whitespace '1000' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'PART' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '1010' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Someone else has left the channel' Comment.Single '\n' Text.Whitespace '1020' Name.Label ' ' Text.Whitespace 'chan$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'INSTR' Keyword '(' Operator 'line$' Name.Variable '+' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ',' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ')' Operator '-1' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '1030' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'LEFT$' Keyword '(' Operator 'chan$' Name.Variable ',' Operator '1' Literal.Number.Integer ')' Operator '=' Operator '"' Literal.String.Double ':' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword 'chan$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'chan$' Name.Variable ',' Operator '2' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '1040' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' has left ' Literal.String.Double '"' Literal.String.Double ';' Operator 'chan$' Name.Variable '\n' Text.Whitespace '1050' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'QUIT' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '1060' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Someone else has quit IRC' Comment.Single '\n' Text.Whitespace '1070' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ' quit IRC' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '1080' Name.Label ' ' Text.Whitespace 'OTHERWISE' Keyword '\n' Text.Whitespace '1090' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Some unknown command' Comment.Single '\n' Text.Whitespace '1100' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'uid$' Name.Variable ';' Operator '"' Literal.String.Double ':' Literal.String.Double '"' Literal.String.Double ';' Operator 'com$' Name.Variable ';' Operator '"' Literal.String.Double ':' Literal.String.Double '"' Literal.String.Double ';' Operator 'FN' Keyword 'safe' Name.Function '(' Operator 'line$' Name.Variable ')' Operator '\n' Text.Whitespace '1110' Name.Label ' ' Text.Whitespace 'END' Keyword 'CASE' Keyword '\n' Text.Whitespace '1120' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Re-display our input line' Comment.Single '\n' Text.Whitespace '1130' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'input$' Name.Variable ';' Operator '\n' Text.Whitespace '1140' Name.Label ' ' Text.Whitespace 'END' Keyword 'IF' Keyword '\n' Text.Whitespace '1150' Name.Label ' ' Text.Whitespace 'END' Keyword 'IF' Keyword '\n' Text.Whitespace '1160' Name.Label ' ' Text.Whitespace 'UNTIL' Keyword ' ' Text.Whitespace 'str' Name.Variable '=' Operator '0' Literal.Number.Integer '\n' Text.Whitespace '1170' Name.Label ' ' Text.Whitespace 'END' Keyword 'IF' Keyword '\n' Text.Whitespace '1180' Name.Label ' ' Text.Whitespace 'b$' Name.Variable '=' Operator 'INKEY$' Keyword '(' Operator '0' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '1190' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'b$' Name.Variable '<' Operator '>' Operator '"' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword '\n' Text.Whitespace '1200' Name.Label ' ' Text.Whitespace 'CASE' Keyword ' ' Text.Whitespace 'b$' Name.Variable ' ' Text.Whitespace 'OF' Keyword '\n' Text.Whitespace '1210' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace 'CHR$' Keyword '13' Literal.Number.Integer '\n' Text.Whitespace '1220' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_SendLine' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '"' Literal.String.Double 'PRIVMSG ' Literal.String.Double '"' Literal.String.Double '+' Operator 'ourchan$' Name.Variable '+' Operator '"' Literal.String.Double ' :' Literal.String.Double '"' Literal.String.Double '+' Operator 'input$' Name.Variable '\n' Text.Whitespace '1230' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Remove the line' Comment.Single '\n' Text.Whitespace '1240' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'input$' Name.Variable '<' Operator '>' Operator '"' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword 'FOR' Keyword 'I' Name.Variable '=' Operator '1' Literal.Number.Integer 'TO' Keyword 'LEN' Keyword '(' Operator 'input$' Name.Variable ')' Operator ':' Comment.Preproc 'VDU' Keyword '127' Literal.Number.Integer ':' Comment.Preproc 'NEXT' Keyword '\n' Text.Whitespace '1250' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' We said it...' Comment.Single '\n' Text.Whitespace '1260' Name.Label ' ' Text.Whitespace 'PRINT' Keyword '"' Literal.String.Double '<' Literal.String.Double '"' Literal.String.Double '+' Operator 'nick$' Name.Variable '+' Operator '"' Literal.String.Double '> ' Literal.String.Double '"' Literal.String.Double ';' Operator 'input$' Name.Variable '\n' Text.Whitespace '1270' Name.Label ' ' Text.Whitespace 'input$' Name.Variable '=' Operator '"' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '1280' Name.Label ' ' Text.Whitespace 'WHEN' Keyword ' ' Text.Whitespace 'CHR$' Keyword '127' Literal.Number.Integer ',' Operator 'CHR$' Keyword '8' Literal.Number.Integer '\n' Text.Whitespace '1290' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Backspace' Comment.Single '\n' Text.Whitespace '1300' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'input$' Name.Variable '<' Operator '>' Operator '"' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword 'VDU' Keyword '127' Literal.Number.Integer '\n' Text.Whitespace '1310' Name.Label ' ' Text.Whitespace 'input$' Name.Variable '=' Operator 'LEFT$' Keyword '(' Operator 'input$' Name.Variable ')' Operator '\n' Text.Whitespace '1320' Name.Label ' ' Text.Whitespace 'OTHERWISE' Keyword '\n' Text.Whitespace '1330' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Ad to current input' Comment.Single '\n' Text.Whitespace '1340' Name.Label ' ' Text.Whitespace 'input$' Name.Variable '+=' Operator 'b$' Name.Variable '\n' Text.Whitespace '1350' Name.Label ' ' Text.Whitespace 'PRINT' Keyword 'b$' Name.Variable ';' Operator '\n' Text.Whitespace '1360' Name.Label ' ' Text.Whitespace 'END' Keyword 'CASE' Keyword '\n' Text.Whitespace '1370' Name.Label ' ' Text.Whitespace 'END' Keyword 'IF' Keyword '\n' Text.Whitespace '1380' Name.Label ' ' Text.Whitespace 'REM' Keyword.Declaration ' Has the socket closed' Comment.Single '\n' Text.Whitespace '1390' Name.Label ' ' Text.Whitespace 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_Closed' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable ',' Operator '%0' Literal.Number.Bin ' ' Text.Whitespace 'TO' Keyword ' ' Text.Whitespace 'closed' Name.Variable '\n' Text.Whitespace '1400' Name.Label 'UNTIL' Keyword ' ' Text.Whitespace 'closed' Name.Variable '\n' Text.Whitespace '1410' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_Forget' Literal.String.Double '"' Literal.String.Double ',' Operator 'handle' Name.Variable '\n' Text.Whitespace '1420' Name.Label 'SYS' Keyword ' ' Text.Whitespace '"' Literal.String.Double 'ESocket_Forget' Literal.String.Double '"' Literal.String.Double ',' Operator 'monitor' Name.Variable '\n' Text.Whitespace '1430' Name.Label 'END' Keyword '\n' Text.Whitespace '1440' Name.Label ':' Comment.Preproc '\n' Text.Whitespace '1450' Name.Label 'DEF' Keyword.Declaration 'FN' Keyword.Declaration 'upper' Name.Function '(' Operator 'a$' Name.Variable ')' Operator ':' Comment.Preproc 'LOCAL' Keyword ' ' Text.Whitespace 'c$' Name.Variable ',' Operator 'b$' Name.Variable ',' Operator 'I' Name.Variable '\n' Text.Whitespace '1460' Name.Label 'FOR' Keyword 'I' Name.Variable '=' Operator '1' Literal.Number.Integer 'TO' Keyword 'LEN' Keyword '(' Operator 'a$' Name.Variable ')' Operator '\n' Text.Whitespace '1470' Name.Label 'c$' Name.Variable '=' Operator 'MID$' Keyword '(' Operator 'a$' Name.Variable ',' Operator 'I' Name.Variable ',' Operator '1' Literal.Number.Integer ')' Operator ':' Comment.Preproc 'IF' Keyword ' ' Text.Whitespace 'c$' Name.Variable '>' Operator '=' Operator '"' Literal.String.Double 'a' Literal.String.Double '"' Literal.String.Double 'AND' Keyword 'c$' Name.Variable '<' Operator '=' Operator '"' Literal.String.Double 'z' Literal.String.Double '"' Literal.String.Double 'THEN' Keyword 'c$' Name.Variable '=' Operator 'CHR$' Keyword '(' Operator 'ASC' Keyword '(' Operator 'c$' Name.Variable ')' Operator '-32' Literal.Number.Integer ')' Operator '\n' Text.Whitespace '1480' Name.Label 'b$' Name.Variable '+=' Operator 'c$' Name.Variable ':' Comment.Preproc 'NEXT' Keyword ':' Comment.Preproc '=' Operator 'b$' Name.Variable '\n' Text.Whitespace '1490' Name.Label '\n' Text.Whitespace '1500' Name.Label 'REM' Keyword.Declaration ' Remove control codes' Comment.Single '\n' Text.Whitespace '1510' Name.Label 'DEF' Keyword.Declaration 'FN' Keyword.Declaration 'safe' Name.Function '(' Operator 'line$' Name.Variable ')' Operator '\n' Text.Whitespace '1520' Name.Label 'LOCAL' Keyword ' ' Text.Whitespace 'I' Name.Variable '\n' Text.Whitespace '1530' Name.Label 'FOR' Keyword 'I' Name.Variable '=' Operator '1' Literal.Number.Integer 'TO' Keyword 'LEN' Keyword '(' Operator 'line$' Name.Variable ')' Operator '\n' Text.Whitespace '1540' Name.Label ' ' Text.Whitespace 'IF' Keyword ' ' Text.Whitespace 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'I' Name.Variable ',' Operator '1' Literal.Number.Integer ')' Operator '<' Operator '"' Literal.String.Double ' ' Literal.String.Double '"' Literal.String.Double ' ' Text.Whitespace 'THEN' Keyword 'MID$' Keyword '(' Operator 'line$' Name.Variable ',' Operator 'I' Name.Variable ',' Operator '1' Literal.Number.Integer ')' Operator '=' Operator '"' Literal.String.Double '*' Literal.String.Double '"' Literal.String.Double '\n' Text.Whitespace '1550' Name.Label 'NEXT' Keyword '\n' Text.Whitespace '1560' Name.Label '=' Operator 'line$' Name.Variable '\n' Text.Whitespace