- Joined
- Nov 7, 2014
- Messages
- 571
After dumping the strings from the game's executable (x86_64/Warcraft III.exe, version 1.31) one can find references to "jass3". From these strings it seems that Jass3 is very similar to vJass, having: libarries, modules, structs, interfaces, scopes, textmacros, delegates and operator overloading. I don't know if there's a way to tell the game to interpret the mapscript as Jass3 and not Jass2/Lua.
These strings seem to be related to "jass3":
These strings seem to be related to "jass3":
Code:
out of dynamic memory in jass3_create_buffer()
out of dynamic memory in jass3ensure_buffer_stack()
out of dynamic memory in jass3_scan_buffer()
out of dynamic memory in jass3_scan_bytes()
bad buffer in jass3_scan_bytes()
jass3set_lineno called with no buffer
jass3set_column called with no buffer
program
library
interface
module
scope
textmacro
runtextmacro
return_
if_
loop
exitwhen
set
keyword
delegate
implement
literal_value
variable_decl
addr_of
logical_not
logical_and
logical_or
logical_less
logical_less_eq
logical_greater
logical_greater_eq
logical_eq
logical_neq
expr_dot_operator
identifier
arith_neg
arith_add
arith_sub
arith_div
arith_mul
arith_mod
expr_callable
expr_indexable
input_file
<unk_op>
Redundant declaration tag
Syntax error
LIBRARY_
boolean
code
handle
integer
real
string
nothing
null
thistype
__base_struct__
onDestroy
allocate
deallocate
getType
typeid
onInit
type_name
node
type_name2
node2
operator ==
operator
operator <
operator []=
operator []
initializer
Function '%s' expects a return value
Function expects a return value
Void function cannot have a return value
exitwhen cannot be used outside a loop/endloop block
Attempted to write to a constant symbol '%s'
'%s' did not receive the right number of arguments or the correct argument types!
Operation not supported with the types '%s'
Internal error
: %s
'%s' received an invalid array dimension!
'%s' is not an array!
'%s' is not a callable expression!
Types mismatch expected '%s', given '%s'
Invalid array size specified for '%s', expected a positive constant non-zero integer value
Special interface method '%s' takes nothing and does not have a return type
Scope '%s' with an initialization routine cannot be nested and should be declared in the global scope
Cannot implement the non-module '%s'
Access protection error: '%s' is not accessible
Access protection error: '%s' cannot access '%s'
Incompatible type extension: type '%s' cannot extend '%s'
Type '%s' referred by '%s' was not found
Left-hand side expression
'%s' cannot be assigned to.
Assignment to the array '%s' is not allowed. Assign to its elements instead.
An array of the built-in type code is not allowed.
Undeclared identifier '%s'
'thistype' is not resolvable or applicable in this context
Found cyclic type extension in '%s'
Type name '%s' cannot be used because it conflicts with the built-in type name
Method or member '%s' is reserved and should not be used
(@%s:%d:%d)
Identifier '%s' (%s) redefinition%s
Divide by zero
Unknown operator
Modifier applied to %s '%s' is not applicable
Invalid initializer function
Missing initializer function
report_error(): unknown error: %d
%d:%d, semantic error: %s
variant_t@jass3@@
ast_node_t@jass3@@
ast_expression_node_t@jass3@@
ast_literal_value_node_t@jass3@@
ast_categorized_visitor_t@jass3@@
bcFunctionImpl@_ast_node_t@jass3@@PEBV12@@@
bcFunctionObjectImpl@V<lambda_f8b481233b59003516c6d9456e5d6f21>@@_ast_node_t@jass3@@PEBV23@@@
ast_node_with_list_t@jass3@@
ast_program_node_t@jass3@@
ast_input_file_node_t@jass3@@
ast_raw_visitor_t@jass3@@
find@?1??ast_find_node_if@jass3@@YAPEBVast_node_t@2@PEBV32@V?$functioast_node_t@jass3@@0@Z@blz@@@Z@
ast_binary_expr_node_t@jass3@@
ast_statement_with_expr_node_t@jass3@@
ast_return_node_t@jass3@@
sem_symbol_t@jass3@@
sem_array_type_t@jass3@@
sem_variable_t@jass3@@
sem_function_t@jass3@@
sem_op_function_t@jass3@@
sem_scope_t@jass3@@
sem_library_t@jass3@@
sem_builtin_type_t@jass3@@
sem_type_extension_t@jass3@@
sem_struct_t@jass3@@
bcFunctionImpl@H_NPEAVsem_symbol_t@jass3@@PEAV12@@@
visit_all@?1??build_parenthood_map@semantics_t@jass3@@AEAA_NXZ@
bcFunctionImpl@W4err_e@jass3@@PEAVast_node_t@2@PEBDPEAPEBV32@@@
bcFunctionObjectImpl@V<lambda_39f89f59e6645064d7ff869c070862d3>@@H_sem_symbol_t@jass3@@PEAV23@@@
bcFunctionObjectImpl@V<lambda_6f1b4b289d38de5192ddeec7494265b6>@@_ast_node_t@jass3@@PEBV23@@@
bcFunctionObjectImpl@V<lambda_9720fb9dc307bd636f615cd372b2ee9a>@@_ast_node_t@jass3@@PEBV23@@@
bcFunctionObjectImpl@V<lambda_b9c671a4e87d018072ecb273eaf1fcf5>@@_ast_node_t@jass3@@PEBV23@@@
bcFunctionObjectImpl@V<lambda_e315285a34d9c2af5a863aad817e0753>@@_ast_node_t@jass3@@PEBV23@@@
bcFunctionObjectImpl@V<lambda_0909c2d72968773518212ed598eb81fa>@@_ast_node_t@jass3@@PEBV23@@@
bcFunctionObjectImpl@V<lambda_a0caa47d8e5f17f39f3acb1f1f539dab>@@W4err_e@jass3@@PEAVast_node_t@3@PEBDPEAPEBV43@@@
ast_unary_expr_node_t@jass3@@
ast_addr_of_node_t@jass3@@
ast_logical_not_node_t@jass3@@
ast_logical_and_node_t@jass3@@
ast_logical_or_node_t@jass3@@
ast_arith_neg_node_t@jass3@@
ast_arith_add_node_t@jass3@@
ast_arith_sub_node_t@jass3@@
ast_arith_mul_node_t@jass3@@
ast_arith_div_node_t@jass3@@
ast_arith_mod_node_t@jass3@@
ast_logical_less_node_t@jass3@@
ast_logical_less_eq_node_t@jass3@@
ast_logical_greater_node_t@jass3@@
ast_logical_greater_eq_node_t@jass3@@
ast_logical_equals_node_t@jass3@@
ast_dot_operator_node_t@jass3@@
ast_logical_not_equals_node_t@jass3@@
ast_identifier_node_t@jass3@@
ast_callable_expr_node_t@jass3@@
ast_indexable_expr_node_t@jass3@@
ast_globals_node_t@jass3@@
ast_library_node_t@jass3@@
ast_scope_node_t@jass3@@
ast_delegate_node_t@jass3@@
ast_implement_node_t@jass3@@
ast_usercode_node_t@jass3@@
ast_textmacro_node_t@jass3@@
ast_runtextmacro_node_t@jass3@@
ast_alias_node_t@jass3@@
ast_keyword_node_t@jass3@@
ast_hook_node_t@jass3@@
ast_type_node_t@jass3@@
ast_structure_node_t@jass3@@
ast_variable_decl_node_t@jass3@@
ast_function_node_t@jass3@@
ast_if_node_t@jass3@@
ast_block_end_node_t@jass3@@
ast_loop_node_t@jass3@@
ast_exitwhen_node_t@jass3@@
ast_call_node_t@jass3@@
ast_set_node_t@jass3@@