HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0709
nennneko5787どうやってpos命令を実装するのか?2解決


nennneko5787

リンク

2022/7/9(Sat) 14:10:12|NO.96768

どうやってpos命令を実装するんでしょうか?
ソースコードは↓のものを少し改造しました。
http://hsp.tv/play/pforum.php?mode=pastwch&num=88687


#include "mod_regexp.as" title "nekoscript v0.1" exist dir_cmdline if strsize=-1:dialog "File Not Found":end notesel main noteload dir_cmdline repeat notemax notesel main noteget main_line, cnt matches syntax, main_line, "^(title|print)(?:\\(\"(.+)\"\\)){0,1}$" if (length2(syntax) == 3) { strrep syntax(0,2),"\\n","\n" strrep syntax(0,2),"\\\"","\"" if (syntax(0,1) == "title" && syntax(0,2) != "") { // title命令は""だと無視するようにしている。 // ""の場合に""を記述するならmatches側の検索の仕方を変える必要あり // (.+を.*にした場合、newscreen("")もヒットしてしまう) title syntax(0,2) }else:if (syntax(0,1) == "print" && syntax(0,2) != "") { // print命令は""だと無視するようにしている。 // ""の場合に""を記述するならmatches側の検索の仕方を変える必要あり // (.+を.*にした場合、newscreen("")もヒットしてしまう) mes syntax(0,2) }else { dialog "エラー" break } }else { dialog "エラー" break } loop stop *endk if (ginfo_act == 0) { end }else { gsel ginfo_act,-2 }



この記事に返信する


窓月らら

リンク

2022/7/11(Mon) 22:41:14|NO.96786

誰もレスしないからレスしますw

とりあえずそのソースは全く見ないで考え方だけ説明します。
pos命令というのは、内部処理的には「位置情報を示すシステム変数x,yに値を書き込む」というだけのものです。
そして位置情報を必要とするmesとかgcopyとかはこのシステム変数を参照して位置を決めます。
これだけです。
ですから言語を作ろうとするなら、この考え方を取り入れればいいんじゃないですかねー。
システム変数を学んでみてください。



nennneko5787

リンク

2022/7/12(Tue) 16:29:46|NO.96790

自己解決しました。ありがとうございます。



ONION software Copyright 1997-2023(c) All rights reserved.