From 730e5dde39333cb2f63c72a7d7152bee5c4dbb05 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Sat, 8 Feb 2014 15:09:25 -0800 Subject: Implement AString --- src/map/magic-interpreter-parser.ypp | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src/map/magic-interpreter-parser.ypp') diff --git a/src/map/magic-interpreter-parser.ypp b/src/map/magic-interpreter-parser.ypp index a86f1c8..3ec1bdd 100644 --- a/src/map/magic-interpreter-parser.ypp +++ b/src/map/magic-interpreter-parser.ypp @@ -3,7 +3,7 @@ #include "magic-interpreter.hpp" extern -FString current_magic_filename; +AString current_magic_filename; } // %code requires %code @@ -13,7 +13,8 @@ FString current_magic_filename; #include #include // exception to "no va_list" rule, even after cxxstdio -#include "../strings/fstring.hpp" +#include "../strings/rstring.hpp" +#include "../strings/astring.hpp" #include "../strings/zstring.hpp" #include "../io/cxxstdio.hpp" @@ -23,7 +24,7 @@ FString current_magic_filename; #include "itemdb.hpp" #include "magic-expr.hpp" -FString current_magic_filename; +AString current_magic_filename; // can't use src/warnings.hpp in generated code #pragma GCC diagnostic warning "-Wall" @@ -37,13 +38,13 @@ static size_t intern_id(ZString id_name); static -dumb_ptr fun_expr(FString name, const_array> argv, int line, int column); +dumb_ptr fun_expr(AString name, const_array> argv, int line, int column); static dumb_ptr dot_expr(dumb_ptr lhs, int id); static -void BIN_EXPR(dumb_ptr& x, FString name, dumb_ptr arg1, dumb_ptr arg2, int line, int column) +void BIN_EXPR(dumb_ptr& x, AString name, dumb_ptr arg1, dumb_ptr arg2, int line, int column) { dumb_ptr e[2]; e[0] = arg1; @@ -82,7 +83,7 @@ static void add_teleport_anchor(dumb_ptr anchor, int line_nr); static -dumb_ptr op_effect(FString name, const_array> argv, int line, int column); +dumb_ptr op_effect(AString name, const_array> argv, int line, int column); // in magic-interpreter-lexer.cpp int magic_frontend_lex(void); @@ -94,10 +95,10 @@ static dumb_ptr call_proc(ZString name, dumb_ptr>> argvp, int line_nr, int column); static -void bind_constant(FString name, val_t *val, int line_nr); +void bind_constant(RString name, val_t *val, int line_nr); static -val_t *find_constant(FString name); +val_t *find_constant(RString name); } // %code @@ -1182,7 +1183,7 @@ dumb_ptr dot_expr(dumb_ptr expr, int id) return retval; } -dumb_ptr fun_expr(FString name, const_array> argv, int line, int column) +dumb_ptr fun_expr(AString name, const_array> argv, int line, int column) { dumb_ptr expr; fun_t *fun = magic_get_fun(name); @@ -1293,7 +1294,7 @@ dumb_ptr set_effect_continuation(dumb_ptr src, dumb_ptr op_effect(FString name, const_array> argv, int line, int column) +dumb_ptr op_effect(AString name, const_array> argv, int line, int column) { dumb_ptr effect; op_t *op = magic_get_op(name); @@ -1325,7 +1326,7 @@ dumb_ptr op_effect(FString name, const_array> argv, i } -std::map procs; +std::map procs; // I think this was a memory leak (or undefined behavior) void install_proc(dumb_ptr proc) @@ -1358,9 +1359,9 @@ dumb_ptr call_proc(ZString name, dumb_ptr return retval; } -std::map const_defm; +std::map const_defm; -void bind_constant(FString name, val_t *val, int line_nr) +void bind_constant(RString name, val_t *val, int line_nr) { if (!const_defm.insert({name, *val}).second) { @@ -1368,7 +1369,7 @@ void bind_constant(FString name, val_t *val, int line_nr) } } -val_t *find_constant(FString name) +val_t *find_constant(RString name) { auto it = const_defm.find(name); if (it != const_defm.end()) -- cgit v1.2.3-70-g09d2