うーん、使用目的がいまいちわかりませんが、test.hspから変数だけ抜き出すことなら標準命令を駆使してできるかもしれませんね。
test.hspで使われる変数を一番最初に列挙し、間を固有の文字で挟みこんで、読み込んだときにその中を切り出し、書式に則って取り出すという方法があります。ただし、この方法では計算式は取り出しにくいと思います。あくまで具体的に数値や文字列が定まったもののみです。また、数値、文字列、実数の判定は考慮していません。
たとえば、上記のtest.hspから取り出したい場合は、
// 変数宣言
a=1
b=2
c=a+b
// 変数宣言終わり
などとして、わかりやすい目印をつけます。この際「=」の間にスペースがないほうがいいです。で、本体のソース(ここではmain.hspとする)でinstr関数を使ってその目印が最初に出てくる場所のインデックスを見つけます。(仮にxとする)
そうしたら、別の変数で「//変数宣言終わり」という文字が現れるインデックス番号を検索し代入します。(仮にyとする)
次に、strmid命令を使うため、読み込むべきインデックスの量を出します(y-x)。その文字列サイズだけさらに別の変数に代入します(strmid。仮にzとします。ここで、変数だけが読み込まれます)。
そうしたら、複数行の(変数が2つ以上なら)文字列がzに代入されているので、メモリノートパッド命令を使用します。
こちらはスクリプトのほうがわかりやすいかもしれません。
repeat notemax // 行数分繰り返す
noteget hensuu(cnt), cnt // cntはループ毎に1ずつ加算されてゆくのでインデックス番号に使う。hensuuにはその行の変数名と値(a=1みたいな)が格納される。
split hensuu(cnt), "=", name(cnt), value(cnt) // nameには変数名、valueには値が入ります。数値も実数も文字列として扱われますが表示するだけなら問題ないはずです。
loop // 変数が100個とかならawaitはいりませんが数が多いならば入れないと固まります
これで、変数を宣言した順番に配列変数に変数名と値が入りました。
そうしたら、listboxに表示させるのは簡単です。
// ノートパッドの対象はzになっていること前提(さっきのスクリプトからnoteunselを実行していない)
repeat notemax // 再結合しなくてはならない
noteadd name(cnt)+"には「"+value(cnt)+"」が代入されています。", cnt, 1 // 文言を追加する。上書きモードにする
loop // これも上記同様awaitを適宜入れる
noteunsel // ここでノートパッドを解除
listbox (適当に変数), (yサイズ), z // これでリストボックスが作成される。
ざっと、こんな感じです。
> 値を変更したい
これに関しては、やる意味がありません。ここで読み込んだものは変数に代入できないので(ただのテキストファイルとみなされてしまう)、この行為自体が無意味となります。
dim name(cnt)とすることができないので、変数を代入することはできません。そこはご理解ください。(強引にやろうと思えばできますがそこに関しては私はかかわりません)
これ以外にも最適な方法があったり、あるいは私のスクリプトが間違っている場合もありますが、おおむねこのような感じでいけるはずです。もし、このスクリプトに誤りがあったりしたら、自力で解決できるもの(たとえば誤字やラベル忘れ、命令など)はヘルプが充実しているのでそちらを参考にするといいかと思います。
お粗末ながら、これをもって私自身の回答とさせていただきます。