<!-- ##### SECTION Title ##### -->
fo-expr-eval

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### STRUCT FoExprEnv ##### -->
<para>

</para>


<!-- ##### TYPEDEF FoExprEnvList ##### -->
<para>

</para>


<!-- ##### STRUCT FoExprContext ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION FoExprFunc ##### -->
<para>

</para>

@context: 
@nargs: 
@Returns: 


<!-- ##### MACRO FO_EXPR_ERROR ##### -->
<para>

</para>



<!-- ##### FUNCTION fo_expr_error_quark ##### -->
<para>

</para>

@Returns: 


<!-- ##### ENUM FoExprError ##### -->
<para>

</para>

@FO_EXPR_ERROR_FAILED: 
@FO_EXPR_ERROR_NULL_RESULT: 
@FO_EXPR_ERROR_ERROR_RESULT: 
@FO_EXPR_ERROR_EXTRA_STACK: 
@FO_EXPR_ERROR_EXTRA_EXPR: 

<!-- ##### MACRO FO_EXPR_EVAL_ERROR ##### -->
<para>

</para>



<!-- ##### FUNCTION fo_expr_eval_error_quark ##### -->
<para>

</para>

@Returns: 


<!-- ##### ENUM FoExprEvalError ##### -->
<para>

</para>

@FO_EXPR_EVAL_ERROR_FAILED: 
@FO_EXPR_EVAL_ERROR_UNFINISHED_LITERAL: 
@FO_EXPR_EVAL_ERROR_START_LITERAL: 
@FO_EXPR_EVAL_ERROR_EXPR_ERROR: 
@FO_EXPR_EVAL_ERROR_UNKNOWN_FUNC: 
@FO_EXPR_EVAL_ERROR_INVALID_ARITY: 
@FO_EXPR_EVAL_ERROR_INVALID_TYPE: 
@FO_EXPR_EVAL_ERROR_NOT_INHERITED: 
@FO_EXPR_EVAL_ERROR_INVALID_PROPERTY: 
@FO_EXPR_EVAL_ERROR_FUNCTION_INVALID_PROPERTY: 
@FO_EXPR_EVAL_ERROR_NOT_TABLE_CELL_OR_DESCENDANT: 
@FO_EXPR_EVAL_ERROR_NO_TABLE_CELL_COLUMN: 
@FO_EXPR_EVAL_ERROR_NOT_LIST_BLOCK_OR_DESCENDANT: 
@FO_EXPR_EVAL_ERROR_NOT_TABLE_COLUMN: 
@FO_EXPR_EVAL_ERROR_NOT_COLUMN_WIDTH: 
@FO_EXPR_EVAL_ERROR_NOT_FIXED_METHOD: 
@FO_EXPR_EVAL_ERROR_COLOR_DECL: 
@FO_EXPR_EVAL_ERROR_UNKNOWN_OPERATOR: 
@FO_EXPR_EVAL_ERROR_FUNC_RETURN_NULL: 
@FO_EXPR_EVAL_ERROR_CANNOT_INHERIT: 
@FO_EXPR_EVAL_ERROR_NO_RESOLVE_PERCENT_FUNC: 
@FO_EXPR_EVAL_ERROR_UNFINISHED_URL: 
@FO_EXPR_EVAL_ERROR_LAST: 

<!-- ##### FUNCTION fo_expr_eval ##### -->
<para>

</para>

@string: 
@property_name: 
@resolve_enum_func: 
@resolve_percent_func: 
@font_size_prop: 
@current_fo: 
@fo_context: 
@env_list: 
@error: 
@Returns: 


<!-- ##### FUNCTION fo_expr_border_color_eval ##### -->
<para>

</para>

@string: 
@property_name: 
@resolve_enum_func: 
@resolve_percent_func: 
@font_size_prop: 
@current_fo: 
@fo_context: 
@env_list: 
@error: 
@Returns: 


<!-- ##### FUNCTION fo_expr_border_style_eval ##### -->
<para>

</para>

@string: 
@property_name: 
@resolve_enum_func: 
@resolve_percent_func: 
@font_size_prop: 
@current_fo: 
@fo_context: 
@env_list: 
@error: 
@Returns: 


<!-- ##### FUNCTION fo_expr_padding_eval ##### -->
<para>

</para>

@string: 
@property_name: 
@resolve_enum_func: 
@resolve_percent_func: 
@font_size_prop: 
@current_fo: 
@fo_context: 
@env_list: 
@error: 
@Returns: 


<!-- ##### FUNCTION fo_expr_wsc_eval ##### -->
<para>

</para>

@string: 
@property_name: 
@resolve_enum_func: 
@resolve_percent_func: 
@font_size_prop: 
@current_fo: 
@fo_context: 
@env_list: 
@error: 
@Returns: 


<!-- ##### FUNCTION fo_expr_eval_new_error ##### -->
<para>

</para>

@context: 
@error_type: 
@Returns: 


<!-- ##### FUNCTION fo_expr_eval_propagate_error ##### -->
<para>

</para>

@context: 
@error: 
@Returns: 


<!-- ##### FUNCTION fo_expr_context_push_stack ##### -->
<para>

</para>

@context: 
@datatype: 


<!-- ##### FUNCTION fo_expr_context_pop_stack ##### -->
<para>

</para>

@context: 
@Returns: 


<!-- ##### FUNCTION fo_expr_context_peek_stack ##### -->
<para>

</para>

@context: 
@Returns: 


<!-- ##### FUNCTION fo_expr_context_stack_is_empty ##### -->
<para>

</para>

@context: 
@Returns: 


<!-- ##### FUNCTION fo_expr_context_get_func ##### -->
<para>

</para>

@context: 
@name: 
@Returns: 


<!-- ##### FUNCTION fo_expr_context_debug_dump_stack ##### -->
<para>

</para>

@context: 


<!-- ##### FUNCTION fo_expr_env_new ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION fo_expr_env_register_func ##### -->
<para>

</para>

@env: 
@name: 
@func: 
@Returns: 


<!-- ##### FUNCTION fo_expr_env_get_func ##### -->
<para>

</para>

@env: 
@name: 
@Returns: 


<!-- ##### FUNCTION fo_expr_env_list_new ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION fo_expr_env_list_free ##### -->
<para>

</para>

@env_list: 


<!-- ##### FUNCTION fo_expr_env_list_prepend ##### -->
<para>

</para>

@env_list: 
@env: 
@Returns: 


<!-- ##### FUNCTION fo_expr_env_list_get_func ##### -->
<para>

</para>

@env_list: 
@name: 
@Returns: 


