Macrocoder Reference Guide
Welcome to Macrocoder
Programming Macrocoder
Phase programming
Rules and target projects
Macrocoder Language
Classes
Attributes
Constants
Methods
Public, protected and private visibility
Constructor
Phase methods
Interfaces and exposition
Inheritance
Extension
Lifecycle
Lifecycles and lifesets
Methods implementation
Objects
Literals
Objects and references
References
Expressions
Boolean expressions
Explicit casts
Upscan
Statements
Code block
Statement
if
Statement
while
Statement
for
Statement
switch/case
Statement
return
Callbase
Expression discard
Statement
abort
Statement
feed
Variants
Arrays
Links
Dependent links
Sets
Lookups
Phase programming
Basic phase model
Declaring phases
Phase scopes
Phase "
do
" action
The
lset
parameter
Phase-protected attributes
Phase-shared attributes
Phase-protected methods
Phase-shared methods
Cross-lifeset creation
Advanced phase model
Phases
Execution order
Phase methods
Phase protection
Management mode
Enable/finalize phases
Phase alignment
Generic evolutionary methods
Multiple lifesets
Macrocoder textual grammars
Create the grammar source file
Defining a grammar
Understanding grammars
Class mapping
Grammar lifeset
The
GBase
class
Extending grammar classes
Terminals
Class mappings
Sequences
Class mappings
Repetitions
Class mappings
Choice
Class mappings
Optional
Class mappings
Operator
Macrocoder operators model
Class mappings
Grammar restrictions
Using the graphic editor
Editing lifeset and lifecycle
Adding rules
Editing sequences
Editing choices
Macrocoder graphic grammars
Defining a diagram
Pictograms
Pictogram item: polyline
Pictogram item: polygon
Pictogram item: label
Pictogram item: field
Pictogram item: connpoint
Pictogram item: assembly
Pictogram
Pictogram parameters
Pictogram inclusion and extension
Figures
Figure fields
Line allows
Lines
Line fields
Line pictograms
Class mappings
Figures mappings
Lines mappings
Coding techniques
Lines validation
Connpoint discrimination
Programming rules
Metatypes, types and objects
Class metatype
Inteface metatype
Composed metatype
Class
Types purpose
Lifecycles
Lifecycles import
Phases
Instancing deadline
Invokeability phase range
Invocation phase range
Evolution
Evolution state
Lifeset cauldron
Lifeset chain
Prephasing
Hypertypes
Multiple types
Constant
Hypertype status
Hypertypes casting
Initiating status
Evolutionary methods
Objects copy
Variants
Arrays
Links
Sets
Lookups
Type casting
Type upscan
Methods and attributes forwarding
Attributes access rules
Macrocoder grammar
Grammar specification syntax
Grammar specification
Keywords
Operators
abort
abstract
allow
area
array of
assembly
callbase
case
cast
center align
choice
class
color
connid
connpoint
const
constructor
creates
default
delegating
dependent link of
diagram
do
else
elsif
empty
enable
env
expose
extend class/interface
extend rule
feed
field
fieldname
figure
fill
fillcolor
finalize
for
freetext
grammar
hatching
horizontal
ident
if
impl
implemented as
in phase
incoming
infix_lr
infix_rl
inherits
init
initiating
interface
joint
label
left align
lifecycle
lifeset
line
link
link of
lookup_i of/lookup_s of
namespace
new
noenv
numeric
on phase
operator
operdata
out
outgoing
param
parse files ... with rule
path
phase
phased
pictogram
polygon
polyline
position
postfix
pre phase
prefix
prephased
pretransitional
private
protected
public
quote_close
quote_open
quoted
ref
return
richtext
right align
rule
set of
shared
static
streamable
switch
textual
thickness
to
transitional
unlimited
upscan
using pictogram
var
variant of
via
while
{...}
«...»
"..."
/* ... */
//
Types and classes
@GLOBAL
ActiveText
Any
Binary
CommandLine
CommandLineEntry
DecoString
DecoStringDiff
DecoStringDiffFormat
DecomposedTime
Directory
DirectoryItem
FileIn
FileOut
FileOutStream
FilePath
Float
GIDecoString
GIInt
GILocalizable
GINumeric
GIString
GLocator
IExplain
IStreamIn
IStreamOut
IStreamOutText
Int
IntMap
InternalAnyRef
LocDecoString
LocInt
LocNumeric
LocString
Numeric
QuickSortable
StreamOutTrace
StreamableString
String
StringMap
System
TextStream
Time
Void
Functions
abort
abs
acos
argc
argv
asin
atan2
atan
bitInvert
bitIsSet
bitNoneIsSet
bitReset
bitSet
castToFloat
castToInt
ceil
chr
cmp
copyFile
cos
cosh
countSetBits
crc32
currMs
decodeXml
decodeXml
decodeXml
decodeXml
deg2rad
describeErrorCode
describeUnicode
dump
dynamic
encodeXml
exp
fileSystemIsCaseSensitive
fileSystemUsesBackslash
fitInRange
floor
fmod
getAbsolutePath
getBitInvert
getBitReset
getBitSet
getFileNameFromSourceId
getHugeHigher
getHugeLower
getJPEGSize
getProgramVersion
getTargetProjectFilePath
getTargetProjectPath
isDir
isFile
isLifeCycle
isSameRef
join
lc
ldexp
localize
log10
log
max
min
mkDir, mkDirRet
modf
objid
objinfo
pow
proportion
rad2deg
random
readXmlRoot
rmDir
round
setHugeHigher
setHugeLower
signalError
sin
sinh
sortArray
sortArray
sqrt
str
stringValidateIdentifier
stringValidateInteger
stringValidateTypeName
swap
system
tan
tanh
uc
valid
Methods
ActiveText::concatenate
ActiveText::decIndent
ActiveText::incIndent
ActiveText::linkTopic
ActiveText::operator<<
ActiveText::resetIndent
ActiveText::setIndent
ActiveText::setStream
ActiveText::write
Binary::add
Binary::allocate
Binary::clear
Binary::compare
Binary::extractHex
Binary::extractReadable
Binary::length
Binary::parseHexString
Binary::readFromFile
Binary::resize
Binary::writeToFile
DecoStringDiff::
DecoString::append
DecoString::appendSubString
DecoString::changeFormat
DecoString::clear
DecoString::compare
DecoString::compare
DecoString::compareNoCase
DecoString::compareNoCase
DecoString::deleteRange
DecoString::extractHomogeneousSequence
DecoString::extractLineInString
String::find
DecoString::formatIsHomogeneous
DecoString::getAt
DecoString::getDebugString
DecoString::getSerializedString
DecoString::getSerializedString
DecoString::getString
DecoString::getSubDecoString
DecoString::getSubString
DecoString::indentFollowingLines
DecoString::insert
DecoString::insertSubString
DecoString::length
DecoString::readFromSerializedString
DecoString::split
Directory::readDir
Directory::sortByNameAscending
Directory::sortByNameDescending
Directory::sortBySizeAscending
Directory::sortBySizeDescending
Directory::sortByTimeAscending
Directory::sortByTimeDescending
DirectoryItem::compareByNameAscending
DirectoryItem::compareByNameDescending
DirectoryItem::compareBySizeAscending
DirectoryItem::compareBySizeDescending
DirectoryItem::compareByTimeAscending
DirectoryItem::compareByTimeDescending
DirectoryItem::isDir
FileIn::close
FileIn::open
FileIn::open
FileIn::openRet
FileIn::read
FileOut::close
FileOut::open
FileOut::open
FileOut::openRet
FileOut::write
FileOut::writeDecoText
FileOut::writeText
constructor of FileOutStream
constructor of FileOutStream
FileOutStream::close
FileOutStream::concatenate
FileOutStream::decIndent
FileOutStream::incIndent
FileOutStream::open
FileOutStream::openRet
FileOutStream::operator<<
FileOutStream::resetIndent
FileOutStream::setIndent
FileOutStream::setStream
FileOutStream::write
FilePath::addNamePart
FilePath::calcCrc
FilePath::clear
FilePath::convertToFullPath
FilePath::delTopNamePart
FilePath::dirModeToBackslash
FilePath::exists
FilePath::explain
FilePath::fullPath
FilePath::getAbsolute
FilePath::getAsString
FilePath::getCurrent
FilePath::getCurrentUserHome
FilePath::getExtension
FilePath::getInfo
FilePath::getInstallationPath
FilePath::getOsPathSeparationSymbol
FilePath::getPath
FilePath::getPathAsString
FilePath::getRelative
FilePath::getTopNamePart
FilePath::hasExtension
FilePath::isAbsolute
FilePath::isSameFileOf
FilePath::isValid
FilePath::getAbsolute
FilePath::makeFromString
FilePath::mkDir
FilePath::mkDirRet
FilePath::parse
FilePath::parseRet
FilePath::replaceExtension
FilePath::rmDir
FilePath::rmDirRet
FilePath::setCurrentToThis
FilePath::setToCurrent
FilePath::setToCurrentUserHome
FilePath::setToInstallationPath
FilePath::uniqueRenumbering
GIDecoString::getDecoString
GIDecoString::getLocDecoString
GIDecoString::getLocString
GIDecoString::getLocator
GIDecoString::getString
GIInt::getInt
GIInt::getLocInt
GIInt::getLocNumeric
GIInt::getLocator
GIInt::getNumeric
GILocalizable::getLocator
GINumeric::getInt
GINumeric::getLocInt
GINumeric::getLocNumeric
GINumeric::getLocator
GINumeric::getNumeric
GIString::getDecoString
GIString::getLocDecoString
GIString::getLocString
GIString::getLocator
GIString::getString
GLocator::
GLocator::extendTo
GLocator::posIsValid
GLocator::resetToInvalid
IExplain::explain
IStreamIn::read
IStreamOut::write
IStreamOutText::writeDecoText
IStreamOutText::writeText
IntMap::count
IntMap::deleteAll
IntMap::exists
IntMap::exists
IntMap::getAt
IntMap::set
IntMap::unset
LocDecoString::getDecoString
LocDecoString::getLocDecoString
LocDecoString::getLocString
LocDecoString::getLocator
LocDecoString::getString
LocDecoString::set
LocInt::getInt
LocInt::getLocInt
LocInt::getLocNumeric
LocInt::getLocator
LocInt::getNumeric
LocInt::set
LocInt::set
LocNumeric::getInt
LocNumeric::getLocInt
LocNumeric::getLocNumeric
LocNumeric::getLocator
LocNumeric::getNumeric
LocNumeric::set
LocString::getDecoString
LocString::getLocDecoString
LocString::getLocString
LocString::getLocator
LocString::getString
LocString::set
Numeric::getAsString
Numeric::getFloat
Numeric::getHuge
Numeric::getInt
Numeric::getType
Numeric::isValid
Numeric::parse
Numeric::set
QuickSortable::qsortCompare
QuickSortable::qsortNoOfElements
QuickSortable::qsortSwap
QuickSortable::quicksort
StreamOutTrace::writeDecoText
StreamOutTrace::writeText
StreamableString::concatenate
StreamableString::decIndent
StreamableString::incIndent
StreamableString::operator<<
StreamableString::resetIndent
StreamableString::setIndent
StreamableString::setStream
StreamableString::write
StreamableString::writeDecoText
StreamableString::writeText
String::append
String::appendSubString
String::calcCrc32
String::changeCaseToLower
String::changeCaseToUpper
String::clear
String::compare
String::compareNoCase
String::convertEol
String::convertToIdentifier
String::delete
String::escapeC
String::escapeHTML
String::escapeJava
String::escapeURL
String::extract
String::extractLine
String::find
String::formatAnyRef
String::formatFloat
String::formatHuge
String::formatUnicode
String::getAsDecoString
String::getAt
String::getExtension
String::getLowerCase
String::getSubString
String::getUpperCase
String::globMatch
String::insert
String::insertSubString
String::length
String::readFromFile
String::replace
String::replaceExtension
String::shorten
String::split
String::splitMultiQuoted
String::writeToFile
StringMap::count
StringMap::deleteAll
StringMap::exists
StringMap::getAt
StringMap::set
StringMap::set
StringMap::unset
System::print
System::print
TextStream::
TextStream::concatenate
TextStream::decIndent
ActiveText::incIndent
TextStream::operator<<
TextStream::resetIndent
TextStream::setIndent
TextStream::setStream
TextStream::write
Time::clear
Time::compare
Time::decompose
Time::getLocalTZ
Time::getNowLocal
Time::getNowUTC
Time::isValid
Time::set
Time::set
Time::setLocal
Time::setNowLocal
Time::setNowUTC
Time::setUTC
Time::toLocal
Time::toUTC
Constants
endl
eolXXX
file
find_XXX
fpth
Path slash/backslash representation
fpth_GET_ALL
kDECODIFF
kSTATUS
maxFloat
maxInt
minFloat
minInt
numeric
pcerr
pi
string
true/false
DirectoryItem::fDIR
Attributes
CommandLine::cmdLineEntries
CommandLine::cmdLineKeyLookup
CommandLineEntry::cmdLineKey
CommandLineEntry::cmdLineValues
DecoStringDiff::diffFlags
DecoStringDiff::diffMode
DecoStringDiff::diffSize
DecoStringDiffFormat::bold
DecoStringDiffFormat::deltaSize
DecoStringDiffFormat::fixed
DecoStringDiffFormat::italic
DecoStringDiffFormat::underline
DecomposedTime::day
DecomposedTime::dayOfWeek
DecomposedTime::dayOfYear
DecomposedTime::hours
DecomposedTime::microsecs
DecomposedTime::mins
DecomposedTime::month
DecomposedTime::secs
DecomposedTime::tz
DecomposedTime::year
Directory::items
DirectoryItem::fileName
DirectoryItem::flags
DirectoryItem::modTime
DirectoryItem::size
FileOutStream::fileOut
GLocator::sourceId
GLocator::sourceItemId
GLocator::sourceLength
GLocator::sourceOffset
GLocator::sourceSubItemId
LocDecoString::sourcePosition
LocDecoString::text
LocInt::sourcePosition
LocInt::value
LocNumeric::sourcePosition
LocNumeric::value
LocString::sourcePosition
LocString::text
StreamableString::text
System::msg
TextStream::stream
End User License Agreement (EULA)