Overview
1_Building_a_parse_tree
2_A_universal_source_code/text_generation
3_About_the_manual
Getting_started
4_The_parse_tree
5_Scanning_our_design_with_a_BNF-driven_script
6_Parsing_our_design_with_a_BNF-driven_script
7_Implementing_a_leader_script
8_Generating_code_with_a_pattern_script
9_Expanding_text_with_a_pattern_script
Discovering_more_with_an_example
10_The_parse_tree
11_Parsing_our_design
11.1_The_parsing_scripts_that_read_tokens
11.2_The_parsing_scripts_that_describe_a_BNF_syntax
12_Decorating_the_parse_tree
13_Generating_code
13.1_C++_classes
13.2_JAVA_classes
14_Expanding_a_file
15_Translating_a_file
15.1_Design_of_a_solar_system
15.1.1_Planet
15.1.2_Earth
15.1.3_SolarSystem
16_The_debugger
17_Scripts_coverage_and_time_consuming
18_Translating_interpreted_scripts_to_C++_source_code
The_scripting_language
19_Command_line_of_the_interpreter
20_Syntax_generalities_and_statements
20.1_preprocessor_directives
20.1.1_Including_a_file
20.1.2_Extending_the_language_via_a_package
20.1.3_Changing_the_syntax_of_the_scripting_language
20.1.4_Managing_changes_in_a_multi-language_generation
20.2_Constant_literals
20.3_Variables,_declaration_and_assignment
20.3.1_Declaring_variables
20.3.2_Scope
20.3.3_Navigating_along_branches
20.3.4_Assignments
20.4_Expressions
20.4.1_Presentation
20.4.2_Arithmetic_expressions
20.5_Common_statements
20.5.1_The_'if'_statement
20.5.2_The_'while'/'do'_statements
20.5.3_The_'switch'_statement
20.5.4_The_'foreach'_statement
20.5.5_The_'forfile'_statement
20.5.6_The_'select'_statement
20.5.7_The_'try'/'catch'_statement
20.5.8_The_'exit'_statement
20.6_User-defined_functions
20.6.1_Parameters_and_return_value
20.6.2_The_'finally'_statement
20.6.3_Unusual_function_declarations
20.6.4_Template_functions
20.6.5_Methods
20.6.6_The_'readonly'_hook
20.6.7_The_'write_file'_hook
20.6.8_The_'step_into'_hook
20.6.9_The_'step_out'_hook
20.7_Statement's_modifiers
20.7.1_Statement's_modifier_'delay'
20.7.2_Statement_modifier_'quiet'
20.7.3_Statement_modifier_'new_project'
20.7.4_Statement_modifier_'file_as_standard_input'
20.7.5_Statement_modifier_'string_as_standard_input'
20.7.6_Statement_modifier_'parsed_file'
20.7.7_Statement_modifier_'parsed_string'
20.7.8_Statement_modifier_'generated_file'
20.7.9_Statement_modifier_'generated_string'
20.7.10_Statement_modifier_'appended_file'
21_Common_functions_and_procedures
21.1_acceptSocket
21.2_add
21.3_addGenerationTagsHandler
21.4_addToDate
21.5_appendFile
21.6_autoexpand
21.7_bytesToLong
21.8_bytesToShort
21.9_byteToChar
21.10_canonizePath
21.11_ceil
21.12_changeDirectory
21.13_changeFileTime
21.14_charAt
21.15_charToByte
21.16_charToInt
21.17_chmod
21.18_clearVariable
21.19_closeSocket
21.20_compareDate
21.21_compileToCpp
21.22_completeDate
21.23_completeLeftSpaces
21.24_completeRightSpaces
21.25_composeAdaLikeString
21.26_composeCLikeString
21.27_composeHTMLLikeString
21.28_composeSQLLikeString
21.29_computeMD5
21.30_copyFile
21.31_copyGenerableFile
21.32_copySmartDirectory
21.33_copySmartFile
21.34_coreString
21.35_countStringOccurences
21.36_createDirectory
21.37_createINETClientSocket
21.38_createINETServerSocket
21.39_createIterator
21.40_createReverseIterator
21.41_createVirtualFile
21.42_createVirtualTemporaryFile
21.43_cutString
21.44_decodeURL
21.45_decrement
21.46_deleteFile
21.47_deleteVirtualFile
21.48_div
21.49_duplicateIterator
21.50_encodeURL
21.51_endl
21.52_endString
21.53_environTable
21.54_equal
21.55_equalsIgnoreCase
21.56_equalTrees
21.57_error
21.58_executeString
21.59_executeStringQuiet
21.60_existDirectory
21.61_existEnv
21.62_existFile
21.63_existVariable
21.64_existVirtualFile
21.65_exp
21.66_expand
21.67_exploreDirectory
21.68_extendExecutedScript
21.69_extractGenerationHeader
21.70_fileCreation
21.71_fileLastAccess
21.72_fileLastModification
21.73_fileLines
21.74_fileMode
21.75_fileSize
21.76_findElement
21.77_findFirstChar
21.78_findFirstSubstringIntoKeys
21.79_findLastString
21.80_findNextString
21.81_findNextSubstringIntoKeys
21.82_findString
21.83_first
21.84_floor
21.85_formatDate
21.86_generate
21.87_generateString
21.88_getArraySize
21.89_getCommentBegin
21.90_getCommentEnd
21.91_getCurrentDirectory
21.92_getEnv
21.93_getGenerationHeader
21.94_getHTTPRequest
21.95_getIncludePath
21.96_getLastDelay
21.97_getNow
21.98_getProperty
21.99_getShortFilename
21.100_getTextMode
21.101_getVariableAttributes
21.102_getVersion
21.103_getWorkingPath
21.104_getWriteMode
21.105_hexaToDecimal
21.106_hostToNetworkLong
21.107_hostToNetworkShort
21.108_increment
21.109_indentFile
21.110_index
21.111_inf
21.112_inputKey
21.113_inputLine
21.114_insertElementAt
21.115_invertArray
21.116_isEmpty
21.117_isIdentifier
21.118_isNegative
21.119_isNumeric
21.120_isPositive
21.121_joinStrings
21.122_key
21.123_last
21.124_leftString
21.125_lengthString
21.126_listAllGeneratedFiles
21.127_loadBinaryFile
21.128_loadFile
21.129_loadProject
21.130_loadVirtualFile
21.131_log
21.132_longToBytes
21.133_midString
21.134_mod
21.135_mult
21.136_networkLongToHost
21.137_networkShortToHost
21.138_next
21.139_not
21.140_octalToDecimal
21.141_openLogFile
21.142_parseAsBNF
21.143_parseFree
21.144_parseFreeQuiet
21.145_parseStringAsBNF
21.146_pathFromPackage
21.147_postHTTPRequest
21.148_pow
21.149_prec
21.150_produceHTML
21.151_putEnv
21.152_randomInteger
21.153_randomSeed
21.154_receiveBinaryFromSocket
21.155_receiveFromSocket
21.156_receiveTextFromSocket
21.157_relativePath
21.158_removeAllElements
21.159_removeDirectory
21.160_removeElement
21.161_removeFirstElement
21.162_removeGenerationTagsHandler
21.163_removeLastElement
21.164_removeRecursive
21.165_removeVariable
21.166_repeatString
21.167_replaceString
21.168_replaceTabulations
21.169_resolveFilePath
21.170_rightString
21.171_rsubString
21.172_saveBinaryToFile
21.173_saveProject
21.174_saveProjectTypes
21.175_saveToFile
21.176_scanDirectories
21.177_scanFiles
21.178_selectGenerationTagsHandler
21.179_sendBinaryToSocket
21.180_sendHTTPRequest
21.181_sendTextToSocket
21.182_setCommentBegin
21.183_setCommentEnd
21.184_setGenerationHeader
21.185_setIncludePath
21.186_setNow
21.187_setProperty
21.188_setTextMode
21.189_setVersion
21.190_setWorkingPath
21.191_setWriteMode
21.192_shortToBytes
21.193_sleep
21.194_slideNodeContent
21.195_sortArray
21.196_sqrt
21.197_startString
21.198_sub
21.199_subString
21.200_sup
21.201_system
21.202_toLowerString
21.203_toUpperString
21.204_traceEngine
21.205_traceLine
21.206_traceObject
21.207_traceStack
21.208_traceText
21.209_translate
21.210_translateString
21.211_trim
21.212_trimLeft
21.213_trimRight
21.214_truncateAfterString
21.215_truncateBeforeString
21.216_UUID
22_The_extended_BNF_syntax_for_parsing
22.1_BNF_tokens
22.2_Preprocessing_of_a_clause
22.3_Inserting_instructions_of_the_scripting_language
22.4_Common_properties_of_BNF_tokens
22.5_BNF_directives
22.6_Declaring_a_clause
23_Reading_tokens_for_parsing
23.1_attachInputToSocket
23.2_countInputCols
23.3_countInputLines
23.4_detachInputFromSocket
23.5_getInputFilename
23.6_getInputLocation
23.7_getLastReadChars
23.8_goBack
23.9_lookAhead
23.10_peekChar
23.11_readAdaString
23.12_readByte
23.13_readBytes
23.14_readCChar
23.15_readChar
23.16_readCharAsInt
23.17_readChars
23.18_readIdentifier
23.19_readIfEqualTo
23.20_readIfEqualToIdentifier
23.21_readIfEqualToIgnoreCase
23.22_readLine
23.23_readNextText
23.24_readNumber
23.25_readPythonString
23.26_readString
23.27_readUptoJustOneChar
23.28_readWord
23.29_setInputLocation
23.30_skipBlanks
23.31_skipEmptyCpp
23.32_skipEmptyCppExceptDoxygen
23.33_skipEmptyHTML
23.34_skipEmptyLaTeX
23.35_skipSpaces
24_Syntax_and_instructions_for_generating_source_code
24.1_Preprocessor_directive:_coverage_recording
24.2_Aspect-Oriented_Programming_and_template-based_scripts
24.3_allFloatingLocations
24.4_attachOutputToSocket
24.5_countOutputCols
24.6_countOutputLines
24.7_decrementIndentLevel
24.8_detachOutputFromSocket
24.9_equalLastWrittenChars
24.10_existFloatingLocation
24.11_flushOutputToSocket
24.12_getFloatingLocation
24.13_getLastWrittenChars
24.14_getMarkupKey
24.15_getMarkupValue
24.16_getOutputFilename
24.17_getOutputLocation
24.18_getProtectedArea
24.19_getProtectedAreaKeys
24.20_incrementIndentLevel
24.21_indentText
24.22_insertText
24.23_insertTextOnce
24.24_insertTextOnceToFloatingLocation
24.25_insertTextToFloatingLocation
24.26_newFloatingLocation
24.27_overwritePortion
24.28_populateProtectedArea
24.29_remainingProtectedAreas
24.30_removeFloatingLocation
24.31_removeProtectedArea
24.32_resizeOutputStream
24.33_setFloatingLocation
24.34_setOutputLocation
24.35_setProtectedArea
24.36_writeBytes
24.37_writeText
24.38_writeTextOnce
External_bindings
25_The_JAVA_binding
26_Developing_external_functions
26.1_Doing_the_C++_binding_by_hand_(good_luck!)
26.2_Generating_the_C++_binding_automatically
The_integrated_debugger
27_Opening_the_debugger
28_General_functionalities
29_Commands_of_the_debugger
Quantifying_scripts
30_Presentation
31_Running_the_profiling_tool
32_The_profiling_results
Integrating_source_code_generation_into_a_project
33_Reusability
34_The_interest_of_controlling_the_format_of_the_design
35_Driving_the_implementation_with_CodeWorker
Tutorials