globus_rsl_predicates(3)
π globus_rsl_predicates(3) β RSL Predicates π
okay bestie, sit down, hydrate, because we're doing the globus_rsl_predicates page from the globus_rsl library (it lives in the Library Functions Manual, section 3, iykyk). This is the whole "is this thing what I think it is?" squad β every one of these functions peeks at your RSL syntax tree and tells you yes or no. That's the entire vibe. Predicates. Periodt. π¦
β¨ NAME β¨
globus_rsl_predicates β RSL Predicates
- RSL Predicates. π
β¨ SYNOPSIS β¨
πΈ Functions πΈ
int globus_rsl_is_relation (globus_rsl_t *ast)
RSL relation test.
int globus_rsl_is_boolean (globus_rsl_t *ast)
RSL boolean test.
int globus_rsl_is_relation_eq (globus_rsl_t *ast)
RSL equality operation test.
int globus_rsl_is_relation_lessthan (globus_rsl_t *ast)
RSL less than operation test.
int globus_rsl_is_relation_attribute_equal (globus_rsl_t *ast, char
*attribute)
RSL attribute name test.
int globus_rsl_is_boolean_and (globus_rsl_t *ast)
RSL boolean and test.
int globus_rsl_is_boolean_or (globus_rsl_t *ast)
RSL boolean or test.
int globus_rsl_is_boolean_multi (globus_rsl_t *ast)
RSL boolean multi test.
int globus_rsl_value_is_literal (globus_rsl_value_t *ast)
RSL literal string test.
int globus_rsl_value_is_sequence (globus_rsl_value_t *ast)
RSL value sequence test.
int globus_rsl_value_is_variable (globus_rsl_value_t *ast)
RSL value variable test.
int globus_rsl_value_is_concatenation (globus_rsl_value_t *ast)
RSL value concatenation test.
β¨ Detailed Description β¨
RSL Predicates.
So like, every function in this little group hands you back a boolean β a straight up yes or no β telling you whether an RSL syntax tree is a particular type. That's it. That's the whole job. No side quests, no plot twists, just vibes checks on your parse trees. π
β¨ Function Documentation β¨
π«Ά int globus_rsl_is_boolean (globus_rsl_t * ast)
RSL boolean test. The globus_rsl_is_boolean() function tests whether the the RSL pointed to by the ast parameter is a boolean composition of other RSL parse trees. The syntactically understood boolean compositions are & (conjunction), | (disjunction), and + (multi-request). Some bexamples of RSL booleans are
& ( "queue" = "debug") ( "max_time" = "10000")
| ("count" = "1")("count" = "10")
+ ( &("executable" = "1.exe") ) ( & ("executable" = "2.exe" )
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_boolean() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a boolean composition; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_boolean_and (globus_rsl_t * ast)
RSL boolean and test. The globus_rsl_is_boolean_and() function tests whether the the RSL pointed to by the ast parameter is a boolean "and" composition of RSL trees.
An example of a boolean and relation is
& ( "queue" = "debug" ) ( "executable" = "a.out" )
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_boolean_and() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a boolean and of RSL parse trees; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_boolean_multi (globus_rsl_t * ast)
RSL boolean multi test. The globus_rsl_is_boolean_multi() function tests whether the the RSL pointed to by the ast parameter is a boolean "multi-request" composition of RSL trees.
An example of a boolean multie-request relation is
+ ( &( "executable" = "exe.1") ( "count" = "2" ) )
( &( "executable" =" exe.2") ( "count" = "2" ) )
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_boolean_multi() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a boolean multi-request of RSL parse trees; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_boolean_or (globus_rsl_t * ast)
RSL boolean or test. The globus_rsl_is_boolean_or() function tests whether the the RSL pointed to by the ast parameter is a boolean "or" composition of RSL trees.
An example of a boolean or relation is
| ( "count" = "2" ) ( "count" = "4" )
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_boolean_or() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a boolean and of RSL parse trees; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_relation (globus_rsl_t * ast)
RSL relation test. The globus_rsl_is_relation() function tests whether the the RSL pointed to by the ast parameter is a relation. The RSL syntax supports the following relation operations:
=β Equal!=β Not Equal>β Greater Than>=β Greater Than or Equal<β Less Than<=β Less Than or Equal<=β Less Than or Equal
(no bestie I did not typo that, <= is listed twice, I'm just telling you what the page says π)
Some examples of RSL relations are
"queue" = "debug"
"queue" != "slow"
"min_memory" > "1000"
"max_wall_time" >= "60"
"count < "10"
"host_count" <= "5"
Note π¨ GRAM only supports equality relations.
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_relation() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a relation; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_relation_attribute_equal (globus_rsl_t * ast, char * attribute)
RSL attribute name test. The globus_rsl_is_relation_attribute_equal() function tests whether the the RSL pointed to by the ast parameter is a relation with the attribute name which matches the string pointed to by the attribute parameter. This attribute name comparison is case-insensitive. π
Parameters
astβ Pointer to an RSL parse tree structure.attributeβ Name of the attribute to test
Returns
The globus_rsl_is_relation_attribute_equal() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a relation and its attribute name matches the attribute parameter; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_relation_eq (globus_rsl_t * ast)
RSL equality operation test. The globus_rsl_is_relation_eq() function tests whether the the RSL pointed to by the ast parameter is an equality relation. An example of an equality relation is
"queue" = "debug"
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_relation_eq() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is an equality relation; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_is_relation_lessthan (globus_rsl_t * ast)
RSL less than operation test. The globus_rsl_is_relation_lessthan() function tests whether the the RSL pointed to by the ast parameter is a less-than relation. An example of a less-than relation is
"count" = "10"
Parameters
astβ Pointer to an RSL parse tree structure.
Returns
The globus_rsl_is_relation_lessthan() function returns GLOBUS_TRUE if the RSL parse tree pointed to by ast is a less-than relation; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_value_is_concatenation (globus_rsl_value_t * ast)
RSL value concatenation test. The globus_rsl_value_is_concatenation() function tests whether the the RSL value pointed to by the ast parameter is a concatenation of RSL values. An example of an RSL value concatenation is
$( "GLOBUSRUN_GASS_URL" ) # "/input"
Parameters
astβ Pointer to an RSL value structure.
Returns
The globus_rsl_value_is_concatenation() function returns GLOBUS_TRUE if the RSL value pointed to by ast is a value concatenation; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_value_is_literal (globus_rsl_value_t * ast)
RSL literal string test. The globus_rsl_value_is_literal() function tests whether the the RSL value pointed to by the ast parameter is a literal string value.
An example of a literal string is
"count"
Parameters
astβ Pointer to an RSL value structure.
Returns
The globus_rsl_value_is_literal() function returns GLOBUS_TRUE if the RSL value pointed to by ast is a literal string value; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_value_is_sequence (globus_rsl_value_t * ast)
RSL value sequence test. The globus_rsl_value_is_sequence() function tests whether the the RSL value pointed to by the ast parameter is a sequence of RSL values. An example of a sequence of values is
"1" "2" "3"
Parameters
astβ Pointer to an RSL value structure.
Returns
The globus_rsl_value_is_sequence() function returns GLOBUS_TRUE if the RSL value pointed to by ast is a value sequnce; otherwise, it returns GLOBUS_FALSE.
π«Ά int globus_rsl_value_is_variable (globus_rsl_value_t * ast)
RSL value variable test. The globus_rsl_value_is_variable() function tests whether the the RSL value pointed to by the ast parameter is a variable reference. RSL values. An example of a variable reference is
$( "GLOBUSRUN_GASS_URL" )
Parameters
astβ Pointer to an RSL value structure.
Returns
The globus_rsl_value_is_sequence() function returns GLOBUS_TRUE if the RSL value pointed to by ast is a value sequnce; otherwise, it returns GLOBUS_FALSE.
ngl bestie, that last Returns block saysglobus_rsl_value_is_sequence()even though we're literally insideglobus_rsl_value_is_variable(). I am not the one who wrote it, I'm just the messenger, and I keep the details exactly as they are. π«
β¨ Author β¨
Generated automatically by Doxygen for globus_rsl from the source code. π€β¨
and that's the whole page, bestie!! mwah, go forth and vibe check your syntax trees π
This was globus_rsl Version 11.4, page globus_rsl_predicates(3), from the Library Functions Manual β ty for coming to my ted talk, ily, bye!! ππ¦π
π¦ where this page comes from
- fedora 43: globus-rsl-doc 11.4-4.fc43 Β· Apache-2.0
- fedora 44: globus-rsl-doc 11.4-5.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-rsl-doc 11.4-2build2 Β· Apache-2.0
- ubuntu stonking: libglobus-rsl-doc 11.4-3 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms