HSD-Fortran

User Documentation

  • Installation
    • Requirements
    • Building with CMake
      • Basic Build
      • Debug Build with Coverage
      • CMake Options
      • Using as a CMake Subproject
    • Building with fpm
      • Using as an fpm Dependency
    • Verifying Installation
    • Running the Example
  • User Guide
    • Basic Usage
      • Loading HSD Files
      • Accessing Values
      • Default Values
    • Working with Arrays
      • Working with Matrices
    • Type Introspection
    • Working with Attributes (Units)
    • Modifying Trees
    • Saving HSD Files
    • Tree Operations
      • Cloning Trees
      • Merging Trees
    • Schema Validation
      • Validation Helpers
    • Visitor Pattern
    • Best Practices
    • Example: Complete Configuration Parser
  • HSD Format Reference
    • Basic Syntax
      • Structure
      • Comments
    • Data Types
      • Strings
      • Integers
      • Real Numbers
      • Booleans
      • Arrays
      • Complex Numbers
      • Matrices (Multi-line Data)
    • Advanced Syntax
      • Typed Blocks (Short Form)
      • Attributes (Units)
      • File Includes
        • Include Path Resolution
    • Escaping and Special Characters
      • Quoted Strings
      • Identifier Rules
    • Grammar Summary
    • Error Messages
    • Compatibility Notes
      • DFTB+ Compatibility
      • Differences from JSON/YAML
  • Error Message Quick Reference
    • Error Type Structure
    • Creating Errors with Context
      • Basic Error
      • Error with Full Context
      • Syntax Error Helper
      • Type Error Helper
    • Error Codes
    • Usage Examples
      • Handling Errors
      • Error Output Format
    • Common Error Scenarios
      • Unclosed Bracket
      • Include Cycle
      • File Not Found
      • Type Mismatch
    • Best Practices
    • Coding Conventions for stat Parameters
      • The Pattern
      • Recommended Approaches
      • Common Mistakes to Avoid
      • Using Local Status Variables
  • Thread Safety Guide
    • Overview
    • Thread Safety Summary
    • Detailed Analysis
      • Safe Operations (No Synchronization Needed)
      • Unsafe Operations (Require External Synchronization)
    • Module-Specific Notes
      • hsd_types
      • hsd_parser
      • hsd_formatter
      • hsd_schema
      • hsd_hash_table
    • OpenMP Considerations
    • Coarray Fortran Considerations
    • Recommendations
    • Future Considerations
    • Implementation Notes
      • Why No Built-in Synchronization?
      • Hash Table Thread Safety
  • Fuzz Testing
    • Prerequisites
    • Building the Fuzz Target
    • Running the Fuzzer
      • Basic Usage
      • Using the Dictionary
      • Parallel Fuzzing
    • Understanding Output
      • Reproducing Issues
    • Corpus Management
      • Minimizing the Corpus
      • Minimizing a Crash
    • Seed Corpus
    • Troubleshooting
      • “afl-qemu-trace not found”
      • “Hmm, your system is configured to send core dump notifications”
      • Low Execution Speed
      • AFL++ Shows 0 Paths

Reference

  • API Reference
    • Key Modules
      • Main Module
      • High-Level API (src/api/)
      • I/O Layer (src/io/)
      • Core Infrastructure (src/core/)
      • Data Structures (hsd_types)
    • Quick Reference
      • Common Operations
      • Error Handling
    • For More Details
HSD-Fortran
  • Search


© Copyright 2026, DFTB+ developers group.

Built with Sphinx using a theme provided by Read the Docs.