4. Multi line values are tag ended on a separate line with an **>>>**.
5. CNF tag value can post processed by placing macros making it a template.
6. Standard markup of a macro is to enclose the property name or number with a triple dollar signifier **\$\$\$**{macro}**\$\$\$**.
- 1. Precedence of resolving the property name/value is by first passed macros, then config anons and finally the looking up constants.
+ 1. Precedence of resolving the property name/value is by first passed macros, then config anons and finally the looking up constances.
2. Nested macros resolving from linked in other properties is currently not supported.
7. CNF full tag syntax format: **```<<{$|@|%}NAME{<INSTRUCTION>}{<any type of value>}>>```**, the name and instruction parts, sure open but don't have to be closed with **>** on a multiple line value.
8. CNF instructions and constants are uppercase.
- 1. Example 1 format with instruction: ```<<<CONST\n{name=value\n..}\n>>>``` autonomous const ins., with inner attributes as constants.
+ 1. Example 1 format with instruction: ```<<<CONST\n{name=value\n..}\n>>>``` autonomous const ins., with inner attributes as constances.
2. Example 2 format with instruction: ```<<{$sig}{NAME}<CONST {multi line value}>>>``` A single const property with a multi line value.
3. Example 3 format with instruction: ```<<CONST<{$sig}{NAME}\n {multi line value}>>>``` A single const property with a multi line value.
4. Example 4 format with instruction: ```<<{NAME}<{INSTRUCTION}<{value}>>>``` A anon.
1. Reserved words relate to instructions, that are specially treated, and interpreted by the parser to perform extra or specifically processing on the current value.
2. Reserved instructions can't be used for future custom ones, and also not recommended tag or property names.
3. Current Reserved words list is.
- - CONST - Concentrated list of constants, or individually tagged a name and its value.
+ - CONST - Concentrated list of constances, or individually tagged a name and its value.
- VARIABLE - Concentrated list of anons, or individually tagged name and its value.
- DATA - CNF scripted delimited data property, having uniform table data rows.
- FILE - CNF scripted delimited data property is in a separate file.
- TABLE - SQL related.
- TREE - Property is a CNFNode tree containing multiple depth nested children nodes.
- INCLUDE - Include properties from another file to this repository.
- - Included files constants are ignored if are in parent file assigned.
+ - Included files constances are ignored if are in parent file assigned.
- Includes are processed last and not on the spot, so their anons encountered take over precedence.
- Include instruction use is not recommended and is as same to as calling the parse method of the parser.
- INDEX - SQL related.
>>
/**
- Typical app settings converted into CNF constants via meta tag instruction.
+ Typical app settings converted into CNF constances via meta tag instruction.
If name is uppercase and has a '$' prefix.
- The Collection property will exlude them from its list and appoint as constants
+ The Collection property will exlude them from its list and appoint as constances
if they have not been already assigned.
This is a pure convenince thing to keep settings under one property.
**/
$test->subcase('Test undeclared constance access!');
try{
my $immutable = $cnf->{IMMUTABLE};
- $test->failed("Failed access allowed to undefined constants.")
+ $test->failed("Failed access allowed to undefined constances.")
}catch{
$test->passed("It errored, trying to access undeclared constance.");
}
$test->passed("Passed to access constance with variable resolve.");
$test->isDefined('$FRENCH_PARAGRAPH',$immutable);
}catch{
- $test->failed("Failed access allowed to undefined constants.")
+ $test->failed("Failed access allowed to undefined constances.")
}
#
###
#
###
- # Test constants.
+ # Test constances.
###
$test->case("Test mutability.");
try{