summaryrefslogtreecommitdiff
path: root/src/map/script-parse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/script-parse.cpp')
-rw-r--r--src/map/script-parse.cpp34
1 files changed, 24 insertions, 10 deletions
diff --git a/src/map/script-parse.cpp b/src/map/script-parse.cpp
index f8d7b6b..25177dd 100644
--- a/src/map/script-parse.cpp
+++ b/src/map/script-parse.cpp
@@ -142,6 +142,7 @@ Borrowed<str_data_t> add_strp(XString p)
/*==========================================
* スクリプトバッファに1バイト書き込む
+ * Write 1 byte to script buffer
*------------------------------------------
*/
void ScriptBuffer::add_scriptc(ByteCode a)
@@ -151,6 +152,7 @@ void ScriptBuffer::add_scriptc(ByteCode a)
/*==========================================
* スクリプトバッファにデータタイプを書き込む
+ * Write the data type to the script buffer
*------------------------------------------
*/
void ScriptBuffer::add_scriptb(uint8_t a)
@@ -160,6 +162,7 @@ void ScriptBuffer::add_scriptb(uint8_t a)
/*==========================================
* スクリプトバッファに整数を書き込む
+ * Writing an integer to the script buffer
*------------------------------------------
*/
void ScriptBuffer::add_scripti(uint32_t a)
@@ -174,6 +177,7 @@ void ScriptBuffer::add_scripti(uint32_t a)
/*==========================================
* スクリプトバッファにラベル/変数/関数を書き込む
+ * Write labels/variables/functions to script buffer
*------------------------------------------
*/
// 最大16Mまで
@@ -219,6 +223,7 @@ void ScriptBuffer::add_scriptl(P<str_data_t> ld)
/*==========================================
* ラベルを解決する
+ * Resolving labels
*------------------------------------------
*/
void ScriptBuffer::set_label(Borrowed<str_data_t> ld, int pos_)
@@ -243,6 +248,7 @@ void ScriptBuffer::set_label(Borrowed<str_data_t> ld, int pos_)
/*==========================================
* スペース/コメント読み飛ばし
+ * Space/Comment Skipping
*------------------------------------------
*/
static
@@ -273,6 +279,7 @@ ZString::iterator skip_space(ZString::iterator p)
/*==========================================
* 1単語スキップ
+ * 1 word skip
*------------------------------------------
*/
static
@@ -280,30 +287,31 @@ ZString::iterator skip_word(ZString::iterator p)
{
// prefix
if (*p == '$')
- p++; // MAP鯖内共有変数用
+ p++; // MAP鯖内共有変数用 | For shared variables in MAP server
if (*p == '@')
- p++; // 一時的変数用(like weiss)
+ p++; // 一時的変数用(like weiss) | For temporary variables
if (*p == '.')
p++; // npc
if (*p == '@')
p++; // scope
if (*p == '#')
- p++; // account変数用
+ p++; // account変数用 | For account variable
if (*p == '#')
- p++; // ワールドaccount変数用
+ p++; // ワールドaccount変数用 | For World Account variables
while (isalnum(*p) || *p == '_')
p++;
// postfix
if (*p == '$')
- p++; // 文字列変数
+ p++; // 文字列変数 | String variables
return p;
}
/*==========================================
* エラーメッセージ出力
+ * Error message output
*------------------------------------------
*/
static
@@ -339,6 +347,7 @@ void disp_error_message(ZString mes, ZString::iterator pos_)
/*==========================================
* 項の解析
+ * Analyzing Terms
*------------------------------------------
*/
ZString::iterator ScriptBuffer::parse_simpleexpr(ZString::iterator p)
@@ -442,6 +451,7 @@ ZString::iterator ScriptBuffer::parse_simpleexpr(ZString::iterator p)
/*==========================================
* 式の解析
+ * Analyzing Expressions
*------------------------------------------
*/
ZString::iterator ScriptBuffer::parse_subexpr(ZString::iterator p, int limit)
@@ -566,6 +576,7 @@ ZString::iterator ScriptBuffer::parse_subexpr(ZString::iterator p, int limit)
/*==========================================
* 式の評価
+ * Evaluating Expressions
*------------------------------------------
*/
ZString::iterator ScriptBuffer::parse_expr(ZString::iterator p)
@@ -587,6 +598,7 @@ ZString::iterator ScriptBuffer::parse_expr(ZString::iterator p)
/*==========================================
* 行の解析
+ * Parsing Rows
*------------------------------------------
*/
ZString::iterator ScriptBuffer::parse_line(ZString::iterator p, bool *can_step)
@@ -602,9 +614,9 @@ ZString::iterator ScriptBuffer::parse_line(ZString::iterator p, bool *can_step)
return p;
}
- parse_cmd_if = 0; // warn_cmd_no_commaのために必要
+ parse_cmd_if = 0; // warn_cmd_no_commaのために必要 | Needed for warn_cmd_no_comma
- // 最初は関数名
+ // 最初は関数名 | Initially, the function name
ZString::iterator p2 = p;
p = parse_simpleexpr(p);
p = skip_space(p);
@@ -640,7 +652,7 @@ ZString::iterator ScriptBuffer::parse_line(ZString::iterator p, bool *can_step)
p = parse_expr(p);
p = skip_space(p);
- // 引数区切りの,処理
+ // 引数区切りの,処理 | Argument-delimited,processing
if (*p == ',')
p++;
else if (*p != ';' && script_config.warn_cmd_no_comma
@@ -689,6 +701,7 @@ ZString::iterator ScriptBuffer::parse_line(ZString::iterator p, bool *can_step)
/*==========================================
* 組み込み関数の追加
+ * Adding built-in functions
*------------------------------------------
*/
static
@@ -711,6 +724,7 @@ std::unique_ptr<const ScriptBuffer> compile_script(RString debug_name, const ast
/*==========================================
* スクリプトの解析
+ * Parsing Scripts
*------------------------------------------
*/
void ScriptBuffer::parse_script(ZString src, int line, bool implicit_end)
@@ -736,7 +750,7 @@ void ScriptBuffer::parse_script(ZString src, int line, bool implicit_end)
}
}
- // 外部用label dbの初期化
+ // 外部用label dbの初期化 | Initializing an external label db
scriptlabel_db.clear();
// for error message
@@ -786,7 +800,7 @@ void ScriptBuffer::parse_script(ZString src, int line, bool implicit_end)
{
disp_error_message("error: unreachable statement"_s, p);
}
- // 他は全部一緒くた
+ // 他は全部一緒くた | Everything else is crap together
p = parse_line(p, &can_step);
p = skip_space(p);
add_scriptc(ByteCode::EOL);