The CHAT script syntax, as described using BNF, is as follows:
<chat_script> ::= <script_cmd> | <chat_script> <script_cmd>
<script_cmd> ::= <send_cmd> | <expect_cmd> | <echo_cmd> |
<read_cmd>
<send_cmd> ::= "send" <quoted_string> | "send RETURN" | "send
BREAK"
<expect_cmd> ::= "expect" <quoted_string> <number>
<expect_error>
<expect_error> ::= "" | "onerror" <send_repeat>
<send_repeat> ::= <send_cmd> <repeat> | <send_cmd> | <repeat>
<repeat> ::= "repeat" <number> | "repeat"
<echo_cmd> ::= "echo" <quoted_string>
<read_cmd> ::= "read" <string>
<quoted_string> ::= "((<string>|<number>)[ ]*)+"
<string> ::= ([a-zA-Z/_-&.%#@~+*\(){}$;:?><!]+[0-9"']*)+
<number> ::= ([0-9,@*#$]*.)?[0-9,@*#$]+
|