All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:32,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:34,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:36,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:37,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:37,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: test_unbound_text_decoder
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_unbound_text_decoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:45,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:47,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:47,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:48,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:48,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:49,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:49,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:50,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:50,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:52,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:54,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:54,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:55,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:55,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: test_unknown_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_unknown_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:63,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:65,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:65,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:66,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:66,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:67,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:67,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:68,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:68,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:69,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:69,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:70,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:70,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:71,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:71,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:72,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:72,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:73,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:74,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:74,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:76,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:78,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:78,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:79,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:80,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:80,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:81,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:81,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:82,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:82,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:83,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:84,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:84,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:85,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:85,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:86,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:86,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:87,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:88,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:88,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:89,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:89,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: test_us_ascii_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_us_ascii_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:97,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:99,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:100,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:100,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:104,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:104,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:105,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:106,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:107,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:107,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:108,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:109,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:109,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:110,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:110,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:111,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:111,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:112,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:113,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:113,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:114,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:114,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:115,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:115,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: test_koi8_r_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_koi8_r_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:123,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:125,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:125,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:127,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:129,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:130,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:130,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:131,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:132,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:133,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:133,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:134,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:135,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:136,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:137,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:138,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:139,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:139,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:140,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:140,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: test_iscii_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iscii_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:150,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:151,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:151,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:152,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:153,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:154,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:154,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:155,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:155,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:156,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:156,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:157,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:158,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:158,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:160,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:162,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:162,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:163,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:163,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:164,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:165,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:165,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:166,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:166,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:167,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:167,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:168,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:169,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:169,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:170,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:170,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:171,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:171,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:172,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:172,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:173,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:173,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: test_iso_8859_1_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_1_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:181,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:183,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:183,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:184,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:184,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:185,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:185,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:186,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:186,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:187,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:187,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:188,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:188,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:189,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:189,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:191,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:193,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:193,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:194,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:194,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:195,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:195,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:196,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:196,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:197,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:197,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:198,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:198,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:199,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:199,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:200,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:200,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:201,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:201,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:202,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:202,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:203,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:203,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:204,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:204,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: test_iso_8859_2_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_2_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:212,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:214,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:214,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:215,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:215,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:216,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:217,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:217,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:218,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:218,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:219,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:219,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:220,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:220,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:222,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:224,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:224,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:225,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:225,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:226,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:226,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:227,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:227,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:228,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:228,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:229,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:229,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:230,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:231,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:231,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:232,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:232,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:233,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:233,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:234,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:234,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:235,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:235,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: test_iso_8859_3_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_3_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:243,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:245,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:245,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:246,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:246,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:247,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:247,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:248,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:248,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:249,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:249,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:250,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:250,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:251,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:251,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:253,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:255,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:256,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:256,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:257,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:258,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:258,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:259,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:259,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:260,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:260,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:261,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:261,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:262,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:262,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:263,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:263,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:264,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:264,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:265,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:265,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:266,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:266,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 269
    functionName: test_iso_8859_4_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_4_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:274,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:276,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:276,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:277,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:278,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:278,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:279,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:279,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:280,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:281,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:281,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:283,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:285,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:285,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:286,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:286,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:287,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:287,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:288,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:288,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:289,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:289,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:290,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:290,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:291,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:291,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:292,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:292,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:293,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:293,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:294,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:294,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:295,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:295,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:296,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:296,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 299
    functionName: test_iso_8859_5_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_5_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:304,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:306,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:306,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:307,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:307,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:308,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:308,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:309,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:309,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:310,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:310,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:311,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:312,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:312,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:313,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:313,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:315,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:317,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:317,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:318,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:318,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:319,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:319,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:320,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:321,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:321,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:322,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:322,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:323,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:323,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:324,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:324,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:325,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:325,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:326,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:326,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:327,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:327,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:328,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:328,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 331
    functionName: test_iso_8859_6_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_6_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:336,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:338,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:338,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:339,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:339,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:340,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:340,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:341,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:342,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:342,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:343,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:343,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:344,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:344,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:345,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:345,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:346,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:346,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:348,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:350,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:350,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:351,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:351,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:352,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:352,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:353,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:353,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:354,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:354,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:355,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:355,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:356,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:356,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:357,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:357,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:358,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:358,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:359,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:359,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:360,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:361,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:361,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 364
    functionName: test_iso_8859_7_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_7_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:369,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:371,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:371,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:372,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:372,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:373,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:373,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:374,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:374,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:375,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:375,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:376,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:376,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:378,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:380,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:380,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:381,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:381,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:382,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:382,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:383,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:383,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:384,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:384,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:385,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:385,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:386,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:386,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:387,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:387,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:388,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:388,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:389,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:389,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:390,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:390,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:391,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:391,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: test_iso_8859_8_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_8_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:399,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:401,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:401,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:402,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:402,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:403,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:403,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:404,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:404,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:405,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:405,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:406,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:406,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:407,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:407,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:409,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:411,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:411,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:412,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:412,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:413,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:413,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:414,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:414,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:415,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:415,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:416,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:416,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:417,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:417,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:418,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:418,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:419,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:419,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:420,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:420,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:421,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:421,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:422,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:422,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 425
    functionName: test_iso_8859_9_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_9_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:430,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:432,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:432,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:433,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:433,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:434,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:434,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:435,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:435,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:436,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:436,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:437,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:437,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:438,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:438,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:440,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:442,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:442,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:443,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:443,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:444,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:444,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:445,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:445,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:446,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:446,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:447,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:448,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:448,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:449,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:449,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:450,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:450,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:451,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:451,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:452,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:452,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:453,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:453,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 456
    functionName: test_iso_8859_10_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_10_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:461,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:463,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:463,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:464,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:464,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:465,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:465,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:467,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:469,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:469,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:470,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:470,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:471,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:471,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:472,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:472,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:473,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:473,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:474,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:474,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:475,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:475,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:476,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:476,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:477,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:477,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:478,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:478,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:479,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:479,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:480,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:480,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 483
    functionName: test_iso_8859_11_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_11_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:488,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:490,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:490,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:491,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:491,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:493,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:495,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:495,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:496,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:496,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:497,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:497,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:498,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:498,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:499,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:499,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:500,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:500,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:501,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:501,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:502,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:502,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:503,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:503,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:504,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:504,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:505,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:505,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:506,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:506,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 509
    functionName: test_iso_8859_13_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_13_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:514,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:516,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:516,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:517,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:517,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:518,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:518,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:519,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:519,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:520,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:520,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:521,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:521,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:522,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:522,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:523,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:523,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:525,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:527,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:527,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:528,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:528,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:529,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:529,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:530,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:530,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:531,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:531,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:532,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:532,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:533,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:533,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:534,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:534,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:535,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:535,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:536,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:536,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:537,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:537,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:538,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:538,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 541
    functionName: test_iso_8859_14_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_14_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:546,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:548,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:548,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:549,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:549,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:550,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:550,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:551,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:551,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:553,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:555,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:555,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:556,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:556,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:557,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:557,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:558,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:558,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:559,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:559,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:560,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:560,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:561,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:561,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:562,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:562,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:563,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:563,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:564,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:564,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:565,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:565,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:566,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:566,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 569
    functionName: test_iso_8859_15_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_15_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:574,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:576,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:576,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:577,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:577,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:578,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:578,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:579,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:579,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:580,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:580,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:581,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:581,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:582,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:582,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:584,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:586,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:586,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:587,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:587,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:588,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:588,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:589,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:589,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:590,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:590,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:591,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:591,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:592,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:592,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:593,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:593,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:594,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:594,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:595,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:595,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:596,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:596,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:597,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:597,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 600
    functionName: test_iso_8859_16_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_16_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:605,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:607,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:607,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:608,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:608,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:610,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:613,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:613,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:614,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:614,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:615,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:615,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:616,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:616,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:617,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:617,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:618,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:618,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:619,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:619,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:620,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:620,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:621,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:621,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:622,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:622,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:623,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:623,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:624,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:624,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:625,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:625,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:626,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:626,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:627,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:627,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:628,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:628,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:629,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:629,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:630,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:630,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:633,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:633,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:634,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:634,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:635,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:635,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:636,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:637,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:637,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:638,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:638,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:639,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:639,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:640,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:640,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:641,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:641,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:642,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:642,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:645,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:645,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:646,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:646,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:647,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:647,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:648,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:648,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:649,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:649,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:650,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:650,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:651,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:651,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:652,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:652,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:653,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:653,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:654,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:654,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:655,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:655,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:656,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:656,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:659,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:659,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:660,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:660,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:661,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:661,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:662,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:662,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:663,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:663,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:664,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:664,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:665,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:665,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:666,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:666,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:667,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:667,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:668,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:668,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:669,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:669,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:670,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:670,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:671,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:671,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:672,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:672,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:675,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:675,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:676,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:676,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:677,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:677,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:678,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:678,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:679,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:679,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:680,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:680,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:681,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:681,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:682,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:682,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:683,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:683,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:684,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:684,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:685,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:685,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:686,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:686,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:687,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:687,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:688,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:688,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:689,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:689,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:690,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:690,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:691,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:691,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:692,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:692,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:693,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:693,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:694,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:694,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:697,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:697,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:698,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:698,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:699,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:699,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:700,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:700,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 703
    functionName: test_utf_8_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_utf_8_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:708,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:710,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:710,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:711,1
    - Dst: espeak_ng_EncodingFromName
      Src: /src/espeak-ng/tests/encoding.c:711,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:713,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:715,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:715,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:716,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:716,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:717,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:717,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:718,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:718,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:719,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:719,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:720,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:720,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:721,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:721,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:722,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:722,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:723,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:723,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:724,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:725,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:725,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:726,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:726,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 729
    functionName: test_iso_10646_ucs_2_encoding
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_EncodingFromName
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_iso_10646_ucs_2_encoding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:734,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:736,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:739,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:739,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:740,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:740,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:741,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:741,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:742,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:742,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:745,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:745,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:746,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:746,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:747,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:747,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:748,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:748,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:749,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:749,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:750,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:750,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:751,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:751,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:752,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:752,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 755
    functionName: test_char_decoder
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_char_decoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:760,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:762,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:765,1
    - Dst: text_decoder_decode_wstring
      Src: /src/espeak-ng/tests/encoding.c:765,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:766,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:766,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:767,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:767,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:768,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:768,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:771,1
    - Dst: text_decoder_decode_wstring
      Src: /src/espeak-ng/tests/encoding.c:771,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:772,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:772,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:773,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:773,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:774,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:774,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:775,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:775,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:776,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:776,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:777,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:777,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:778,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:778,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:779,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:779,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:780,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:780,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:783,1
    - Dst: text_decoder_decode_wstring
      Src: /src/espeak-ng/tests/encoding.c:783,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:784,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:784,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:785,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:785,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:786,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:786,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:787,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:787,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:788,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:788,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:789,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:789,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:790,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:790,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:791,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:791,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:792,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:792,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:793,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:793,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:794,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:794,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 797
    functionName: test_wchar_decoder
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - text_decoder_decode_wstring
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_wchar_decoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:802,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:804,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:807,1
    - Dst: text_decoder_decode_string_auto
      Src: /src/espeak-ng/tests/encoding.c:807,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:808,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:808,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:809,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:809,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:810,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:810,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:813,1
    - Dst: text_decoder_decode_string_auto
      Src: /src/espeak-ng/tests/encoding.c:813,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:814,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:814,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:815,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:815,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:816,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:816,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:817,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:817,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:818,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:818,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:819,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:819,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:820,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:820,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:821,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:821,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:822,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:822,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:825,1
    - Dst: text_decoder_decode_string_auto
      Src: /src/espeak-ng/tests/encoding.c:825,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:826,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:826,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:827,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:827,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:828,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:828,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:829,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:829,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:830,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:830,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:831,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:831,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:832,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:832,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:833,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:833,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:834,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:834,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:837,1
    - Dst: text_decoder_decode_string_auto
      Src: /src/espeak-ng/tests/encoding.c:837,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:838,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:838,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:839,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:839,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:840,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:840,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:841,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:841,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:842,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:842,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:843,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:843,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:844,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:844,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 847
    functionName: test_auto_decoder
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - printf
    - text_decoder_eof
    - text_decoder_decode_string_auto
    linkageType: ''
    returnType: void
    signature: void test_auto_decoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/encoding.c:852,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:854,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:856,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/encoding.c:856,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:857,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:857,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:858,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:858,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:859,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:859,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:860,1
    - Dst: text_decoder_peekc
      Src: /src/espeak-ng/tests/encoding.c:860,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:861,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:861,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:862,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:862,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:863,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:863,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:864,1
    - Dst: text_decoder_peekc
      Src: /src/espeak-ng/tests/encoding.c:864,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:865,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:865,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:866,1
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/tests/encoding.c:866,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:867,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:867,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:870,1
    - Dst: text_decoder_peekc
      Src: /src/espeak-ng/tests/encoding.c:870,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/encoding.c:871,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/tests/encoding.c:871,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 874
    functionName: test_peekc
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - text_decoder_peekc
    - destroy_text_decoder
    - TEST_ASSERT
    - create_text_decoder
    - text_decoder_getc
    - text_decoder_decode_string
    - text_decoder_eof
    - printf
    linkageType: ''
    returnType: void
    signature: void test_peekc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_unbound_text_decoder
      Src: /src/espeak-ng/tests/encoding.c:882,1
    - Dst: test_unknown_encoding
      Src: /src/espeak-ng/tests/encoding.c:883,1
    - Dst: test_us_ascii_encoding
      Src: /src/espeak-ng/tests/encoding.c:885,1
    - Dst: test_koi8_r_encoding
      Src: /src/espeak-ng/tests/encoding.c:886,1
    - Dst: test_iscii_encoding
      Src: /src/espeak-ng/tests/encoding.c:887,1
    - Dst: test_iso_8859_1_encoding
      Src: /src/espeak-ng/tests/encoding.c:889,1
    - Dst: test_iso_8859_2_encoding
      Src: /src/espeak-ng/tests/encoding.c:890,1
    - Dst: test_iso_8859_3_encoding
      Src: /src/espeak-ng/tests/encoding.c:891,1
    - Dst: test_iso_8859_4_encoding
      Src: /src/espeak-ng/tests/encoding.c:892,1
    - Dst: test_iso_8859_5_encoding
      Src: /src/espeak-ng/tests/encoding.c:893,1
    - Dst: test_iso_8859_6_encoding
      Src: /src/espeak-ng/tests/encoding.c:894,1
    - Dst: test_iso_8859_7_encoding
      Src: /src/espeak-ng/tests/encoding.c:895,1
    - Dst: test_iso_8859_8_encoding
      Src: /src/espeak-ng/tests/encoding.c:896,1
    - Dst: test_iso_8859_9_encoding
      Src: /src/espeak-ng/tests/encoding.c:897,1
    - Dst: test_iso_8859_10_encoding
      Src: /src/espeak-ng/tests/encoding.c:898,1
    - Dst: test_iso_8859_11_encoding
      Src: /src/espeak-ng/tests/encoding.c:899,1
    - Dst: test_iso_8859_13_encoding
      Src: /src/espeak-ng/tests/encoding.c:901,1
    - Dst: test_iso_8859_14_encoding
      Src: /src/espeak-ng/tests/encoding.c:902,1
    - Dst: test_iso_8859_15_encoding
      Src: /src/espeak-ng/tests/encoding.c:903,1
    - Dst: test_iso_8859_16_encoding
      Src: /src/espeak-ng/tests/encoding.c:904,1
    - Dst: test_utf_8_encoding
      Src: /src/espeak-ng/tests/encoding.c:906,1
    - Dst: test_iso_10646_ucs_2_encoding
      Src: /src/espeak-ng/tests/encoding.c:907,1
    - Dst: test_char_decoder
      Src: /src/espeak-ng/tests/encoding.c:909,1
    - Dst: test_wchar_decoder
      Src: /src/espeak-ng/tests/encoding.c:910,1
    - Dst: test_auto_decoder
      Src: /src/espeak-ng/tests/encoding.c:911,1
    - Dst: test_peekc
      Src: /src/espeak-ng/tests/encoding.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 916
    functionName: main
    functionSourceFile: /src/espeak-ng/tests/encoding.c
    functionUses: 0
    functionsReached:
    - test_koi8_r_encoding
    - test_iso_8859_10_encoding
    - test_utf_8_encoding
    - test_char_decoder
    - test_iso_8859_16_encoding
    - test_iso_8859_15_encoding
    - test_iso_8859_5_encoding
    - test_iso_8859_7_encoding
    - test_iso_8859_11_encoding
    - test_iso_8859_4_encoding
    - test_unbound_text_decoder
    - test_iso_8859_1_encoding
    - test_iso_10646_ucs_2_encoding
    - test_iso_8859_14_encoding
    - test_peekc
    - test_us_ascii_encoding
    - test_iso_8859_2_encoding
    - test_iso_8859_13_encoding
    - test_iso_8859_6_encoding
    - test_auto_decoder
    - test_iso_8859_8_encoding
    - test_iscii_encoding
    - test_iso_8859_3_encoding
    - test_unknown_encoding
    - test_iso_8859_9_encoding
    - test_wchar_decoder
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetFileLength
      Src: /src/espeak-ng/tests/fuzzrunner.c:36,1
    - Dst: fopen
      Src: /src/espeak-ng/tests/fuzzrunner.c:37,1
    - Dst: perror
      Src: /src/espeak-ng/tests/fuzzrunner.c:40,1
    - Dst: exit
      Src: /src/espeak-ng/tests/fuzzrunner.c:41,1
    - Dst: malloc
      Src: /src/espeak-ng/tests/fuzzrunner.c:44,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/tests/fuzzrunner.c:46,1
    - Dst: exit
      Src: /src/espeak-ng/tests/fuzzrunner.c:47,1
    - Dst: fread
      Src: /src/espeak-ng/tests/fuzzrunner.c:50,1
    - Dst: fclose
      Src: /src/espeak-ng/tests/fuzzrunner.c:52,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/espeak-ng/tests/fuzzrunner.c:54,1
    - Dst: free
      Src: /src/espeak-ng/tests/fuzzrunner.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/espeak-ng/tests/fuzzrunner.c
    functionUses: 0
    functionsReached:
    - perror
    - LLVMFuzzerTestOneInput
    - fread
    - fopen
    - free
    - GetFileLength
    - exit
    - fclose
    - malloc
    - espeak_ng_PrintStatusCodeMessage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:40,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:42,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:43,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:44,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:46,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:46,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:47,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:48,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: test_espeak_terminate_without_initialize
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - espeak_Terminate
    linkageType: ''
    returnType: void
    signature: void test_espeak_terminate_without_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:55,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:57,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:58,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:59,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:61,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:61,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:62,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:63,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:64,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:66,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:66,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:67,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:68,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: test_espeak_initialize
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - espeak_Initialize
    - printf
    - espeak_Terminate
    linkageType: ''
    returnType: void
    signature: void test_espeak_initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:78,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:80,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:81,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:82,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:84,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:84,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:85,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:86,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:90,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:90,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:92,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:93,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:97,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:97,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:99,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:100,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:102,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:103,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:104,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: test_espeak_synth
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_synth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:111,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:113,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:114,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:117,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:117,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:118,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:119,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:120,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:123,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:123,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:125,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:127,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:130,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:132,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:133,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:136,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 140
    functionName: test_espeak_synth_no_voices
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_synth_no_voices(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:151,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:154,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:154,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:155,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:156,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:160,1
    - Dst: espeak_ng_Synthesize
      Src: /src/espeak-ng/tests/api.c:160,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:160,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:162,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:163,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:163,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:167,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:167,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:169,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:169,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:170,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:172,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:172,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:173,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:174,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: test_espeak_ng_synthesize
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - strlen
    - espeak_Terminate
    - espeak_ng_Synthesize
    - TEST_ASSERT
    - espeak_Initialize
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_ng_synthesize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:181,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:183,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:184,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:185,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:187,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:187,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:188,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:189,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:190,1
    - Dst: espeak_ng_Synthesize
      Src: /src/espeak-ng/tests/api.c:193,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:193,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:195,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:197,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:199,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:200,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:202,1
    - Dst: espeak_ng_Synchronize
      Src: /src/espeak-ng/tests/api.c:202,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:203,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:204,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:206,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:206,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:207,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:208,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 210
    functionName: test_espeak_ng_synthesize_no_voices
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - strlen
    - espeak_Terminate
    - espeak_ng_Synchronize
    - espeak_ng_Synthesize
    - TEST_ASSERT
    - espeak_Initialize
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_ng_synthesize_no_voices(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:218,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:220,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:221,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:222,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:224,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:224,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:225,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:226,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:227,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:229,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/tests/api.c:229,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:231,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:234,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:234,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:234,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:236,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:237,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:237,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:238,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:241,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:241,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:242,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:243,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:243,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:244,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:246,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:246,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:247,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:248,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 250
    functionName: test_espeak_set_voice_by_name_null_voice
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - espeak_SetVoiceByName
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_name_null_voice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:258,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:259,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:261,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:261,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:262,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:263,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:264,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:266,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/tests/api.c:266,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:267,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:268,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:271,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:271,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:271,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:273,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:274,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:274,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:275,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:278,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:278,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:279,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:280,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:281,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:283,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:283,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:284,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:285,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 287
    functionName: test_espeak_set_voice_by_name_blank_voice
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - espeak_SetVoiceByName
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_name_blank_voice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:292,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:294,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:295,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:296,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:298,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:298,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:299,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:300,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:301,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:303,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/tests/api.c:303,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:304,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:305,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:305,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:306,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:309,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:309,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:309,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:312,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:312,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:313,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:316,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:316,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:317,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:318,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:318,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:319,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:321,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:321,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:322,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:323,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 325
    functionName: test_espeak_set_voice_by_name_valid_voice
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - espeak_SetVoiceByName
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_name_valid_voice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:330,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:332,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:333,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:334,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:336,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:336,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:337,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:338,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:339,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:341,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/tests/api.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:342,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:343,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:346,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:346,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:346,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:348,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:349,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:350,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:353,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:353,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:354,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:355,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:355,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:356,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:358,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:358,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:359,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 362
    functionName: test_espeak_set_voice_by_name_invalid_voice
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - espeak_SetVoiceByName
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_name_invalid_voice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:367,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:369,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:370,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:371,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:373,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:373,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:374,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:375,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:376,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:378,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/tests/api.c:378,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:379,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:380,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:380,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:381,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:384,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:384,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:384,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:386,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:387,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:387,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:388,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:391,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:391,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:392,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:393,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:393,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:394,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:396,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:396,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:397,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:398,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 400
    functionName: test_espeak_set_voice_by_name_language_variant_intonation_parameter
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - espeak_SetVoiceByName
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_Synth
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_name_language_variant_intonation_parameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:408,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:410,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:411,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:412,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:414,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:414,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:415,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:416,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:417,1
    - Dst: memset
      Src: /src/espeak-ng/tests/api.c:420,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:422,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/tests/api.c:422,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:423,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:424,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:424,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:425,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:428,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:428,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:428,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:430,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:431,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:431,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:432,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:435,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:435,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:436,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:437,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:437,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:438,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:440,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:440,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:441,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:442,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 444
    functionName: test_espeak_set_voice_by_properties_empty
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - memset
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_SetVoiceByProperties
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_properties_empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:449,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:451,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:452,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:453,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:455,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:455,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:456,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:457,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:458,1
    - Dst: memset
      Src: /src/espeak-ng/tests/api.c:461,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:464,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/tests/api.c:464,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:465,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:466,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:466,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:467,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:470,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:470,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:470,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:472,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:473,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:473,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:474,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:477,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:477,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:478,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:479,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:479,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:480,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:482,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:482,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:483,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:484,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 486
    functionName: test_espeak_set_voice_by_properties_blank_language
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - memset
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_SetVoiceByProperties
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_properties_blank_language()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:491,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:493,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:494,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:495,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:497,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:497,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:498,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:499,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:500,1
    - Dst: memset
      Src: /src/espeak-ng/tests/api.c:503,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:506,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/tests/api.c:506,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:507,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:508,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:508,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:512,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:512,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:512,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:514,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:515,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:515,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:516,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:519,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:519,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:520,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:521,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:521,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:522,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:524,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:524,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:525,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:526,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 528
    functionName: test_espeak_set_voice_by_properties_with_valid_language
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - memset
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_SetVoiceByProperties
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_properties_with_valid_language()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:533,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:535,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:536,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:537,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:539,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/api.c:539,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:540,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:541,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:542,1
    - Dst: memset
      Src: /src/espeak-ng/tests/api.c:545,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:548,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/tests/api.c:548,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:549,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:550,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:553,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/api.c:553,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:553,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:555,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:556,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:556,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:557,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:560,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/tests/api.c:560,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:561,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:562,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/api.c:562,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:563,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:565,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:565,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:566,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:567,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 569
    functionName: test_espeak_set_voice_by_properties_with_invalid_language
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - memset
    - strlen
    - espeak_Terminate
    - TEST_ASSERT
    - espeak_Initialize
    - espeak_SetVoiceByProperties
    - espeak_Synth
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void test_espeak_set_voice_by_properties_with_invalid_language()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:581,1
    - Dst: strncpy
      Src: /src/espeak-ng/tests/api.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - samples
    - num_samples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 588
    functionName: _test_espeak_ng_phoneme_events_cb
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int _test_espeak_ng_phoneme_events_cb(short *samples, int num_samples,
      espeak_EVENT *events)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/api.c:592,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:594,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:595,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:596,1
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/tests/api.c:598,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:600,1
    - Dst: espeak_ng_Initialize
      Src: /src/espeak-ng/tests/api.c:600,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:601,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/tests/api.c:601,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/tests/api.c:602,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:603,1
    - Dst: espeak_ng_SetPhonemeEvents
      Src: /src/espeak-ng/tests/api.c:603,1
    - Dst: memset
      Src: /src/espeak-ng/tests/api.c:606,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:609,1
    - Dst: espeak_ng_Synthesize
      Src: /src/espeak-ng/tests/api.c:609,1
    - Dst: strlen
      Src: /src/espeak-ng/tests/api.c:609,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:610,1
    - Dst: espeak_ng_Synchronize
      Src: /src/espeak-ng/tests/api.c:610,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:613,1
    - Dst: strncmp
      Src: /src/espeak-ng/tests/api.c:613,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:615,1
    - Dst: strncmp
      Src: /src/espeak-ng/tests/api.c:615,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:618,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:621,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/api.c:621,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:622,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:623,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/api.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - enabled
    - ipa
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 625
    functionName: test_espeak_ng_phoneme_events
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - memset
    - espeak_ng_InitializeOutput
    - strlen
    - espeak_ng_Initialize
    - espeak_Terminate
    - espeak_ng_Synchronize
    - espeak_ng_SetPhonemeEvents
    - espeak_ng_Synthesize
    - TEST_ASSERT
    - espeak_ng_InitializePath
    - espeak_SetSynthCallback
    - printf
    - strncmp
    linkageType: ''
    returnType: void
    signature: void test_espeak_ng_phoneme_events(int enabled, int ipa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/espeak-ng/tests/api.c:634,1
    - Dst: strrchr
      Src: /src/espeak-ng/tests/api.c:638,1
    - Dst: strrchr
      Src: /src/espeak-ng/tests/api.c:639,1
    - Dst: test_espeak_terminate_without_initialize
      Src: /src/espeak-ng/tests/api.c:641,1
    - Dst: test_espeak_initialize
      Src: /src/espeak-ng/tests/api.c:642,1
    - Dst: test_espeak_synth
      Src: /src/espeak-ng/tests/api.c:644,1
    - Dst: test_espeak_synth
      Src: /src/espeak-ng/tests/api.c:645,1
    - Dst: test_espeak_synth_no_voices
      Src: /src/espeak-ng/tests/api.c:646,1
    - Dst: test_espeak_synth
      Src: /src/espeak-ng/tests/api.c:647,1
    - Dst: test_espeak_ng_synthesize
      Src: /src/espeak-ng/tests/api.c:649,1
    - Dst: test_espeak_ng_synthesize
      Src: /src/espeak-ng/tests/api.c:650,1
    - Dst: test_espeak_ng_synthesize_no_voices
      Src: /src/espeak-ng/tests/api.c:651,1
    - Dst: test_espeak_ng_synthesize
      Src: /src/espeak-ng/tests/api.c:652,1
    - Dst: test_espeak_set_voice_by_name_null_voice
      Src: /src/espeak-ng/tests/api.c:654,1
    - Dst: test_espeak_set_voice_by_name_blank_voice
      Src: /src/espeak-ng/tests/api.c:655,1
    - Dst: test_espeak_set_voice_by_name_valid_voice
      Src: /src/espeak-ng/tests/api.c:656,1
    - Dst: test_espeak_set_voice_by_name_invalid_voice
      Src: /src/espeak-ng/tests/api.c:657,1
    - Dst: test_espeak_set_voice_by_name_language_variant_intonation_parameter
      Src: /src/espeak-ng/tests/api.c:658,1
    - Dst: test_espeak_set_voice_by_properties_empty
      Src: /src/espeak-ng/tests/api.c:660,1
    - Dst: test_espeak_set_voice_by_properties_blank_language
      Src: /src/espeak-ng/tests/api.c:661,1
    - Dst: test_espeak_set_voice_by_properties_with_valid_language
      Src: /src/espeak-ng/tests/api.c:662,1
    - Dst: test_espeak_set_voice_by_properties_with_invalid_language
      Src: /src/espeak-ng/tests/api.c:663,1
    - Dst: test_espeak_ng_phoneme_events
      Src: /src/espeak-ng/tests/api.c:665,1
    - Dst: test_espeak_ng_phoneme_events
      Src: /src/espeak-ng/tests/api.c:666,1
    - Dst: test_espeak_ng_phoneme_events
      Src: /src/espeak-ng/tests/api.c:667,1
    - Dst: free
      Src: /src/espeak-ng/tests/api.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 672
    functionName: main
    functionSourceFile: /src/espeak-ng/tests/api.c
    functionUses: 0
    functionsReached:
    - test_espeak_set_voice_by_properties_empty
    - test_espeak_ng_synthesize_no_voices
    - test_espeak_ng_phoneme_events
    - test_espeak_initialize
    - test_espeak_set_voice_by_properties_with_valid_language
    - strrchr
    - strdup
    - test_espeak_synth
    - test_espeak_terminate_without_initialize
    - test_espeak_set_voice_by_properties_blank_language
    - test_espeak_synth_no_voices
    - test_espeak_set_voice_by_name_blank_voice
    - test_espeak_set_voice_by_name_valid_voice
    - free
    - test_espeak_ng_synthesize
    - test_espeak_set_voice_by_properties_with_invalid_language
    - test_espeak_set_voice_by_name_null_voice
    - test_espeak_set_voice_by_name_language_variant_intonation_parameter
    - test_espeak_set_voice_by_name_invalid_voice
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 3
    functionName: dummy
    functionSourceFile: /src/espeak-ng/tests/dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_SetVoiceByName
      Src: /src/espeak-ng/tests/readclause.c:50,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/tests/readclause.c:55,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/tests/readclause.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - text
    - voicename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: set_text
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - espeak_ng_SetVoiceByName
    - text_decoder_decode_string
    - create_text_decoder
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS set_text(const char *text, const char *voicename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:64,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:66,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:66,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:67,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:67,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:68,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:68,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:69,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:69,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:70,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:70,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:72,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:72,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:73,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:75,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:75,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:76,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:76,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:77,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: test_latin
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_latin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:85,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:85,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:86,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:86,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:96,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:96,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:99,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:100,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:100,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:101,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:102,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:103,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:104,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:107,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:107,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:108,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:108,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: test_latin_sentence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - clause_type_from_codepoint
    - TEST_ASSERT
    - strcmp
    - printf
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_latin_sentence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:117,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:117,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:118,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: test_greek
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_greek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:124,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:126,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:127,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:127,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:128,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:128,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:129,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:130,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: test_armenian
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_armenian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:138,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:138,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:139,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:139,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:140,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:140,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:141,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: test_arabic
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_arabic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:147,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:149,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: test_devanagari
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_devanagari()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:155,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:157,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:158,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: test_tibetan
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_tibetan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:164,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:166,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: test_sinhala
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_sinhala()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:172,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:174,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: test_georgian
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_georgian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:180,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:182,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:182,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:183,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:183,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:184,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:184,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:185,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:185,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:186,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:186,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:187,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:187,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:188,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: test_ethiopic
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_ethiopic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:194,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:196,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:196,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:197,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: test_ideographic
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_ideographic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:203,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:205,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:205,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:206,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:206,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:207,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:207,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:208,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:208,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:209,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:209,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:210,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/tests/readclause.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: test_fullwidth
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - printf
    - clause_type_from_codepoint
    linkageType: ''
    returnType: void
    signature: void test_fullwidth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:226,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:226,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:235,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:235,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:236,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:236,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:243,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:244,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:244,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:245,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: test_uts51_emoji_character
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:252,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:261,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:261,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:269,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:269,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:270,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:270,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:276,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:277,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:278,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 280
    functionName: test_uts51_text_presentation_sequence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_text_presentation_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:285,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:294,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:294,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:302,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:302,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:303,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:303,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:309,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:310,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:310,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 313
    functionName: test_uts51_emoji_presentation_sequence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_presentation_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:318,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:326,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:326,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:333,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:333,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:334,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:334,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:339,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:340,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:340,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 343
    functionName: test_uts51_emoji_modifier_sequence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_modifier_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:348,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:357,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:357,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:365,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:365,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:366,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:366,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:372,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:373,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:373,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:374,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 376
    functionName: test_uts51_emoji_flag_sequence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_flag_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:381,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:395,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:395,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:422,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:422,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:423,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:423,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:448,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:449,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:449,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:450,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 452
    functionName: test_uts51_emoji_tag_sequence_emoji_character
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_tag_sequence_emoji_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:457,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:465,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:465,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:472,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:472,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:473,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:473,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:478,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:479,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:479,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:480,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 482
    functionName: test_uts51_emoji_combining_sequence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_combining_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/espeak-ng/tests/readclause.c:487,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:495,1
    - Dst: set_text
      Src: /src/espeak-ng/tests/readclause.c:495,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:502,1
    - Dst: ReadClause
      Src: /src/espeak-ng/tests/readclause.c:502,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:503,1
    - Dst: strcmp
      Src: /src/espeak-ng/tests/readclause.c:503,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:508,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:509,1
    - Dst: memcmp
      Src: /src/espeak-ng/tests/readclause.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:510,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: test_uts51_emoji_keycap_sequence
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - ReadClause
    - set_text
    - TEST_ASSERT
    - printf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_uts51_emoji_keycap_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:520,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/readclause.c:520,1
    - Dst: test_latin
      Src: /src/espeak-ng/tests/readclause.c:522,1
    - Dst: test_latin_sentence
      Src: /src/espeak-ng/tests/readclause.c:523,1
    - Dst: test_greek
      Src: /src/espeak-ng/tests/readclause.c:525,1
    - Dst: test_armenian
      Src: /src/espeak-ng/tests/readclause.c:526,1
    - Dst: test_arabic
      Src: /src/espeak-ng/tests/readclause.c:527,1
    - Dst: test_devanagari
      Src: /src/espeak-ng/tests/readclause.c:528,1
    - Dst: test_tibetan
      Src: /src/espeak-ng/tests/readclause.c:529,1
    - Dst: test_sinhala
      Src: /src/espeak-ng/tests/readclause.c:530,1
    - Dst: test_georgian
      Src: /src/espeak-ng/tests/readclause.c:531,1
    - Dst: test_ethiopic
      Src: /src/espeak-ng/tests/readclause.c:532,1
    - Dst: test_ideographic
      Src: /src/espeak-ng/tests/readclause.c:533,1
    - Dst: test_fullwidth
      Src: /src/espeak-ng/tests/readclause.c:534,1
    - Dst: test_uts51_emoji_character
      Src: /src/espeak-ng/tests/readclause.c:536,1
    - Dst: test_uts51_text_presentation_sequence
      Src: /src/espeak-ng/tests/readclause.c:537,1
    - Dst: test_uts51_emoji_presentation_sequence
      Src: /src/espeak-ng/tests/readclause.c:538,1
    - Dst: test_uts51_emoji_modifier_sequence
      Src: /src/espeak-ng/tests/readclause.c:539,1
    - Dst: test_uts51_emoji_flag_sequence
      Src: /src/espeak-ng/tests/readclause.c:540,1
    - Dst: test_uts51_emoji_tag_sequence_emoji_character
      Src: /src/espeak-ng/tests/readclause.c:541,1
    - Dst: test_uts51_emoji_combining_sequence
      Src: /src/espeak-ng/tests/readclause.c:542,1
    - Dst: test_uts51_emoji_keycap_sequence
      Src: /src/espeak-ng/tests/readclause.c:543,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/readclause.c:545,1
    - Dst: espeak_Terminate
      Src: /src/espeak-ng/tests/readclause.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 548
    functionName: main
    functionSourceFile: /src/espeak-ng/tests/readclause.c
    functionUses: 0
    functionsReached:
    - test_uts51_emoji_modifier_sequence
    - test_uts51_emoji_keycap_sequence
    - test_uts51_emoji_presentation_sequence
    - test_ethiopic
    - espeak_Terminate
    - test_uts51_emoji_tag_sequence_emoji_character
    - test_tibetan
    - test_latin_sentence
    - test_greek
    - test_uts51_emoji_character
    - test_fullwidth
    - test_uts51_text_presentation_sequence
    - test_ideographic
    - test_sinhala
    - test_arabic
    - espeak_Initialize
    - test_uts51_emoji_combining_sequence
    - test_latin
    - test_uts51_emoji_flag_sequence
    - test_armenian
    - TEST_ASSERT
    - test_georgian
    - test_devanagari
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 14
    functionName: TEST_ASSERT
    functionSourceFile: /src/espeak-ng/tests/test_assert.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:48,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:48,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:49,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:49,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:50,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:50,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:51,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:51,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:52,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:52,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:53,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:53,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:54,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:54,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:56,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:56,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:57,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:57,1
    - Dst: TEST_ASSERT
      Src: /src/espeak-ng/tests/ieee80.c:60,1
    - Dst: isnan
      Src: /src/espeak-ng/tests/ieee80.c:60,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/tests/ieee80.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/espeak-ng/tests/ieee80.c
    functionUses: 0
    functionsReached:
    - isnan
    - TEST_ASSERT
    - ieee_extended_to_double
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wav
    - numsamples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: SynthCallback
    functionSourceFile: /src/espeak-ng/tests/ssml-fuzzer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SynthCallback(short *wav, int numsamples, espeak_EVENT *events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:47,1
    - Dst: strdup
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/espeak-ng/tests/ssml-fuzzer.c
    functionUses: 0
    functionsReached:
    - strdup
    - dirname
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(const int* argc, char*** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:53,1
    - Dst: setenv
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:55,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:57,1
    - Dst: espeak_ng_SetRandSeed
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:58,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:59,1
    - Dst: malloc
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:64,1
    - Dst: memcpy
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:65,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:67,1
    - Dst: free
      Src: /src/espeak-ng/tests/ssml-fuzzer.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/espeak-ng/tests/ssml-fuzzer.c
    functionUses: 1
    functionsReached:
    - free
    - setenv
    - espeak_Initialize
    - getenv
    - espeak_ng_SetRandSeed
    - malloc
    - espeak_SetSynthCallback
    - espeak_Synth
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: BOLDRED
    functionSourceFile: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOLDRED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - samples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: espeak_callback
    functionSourceFile: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int espeak_callback(short *data, int samples, espeak_EVENT *events)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:51,1
    - Dst: espeak_ng_SetRandSeed
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:52,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:53,1
    - Dst: getenv
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:54,1
    - Dst: fprintf
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:57,1
    - Dst: BOLDRED
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:57,1
    - Dst: exit
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:58,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:60,1
    - Dst: fprintf
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:62,1
    - Dst: BOLDRED
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:62,1
    - Dst: exit
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:63,1
    - Dst: fprintf
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:66,1
    - Dst: strndup
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:68,1
    - Dst: perror
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:71,1
    - Dst: exit
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:72,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:75,1
    - Dst: free
      Src: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 80
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c
    functionUses: 1
    functionsReached:
    - perror
    - espeak_Synth
    - espeak_SetVoiceByName
    - free
    - BOLDRED
    - exit
    - espeak_Initialize
    - getenv
    - espeak_ng_SetRandSeed
    - espeak_SetSynthCallback
    - strndup
    - fprintf
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: LOGV
    functionSourceFile: /src/espeak-ng/android/jni/include/Log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGV(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: LOGI
    functionSourceFile: /src/espeak-ng/android/jni/include/Log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGI(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: LOGE
    functionSourceFile: /src/espeak-ng/android/jni/include/Log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGE(...)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - in
    - c
    argTypes:
    - char*
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: utf8_read
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *utf8_read(const char *in, wchar_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:72,1
    - Dst: malloc
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:73,1
    - Dst: strlen
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:73,1
    - Dst: utf8_read
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:79,1
    - Dst: ReleaseStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - env
    - str
    argTypes:
    - JNIEnv*
    - jstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: unicode_string
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - utf8_read
    - strlen
    - malloc
    - GetStringUTFChars
    - ReleaseStringUTFChars
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *unicode_string(JNIEnv *env, jstring str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AttachCurrentThread
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: getJniEnv
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - AttachCurrentThread
    linkageType: ''
    returnType: JNIEnv
    signature: JNIEnv *getJniEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getJniEnv
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:110,1
    - Dst: CallVoidMethod
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:114,1
    - Dst: NewByteArray
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:117,1
    - Dst: SetByteArrayRegion
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:118,1
    - Dst: CallVoidMethod
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - audioData
    - numSamples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: SynthCallback
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 3
    functionsReached:
    - SetByteArrayRegion
    - NewByteArray
    - getJniEnv
    - CallVoidMethod
    linkageType: ''
    returnType: int
    signature: "int SynthCallback(short *audioData, int numSamples,\n                         espeak_EVENT
      *events)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEnv
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:133,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vm
    - reserved
    argTypes:
    - JavaVM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: JNI_OnLoad
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - GetEnv
    - LOGE
    linkageType: ''
    returnType: JNIEXPORT
    signature: JNIEXPORT JNI_OnLoad(JavaVM *vm, void *reserved)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:144,1
    - Dst: GetMethodID
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - env
    - clazz
    argTypes:
    - JNIEnv*
    - jclass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeClassInit
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - LOGV
    - GetMethodID
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeClassInit(\n
      \   JNIEnv* env, jclass clazz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:153,1
    - Dst: GetStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:155,1
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:157,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:158,1
    - Dst: ReleaseStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - env
    - object
    - path
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeCreate
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - LOGV
    - GetStringUTFChars
    - espeak_Initialize
    - ReleaseStringUTFChars
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeCreate(\n
      \   JNIEnv *env, jobject object, jstring path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:168,1
    - Dst: NewStringUTF
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:169,1
    - Dst: espeak_Info
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - env
    - clazz
    argTypes:
    - JNIEnv*
    - jclass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetVersion
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - LOGV
    - espeak_Info
    - NewStringUTF
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetVersion(\n
      \   JNIEnv *env, jclass clazz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:175,1
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:177,1
    - Dst: FindClass
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:186,1
    - Dst: sprintf
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:196,1
    - Dst: sprintf
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:197,1
    - Dst: NewStringUTF
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:199,1
    - Dst: SetObjectArrayElement
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:200,1
    - Dst: DeleteLocalRef
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:201,1
    - Dst: NewStringUTF
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:202,1
    - Dst: SetObjectArrayElement
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:203,1
    - Dst: DeleteLocalRef
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:204,1
    - Dst: NewStringUTF
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:205,1
    - Dst: SetObjectArrayElement
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:206,1
    - Dst: DeleteLocalRef
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:207,1
    - Dst: NewStringUTF
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:208,1
    - Dst: SetObjectArrayElement
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:209,1
    - Dst: DeleteLocalRef
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - env
    - object
    argTypes:
    - JNIEnv*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 214
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetAvailableVoices
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - NewStringUTF
    - espeak_ListVoices
    - SetObjectArrayElement
    - FindClass
    - LOGV
    - sprintf
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetAvailableVoices(\n
      \   JNIEnv *env, jobject object)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:219,1
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:221,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:223,1
    - Dst: ReleaseStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:225,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:229,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:230,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - env
    - object
    - name
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetVoiceByName
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - espeak_SetVoiceByName
    - LOGV
    - GetStringUTFChars
    - LOGE
    - ReleaseStringUTFChars
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetVoiceByName(\n
      \   JNIEnv *env, jobject object, jstring name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:240,1
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:242,1
    - Dst: memset
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:245,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:250,1
    - Dst: ReleaseStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:252,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:256,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:257,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - env
    - object
    - language
    - gender
    - age
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    - jint
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 262
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetVoiceByProperties
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - memset
    - LOGV
    - espeak_SetVoiceByProperties
    - GetStringUTFChars
    - LOGE
    - ReleaseStringUTFChars
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetVoiceByProperties(\n
      \   JNIEnv *env, jobject object, jstring language, jint gender, jint age)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:267,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:268,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:272,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:273,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - env
    - object
    - parameter
    - value
    argTypes:
    - JNIEnv*
    - jobject
    - jint
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetParameter
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - LOGV
    - espeak_SetParameter
    - LOGE
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetParameter(\n
      \   JNIEnv *env, jobject object, jint parameter, jint value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:283,1
    - Dst: espeak_GetParameter
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - env
    - object
    - parameter
    - current
    argTypes:
    - JNIEnv*
    - jobject
    - jint
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetParameter
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - LOGV
    - espeak_GetParameter
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetParameter(\n
      \   JNIEnv *env, jobject object, jint parameter, jint current)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:290,1
    - Dst: unicode_string
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:292,1
    - Dst: espeak_SetPunctuationList
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:293,1
    - Dst: free
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:294,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:297,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:298,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - env
    - object
    - characters
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetPunctuationCharacters
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - free
    - LOGV
    - espeak_SetPunctuationList
    - unicode_string
    - LOGE
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetPunctuationCharacters(\n
      \   JNIEnv *env, jobject object, jstring characters)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:308,1
    - Dst: GetStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:309,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:312,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:313,1
    - Dst: strlen
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:313,1
    - Dst: espeak_Synchronize
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:318,1
    - Dst: ReleaseStringUTFChars
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:320,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:324,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:325,1
    - Dst: LOGE
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - env
    - object
    - text
    - isSsml
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    - jboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 330
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeSynthesize
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - espeak_Synchronize
    - strlen
    - LOGV
    - espeak_SetSynthCallback
    - espeak_Synth
    - GetStringUTFChars
    - LOGE
    - ReleaseStringUTFChars
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeSynthesize(\n
      \   JNIEnv *env, jobject object, jstring text, jboolean isSsml)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOGV
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:335,1
    - Dst: espeak_Cancel
      Src: /src/espeak-ng/android/jni/jni/eSpeakService.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - env
    - object
    argTypes:
    - JNIEnv*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: Java_com_reecedunn_espeak_SpeechSynthesis_nativeStop
    functionSourceFile: /src/espeak-ng/android/jni/jni/eSpeakService.c
    functionUses: 0
    functionsReached:
    - LOGV
    - espeak_Cancel
    linkageType: ''
    returnType: JNIEXPORT
    signature: "JNIEXPORT Java_com_reecedunn_espeak_SpeechSynthesis_nativeStop(\n
      \   JNIEnv *env, jobject object)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:29,1
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: eSpeakNGWorker::eSpeakNGWorker
    functionSourceFile: /src/espeak-ng/emscripten/espeakng_glue.cpp
    functionUses: 0
    functionsReached:
    - espeak_ListVoices
    - espeak_Initialize
    linkageType: ''
    returnType: void
    signature: void eSpeakNGWorker()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<t_espeak_callback*>
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:37,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:38,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:39,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:40,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:43,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:45,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:47,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - aText
    - aCallback
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: eSpeakNGWorker::synth_
    functionSourceFile: /src/espeak-ng/emscripten/espeakng_glue.cpp
    functionUses: 0
    functionsReached:
    - espeak_SetVoiceByProperties
    - espeak_Synth
    - espeak_SetVoiceByName
    - reinterpret_cast<t_espeak_callback*>
    - espeak_SetSynthCallback
    - espeak_SetParameter
    linkageType: ''
    returnType: void
    signature: void synth_(const char* aText, void* aCallback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:61,1
    - Dst: fopen
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:69,1
    - Dst: espeak_SetPhonemeTrace
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:74,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:75,1
    - Dst: espeak_SetPhonemeTrace
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:76,1
    - Dst: fclose
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - aText
    - virtualFileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: eSpeakNGWorker::synth_ipa_
    functionSourceFile: /src/espeak-ng/emscripten/espeakng_glue.cpp
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - espeak_SetSynthCallback
    - espeak_Synth
    - espeak_SetPhonemeTrace
    linkageType: ''
    returnType: int
    signature: int synth_ipa_(const char* aText, const char* virtualFileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:97,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:99,1
    - Dst: espeak_GetCurrentVoice
      Src: /src/espeak-ng/emscripten/espeakng_glue.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - aName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: eSpeakNGWorker::set_voice
    functionSourceFile: /src/espeak-ng/emscripten/espeakng_glue.cpp
    functionUses: 0
    functionsReached:
    - espeak_SetVoiceByName
    - espeak_SetVoiceByProperties
    - espeak_GetCurrentVoice
    linkageType: ''
    returnType: long
    signature: "long set_voice(\n        const char* aName,\n        const char* aLang=NULL,\n
      \       unsigned char aGender=0,\n        unsigned char aAge=0,\n        unsigned
      char aVariant = 0\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: eSpeakNGWorker::getSizeOfEventStruct_
    functionSourceFile: /src/espeak-ng/emscripten/espeakng_glue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSizeOfEventStruct_()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/src/espeak-ng.c:161,1
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/src/espeak-ng.c:163,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:165,1
    - Dst: strlen
      Src: /src/espeak-ng/src/espeak-ng.c:171,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/espeak-ng.c:175,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/espeak-ng.c:177,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:187,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:190,1
    - Dst: fputc
      Src: /src/espeak-ng/src/espeak-ng.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - f_out
    - language
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 196
    functionName: DisplayVoices
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 0
    functionsReached:
    - espeak_ListVoices
    - strlen
    - strcpy
    - fputc
    - sprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void DisplayVoices(FILE *f_out, char *language)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/espeak-ng.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - value
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: Write4Bytes
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void Write4Bytes(FILE *f, int value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/espeak-ng/src/espeak-ng.c:220,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/espeak-ng.c:224,1
    - Dst: _setmode
      Src: /src/espeak-ng/src/espeak-ng.c:227,1
    - Dst: _fileno
      Src: /src/espeak-ng/src/espeak-ng.c:227,1
    - Dst: fopen
      Src: /src/espeak-ng/src/espeak-ng.c:231,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:235,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/espeak-ng.c:239,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/espeak-ng.c:240,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/espeak-ng.c:241,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/espeak-ng.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - path
    - rate
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 244
    functionName: OpenWavFile
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 0
    functionsReached:
    - _fileno
    - Write4Bytes
    - _setmode
    - fopen
    - fwrite
    - isspace
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int OpenWavFile(char *path, int rate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/espeak-ng/src/espeak-ng.c:253,1
    - Dst: ftell
      Src: /src/espeak-ng/src/espeak-ng.c:254,1
    - Dst: fseek
      Src: /src/espeak-ng/src/espeak-ng.c:256,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/espeak-ng.c:257,1
    - Dst: fseek
      Src: /src/espeak-ng/src/espeak-ng.c:259,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/espeak-ng.c:260,1
    - Dst: fclose
      Src: /src/espeak-ng/src/espeak-ng.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: CloseWavFile
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 0
    functionsReached:
    - Write4Bytes
    - fflush
    - ftell
    - fclose
    - fseek
    linkageType: ''
    returnType: void
    signature: void CloseWavFile()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CloseWavFile
      Src: /src/espeak-ng/src/espeak-ng.c:279,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/espeak-ng.c:289,1
    - Dst: OpenWavFile
      Src: /src/espeak-ng/src/espeak-ng.c:290,1
    - Dst: OpenWavFile
      Src: /src/espeak-ng/src/espeak-ng.c:292,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/espeak-ng.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - wav
    - numsamples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 301
    functionName: SynthCallback
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 6
    functionsReached:
    - fwrite
    - sprintf
    - CloseWavFile
    - OpenWavFile
    linkageType: ''
    returnType: int
    signature: int SynthCallback(short *wav, int numsamples, espeak_EVENT *events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/src/espeak-ng.c:307,1
    - Dst: espeak_Info
      Src: /src/espeak-ng/src/espeak-ng.c:308,1
    - Dst: printf
      Src: /src/espeak-ng/src/espeak-ng.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: PrintVersion
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 0
    functionsReached:
    - espeak_Info
    - espeak_Initialize
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintVersion()
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/espeak-ng/src/espeak-ng.c:384,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/espeak-ng.c:396,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/espeak-ng.c:402,1
    - Dst: printf
      Src: /src/espeak-ng/src/espeak-ng.c:408,1
    - Dst: PrintVersion
      Src: /src/espeak-ng/src/espeak-ng.c:409,1
    - Dst: printf
      Src: /src/espeak-ng/src/espeak-ng.c:410,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:413,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:425,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:428,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/espeak-ng.c:434,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:437,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:440,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:443,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:446,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/espeak-ng.c:449,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/espeak-ng.c:453,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/espeak-ng.c:463,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/espeak-ng.c:468,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:473,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:474,1
    - Dst: espeak_Initialize
      Src: /src/espeak-ng/src/espeak-ng.c:486,1
    - Dst: DisplayVoices
      Src: /src/espeak-ng/src/espeak-ng.c:487,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:488,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:493,1
    - Dst: fopen
      Src: /src/espeak-ng/src/espeak-ng.c:499,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:500,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:509,1
    - Dst: PrintVersion
      Src: /src/espeak-ng/src/espeak-ng.c:527,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:528,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/espeak-ng.c:534,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/espeak-ng.c:543,1
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/src/espeak-ng.c:550,1
    - Dst: espeak_ng_CompileMbrolaVoice
      Src: /src/espeak-ng/src/espeak-ng.c:552,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:554,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/espeak-ng.c:555,1
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/src/espeak-ng.c:563,1
    - Dst: espeak_ng_CompileIntonation
      Src: /src/espeak-ng/src/espeak-ng.c:565,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:567,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/espeak-ng.c:568,1
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/src/espeak-ng.c:575,1
    - Dst: espeak_ng_CompilePhonemeDataPath
      Src: /src/espeak-ng/src/espeak-ng.c:579,1
    - Dst: espeak_ng_CompilePhonemeData
      Src: /src/espeak-ng/src/espeak-ng.c:581,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:584,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/espeak-ng.c:585,1
    - Dst: atoi
      Src: /src/espeak-ng/src/espeak-ng.c:594,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:597,1
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/src/espeak-ng.c:601,1
    - Dst: espeak_ng_Initialize
      Src: /src/espeak-ng/src/espeak-ng.c:603,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:605,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/espeak-ng.c:606,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:607,1
    - Dst: espeak_ng_SetRandSeed
      Src: /src/espeak-ng/src/espeak-ng.c:612,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/espeak-ng.c:617,1
    - Dst: espeak_ng_GetSampleRate
      Src: /src/espeak-ng/src/espeak-ng.c:618,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/src/espeak-ng.c:621,1
    - Dst: strrchr
      Src: /src/espeak-ng/src/espeak-ng.c:624,1
    - Dst: strlen
      Src: /src/espeak-ng/src/espeak-ng.c:625,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/espeak-ng.c:626,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/espeak-ng.c:632,1
    - Dst: espeak_ng_GetSampleRate
      Src: /src/espeak-ng/src/espeak-ng.c:633,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:637,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:638,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/espeak-ng.c:642,1
    - Dst: espeak_ng_SetVoiceByFile
      Src: /src/espeak-ng/src/espeak-ng.c:645,1
    - Dst: espeak_ng_SetVoiceByName
      Src: /src/espeak-ng/src/espeak-ng.c:647,1
    - Dst: memset
      Src: /src/espeak-ng/src/espeak-ng.c:649,1
    - Dst: espeak_ng_SetVoiceByProperties
      Src: /src/espeak-ng/src/espeak-ng.c:651,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:653,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:654,1
    - Dst: espeak_ng_CompileDictionary
      Src: /src/espeak-ng/src/espeak-ng.c:661,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:663,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/espeak-ng.c:664,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:672,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:674,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:676,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:678,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:680,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:682,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:684,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:686,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/espeak-ng.c:688,1
    - Dst: espeak_SetPunctuationList
      Src: /src/espeak-ng/src/espeak-ng.c:690,1
    - Dst: espeak_SetPhonemeTrace
      Src: /src/espeak-ng/src/espeak-ng.c:692,1
    - Dst: stat
      Src: /src/espeak-ng/src/espeak-ng.c:706,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:707,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:708,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/espeak-ng.c:710,1
    - Dst: fopen
      Src: /src/espeak-ng/src/espeak-ng.c:711,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/espeak-ng.c:713,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:714,1
    - Dst: S_ISFIFO
      Src: /src/espeak-ng/src/espeak-ng.c:716,1
    - Dst: strlen
      Src: /src/espeak-ng/src/espeak-ng.c:723,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/src/espeak-ng.c:724,1
    - Dst: malloc
      Src: /src/espeak-ng/src/espeak-ng.c:727,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:728,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:729,1
    - Dst: fgets
      Src: /src/espeak-ng/src/espeak-ng.c:734,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/src/espeak-ng.c:736,1
    - Dst: fflush
      Src: /src/espeak-ng/src/espeak-ng.c:738,1
    - Dst: fclose
      Src: /src/espeak-ng/src/espeak-ng.c:741,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/espeak-ng.c:747,1
    - Dst: realloc
      Src: /src/espeak-ng/src/espeak-ng.c:754,1
    - Dst: free
      Src: /src/espeak-ng/src/espeak-ng.c:757,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:758,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:759,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/src/espeak-ng.c:766,1
    - Dst: free
      Src: /src/espeak-ng/src/espeak-ng.c:770,1
    - Dst: malloc
      Src: /src/espeak-ng/src/espeak-ng.c:772,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:773,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:774,1
    - Dst: fread
      Src: /src/espeak-ng/src/espeak-ng.c:777,1
    - Dst: espeak_Synth
      Src: /src/espeak-ng/src/espeak-ng.c:779,1
    - Dst: fclose
      Src: /src/espeak-ng/src/espeak-ng.c:780,1
    - Dst: free
      Src: /src/espeak-ng/src/espeak-ng.c:782,1
    - Dst: espeak_ng_Synchronize
      Src: /src/espeak-ng/src/espeak-ng.c:785,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/espeak-ng.c:787,1
    - Dst: exit
      Src: /src/espeak-ng/src/espeak-ng.c:788,1
    - Dst: fclose
      Src: /src/espeak-ng/src/espeak-ng.c:792,1
    - Dst: CloseWavFile
      Src: /src/espeak-ng/src/espeak-ng.c:794,1
    - Dst: espeak_ng_Terminate
      Src: /src/espeak-ng/src/espeak-ng.c:795,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 360
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 797
    functionName: main
    functionSourceFile: /src/espeak-ng/src/espeak-ng.c
    functionUses: 0
    functionsReached:
    - getopt_long
    - espeak_ng_CompilePhonemeData
    - strncpy0
    - fgets
    - memset
    - espeak_ng_CompileMbrolaVoice
    - fgetc
    - exit
    - espeak_SetSynthCallback
    - espeak_SetParameter
    - espeak_Synth
    - fprintf
    - espeak_ng_PrintStatusCodeMessage
    - realloc
    - espeak_ng_Terminate
    - fflush
    - espeak_ng_SetVoiceByFile
    - espeak_ng_SetRandSeed
    - strrchr
    - CloseWavFile
    - printf
    - espeak_ng_CompileDictionary
    - espeak_SetPhonemeTrace
    - S_ISFIFO
    - espeak_ng_SetVoiceByProperties
    - fopen
    - espeak_ng_Initialize
    - espeak_ng_ClearErrorContext
    - espeak_ng_CompilePhonemeDataPath
    - sscanf
    - DisplayVoices
    - espeak_ng_SetVoiceByName
    - PrintVersion
    - espeak_Initialize
    - espeak_ng_InitializePath
    - espeak_ng_CompileIntonation
    - espeak_SetPunctuationList
    - GetFileLength
    - fclose
    - atoi
    - espeak_ng_GetSampleRate
    - fread
    - stat
    - utf8_in
    - espeak_ng_InitializeOutput
    - strlen
    - free
    - espeak_ng_Synchronize
    - strcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: _DIAGASSERT
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DIAGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: __UNCONST
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __UNCONST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: gcd
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcd(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:127,1
    - Dst: gcd
      Src: /src/espeak-ng/src/compat/getopt.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - panonopt_start
    - panonopt_end
    - opt_end
    - nargv
    argTypes:
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: permute_args
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 0
    functionsReached:
    - _DIAGASSERT
    - gcd
    linkageType: ''
    returnType: void
    signature: void permute_args(int panonopt_start, int panonopt_end, int opt_end,
      char **nargv)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:163,1
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:164,1
    - Dst: permute_args
      Src: /src/espeak-ng/src/compat/getopt.c:185,1
    - Dst: permute_args
      Src: /src/espeak-ng/src/compat/getopt.c:221,1
    - Dst: strchr
      Src: /src/espeak-ng/src/compat/getopt.c:239,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:244,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:256,1
    - Dst: __UNCONST
      Src: /src/espeak-ng/src/compat/getopt.c:273,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:279,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 3
    argNames:
    - nargc
    - nargv
    - options
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 290
    functionName: getopt_internal
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 0
    functionsReached:
    - permute_args
    - strchr
    - _DIAGASSERT
    - __UNCONST
    - fprintf
    linkageType: ''
    returnType: int
    signature: int getopt_internal(int nargc, char **nargv, const char *options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:304,1
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:305,1
    - Dst: getopt_internal
      Src: /src/espeak-ng/src/compat/getopt.c:307,1
    - Dst: __UNCONST
      Src: /src/espeak-ng/src/compat/getopt.c:307,1
    - Dst: permute_args
      Src: /src/espeak-ng/src/compat/getopt.c:315,1
    - Dst: __UNCONST
      Src: /src/espeak-ng/src/compat/getopt.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - nargc
    - nargv
    - options
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 323
    functionName: getopt
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 0
    functionsReached:
    - _DIAGASSERT
    - permute_args
    - __UNCONST
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: int getopt(int nargc, char * const *nargv, const char *options)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:341,1
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:342,1
    - Dst: _DIAGASSERT
      Src: /src/espeak-ng/src/compat/getopt.c:343,1
    - Dst: getopt_internal
      Src: /src/espeak-ng/src/compat/getopt.c:346,1
    - Dst: __UNCONST
      Src: /src/espeak-ng/src/compat/getopt.c:346,1
    - Dst: __UNCONST
      Src: /src/espeak-ng/src/compat/getopt.c:352,1
    - Dst: permute_args
      Src: /src/espeak-ng/src/compat/getopt.c:365,1
    - Dst: __UNCONST
      Src: /src/espeak-ng/src/compat/getopt.c:366,1
    - Dst: strchr
      Src: /src/espeak-ng/src/compat/getopt.c:372,1
    - Dst: strlen
      Src: /src/espeak-ng/src/compat/getopt.c:377,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/compat/getopt.c:381,1
    - Dst: strlen
      Src: /src/espeak-ng/src/compat/getopt.c:385,1
    - Dst: IDENTICAL_INTERPRETATION
      Src: /src/espeak-ng/src/compat/getopt.c:394,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:400,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:409,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:441,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/compat/getopt.c:455,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 469
    functionName: getopt_long
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 1
    functionsReached:
    - permute_args
    - getopt_internal
    - strlen
    - IDENTICAL_INTERPRETATION
    - strchr
    - _DIAGASSERT
    - __UNCONST
    - fprintf
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int getopt_long(int nargc, char * const *nargv, const char *options,\n
      \   const struct option *long_options, int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _x
    - ','
    - _y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: IDENTICAL_INTERPRETATION
    functionSourceFile: /src/espeak-ng/src/compat/getopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDENTICAL_INTERPRETATION(_x, _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - errnum
    - ','
    - buf
    - ','
    - buflen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: strerror_r
    functionSourceFile: /src/espeak-ng/src/include/compat/string.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror_r(errnum, buf, buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: be16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: le16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: be32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: le32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: be64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: le64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: htobe16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: htole16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: be16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: le16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: htobe32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: htole32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: be32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: le32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: htobe64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: htole64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: be64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: le64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: htobe16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: htole16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: be16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: le16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: htobe32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: htole32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: be32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: le32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: htobe64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: htole64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: be64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: le64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: htobe16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: htole16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: be16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: le16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: htobe32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: htole32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: be32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: le32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: htobe64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: htole64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: be64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: le64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: htobe16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: htole16
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: be16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: le16toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: htobe32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: htole32
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: be32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: le32toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: htobe64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: htole64
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: be64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: le64toh
    functionSourceFile: /src/espeak-ng/src/include/compat/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: S_ISDIR
    functionSourceFile: /src/espeak-ng/src/include/compat/sys/stat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: S_ISFIFO
    functionSourceFile: /src/espeak-ng/src/include/compat/sys/stat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISFIFO(mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:28,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:31,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:32,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:36,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:37,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:38,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:42,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:43,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:44,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - out
    - c
    argTypes:
    - FILE*
    - ucd::codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: fput_utf8c
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void fput_utf8c(FILE *out, ucd::codepoint_t c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:52,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:59,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:64,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:66,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:71,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:73,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - in
    - c
    argTypes:
    - FILE*
    - ucd::codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: fget_utf8c
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: bool
    signature: bool fget_utf8c(FILE *in, ucd::codepoint_t &c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:89,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:90,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:91,1
    - Dst: fput_utf8c
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:92,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:96,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - out
    - c
    - mode
    argTypes:
    - FILE*
    - ucd::codepoint_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: uprintf_codepoint
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - fputs
    - fput_utf8c
    - fprintf
    linkageType: ''
    returnType: void
    signature: void uprintf_codepoint(FILE *out, ucd::codepoint_t c, char mode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:109,1
    - Dst: ucd::isalnum
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:109,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:112,1
    - Dst: ucd::isalpha
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:112,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:115,1
    - Dst: ucd::isblank
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:115,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:118,1
    - Dst: ucd::iscntrl
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:118,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:121,1
    - Dst: ucd::isdigit
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:121,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:124,1
    - Dst: ucd::isgraph
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:124,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:127,1
    - Dst: ucd::islower
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:127,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:130,1
    - Dst: ucd::isprint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:130,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:133,1
    - Dst: ucd::ispunct
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:133,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:136,1
    - Dst: ucd::isspace
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:136,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:139,1
    - Dst: ucd::isupper
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:139,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:142,1
    - Dst: ucd::isxdigit
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - out
    - c
    - mode
    argTypes:
    - FILE*
    - ucd::codepoint_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 145
    functionName: uprintf_is
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - ucd::isupper
    - ucd::isspace
    - ucd::isprint
    - ucd::isdigit
    - ucd::isalnum
    - ucd::isgraph
    - ucd::ispunct
    - ucd::isxdigit
    - ucd::islower
    - ucd::isblank
    - ucd::isalpha
    - fputc
    - ucd::iscntrl
    linkageType: ''
    returnType: void
    signature: void uprintf_is(FILE *out, ucd::codepoint_t c, char mode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:155,1
    - Dst: ucd::get_category_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:155,1
    - Dst: ucd::lookup_category
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:155,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:158,1
    - Dst: ucd::get_category_group_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:158,1
    - Dst: ucd::lookup_category_group
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:158,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:161,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:164,1
    - Dst: ucd::properties
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:164,1
    - Dst: ucd::lookup_category
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:164,1
    - Dst: uprintf_is
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:167,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:170,1
    - Dst: ucd::tolower
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:170,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:173,1
    - Dst: ucd::get_script_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:173,1
    - Dst: ucd::lookup_script
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:173,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:176,1
    - Dst: ucd::totitle
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:176,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:179,1
    - Dst: ucd::toupper
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:179,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:189,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:193,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:197,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:201,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:207,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - out
    - c
    - format
    argTypes:
    - FILE*
    - ucd::codepoint_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 211
    functionName: uprintf
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - ucd::lookup_category_group
    - fputs
    - ucd::lookup_script
    - uprintf_is
    - ucd::tolower
    - ucd::get_script_string
    - ucd::get_category_string
    - ucd::lookup_category
    - ucd::properties
    - fputc
    - ucd::totitle
    - ucd::get_category_group_string
    - ucd::toupper
    - uprintf_codepoint
    - fprintf
    linkageType: ''
    returnType: void
    signature: void uprintf(FILE *out, ucd::codepoint_t c, const char *format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fget_utf8c
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:216,1
    - Dst: uprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - in
    - format
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: print_file
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - uprintf
    - fget_utf8c
    linkageType: ''
    returnType: void
    signature: void print_file(FILE *in, const char *format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:227,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:227,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:229,1
    - Dst: fopen
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:233,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:235,1
    - Dst: print_file
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:240,1
    - Dst: print_file
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:243,1
    - Dst: fclose
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:244,1
    - Dst: uprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
    functionUses: 0
    functionsReached:
    - fopen
    - uprintf
    - fclose
    - print_file
    - fprintf
    - strcmp
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:28,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:31,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:32,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:36,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:37,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:38,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:42,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:43,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:44,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - out
    - c
    argTypes:
    - FILE*
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: fput_utf8c
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 1
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void fput_utf8c(FILE *out, codepoint_t c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:52,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:59,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:64,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:66,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:71,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:73,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - in
    - c
    argTypes:
    - FILE*
    - codepoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: fget_utf8c
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 1
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int fget_utf8c(FILE *in, codepoint_t *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:89,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:90,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:91,1
    - Dst: fput_utf8c
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:92,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:96,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - out
    - c
    - mode
    argTypes:
    - FILE*
    - codepoint_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: uprintf_codepoint
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 1
    functionsReached:
    - fputs
    - fput_utf8c
    - fprintf
    linkageType: ''
    returnType: void
    signature: void uprintf_codepoint(FILE *out, codepoint_t c, char mode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:109,1
    - Dst: ucd_isalnum
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:109,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:112,1
    - Dst: ucd_isalpha
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:112,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:115,1
    - Dst: ucd_isblank
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:115,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:118,1
    - Dst: ucd_iscntrl
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:118,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:121,1
    - Dst: ucd_isdigit
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:121,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:124,1
    - Dst: ucd_isgraph
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:124,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:127,1
    - Dst: ucd_islower
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:127,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:130,1
    - Dst: ucd_isprint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:130,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:133,1
    - Dst: ucd_ispunct
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:133,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:136,1
    - Dst: ucd_isspace
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:136,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:139,1
    - Dst: ucd_isupper
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:139,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:142,1
    - Dst: ucd_isxdigit
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - out
    - c
    - mode
    argTypes:
    - FILE*
    - codepoint_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 145
    functionName: uprintf_is
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 1
    functionsReached:
    - ucd_isupper
    - ucd_isblank
    - ucd_isalnum
    - ucd_iscntrl
    - ucd_isalpha
    - ucd_isspace
    - ucd_islower
    - ucd_ispunct
    - ucd_isgraph
    - ucd_isxdigit
    - fputc
    - ucd_isdigit
    - ucd_isprint
    linkageType: ''
    returnType: void
    signature: void uprintf_is(FILE *out, codepoint_t c, char mode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:155,1
    - Dst: ucd_get_category_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:155,1
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:155,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:158,1
    - Dst: ucd_get_category_group_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:158,1
    - Dst: ucd_lookup_category_group
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:158,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:161,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:164,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:164,1
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:164,1
    - Dst: uprintf_is
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:167,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:170,1
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:170,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:173,1
    - Dst: ucd_get_script_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:173,1
    - Dst: ucd_lookup_script
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:173,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:176,1
    - Dst: ucd_totitle
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:176,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:179,1
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:179,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:189,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:193,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:197,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:201,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:207,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - out
    - c
    - format
    argTypes:
    - FILE*
    - codepoint_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 211
    functionName: uprintf
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 2
    functionsReached:
    - fputs
    - uprintf_is
    - ucd_lookup_category_group
    - ucd_get_script_string
    - ucd_get_category_group_string
    - ucd_toupper
    - fputc
    - ucd_lookup_script
    - ucd_lookup_category
    - ucd_totitle
    - ucd_tolower
    - uprintf_codepoint
    - fprintf
    - ucd_get_category_string
    - ucd_properties
    linkageType: ''
    returnType: void
    signature: void uprintf(FILE *out, codepoint_t c, const char *format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fget_utf8c
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:216,1
    - Dst: uprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - in
    - format
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: print_file
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 1
    functionsReached:
    - uprintf
    - fget_utf8c
    linkageType: ''
    returnType: void
    signature: void print_file(FILE *in, const char *format)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:228,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:228,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:230,1
    - Dst: fopen
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:234,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:236,1
    - Dst: print_file
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:241,1
    - Dst: print_file
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:244,1
    - Dst: fclose
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:245,1
    - Dst: uprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printucddata.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 255
    functionName: main
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
    functionUses: 0
    functionsReached:
    - fopen
    - uprintf
    - fclose
    - print_file
    - fprintf
    - strcmp
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswspace
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - wint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: iswblank
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 0
    functionsReached:
    - iswspace
    linkageType: ''
    returnType: int
    signature: int iswblank(wint_t c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:39,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:42,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:43,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:47,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:48,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:49,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:53,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:54,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:55,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - out
    - c
    argTypes:
    - FILE*
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: fput_utf8c
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 2
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void fput_utf8c(FILE *out, codepoint_t c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:63,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:70,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:75,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:77,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:82,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:84,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - in
    - c
    argTypes:
    - FILE*
    - codepoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: fget_utf8c
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 2
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int fget_utf8c(FILE *in, codepoint_t *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:100,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:101,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:102,1
    - Dst: fput_utf8c
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:103,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:107,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - out
    - c
    - mode
    argTypes:
    - FILE*
    - codepoint_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: uprintf_codepoint
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 2
    functionsReached:
    - fputs
    - fput_utf8c
    - fprintf
    linkageType: ''
    returnType: void
    signature: void uprintf_codepoint(FILE *out, codepoint_t c, char mode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:120,1
    - Dst: iswalnum
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:120,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:123,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:123,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:126,1
    - Dst: iswblank
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:126,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:129,1
    - Dst: iswcntrl
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:129,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:132,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:132,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:135,1
    - Dst: iswgraph
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:135,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:138,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:138,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:141,1
    - Dst: iswprint
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:141,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:144,1
    - Dst: iswpunct
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:144,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:147,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:147,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:150,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:150,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:153,1
    - Dst: iswxdigit
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - out
    - c
    - mode
    argTypes:
    - FILE*
    - codepoint_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 156
    functionName: uprintf_is
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 2
    functionsReached:
    - iswpunct
    - iswcntrl
    - iswupper
    - iswgraph
    - iswprint
    - iswxdigit
    - iswlower
    - iswalnum
    - iswspace
    - iswalpha
    - fputc
    - iswdigit
    - iswblank
    linkageType: ''
    returnType: void
    signature: void uprintf_is(FILE *out, codepoint_t c, char mode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:166,1
    - Dst: ucd_get_category_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:166,1
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:166,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:169,1
    - Dst: ucd_get_category_group_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:169,1
    - Dst: ucd_lookup_category_group
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:169,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:172,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:175,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:175,1
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:175,1
    - Dst: uprintf_is
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:178,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:181,1
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:181,1
    - Dst: fputs
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:184,1
    - Dst: ucd_get_script_string
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:184,1
    - Dst: ucd_lookup_script
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:184,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:187,1
    - Dst: ucd_totitle
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:187,1
    - Dst: uprintf_codepoint
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:190,1
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:190,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:200,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:204,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:208,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:212,1
    - Dst: fputc
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:218,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - out
    - c
    - format
    argTypes:
    - FILE*
    - codepoint_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 222
    functionName: uprintf
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 4
    functionsReached:
    - fputs
    - uprintf_is
    - ucd_lookup_category_group
    - ucd_get_script_string
    - ucd_get_category_group_string
    - ucd_toupper
    - fputc
    - ucd_lookup_script
    - ucd_lookup_category
    - ucd_totitle
    - ucd_tolower
    - uprintf_codepoint
    - fprintf
    - ucd_get_category_string
    - ucd_properties
    linkageType: ''
    returnType: void
    signature: void uprintf(FILE *out, codepoint_t c, const char *format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fget_utf8c
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:227,1
    - Dst: uprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - in
    - format
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: print_file
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 2
    functionsReached:
    - uprintf
    - fget_utf8c
    linkageType: ''
    returnType: void
    signature: void print_file(FILE *in, const char *format)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:239,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:239,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:241,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:243,1
    - Dst: setlocale
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:244,1
    - Dst: fopen
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:247,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:249,1
    - Dst: print_file
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:254,1
    - Dst: print_file
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:257,1
    - Dst: fclose
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:258,1
    - Dst: uprintf
      Src: /src/espeak-ng/src/ucd-tools/tests/printcdata.c:264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
    functionUses: 0
    functionsReached:
    - fopen
    - uprintf
    - fclose
    - setlocale
    - print_file
    - fprintf
    - strcmp
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - ucd_category_group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: ucd_get_category_group_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/tostring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ucd_get_category_group_string(ucd_category_group c)
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 1
    argNames:
    - c
    argTypes:
    - ucd_category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: ucd_get_category_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/tostring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ucd_get_category_string(ucd_category c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - ucd_script
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 270
    functionName: ucd_get_script_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/tostring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ucd_get_script_string(ucd_script s)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3840
    functionDepth: 0
    functionLinenumber: 3840
    functionLinenumberEnd: 3861
    functionName: ucd_lookup_script
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/scripts.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ucd_script
    signature: ucd_script ucd_lookup_script(codepoint_t c)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3634
    functionName: ucd_lookup_category
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/categories.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ucd_category
    signature: ucd_category ucd_lookup_category(codepoint_t c)
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - c
    argTypes:
    - ucd_category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3636
    functionDepth: 0
    functionLinenumber: 3636
    functionLinenumberEnd: 3658
    functionName: ucd_get_category_group_for_category
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/categories.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_category_group
    signature: ucd_category_group ucd_get_category_group_for_category(ucd_category
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_group_for_category
      Src: /src/espeak-ng/src/ucd-tools/src/categories.c:3662,1
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/categories.c:3662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3663
      start: 3660
    functionDepth: 1
    functionLinenumber: 3660
    functionLinenumberEnd: 3663
    functionName: ucd_lookup_category_group
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/categories.c
    functionUses: 2
    functionsReached:
    - ucd_get_category_group_for_category
    - ucd_lookup_category
    linkageType: ''
    returnType: ucd_category_group
    signature: ucd_category_group ucd_lookup_category_group(codepoint_t c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:25,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 44
    functionName: ucd_isalnum
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    - ucd_properties
    linkageType: ''
    returnType: int
    signature: int ucd_isalnum(codepoint_t c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:48,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: ucd_isalpha
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    - ucd_properties
    linkageType: ''
    returnType: int
    signature: int ucd_isalpha(codepoint_t c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: ucd_isblank
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: int
    signature: int ucd_isblank(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ucd_iscntrl
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: int
    signature: int ucd_iscntrl(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ucd_isdigit
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ucd_isdigit(codepoint_t c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: ucd_isgraph
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: int
    signature: int ucd_isgraph(codepoint_t c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:118,1
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:124,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: ucd_islower
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    - ucd_toupper
    - ucd_properties
    linkageType: ''
    returnType: int
    signature: int ucd_islower(codepoint_t c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: ucd_isprint
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: int
    signature: int ucd_isprint(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isgraph
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:154,1
    - Dst: ucd_isalnum
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: ucd_ispunct
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_isalnum
    - ucd_isgraph
    linkageType: ''
    returnType: int
    signature: int ucd_ispunct(codepoint_t c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: ucd_isspace
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: int
    signature: int ucd_isspace(codepoint_t c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:191,1
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:197,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/src/ctype.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: ucd_isupper
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached:
    - ucd_properties
    - ucd_lookup_category
    - ucd_tolower
    linkageType: ''
    returnType: int
    signature: int ucd_isupper(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: ucd_isxdigit
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/ctype.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ucd_isxdigit(codepoint_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2838
    functionName: ucd_toupper
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/case.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t ucd_toupper(codepoint_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2856
    functionName: ucd_tolower
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/case.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t ucd_tolower(codepoint_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2858
    functionDepth: 0
    functionLinenumber: 2858
    functionLinenumberEnd: 2874
    functionName: ucd_totitle
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/case.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t ucd_totitle(codepoint_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: properties_Cc
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Cc(codepoint_t c)
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 64
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: properties_Cf
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Cf(codepoint_t c)
  - BBCount: 57
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 88
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 147
    functionName: properties_Cn
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Cn(codepoint_t c)
  - BBCount: 73
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 148
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 240
    functionName: properties_Ll
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Ll(codepoint_t c)
  - BBCount: 84
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 170
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 355
    functionName: properties_Lm
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Lm(codepoint_t c)
  - BBCount: 47
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 96
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 425
    functionName: properties_Lo
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Lo(codepoint_t c)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 36
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 452
    functionName: properties_Lo_ideographic
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Lo_ideographic(codepoint_t c)
  - BBCount: 50
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 102
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 517
    functionName: properties_Lu
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Lu(codepoint_t c)
  - BBCount: 79
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 160
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 622
    functionName: properties_Mc
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Mc(codepoint_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: properties_Me
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Me(codepoint_t c)
  - BBCount: 407
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 619
    EdgeCount: 619
    ICount: 816
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 1102
    functionName: properties_Mn
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Mn(codepoint_t c)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1119
    functionName: properties_Nd
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Nd(codepoint_t c)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1136
    functionName: properties_Nl
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Nl(codepoint_t c)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1157
    functionName: properties_No
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_No(codepoint_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1168
    functionName: properties_Pc
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Pc(codepoint_t c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1203
    functionName: properties_Pd
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Pd(codepoint_t c)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1246
    functionName: properties_Pe
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Pe(codepoint_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1259
    functionName: properties_Pf
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Pf(codepoint_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1272
    functionName: properties_Pi
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Pi(codepoint_t c)
  - BBCount: 275
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 333
    EdgeCount: 333
    ICount: 552
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1608
    functionName: properties_Po
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Po(codepoint_t c)
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1654
    functionName: properties_Ps
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Ps(codepoint_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1664
    functionName: properties_Sc
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Sc(codepoint_t c)
  - BBCount: 35
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 72
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1715
    functionName: properties_Sk
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Sk(codepoint_t c)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1757
    functionName: properties_Sm
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Sm(codepoint_t c)
  - BBCount: 74
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 150
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1854
    functionName: properties_So_002600
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_So_002600(codepoint_t c)
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 88
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1914
    functionName: properties_So_002700
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_So_002700(codepoint_t c)
  - BBCount: 206
    BranchProfiles: []
    Callsites:
    - Dst: properties_So_002600
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:1987,1
    - Dst: properties_So_002700
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:1989,1
    CyclomaticComplexity: 290
    EdgeCount: 290
    ICount: 414
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 2150
    functionName: properties_So
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached:
    - properties_So_002600
    - properties_So_002700
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_So(codepoint_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2156
    functionName: properties_Zs
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property properties_Zs(codepoint_t c)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: properties_Cc
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2162,1
    - Dst: properties_Cf
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2163,1
    - Dst: properties_Cn
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2164,1
    - Dst: properties_Ll
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2165,1
    - Dst: properties_Lm
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2166,1
    - Dst: properties_Lo
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2167,1
    - Dst: properties_Lo_ideographic
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2167,1
    - Dst: properties_Lu
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2168,1
    - Dst: properties_Mc
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2169,1
    - Dst: properties_Me
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2170,1
    - Dst: properties_Mn
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2171,1
    - Dst: properties_Nd
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2172,1
    - Dst: properties_Nl
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2173,1
    - Dst: properties_No
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2174,1
    - Dst: properties_Pc
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2175,1
    - Dst: properties_Pd
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2176,1
    - Dst: properties_Pe
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2177,1
    - Dst: properties_Pf
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2178,1
    - Dst: properties_Pi
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2179,1
    - Dst: properties_Po
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2180,1
    - Dst: properties_Ps
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2181,1
    - Dst: properties_Sc
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2182,1
    - Dst: properties_Sk
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2183,1
    - Dst: properties_Sm
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2184,1
    - Dst: properties_So
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2185,1
    - Dst: properties_Zs
      Src: /src/espeak-ng/src/ucd-tools/src/proplist.c:2188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 2
    argNames:
    - c
    - category
    argTypes:
    - codepoint_t
    - ucd_category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2158
    functionDepth: 2
    functionLinenumber: 2158
    functionLinenumberEnd: 2191
    functionName: ucd_properties
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/proplist.c
    functionUses: 6
    functionsReached:
    - properties_Cn
    - properties_Po
    - properties_Mn
    - properties_Ps
    - properties_Pi
    - properties_Pf
    - properties_Sm
    - properties_Lo
    - properties_Pc
    - properties_So
    - properties_Mc
    - properties_Lm
    - properties_Lo_ideographic
    - properties_Lu
    - properties_Pd
    - properties_Pe
    - properties_Nd
    - properties_Ll
    - properties_Cc
    - properties_Me
    - properties_Nl
    - properties_Sk
    - properties_Sc
    - properties_Zs
    - properties_Cf
    - properties_No
    linkageType: ''
    returnType: ucd_property
    signature: ucd_property ucd_properties(codepoint_t c, ucd_category category)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_group_string
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - category_group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: ucd::get_category_group_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_category_group_string
    linkageType: ''
    returnType: char
    signature: char *get_category_group_string(category_group c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_string
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: ucd::get_category_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_category_string
    linkageType: ''
    returnType: char
    signature: char *get_category_string(category c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_group_for_category
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: ucd::lookup_category_group
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_category_group_for_category
    linkageType: ''
    returnType: category_group
    signature: category_group lookup_category_group(category c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category_group
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: ucd::lookup_category_group
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_lookup_category_group
    linkageType: ''
    returnType: category_group
    signature: category_group lookup_category_group(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: ucd::lookup_category
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: category
    signature: category lookup_category(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_script_string
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - script
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: ucd::get_script_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_script_string
    linkageType: ''
    returnType: char
    signature: char *get_script_string(script s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_script
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: ucd::lookup_script
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_lookup_script
    linkageType: ''
    returnType: script
    signature: script lookup_script(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - cat
    argTypes:
    - codepoint_t
    - category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: ucd::properties
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_properties
    linkageType: ''
    returnType: property
    signature: property properties(codepoint_t c, category cat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isalnum
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: ucd::isalnum
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isalnum
    linkageType: ''
    returnType: int
    signature: int isalnum(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isalpha
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: ucd::isalpha
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isalpha
    linkageType: ''
    returnType: int
    signature: int isalpha(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isblank
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: ucd::isblank
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isblank
    linkageType: ''
    returnType: int
    signature: int isblank(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_iscntrl
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: ucd::iscntrl
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_iscntrl
    linkageType: ''
    returnType: int
    signature: int iscntrl(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isdigit
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: ucd::isdigit
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isdigit
    linkageType: ''
    returnType: int
    signature: int isdigit(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isgraph
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: ucd::isgraph
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isgraph
    linkageType: ''
    returnType: int
    signature: int isgraph(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_islower
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: ucd::islower
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_islower
    linkageType: ''
    returnType: int
    signature: int islower(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isprint
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: ucd::isprint
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isprint
    linkageType: ''
    returnType: int
    signature: int isprint(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_ispunct
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: ucd::ispunct
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_ispunct
    linkageType: ''
    returnType: int
    signature: int ispunct(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isspace
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1016
    functionName: ucd::isspace
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isspace
    linkageType: ''
    returnType: int
    signature: int isspace(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isupper
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: ucd::isupper
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isupper
    linkageType: ''
    returnType: int
    signature: int isupper(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isxdigit
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: ucd::isxdigit
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isxdigit
    linkageType: ''
    returnType: int
    signature: int isxdigit(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: ucd::toupper
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_toupper
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t toupper(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: ucd::tolower
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_tolower
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t tolower(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_totitle
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: ucd::totitle
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_totitle
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t totitle(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_group_string
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - category_group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: ucd::get_category_group_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_category_group_string
    linkageType: ''
    returnType: char
    signature: char *get_category_group_string(category_group c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_string
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: ucd::get_category_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_category_string
    linkageType: ''
    returnType: char
    signature: char *get_category_string(category c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_category_group_for_category
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: ucd::lookup_category_group
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_category_group_for_category
    linkageType: ''
    returnType: category_group
    signature: category_group lookup_category_group(category c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category_group
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: ucd::lookup_category_group
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_lookup_category_group
    linkageType: ''
    returnType: category_group
    signature: category_group lookup_category_group(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: ucd::lookup_category
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_lookup_category
    linkageType: ''
    returnType: category
    signature: category lookup_category(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_get_script_string
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - script
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: ucd::get_script_string
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_get_script_string
    linkageType: ''
    returnType: char
    signature: char *get_script_string(script s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_script
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: ucd::lookup_script
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_lookup_script
    linkageType: ''
    returnType: script
    signature: script lookup_script(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - cat
    argTypes:
    - codepoint_t
    - category
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: ucd::properties
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_properties
    linkageType: ''
    returnType: property
    signature: property properties(codepoint_t c, category cat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isalnum
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: ucd::isalnum
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isalnum
    linkageType: ''
    returnType: int
    signature: int isalnum(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isalpha
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: ucd::isalpha
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isalpha
    linkageType: ''
    returnType: int
    signature: int isalpha(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isblank
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: ucd::isblank
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isblank
    linkageType: ''
    returnType: int
    signature: int isblank(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_iscntrl
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: ucd::iscntrl
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_iscntrl
    linkageType: ''
    returnType: int
    signature: int iscntrl(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isdigit
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: ucd::isdigit
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isdigit
    linkageType: ''
    returnType: int
    signature: int isdigit(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isgraph
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: ucd::isgraph
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isgraph
    linkageType: ''
    returnType: int
    signature: int isgraph(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_islower
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: ucd::islower
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_islower
    linkageType: ''
    returnType: int
    signature: int islower(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isprint
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: ucd::isprint
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isprint
    linkageType: ''
    returnType: int
    signature: int isprint(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_ispunct
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: ucd::ispunct
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_ispunct
    linkageType: ''
    returnType: int
    signature: int ispunct(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isspace
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1016
    functionName: ucd::isspace
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isspace
    linkageType: ''
    returnType: int
    signature: int isspace(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isupper
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: ucd::isupper
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isupper
    linkageType: ''
    returnType: int
    signature: int isupper(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_isxdigit
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: ucd::isxdigit
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_isxdigit
    linkageType: ''
    returnType: int
    signature: int isxdigit(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: ucd::toupper
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_toupper
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t toupper(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: ucd::tolower
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_tolower
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t tolower(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucd_totitle
      Src: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - codepoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: ucd::totitle
    functionSourceFile: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    functionUses: 1
    functionsReached:
    - ucd_totitle
    linkageType: ''
    returnType: codepoint_t
    signature: codepoint_t totitle(codepoint_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: MAX
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MAX(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: MIN
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MIN(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: ISNAN
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ISNAN (double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISNAN
      Src: /src/espeak-ng/src/speechPlayer/src/utils.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - oldVal
    - newVal
    - curFadeRatio
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: calculateValueAtFadePosition
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/utils.h
    functionUses: 0
    functionsReached:
    - ISNAN
    linkageType: ''
    returnType: double
    signature: double calculateValueAtFadePosition(double oldVal, double newVal, double
      curFadeRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~SpeechWaveGenerator()
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SpeechWaveGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: NoiseGenerator::NoiseGenerator
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoiseGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: NoiseGenerator::getNext
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: double getNext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: FrequencyGenerator::FrequencyGenerator
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrequencyGenerator(int sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frequency
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: FrequencyGenerator::getNext
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - fmod
    linkageType: ''
    returnType: double
    signature: double getNext(double frequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: VoiceGenerator::VoiceGenerator
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoiceGenerator(int sr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:73,1
    - Dst: VoiceGenerator::getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:73,1
    - Dst: VoiceGenerator::getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:74,1
    - Dst: VoiceGenerator::getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - frame
    argTypes:
    - speechPlayer_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: VoiceGenerator::getNext
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 1
    functionsReached:
    - sin
    - VoiceGenerator::getNext
    linkageType: ''
    returnType: double
    signature: double getNext(const speechPlayer_frame_t* frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sampleRate
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: Resonator::Resonator
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Resonator(int sampleRate, bool anti=false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:116,1
    - Dst: cos
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - frequency
    - bandwidth
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: Resonator::setParams
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - cos
    - exp
    linkageType: ''
    returnType: void
    signature: void setParams(double frequency, double bandwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Resonator::setParams
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - in
    - frequency
    - bandwidth
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: Resonator::resonate
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - Resonator::setParams
    linkageType: ''
    returnType: double
    signature: double resonate(double in, double frequency, double bandwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: CascadeFormantGenerator::CascadeFormantGenerator
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CascadeFormantGenerator(int sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:149,1
    - Dst: calculateValueAtFadePosition
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:150,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:150,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:151,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:152,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:153,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:154,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:155,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - frame
    - glottisOpen
    - input
    argTypes:
    - speechPlayer_frame_t*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: CascadeFormantGenerator::getNext
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - resonate
    - calculateValueAtFadePosition
    linkageType: ''
    returnType: double
    signature: double getNext(const speechPlayer_frame_t* frame, bool glottisOpen,
      double input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ParallelFormantGenerator::ParallelFormantGenerator
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParallelFormantGenerator(int sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:173,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:174,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:175,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:176,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:177,1
    - Dst: resonate
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:178,1
    - Dst: calculateValueAtFadePosition
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - frame
    - input
    argTypes:
    - speechPlayer_frame_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: ParallelFormantGenerator::getNext
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - resonate
    - calculateValueAtFadePosition
    linkageType: ''
    returnType: double
    signature: double getNext(const speechPlayer_frame_t* frame, double input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: SpeechWaveGeneratorImpl::SpeechWaveGeneratorImpl
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpeechWaveGeneratorImpl(int sr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCurrentFrame
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:200,1
    - Dst: getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:202,1
    - Dst: getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:203,1
    - Dst: getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:204,1
    - Dst: getNext
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:205,1
    - Dst: MAX
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:207,1
    - Dst: MIN
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sampleCount
    - sampleBuf
    argTypes:
    - unsigned int
    - ::sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: SpeechWaveGeneratorImpl::generate
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - getNext
    - getCurrentFrame
    - MAX
    - MIN
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int generate(const unsigned int sampleCount, ::sample* sampleBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - frameManager
    argTypes:
    - FrameManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: SpeechWaveGeneratorImpl::setFrameManager
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFrameManager(FrameManager* frameManager)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpeechWaveGeneratorImpl::SpeechWaveGeneratorImpl
      Src: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sampleRate
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: SpeechWaveGenerator::create
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
    functionUses: 0
    functionsReached:
    - SpeechWaveGeneratorImpl::SpeechWaveGeneratorImpl
    linkageType: ''
    returnType: SpeechWaveGenerator
    signature: SpeechWaveGenerator * SpeechWaveGenerator::create(int sampleRate)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calculateValueAtFadePosition
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:52,1
    - Dst: empty
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:56,1
    - Dst: front
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:58,1
    - Dst: pop
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:59,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:61,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 81
    functionName: FrameManagerImpl::updateCurrentFrame
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached:
    - front
    - calculateValueAtFadePosition
    - empty
    - memcpy
    - pop
    linkageType: ''
    returnType: void
    signature: void updateCurrentFrame()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frameRequest_t::frameRequest_t
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: FrameManagerImpl::FrameManagerImpl
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached:
    - frameRequest_t::frameRequest_t
    linkageType: ''
    returnType: void
    signature: void FrameManagerImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: frameRequest_t::frameRequest_t
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:92,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:97,1
    - Dst: empty
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:104,1
    - Dst: pop
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:104,1
    - Dst: front
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:104,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:108,1
    - Dst: push
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - frame
    - minNumSamples
    - numFadeSamples
    - userIndex
    - purgeQueue
    argTypes:
    - speechPlayer_frame_t*
    - unsigned int
    - unsigned int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: FrameManagerImpl::queueFrame
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached:
    - front
    - push
    - empty
    - memcpy
    - pop
    - frameRequest_t::frameRequest_t
    linkageType: ''
    returnType: void
    signature: void queueFrame(speechPlayer_frame_t* frame, unsigned int minNumSamples,
      unsigned int numFadeSamples, int userIndex, bool purgeQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: FrameManagerImpl::getLastIndex
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getLastIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FrameManagerImpl::updateCurrentFrame
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: FrameManagerImpl::getCurrentFrame
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached:
    - FrameManagerImpl::updateCurrentFrame
    linkageType: ''
    returnType: speechPlayer_frame_t
    signature: speechPlayer_frame_t * const getCurrentFrame()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ~FrameManagerImpl()
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FrameManagerImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FrameManagerImpl::FrameManagerImpl
      Src: /src/espeak-ng/src/speechPlayer/src/frame.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: FrameManager::create
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    functionUses: 0
    functionsReached:
    - FrameManagerImpl::FrameManagerImpl
    linkageType: ''
    returnType: FrameManager
    signature: FrameManager * FrameManager::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: speechPlayer_handleInfo_t::speechPlayer_handleInfo_t
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:27,1
    - Dst: FrameManager::create
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:29,1
    - Dst: SpeechWaveGenerator::create
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:30,1
    - Dst: speechPlayer_handleInfo_t*::waveGenerator::setFrameManager
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sampleRate
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: speechPlayer_initialize
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
    functionUses: 0
    functionsReached:
    - speechPlayer_handleInfo_t::speechPlayer_handleInfo_t
    - SpeechWaveGenerator::create
    - speechPlayer_handleInfo_t*::waveGenerator::setFrameManager
    - FrameManager::create
    linkageType: ''
    returnType: speechPlayer_handle_t
    signature: speechPlayer_handle_t speechPlayer_initialize(int sampleRate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: speechPlayer_handleInfo_t*::frameManager::queueFrame
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - playerHandle
    - framePtr
    - minFrameDuration
    - fadeDuration
    - userIndex
    - purgeQueue
    argTypes:
    - speechPlayer_handle_t
    - speechPlayer_frame_t*
    - unsigned int
    - unsigned int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: speechPlayer_queueFrame
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
    functionUses: 0
    functionsReached:
    - speechPlayer_handleInfo_t*::frameManager::queueFrame
    linkageType: ''
    returnType: void
    signature: void speechPlayer_queueFrame(speechPlayer_handle_t playerHandle, speechPlayer_frame_t*
      framePtr, unsigned int minFrameDuration, unsigned int fadeDuration, int userIndex,
      bool purgeQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: waveGenerator::generate
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - playerHandle
    - sampleCount
    - sampleBuf
    argTypes:
    - speechPlayer_handle_t
    - unsigned int
    - sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: speechPlayer_synthesize
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
    functionUses: 0
    functionsReached:
    - waveGenerator::generate
    linkageType: ''
    returnType: int
    signature: int speechPlayer_synthesize(speechPlayer_handle_t playerHandle, unsigned
      int sampleCount, sample* sampleBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: speechPlayer_handleInfo_t*::frameManager::getLastIndex
      Src: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - playerHandle
    argTypes:
    - speechPlayer_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: speechPlayer_getLastIndex
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
    functionUses: 0
    functionsReached:
    - speechPlayer_handleInfo_t*::frameManager::getLastIndex
    linkageType: ''
    returnType: int
    signature: int speechPlayer_getLastIndex(speechPlayer_handle_t playerHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - playerHandle
    argTypes:
    - speechPlayer_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: speechPlayer_terminate
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void speechPlayer_terminate(speechPlayer_handle_t playerHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~FrameManager()
    functionSourceFile: /src/espeak-ng/src/speechPlayer/src/frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FrameManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - IClassFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ClassFactory_AddRef
    functionSourceFile: /src/espeak-ng/src/windows/com/comentrypoints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ULONG
    signature: ULONG ClassFactory_AddRef(IClassFactory *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - IClassFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ClassFactory_Release
    functionSourceFile: /src/espeak-ng/src/windows/com/comentrypoints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ULONG
    signature: ULONG ClassFactory_Release(IClassFactory *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualGUID
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:43,1
    - Dst: IsEqualGUID
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:43,1
    - Dst: IClassFactory*::lpVtbl::AddRef
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - iid
    - object
    argTypes:
    - IClassFactory*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: ClassFactory_QueryInterface
    functionSourceFile: /src/espeak-ng/src/windows/com/comentrypoints.c
    functionUses: 0
    functionsReached:
    - IClassFactory*::lpVtbl::AddRef
    - IsEqualGUID
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT ClassFactory_QueryInterface(IClassFactory *iface, REFIID iid,
      void **object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:56,1
    - Dst: InterlockedDecrement
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - lock
    argTypes:
    - IClassFactory*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ClassFactory_LockServer
    functionSourceFile: /src/espeak-ng/src/windows/com/comentrypoints.c
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - InterlockedIncrement
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT ClassFactory_LockServer(IClassFactory *iface, BOOL lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualCLSID
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:73,1
    - Dst: ClassFactory_QueryInterface
      Src: /src/espeak-ng/src/windows/com/comentrypoints.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - classId
    - iid
    - object
    argTypes:
    - REFCLSID
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: DllGetClassObject
    functionSourceFile: /src/espeak-ng/src/windows/com/comentrypoints.c
    functionUses: 0
    functionsReached:
    - ClassFactory_QueryInterface
    - IsEqualCLSID
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT DllGetClassObject(REFCLSID classId, REFIID iid, void **object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: DllCanUnloadNow
    functionSourceFile: /src/espeak-ng/src/windows/com/comentrypoints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT DllCanUnloadNow(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HRESULT_FROM_WIN32
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - status
    argTypes:
    - espeak_ng_STATUS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: espeak_status_to_hresult
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - HRESULT_FROM_WIN32
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT espeak_status_to_hresult(espeak_ng_STATUS status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TtsEngine*::OnEvent
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - samples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: espeak_callback
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - TtsEngine*::OnEvent
    linkageType: ''
    returnType: int
    signature: int espeak_callback(short *data, int samples, espeak_EVENT *events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: TtsEngine::TtsEngine
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: void TtsEngine::TtsEngine()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedDecrement
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:105,1
    - Dst: TtsEngine::Release
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: TtsEngine::~TtsEngine()
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - TtsEngine::Release
    linkageType: ''
    returnType: void
    signature: void TtsEngine::~TtsEngine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: TtsEngine::AddRef
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - InterlockedIncrement
    linkageType: ''
    returnType: ULONG
    signature: ULONG TtsEngine::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedDecrement
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: TtsEngine::Release
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 1
    functionsReached:
    - InterlockedDecrement
    linkageType: ''
    returnType: ULONG
    signature: ULONG TtsEngine::Release()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:126,1
    - Dst: IsEqualIID
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:126,1
    - Dst: IsEqualIID
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:128,1
    - Dst: TtsEngine::AddRef
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - iid
    - object
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: TtsEngine::QueryInterface
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - IsEqualIID
    - TtsEngine::AddRef
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT TtsEngine::QueryInterface(REFIID iid, void **object)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TtsEngine::AddRef
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - token
    argTypes:
    - ISpObjectToken**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: TtsEngine::GetObjectToken
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - TtsEngine::AddRef
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT TtsEngine::GetObjectToken(ISpObjectToken **token)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TtsEngine::AddRef
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:159,1
    - Dst: TtsEngine::GetStringValue
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:162,1
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:163,1
    - Dst: free
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:165,1
    - Dst: espeak_ng_Initialize
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:168,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:170,1
    - Dst: espeak_SetSynthCallback
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:172,1
    - Dst: SUCCEEDED
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:175,1
    - Dst: TtsEngine::GetStringValue
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:175,1
    - Dst: espeak_ng_SetVoiceByName
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:177,1
    - Dst: free
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:178,1
    - Dst: espeak_status_to_hresult
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - token
    argTypes:
    - ISpObjectToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 182
    functionName: TtsEngine::SetObjectToken
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - TtsEngine::AddRef
    - espeak_ng_InitializeOutput
    - free
    - espeak_ng_Initialize
    - SUCCEEDED
    - espeak_ng_SetVoiceByName
    - espeak_ng_InitializePath
    - TtsEngine::GetStringValue
    - espeak_SetSynthCallback
    - espeak_status_to_hresult
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT TtsEngine::SetObjectToken(ISpObjectToken *token)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISpTTSEngineSite*::GetActions
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:198,1
    - Dst: espeak_ng_Synthesize
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - flags
    - formatId
    - format
    - textFragList
    - site
    argTypes:
    - DWORD
    - REFGUID
    - WAVEFORMATEX*
    - SPVTEXTFRAG*
    - ISpTTSEngineSite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: TtsEngine::Speak
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - ISpTTSEngineSite*::GetActions
    - espeak_ng_Synthesize
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT TtsEngine::Speak(DWORD flags,\n                 REFGUID formatId,\n
      \                const WAVEFORMATEX *format,\n                 const SPVTEXTFRAG
      *textFragList,\n                 ISpTTSEngineSite *site)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoTaskMemAlloc
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - targetFormatId
    - targetFormat
    - formatId
    - format
    argTypes:
    - GUID*
    - WAVEFORMATEX*
    - GUID*
    - WAVEFORMATEX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: TtsEngine::GetOutputFormat
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - CoTaskMemAlloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT TtsEngine::GetOutputFormat(const GUID *targetFormatId,\n                           const
      WAVEFORMATEX *targetFormat,\n                           GUID *formatId,\n                           WAVEFORMATEX
      **format)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetActions
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:238,1
    - Dst: Write
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - data
    - samples
    - events
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: TtsEngine::OnEvent
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - GetActions
    - Write
    linkageType: ''
    returnType: int
    signature: int TtsEngine::OnEvent(short *data, int samples, espeak_EVENT *events)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TtsEngine::GetStringValue
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:253,1
    - Dst: FAILED
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:254,1
    - Dst: wcslen
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:257,1
    - Dst: malloc
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:258,1
    - Dst: CoTaskMemFree
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:260,1
    - Dst: wcstombs
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:264,1
    - Dst: CoTaskMemFree
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - LPCWSTR
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 268
    functionName: TtsEngine::GetStringValue
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 2
    functionsReached:
    - wcslen
    - FAILED
    - CoTaskMemFree
    - malloc
    - TtsEngine::GetStringValue
    - wcstombs
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT TtsEngine::GetStringValue(LPCWSTR key, char *&value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TtsEngine::TtsEngine
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:275,1
    - Dst: TtsEngine*::QueryInterface
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:279,1
    - Dst: TtsEngine*::Release
      Src: /src/espeak-ng/src/windows/com/ttsengine.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - iface
    - outer
    - iid
    - object
    argTypes:
    - IClassFactory*
    - IUnknown*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: TtsEngine_CreateInstance
    functionSourceFile: /src/espeak-ng/src/windows/com/ttsengine.cpp
    functionUses: 0
    functionsReached:
    - TtsEngine*::Release
    - TtsEngine::TtsEngine
    - TtsEngine*::QueryInterface
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT TtsEngine_CreateInstance(IClassFactory *iface, IUnknown *outer,
      REFIID iid, void **object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: espeak_ng_EncodingFromName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 21
    functionsReached:
    - LookupMnem
    linkageType: ''
    returnType: espeak_ng_ENCODING
    signature: espeak_ng_ENCODING espeak_ng_EncodingFromName(const char *encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: string_decoder_getc_us_ascii
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t string_decoder_getc_us_ascii(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: string_decoder_getc_codepage
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t string_decoder_getc_codepage(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 586
    functionName: string_decoder_getc_utf_8
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t string_decoder_getc_utf_8(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 599
    functionName: string_decoder_getc_iso_10646_ucs_2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t string_decoder_getc_iso_10646_ucs_2(espeak_ng_TEXT_DECODER
      *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: string_decoder_getc_wchar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t string_decoder_getc_wchar(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_decoder_getc_utf_8
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:613,1
    - Dst: espeak_ng_TEXT_DECODER*::get
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 620
    functionName: string_decoder_getc_auto
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached:
    - espeak_ng_TEXT_DECODER*::get
    - string_decoder_getc_utf_8
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t string_decoder_getc_auto(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: null_decoder_getc
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t null_decoder_getc(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 673
    functionName: create_text_decoder
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 27
    functionsReached:
    - malloc
    linkageType: ''
    returnType: espeak_ng_TEXT_DECODER
    signature: 'espeak_ng_TEXT_DECODER *

      create_text_decoder(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: destroy_text_decoder
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 26
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void destroy_text_decoder(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - decoder
    - string
    - length
    - encoding
    argTypes:
    - espeak_ng_TEXT_DECODER*
    - char*
    - int
    - espeak_ng_ENCODING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 701
    functionName: text_decoder_decode_string
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 24
    functionsReached:
    - strlen
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS text_decoder_decode_string(espeak_ng_TEXT_DECODER
      *decoder,\n                           const char *string,\n                           int
      length,\n                           espeak_ng_ENCODING encoding)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - decoder
    - string
    - length
    - encoding
    argTypes:
    - espeak_ng_TEXT_DECODER*
    - char*
    - int
    - espeak_ng_ENCODING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 723
    functionName: text_decoder_decode_string_auto
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS text_decoder_decode_string_auto(espeak_ng_TEXT_DECODER
      *decoder,\n                                const char *string,\n                                int
      length,\n                                espeak_ng_ENCODING encoding)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - decoder
    - string
    - length
    argTypes:
    - espeak_ng_TEXT_DECODER*
    - wchar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: text_decoder_decode_wstring
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 1
    functionsReached:
    - wcslen
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS text_decoder_decode_wstring(espeak_ng_TEXT_DECODER
      *decoder,\n                            const wchar_t *string,\n                            int
      length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: text_decoder_decode_wstring
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:748,1
    - Dst: text_decoder_decode_string_auto
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:750,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:752,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:754,1
    - Dst: text_decoder_decode_string
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - decoder
    - input
    - encoding
    - flags
    argTypes:
    - espeak_ng_TEXT_DECODER*
    - void*
    - espeak_ng_ENCODING
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 760
    functionName: text_decoder_decode_string_multibyte
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached:
    - text_decoder_decode_wstring
    - text_decoder_decode_string
    - text_decoder_decode_string_auto
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS text_decoder_decode_string_multibyte(espeak_ng_TEXT_DECODER
      *decoder,\n                                     const void *input,\n                                     espeak_ng_ENCODING
      encoding,\n                                     int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: text_decoder_eof
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int text_decoder_eof(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_TEXT_DECODER*::get
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: text_decoder_getc
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 24
    functionsReached:
    - espeak_ng_TEXT_DECODER*::get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t text_decoder_getc(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_TEXT_DECODER*::get
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 783
    functionName: text_decoder_peekc
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 1
    functionsReached:
    - espeak_ng_TEXT_DECODER*::get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t text_decoder_peekc(espeak_ng_TEXT_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/src/libespeak-ng/encoding.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - espeak_ng_TEXT_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: text_decoder_get_buffer
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/encoding.c
    functionUses: 0
    functionsReached:
    - text_decoder_eof
    linkageType: ''
    returnType: void
    signature: 'void *

      text_decoder_get_buffer(espeak_ng_TEXT_DECODER *decoder)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:416,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:420,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:422,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: clean_context
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clean_context(CompileContext *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:429,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:431,1
    - Dst: vfprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:432,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:433,1
    - Dst: va_end
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - format
    argTypes:
    - CompileContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: error
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 2
    functionsReached:
    - vfprintf
    - va_end
    - va_start
    - fprintf
    linkageType: ''
    returnType: void
    signature: void error(CompileContext *ctx, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_GetStatusCodeMessage
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:442,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:444,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - status
    - context
    argTypes:
    - CompileContext*
    - espeak_ng_STATUS
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: error_from_status
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - espeak_ng_GetStatusCodeMessage
    linkageType: ''
    returnType: void
    signature: void error_from_status(CompileContext *ctx, espeak_ng_STATUS status,
      const char *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:459,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:460,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:461,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:463,1
    - Dst: rewind
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:466,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:470,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:474,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:478,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:480,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:481,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:487,1
    - Dst: isalpha
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:488,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:491,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:492,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:492,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:493,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - context
    argTypes:
    - CompileContext*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 503
    functionName: ReadPhondataManifest
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - realloc
    - fgets
    - strlen
    - fopen
    - free
    - sscanf
    - rewind
    - malloc
    - fclose
    - isalpha
    - strcpy
    - create_file_error_context
    - sprintf
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS ReadPhondataManifest(CompileContext *ctx, espeak_ng_ERROR_CONTEXT
      *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 557
    functionName: ReservePhCodes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - StringToWord
    linkageType: ''
    returnType: void
    signature: void ReservePhCodes(CompileContext *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:570,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:573,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:575,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - string
    - control
    argTypes:
    - CompileContext*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 609
    functionName: LookupPhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - strlen
    - StringToWord
    - strcmp
    linkageType: ''
    returnType: int
    signature: int LookupPhoneme(CompileContext *ctx, const char *string, int control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: get_char
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_char(CompileContext *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ungetc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - CompileContext*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: unget_char
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - ungetc
    linkageType: ''
    returnType: void
    signature: void unget_char(CompileContext *ctx, unsigned int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:630,1
    - Dst: unget_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: CheckNextChar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - get_char
    - unget_char
    linkageType: ''
    returnType: int
    signature: int CheckNextChar(CompileContext *ctx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:645,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:648,1
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:649,1
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:651,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:653,1
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:653,1
    - Dst: unget_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:656,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:658,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:661,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:671,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:671,1
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:673,1
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:675,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:676,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:683,1
    - Dst: get_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:684,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:690,1
    - Dst: unget_char
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:691,1
    - Dst: isdigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:706,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:708,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:710,1
    - Dst: isdigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:712,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:723,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:733,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - CompileContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 735
    functionName: NextItem
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - feof
    - LookupPhoneme
    - ftell
    - isspace
    - error
    - isdigit
    - get_char
    - strcmp
    - unget_char
    linkageType: ''
    returnType: int
    signature: int NextItem(CompileContext *ctx, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:742,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - max
    argTypes:
    - CompileContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionName: NextItemMax
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - NextItem
    linkageType: ''
    returnType: int
    signature: int NextItemMax(CompileContext *ctx, int max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:759,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:760,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:763,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - type
    - control
    argTypes:
    - CompileContext*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 770
    functionName: NextItemBrackets
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - NextItem
    linkageType: ''
    returnType: int
    signature: int NextItemBrackets(CompileContext *ctx, int type, int control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: UngetItem
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: void
    signature: void UngetItem(CompileContext *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - value
    - divide
    - min
    - max
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 791
    functionName: Range
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Range(int value, int divide, int min, int max)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:826,1
    - Dst: UngetItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:828,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:835,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:835,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:839,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:839,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:843,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:846,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:846,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:847,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:847,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:848,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:848,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:856,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:856,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:857,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:857,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:878,1
    - Dst: Range
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:882,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:882,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - ctx
    - which
    argTypes:
    - CompileContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 896
    functionName: CompileVowelTransition
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - Range
    - NextItem
    - UngetItem
    linkageType: ''
    returnType: int
    signature: int CompileVowelTransition(CompileContext *ctx, int which)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SpectSeqCreate
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:920,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:924,1
    - Dst: LoadSpectSeq
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:925,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:927,1
    - Dst: SpectSeqDestroy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:928,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:940,1
    - Dst: GetFrameRms
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:985,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1060,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1064,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1069,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1073,1
    - Dst: SpectSeqDestroy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1078,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 128
    argCount: 4
    argNames:
    - ctx
    - path
    - control
    - addr
    argTypes:
    - CompileContext*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 1080
    functionName: LoadSpect
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - SpectSeqDestroy
    - snprintf
    - fputc
    - SpectSeqCreate
    - fwrite
    - ftell
    - LoadSpectSeq
    - GetFrameRms
    - error
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadSpect(CompileContext *ctx, const char *path, int
      control, int *addr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1094,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1095,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1096,1
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1097,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1101,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1103,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1107,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1110,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1115,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1119,1
    - Dst: CalculateSample
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1122,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1137,1
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1138,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1140,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1141,1
    - Dst: fgetc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1142,1
    - Dst: CalculateSample
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1144,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1146,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1149,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1150,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1158,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1162,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - ctx
    - f
    - fname
    argTypes:
    - CompileContext*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1170
    functionName: LoadWavefile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - CalculateSample
    - Write4Bytes
    - feof
    - fputc
    - fgetc
    - Read4Bytes
    - ftell
    - error
    - fseek
    linkageType: ''
    returnType: int
    signature: int LoadWavefile(CompileContext *ctx, FILE *f, const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1177,1
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1179,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1182,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - f
    - displ
    argTypes:
    - CompileContext*
    - FILE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1187
    functionName: LoadEnvelope
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - fwrite
    - ftell
    - fseek
    - fread
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadEnvelope(CompileContext *ctx, FILE *f, int *displ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1204
    functionName: Hash8
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int Hash8(const char *string)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1217,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1218,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1219,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1223,1
    - Dst: polint
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1247,1
    - Dst: polint
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1249,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1256,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - CompileContext*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1260
    functionName: LoadEnvelope2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - fgets
    - feof
    - polint
    - sscanf
    - ftell
    - fwrite
    linkageType: ''
    returnType: int
    signature: int LoadEnvelope2(CompileContext *ctx, FILE *f)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1270,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1272,1
    - Dst: Hash8
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1279,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1282,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1292,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1295,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1296,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1297,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1298,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1303,1
    - Dst: rewind
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1304,1
    - Dst: LoadSpect
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1309,1
    - Dst: LoadWavefile
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1312,1
    - Dst: LoadEnvelope
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1315,1
    - Dst: LoadEnvelope2
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1318,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1321,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1325,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1331,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1337,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1337,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1343,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 4
    argNames:
    - ctx
    - path
    - control
    - addr
    argTypes:
    - CompileContext*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1349
    functionName: LoadDataFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - LoadEnvelope2
    - LoadSpect
    - strlen
    - fopen
    - Read4Bytes
    - Hash8
    - rewind
    - malloc
    - LoadWavefile
    - fclose
    - strcpy
    - error
    - LoadEnvelope
    - sprintf
    - fprintf
    - strcmp
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadDataFile(CompileContext *ctx, const char *path,
      int control, int *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1358,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1359,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1362,1
    - Dst: LoadDataFile
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1363,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1367,1
    - Dst: LoadDataFile
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1351
    functionDepth: 4
    functionLinenumber: 1351
    functionLinenumberEnd: 1387
    functionName: CompileToneSpec
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - NextItemBrackets
    - LoadDataFile
    linkageType: ''
    returnType: void
    signature: void CompileToneSpec(CompileContext *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1398,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1399,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1402,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1405,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1409,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1412,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1415,1
    - Dst: LoadDataFile
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - keyword
    - isvowel
    argTypes:
    - CompileContext*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1391
    functionDepth: 4
    functionLinenumber: 1391
    functionLinenumberEnd: 1424
    functionName: CompileSound
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - NextItemBrackets
    - LoadDataFile
    - strcpy
    linkageType: ''
    returnType: void
    signature: void CompileSound(CompileContext *ctx, int keyword, int isvowel)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1453,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1458,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1459,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1463,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1464,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1476,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1480,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1488,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1490,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1499,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1501,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1501,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1515,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1527,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 2
    argNames:
    - ctx
    - elif
    argTypes:
    - CompileContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1437
    functionDepth: 4
    functionLinenumber: 1437
    functionLinenumberEnd: 1542
    functionName: CompileIf
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - NextItemBrackets
    - LookupPhoneme
    - error
    - NextItem
    - strcmp
    linkageType: ''
    returnType: int
    signature: int CompileIf(CompileContext *ctx, int elif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - add
    argTypes:
    - CompileContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1569
    functionName: FillThen
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    linkageType: ''
    returnType: void
    signature: void FillThen(CompileContext *ctx, int add)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1576,1
    - Dst: FillThen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1581,1
    - Dst: FillThen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1571
    functionDepth: 2
    functionLinenumber: 1571
    functionLinenumberEnd: 1596
    functionName: CompileElse
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - FillThen
    linkageType: ''
    returnType: int
    signature: int CompileElse(CompileContext *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1601,1
    - Dst: CompileElse
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1605,1
    - Dst: CompileIf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1598
    functionDepth: 5
    functionLinenumber: 1598
    functionLinenumberEnd: 1608
    functionName: CompileElif
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - CompileElse
    - CompileIf
    linkageType: ''
    returnType: int
    signature: int CompileElif(CompileContext *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1615,1
    - Dst: FillThen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1619,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1637
    functionName: CompileEndif
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - FillThen
    linkageType: ''
    returnType: int
    signature: int CompileEndif(CompileContext *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - CompileContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1655
    functionName: CompileSwitch
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CompileSwitch(CompileContext *ctx, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1662,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - string
    argTypes:
    - CompileContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1667
    functionName: FindPhonemeTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - strcmp
    linkageType: ''
    returnType: PHONEME_TAB_LIST
    signature: PHONEME_TAB_LIST *FindPhonemeTable(CompileContext *ctx, const char
      *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1678,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1678,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1682,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1683,1
    - Dst: FindPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1686,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1690,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - string
    argTypes:
    - CompileContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1669
    functionDepth: 2
    functionLinenumber: 1669
    functionLinenumberEnd: 1698
    functionName: FindPhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - FindPhonemeTable
    - strlen
    - LookupPhoneme
    - strchr
    - strcpy
    - StringToWord
    - error
    linkageType: ''
    returnType: PHONEME_TAB
    signature: PHONEME_TAB *FindPhoneme(CompileContext *ctx, const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1706,1
    - Dst: FindPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1708,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1709,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1719,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1724,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1700
    functionDepth: 3
    functionLinenumber: 1700
    functionLinenumberEnd: 1729
    functionName: ImportPhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - NextItem
    - memcpy
    - FindPhoneme
    linkageType: ''
    returnType: void
    signature: void ImportPhoneme(CompileContext *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1737,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1741,1
    - Dst: FindPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1731
    functionDepth: 3
    functionLinenumber: 1731
    functionLinenumberEnd: 1766
    functionName: CallPhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - NextItem
    - FindPhoneme
    - strcmp
    linkageType: ''
    returnType: void
    signature: void CallPhoneme(CompileContext *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1772
    functionName: DecThenCount
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecThenCount(CompileContext *ctx)
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1798,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1800,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1806,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1809,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1811,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1812,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1824,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1826,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1828,1
    - Dst: phoneme_feature_from_string
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1832,1
    - Dst: phoneme_add_feature
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1833,1
    - Dst: error_from_status
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1836,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1847,1
    - Dst: NextItemBrackets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1869,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1871,1
    - Dst: NextItemMax
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1874,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1876,1
    - Dst: NextItemMax
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1879,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1881,1
    - Dst: NextItemMax
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1884,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1892,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1896,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1898,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1901,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1902,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1906,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1908,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1909,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1917,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1926,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1929,1
    - Dst: isalnum
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1933,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1937,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1940,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1950,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1955,1
    - Dst: ImportPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1963,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1967,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1969,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1972,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1975,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1977,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1979,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1983,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1986,1
    - Dst: LookupPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1988,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1990,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1995,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:1998,1
    - Dst: CompileIf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2003,1
    - Dst: CompileElse
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2006,1
    - Dst: CompileElif
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2009,1
    - Dst: CompileEndif
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2012,1
    - Dst: CompileSwitch
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2017,1
    - Dst: CompileSwitch
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2020,1
    - Dst: CallPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2023,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2024,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2028,1
    - Dst: CompileSound
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2030,1
    - Dst: CompileSound
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2032,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2040,1
    - Dst: CompileSound
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2041,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2044,1
    - Dst: CompileVowelTransition
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2045,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2048,1
    - Dst: CompileVowelTransition
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2049,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2052,1
    - Dst: CompileToneSpec
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2053,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2057,1
    - Dst: DecThenCount
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2061,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2065,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2071,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2081,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2085,1
    - Dst: fflush
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2110,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2111,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2116,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2120,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2121,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 294
    argCount: 2
    argNames:
    - ctx
    - compile_phoneme
    argTypes:
    - CompileContext*
    - int
    assertStmts:
    - condition: (value < LENGTH_MOD_LIMIT)
      pos:
        line_end: 1901
        line_start: 1901
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    constantsTouched: []
    func_position:
      end: 2125
      start: 1774
    functionDepth: 6
    functionLinenumber: 1774
    functionLinenumberEnd: 2125
    functionName: CompilePhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - CompileEndif
    - LookupPhoneme
    - fflush
    - CompileIf
    - CompileElif
    - DecThenCount
    - fwrite
    - error
    - CompileSwitch
    - strcmp
    - assert
    - CompileToneSpec
    - sscanf
    - utf8_out
    - NextItem
    - memcpy
    - CompileVowelTransition
    - NextItemMax
    - NextItemBrackets
    - feof
    - utf8_in
    - strlen
    - error_from_status
    - CompileSound
    - ImportPhoneme
    - CompileElse
    - phoneme_feature_from_string
    - ftell
    - strcpy
    - StringToWord
    - phoneme_add_feature
    - isalnum
    - sprintf
    - CallPhoneme
    linkageType: ''
    returnType: int
    signature: int CompilePhoneme(CompileContext *ctx, int compile_phoneme)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2135,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2136,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2137,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2138,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2143,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2157,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2158,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2159,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2160,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2162,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2169,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2172,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2175
    functionName: WritePhonemeTables
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - fputc
    - free
    - fwrite
    - memset
    linkageType: ''
    returnType: void
    signature: void WritePhonemeTables(CompileContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2188,1
    - Dst: WordToString
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2196
    functionName: EndPhonemeTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - error
    - WordToString
    linkageType: ''
    returnType: void
    signature: void EndPhonemeTable(CompileContext *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2203,1
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2206,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2209,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2213,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2215,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2216,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2221,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2224,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2228,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2238,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2239,1
    - Dst: ReservePhCodes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - CompileContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2198
    functionDepth: 3
    functionLinenumber: 2198
    functionLinenumberEnd: 2244
    functionName: StartPhonemeTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strncpy0
    - memset
    - error
    - NextItem
    - ReservePhCodes
    - calloc
    - strcmp
    linkageType: ''
    returnType: void
    signature: void StartPhonemeTable(CompileContext *ctx, const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2259,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2264,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2266,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2270,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2277,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2278,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2280,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2282,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2286,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2289,1
    - Dst: EndPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2292,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2293,1
    - Dst: StartPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2294,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2298,1
    - Dst: CompilePhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2301,1
    - Dst: CompilePhoneme
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2304,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2307,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2308,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2312,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2246
    functionDepth: 7
    functionLinenumber: 2246
    functionLinenumberEnd: 2314
    functionName: CompilePhonemeFiles
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - EndPhonemeTable
    - strncpy0
    - memset
    - CompilePhoneme
    - feof
    - fopen
    - strcpy
    - fclose
    - error
    - NextItem
    - StartPhonemeTable
    - sprintf
    linkageType: ''
    returnType: void
    signature: void CompilePhonemeFiles(CompileContext *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_CompilePhonemeDataPath
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rate
    - log
    - context
    argTypes:
    - long
    - FILE*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2324
    functionName: espeak_ng_CompilePhonemeData
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 1
    functionsReached:
    - espeak_ng_CompilePhonemeDataPath
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate,\n                             FILE
      *log,\n                             espeak_ng_ERROR_CONTEXT *context)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2338,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2342,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2344,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2348,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2350,1
    - Dst: LoadPhData
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2354,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2355,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2356,1
    - Dst: WavegenInit
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2360,1
    - Dst: WavegenSetVoice
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2361,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2366,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2368,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2369,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2370,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2372,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2373,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2376,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2377,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2380,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2394,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2395,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2398,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2399,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2400,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2401,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2404,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2405,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2408,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2409,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2410,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2411,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2412,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2415,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2416,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2419,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2420,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2421,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2422,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2423,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2424,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2427,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2428,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2431,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2432,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2433,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2435,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2438,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2439,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2442,1
    - Dst: StartPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2444,1
    - Dst: CompilePhonemeFiles
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2445,1
    - Dst: EndPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2447,1
    - Dst: WritePhonemeTables
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2448,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2450,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2452,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2453,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2454,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2455,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2456,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2458,1
    - Dst: LoadPhData
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2460,1
    - Dst: WavegenFini
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2462,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2464,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2467,1
    - Dst: ReadPhondataManifest
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2469,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 94
    argCount: 5
    argNames:
    - rate
    - source_path
    - destination_path
    - log
    - context
    argTypes:
    - long
    - char*
    - char*
    - FILE*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2326
    functionDepth: 8
    functionLinenumber: 2326
    functionLinenumberEnd: 2473
    functionName: espeak_ng_CompilePhonemeDataPath
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 2
    functionsReached:
    - strncpy0
    - memset
    - MAKE_MEM_UNDEFINED
    - WavegenFini
    - EndPhonemeTable
    - create_file_error_context
    - StartPhonemeTable
    - CompilePhonemeFiles
    - fprintf
    - ReadPhondataManifest
    - WavegenInit
    - Write4Bytes
    - calloc
    - clean_context
    - fopen
    - WritePhonemeTables
    - WavegenSetVoice
    - fclose
    - LoadPhData
    - LoadVoice
    - sprintf
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS espeak_ng_CompilePhonemeDataPath(long rate,\n                                 const
      char *source_path,\n                                 const char *destination_path,\n
      \                                FILE *log,\n                                 espeak_ng_ERROR_CONTEXT
      *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2511
    functionDepth: 1
    functionLinenumber: 2511
    functionLinenumberEnd: 2514
    functionName: LookupEnvelopeName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 0
    functionsReached:
    - LookupMnem
    linkageType: ''
    returnType: int
    signature: int LookupEnvelopeName(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_CompileIntonationPath
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - log
    - context
    argTypes:
    - FILE*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2518
    functionDepth: 1
    functionLinenumber: 2518
    functionLinenumberEnd: 2521
    functionName: espeak_ng_CompileIntonation
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 1
    functionsReached:
    - espeak_ng_CompileIntonationPath
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS espeak_ng_CompileIntonation(FILE *log, espeak_ng_ERROR_CONTEXT
      *context)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2552,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2558,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2559,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2560,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2561,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2563,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2564,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2565,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2570,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2575,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2576,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2579,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2579,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2581,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2584,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2590,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2597,1
    - Dst: rewind
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2604,1
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2607,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2609,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2610,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2611,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2615,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2616,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2619,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2620,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2621,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2622,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2623,1
    - Dst: feof
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2626,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2627,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2634,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2635,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2636,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2641,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2651,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2653,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2665,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2668,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2669,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2672,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2673,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2674,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2678,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2679,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2680,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2684,1
    - Dst: LookupEnvelopeName
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2685,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2686,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2689,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2692,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2693,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2694,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2695,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2696,1
    - Dst: isdigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2701,1
    - Dst: CheckNextChar
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2701,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2704,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2709,1
    - Dst: LookupEnvelopeName
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2710,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2711,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2715,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2716,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2719,1
    - Dst: LookupEnvelopeName
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2720,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2721,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2725,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2726,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2727,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2728,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2740,1
    - Dst: LookupEnvelopeName
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2741,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2742,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2747,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2748,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2749,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2750,1
    - Dst: NextItem
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2751,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2754,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2759,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2764,1
    - Dst: error
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2771,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2773,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2774,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2775,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2776,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2778,1
    - Dst: LoadPhData
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2780,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledata.c:2783,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 209
    argCount: 4
    argNames:
    - source_path
    - destination_path
    - log
    - context
    argTypes:
    - char*
    - char*
    - FILE*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2523
    functionDepth: 3
    functionLinenumber: 2523
    functionLinenumberEnd: 2785
    functionName: espeak_ng_CompileIntonationPath
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 1
    functionsReached:
    - fgets
    - strncpy0
    - create_file_error_context
    - fprintf
    - rewind
    - fwrite
    - error
    - isdigit
    - calloc
    - strcmp
    - clean_context
    - fopen
    - CheckNextChar
    - fclose
    - memcpy
    - NextItem
    - memcmp
    - LookupEnvelopeName
    - feof
    - free
    - LoadPhData
    - isspace
    - strcpy
    - sprintf
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS espeak_ng_CompileIntonationPath(const char *source_path,\n
      \                               const char *destination_path,\n                                FILE
      *log,\n                                espeak_ng_ERROR_CONTEXT *context\n                                )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c3
    - c1
    argTypes:
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2794
    functionName: CalculateSample
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CalculateSample(unsigned char c3, int c1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/phoneme.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: phoneme_feature_from_string
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phoneme.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: phoneme_feature_t
    signature: phoneme_feature_t phoneme_feature_from_string(const char *feature)
  - BBCount: 78
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 165
    argCount: 2
    argNames:
    - phoneme
    - feature
    argTypes:
    - PHONEME_TAB*
    - phoneme_feature_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 235
    functionName: phoneme_add_feature
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phoneme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS phoneme_add_feature(PHONEME_TAB *phoneme,\n                    phoneme_feature_t
      feature)"
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:102,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:129,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:132,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:139,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:145,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:146,1
    - Dst: AlphabetFromChar
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:146,1
    - Dst: AlphabetFromChar
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:146,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:157,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:168,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:175,1
    - Dst: CheckDottedAbbrev
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:193,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:204,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:213,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:214,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:220,1
    - Dst: TranslateNumber
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:224,1
    - Dst: TranslateRoman
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:233,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:239,1
    - Dst: SpeakIndividualLetters
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:255,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:260,1
    - Dst: addPluralSuffixes
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:264,1
    - Dst: Unpronouncable
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:278,1
    - Dst: TranslateLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:290,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:294,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:295,1
    - Dst: SetSpellingStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:303,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:313,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:317,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:325,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:326,1
    - Dst: IsSuperscript
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:326,1
    - Dst: SpeakIndividualLetters
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:327,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:329,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:347,1
    - Dst: RemoveEnding
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:349,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:350,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:351,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:351,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:356,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:357,1
    - Dst: DecodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:359,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:360,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:404,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:406,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:409,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:411,1
    - Dst: SpeakIndividualLetters
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:414,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:417,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:421,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:428,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:433,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:441,1
    - Dst: RemoveEnding
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:444,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:454,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:458,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:458,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:459,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:473,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:476,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:476,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:477,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:489,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:498,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:499,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:500,1
    - Dst: RemoveEnding
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:504,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:509,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:515,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:516,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:516,1
    - Dst: AppendPhonemes
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:527,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:530,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:530,1
    - Dst: addPluralSuffixes
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:537,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:555,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:567,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:570,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:573,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:575,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:578,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:579,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:585,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:587,1
    - Dst: ChangeWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:597,1
    - Dst: ChangeWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:601,1
    - Dst: ChangeWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:608,1
    - Dst: ChangeWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:610,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:659,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:659,1
    - Dst: ApplySpecialAttribute2
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:666,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:669,1
    CyclomaticComplexity: 158
    EdgeCount: 158
    ICount: 422
    argCount: 8
    argNames:
    - tr
    - word_start
    - wtab
    - word_out
    - any_stressed_words
    - current_alphabet
    - word_phonemes
    - size_word_phonemes
    argTypes:
    - Translator*
    - char*
    - WORD_TAB*
    - char*
    - bool*
    - ALPHABET*
    - char[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 671
    functionName: TranslateWord3
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 0
    functionsReached:
    - DecodePhonemes
    - strncpy0
    - IsSuperscript
    - memset
    - LookupDictList
    - Lookup
    - strcat
    - ChangeWordStress
    - fprintf
    - AlphabetFromChar
    - addPluralSuffixes
    - IsAlpha
    - TranslateNumber
    - RemoveEnding
    - strcmp
    - TranslateRoman
    - AppendPhonemes
    - snprintf
    - L
    - Unpronouncable
    - CheckDottedAbbrev
    - iswalpha
    - SpeakIndividualLetters
    - memcpy
    - iswdigit
    - SetWordStress
    - TranslateLetter
    - TranslateRules
    - utf8_in
    - SetSpellingStress
    - strlen
    - ApplySpecialAttribute2
    - strcpy
    - sprintf
    linkageType: ''
    returnType: int
    signature: int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab,
      char *word_out, bool *any_stressed_words, ALPHABET *current_alphabet, char word_phonemes[],
      size_t size_word_phonemes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:680,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:688,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:689,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:690,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:691,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:693,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:694,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:695,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - tr
    - phonemes
    - dict_flags
    argTypes:
    - Translator*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 702
    functionName: ApplySpecialAttribute2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - strlen
    - PhonemeCode
    linkageType: ''
    returnType: void
    signature: void ApplySpecialAttribute2(Translator *tr, char *phonemes, int dict_flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:715,1
    - Dst: GetVowelStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - tr
    - word
    - new_stress
    argTypes:
    - Translator*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 747
    functionName: ChangeWordStress
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - GetVowelStress
    - strcpy
    linkageType: ''
    returnType: void
    signature: void ChangeWordStress(Translator *tr, char *word, int new_stress)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TranslateLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:761,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:766,1
    - Dst: SetSpellingStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - tr
    - word
    - phonemes
    - spell_word
    - current_alphabet
    - word_phonemes
    argTypes:
    - Translator*
    - char*
    - char*
    - int
    - ALPHABET*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 772
    functionName: SpeakIndividualLetters
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - SetSpellingStress
    - strcpy
    - TranslateLetter
    linkageType: ''
    returnType: char
    signature: char *SpeakIndividualLetters(Translator *tr, char *word, char *phonemes,
      int spell_word, const ALPHABET *current_alphabet, char word_phonemes[])
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:814,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:821,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:822,1
    - Dst: towlower2
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:824,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:825,1
    - Dst: IsSuperscript
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:830,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:836,1
    - Dst: SetTranslator3
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:838,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:839,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:843,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:851,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:855,1
    - Dst: NonAsciiNumber
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:860,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:862,1
    - Dst: AlphabetFromChar
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:867,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:880,1
    - Dst: SetTranslator3
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:882,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:883,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:886,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:894,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:895,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:913,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:915,1
    - Dst: SetTranslator3
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:922,1
    - Dst: WordToString2
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:922,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:934,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:936,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:937,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:941,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:942,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:944,1
    - Dst: SetTranslator3
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:948,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:949,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:952,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:957,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:970,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:971,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:973,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:974,1
    - Dst: EncodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:977,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:997,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1003,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1005,1
    - Dst: EncodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1008,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1011,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1015,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1018,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1020,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1021,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1022,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 157
    argCount: 5
    argNames:
    - tr
    - word
    - phonemes
    - control
    - current_alphabet
    argTypes:
    - Translator*
    - char*
    - char*
    - int
    - ALPHABET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 1024
    functionName: TranslateLetter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 2
    functionsReached:
    - IsSuperscript
    - iswspace
    - Lookup
    - strcat
    - SelectPhonemeTable
    - EncodePhonemes
    - AlphabetFromChar
    - towlower2
    - WordToString2
    - L
    - iswupper
    - SetTranslator3
    - NonAsciiNumber
    - utf8_out
    - iswalpha
    - SetWordStress
    - TranslateRules
    - LookupLetter
    - utf8_in
    - strlen
    - strcpy
    - sprintf
    linkageType: ''
    returnType: int
    signature: int TranslateLetter(Translator *tr, char *word, char *phonemes, int
      control, const ALPHABET *current_alphabet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1035,1
    - Dst: strchr_w
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1037,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1038,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - flags
    - tr
    - last_char
    - word_phonemes
    argTypes:
    - int
    - Translator*
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1044
    functionName: addPluralSuffixes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - TranslateRules
    - strchr_w
    linkageType: ''
    returnType: void
    signature: void addPluralSuffixes(int flags, Translator *tr, char last_char, char
      *word_phonemes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1060,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1061,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1091,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - word1
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1097
    functionName: CheckDottedAbbrev
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - memcpy
    - utf8_in
    - IsAlpha
    linkageType: ''
    returnType: int
    signature: int CheckDottedAbbrev(char *word1)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - letter
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1112
    functionName: NonAsciiNumber
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NonAsciiNumber(int letter)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1129,1
    - Dst: AlphabetFromChar
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1135,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1149,1
    - Dst: IsVowel
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1164,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1169,1
    - Dst: Unpronouncable2
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1175,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 3
    argNames:
    - tr
    - word
    - posn
    argTypes:
    - Translator*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1185
    functionName: Unpronouncable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - AlphabetFromChar
    - utf8_in
    - iswalpha
    - IsVowel
    - Unpronouncable2
    linkageType: ''
    returnType: int
    signature: int Unpronouncable(Translator *tr, char *word, int posn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/translateword.c:1196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tr
    - word
    argTypes:
    - Translator*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1201
    functionName: Unpronouncable2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translateword.c
    functionUses: 1
    functionsReached:
    - TranslateRules
    linkageType: ''
    returnType: int
    signature: int Unpronouncable2(Translator *tr, char *word)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/error.c:39,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/error.c:41,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/error.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - context
    - status
    - filename
    argTypes:
    - espeak_ng_ERROR_CONTEXT*
    - espeak_ng_STATUS
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: create_file_error_context
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/error.c
    functionUses: 3
    functionsReached:
    - malloc
    - strdup
    - free
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS create_file_error_context(espeak_ng_ERROR_CONTEXT
      *context,\n                          espeak_ng_STATUS status,\n                          const
      char *filename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/error.c:61,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/error.c:63,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/error.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - context
    - path_home
    - version
    - expected_version
    argTypes:
    - espeak_ng_ERROR_CONTEXT*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: create_version_mismatch_error_context
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/error.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - free
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS create_version_mismatch_error_context(espeak_ng_ERROR_CONTEXT
      *context,\n                                      const char *path_home,\n                                      int
      version,\n                                      int expected_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/error.c:81,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/error.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: espeak_ng_ClearErrorContext
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/error.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_ClearErrorContext(espeak_ng_ERROR_CONTEXT *context)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:95,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:98,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:101,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:104,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:107,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:110,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:113,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:116,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:119,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:122,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:125,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:128,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:131,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:134,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/error.c:137,1
    - Dst: strerror_r
      Src: /src/espeak-ng/src/libespeak-ng/error.c:141,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/error.c:143,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - status
    - buffer
    - length
    argTypes:
    - espeak_ng_STATUS
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 146
    functionName: espeak_ng_GetStatusCodeMessage
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/error.c
    functionUses: 1
    functionsReached:
    - snprintf
    - strncpy0
    - strerror_r
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: "ESPEAK_NG_API espeak_ng_GetStatusCodeMessage(espeak_ng_STATUS status,\n
      \                              char *buffer,\n                               size_t
      length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_GetStatusCodeMessage
      Src: /src/espeak-ng/src/libespeak-ng/error.c:154,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/error.c:159,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/error.c:162,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/error.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - status
    - out
    - context
    argTypes:
    - espeak_ng_STATUS
    - FILE*
    - espeak_ng_ERROR_CONTEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: espeak_ng_PrintStatusCodeMessage
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/error.c
    functionUses: 2
    functionsReached:
    - fprintf
    - espeak_ng_GetStatusCodeMessage
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: "ESPEAK_NG_API espeak_ng_PrintStatusCodeMessage(espeak_ng_STATUS status,\n
      \                                FILE *out,\n                                 espeak_ng_ERROR_CONTEXT
      context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:98,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:106,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:107,1
    - Dst: strstr
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - size
    - f_in
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: fgets_strip
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strlen
    - isspace
    - fgets
    - strstr
    linkageType: ''
    returnType: char
    signature: char *fgets_strip(char *buf, int size, FILE *f_in)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - voice
    - tone_pts
    argTypes:
    - voice_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: SetToneAdjust
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetToneAdjust(voice_t *voice, int *tone_pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string
    - tone_pts
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: ReadTonePoints
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: void
    signature: void ReadTonePoints(char *string, int *tone_pts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fgets_strip
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:187,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:189,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:194,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:197,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:198,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:204,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:205,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:210,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:216,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:218,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:221,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:226,1
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:231,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:231,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:231,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:235,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:238,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:243,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 3
    argNames:
    - f_in
    - fname
    - is_language_file
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 253
    functionName: ReadVoiceFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - calloc
    - strncpy0
    - LookupMnem
    - strlen
    - sscanf
    - isspace
    - iswspace
    - strcpy
    - memcpy
    - fprintf
    - fgets_strip
    linkageType: ''
    returnType: espeak_VOICE
    signature: espeak_VOICE *ReadVoiceFile(FILE *f_in, const char *fname, int is_language_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:281,1
    - Dst: InitBreath
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:287,1
    - Dst: SetToneAdjust
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:305,1
    - Dst: LoadMbrolaTable
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - tone_only
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 321
    functionName: VoiceReset
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - LoadMbrolaTable
    - InitBreath
    - SetToneAdjust
    - memset
    linkageType: ''
    returnType: void
    signature: void VoiceReset(int tone_only)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 355
    functionName: VoiceFormant
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: void
    signature: void VoiceFormant(char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:365,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:366,1
    - Dst: LookupPhonemeString
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:370,1
    - Dst: LookupPhonemeString
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 376
    functionName: PhonemeReplacement
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strcpy
    - LookupPhonemeString
    - sscanf
    linkageType: ''
    returnType: void
    signature: void PhonemeReplacement(char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:381,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data_in
    - data
    argTypes:
    - char*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: Read8Numbers
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - memset
    - sscanf
    linkageType: ''
    returnType: int
    signature: int Read8Numbers(char *data_in, int data[8])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:392,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:394,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:399,1
    - Dst: LookupMnemName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:399,1
    - Dst: isalnum
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - p
    - flags
    - maxValue
    - keyword_tab
    - key
    argTypes:
    - char*
    - int*
    - int
    - MNEM_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 404
    functionName: ReadNumbers
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - atoi
    - LookupMnemName
    - isspace
    - isalnum
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ReadNumbers(char *p, int *flags, int maxValue,  const MNEM_TAB
      *keyword_tab, int key)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:446,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:447,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:448,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:455,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:457,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:458,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:462,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:465,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:466,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:468,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:469,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:470,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:474,1
    - Dst: SelectPhonemeTableName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:485,1
    - Dst: DeleteTranslator
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:490,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:494,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:495,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:499,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:508,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:510,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:511,1
    - Dst: VoiceReset
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:513,1
    - Dst: fgets_strip
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:515,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:517,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:522,1
    - Dst: LoadLanguageOptions
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:525,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:527,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:541,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:542,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:545,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:550,1
    - Dst: strtok
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:556,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:558,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:559,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:560,1
    - Dst: SelectPhonemeTableName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:561,1
    - Dst: SelectTranslator
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:563,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:564,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:570,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:571,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:578,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:579,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:584,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:587,1
    - Dst: VoiceFormant
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:590,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:594,1
    - Dst: SelectPhonemeTableName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:609,1
    - Dst: PhonemeReplacement
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:612,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:619,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:622,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:626,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:630,1
    - Dst: ReadTonePoints
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:641,1
    - Dst: SetToneAdjust
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:642,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:646,1
    - Dst: Read8Numbers
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:650,1
    - Dst: Read8Numbers
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:657,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:660,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:663,1
    - Dst: SetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:664,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:672,1
    - Dst: LoadMbrolaTable
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:673,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:675,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:676,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:685,1
    - Dst: Read8Numbers
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:691,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:696,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:700,1
    - Dst: SetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:701,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:708,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:714,1
    - Dst: SelectTranslator
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:718,1
    - Dst: SelectPhonemeTableName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:730,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:731,1
    - Dst: LoadDictionary
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:739,1
    - Dst: DeleteTranslator
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:741,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 237
    argCount: 2
    argNames:
    - vname
    - control
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 751
    functionName: LoadVoice
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 1
    functionsReached:
    - strncpy0
    - DeleteTranslator
    - MAKE_MEM_UNDEFINED
    - LoadDictionary
    - PhonemeReplacement
    - strcat
    - fprintf
    - espeak_ng_PrintStatusCodeMessage
    - SelectTranslator
    - ReadTonePoints
    - SelectPhonemeTableName
    - strcmp
    - strtok
    - LookupMnem
    - LoadMbrolaTable
    - fopen
    - sscanf
    - GetFileLength
    - fclose
    - SetToneAdjust
    - VoiceReset
    - LoadLanguageOptions
    - VoiceFormant
    - strlen
    - strchr
    - Read8Numbers
    - isspace
    - strcpy
    - SetSpeed
    - sprintf
    - fgets_strip
    linkageType: ''
    returnType: voice_t
    signature: voice_t *LoadVoice(const char *vname, int control)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:761,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:763,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:769,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:773,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:774,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:777,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:784,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - vname
    - variant_num
    - add_dir
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 790
    functionName: ExtractVoiceVariantName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - atoi
    - MAKE_MEM_UNDEFINED
    - IsDigit09
    - strchr
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *ExtractVoiceVariantName(char *vname, int variant_num, int add_dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:801,1
    - Dst: ExtractVoiceVariantName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:802,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:804,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vname
    - variant_num
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 810
    functionName: LoadVoiceVariant
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - LoadVoice
    - strncpy0
    - ExtractVoiceVariantName
    linkageType: ''
    returnType: voice_t
    signature: voice_t *LoadVoiceVariant(const char *vname, int variant_num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:818,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 823
    functionName: VoiceNameSorter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int VoiceNameSorter(const void *p1, const void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 834
    functionName: VoiceScoreSorter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int VoiceScoreSorter(const void *p1, const void *p2)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:846,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:854,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:912,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:915,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 76
    argCount: 5
    argNames:
    - voice_spec
    - spec_language
    - spec_n_parts
    - spec_lang_len
    - voice
    argTypes:
    - espeak_VOICE*
    - char*
    - int
    - int
    - espeak_VOICE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 953
    functionName: ScoreVoice
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ScoreVoice(espeak_VOICE *voice_spec, const char *spec_language,
      int spec_n_parts, int spec_lang_len, espeak_VOICE *voice)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:969,1
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:971,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:977,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:983,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:984,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:997,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1000,1
    - Dst: ScoreVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1005,1
    - Dst: qsort
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1016,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 3
    argNames:
    - voice_select
    - voices
    - control
    argTypes:
    - espeak_VOICE*
    - espeak_VOICE**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1019
    functionName: SetVoiceScores
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strlen
    - ScoreVoice
    - tolower
    - GetFileLength
    - qsort
    - sprintf
    - memcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices,
      int control)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1034,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1038,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1040,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1041,1
    - Dst: strcasecmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1044,1
    - Dst: strcasecmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1049,1
    - Dst: strcasecmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1051,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1051,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - voices
    - name2
    argTypes:
    - espeak_VOICE**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1066
    functionName: SelectVoiceByName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - espeak_ListVoices
    - strlen
    - strcasecmp
    - sprintf
    linkageType: ''
    returnType: espeak_VOICE
    signature: espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name2)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1090,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1091,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1094,1
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1097,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1108,1
    - Dst: ExtractVoiceVariantName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1109,1
    - Dst: SelectVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1111,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1117,1
    - Dst: SetVoiceScores
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1127,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1128,1
    - Dst: SelectVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1133,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1173,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1183,1
    - Dst: ExtractVoiceVariantName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1194,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1195,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 2
    argNames:
    - voice_select
    - found
    argTypes:
    - espeak_VOICE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1200
    functionName: SelectVoice
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - espeak_ListVoices
    - MAKE_MEM_UNDEFINED
    - strncmp
    - SelectVoiceByName
    - ExtractVoiceVariantName
    - memcpy
    - sprintf
    - SetVoiceScores
    linkageType: ''
    returnType: char
    signature: char *SelectVoice(espeak_VOICE *voice_select, int *found)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1211,1
    - Dst: FindFirstFileA
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1212,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1218,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1223,1
    - Dst: AddToVoicesList
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1224,1
    - Dst: FindNextFileA
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1228,1
    - Dst: FindClose
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1229,1
    - Dst: opendir
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1234,1
    - Dst: readdir
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1237,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1239,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1246,1
    - Dst: AddToVoicesList
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1247,1
    - Dst: closedir
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1252,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - path
    - len_path_voices
    - is_language_file
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1254
    functionName: GetVoices
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - AddToVoicesList
    - readdir
    - FindFirstFileA
    - closedir
    - opendir
    - sprintf
    - fprintf
    - FindClose
    - FindNextFileA
    linkageType: ''
    returnType: void
    signature: void GetVoices(const char *path, int len_path_voices, int is_language_file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1265,1
    - Dst: ExtractVoiceVariantName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1267,1
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1271,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1275,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1281,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1283,1
    - Dst: DoVoiceChange
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1285,1
    - Dst: SetVoiceStack
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1258
    functionDepth: 4
    functionLinenumber: 1258
    functionLinenumberEnd: 1292
    functionName: espeak_ng_STATUS::espeak_ng_SetVoiceByFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - memset
    - tolower
    - SetVoiceStack
    - ExtractVoiceVariantName
    - LoadVoice
    - DoVoiceChange
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetVoiceByFile(const char
      *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1302,1
    - Dst: ExtractVoiceVariantName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1304,1
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1308,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1312,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1318,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1320,1
    - Dst: DoVoiceChange
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1322,1
    - Dst: SetVoiceStack
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1324,1
    - Dst: espeak_ListVoices
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1329,1
    - Dst: SelectVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1331,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1332,1
    - Dst: LoadVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1334,1
    - Dst: DoVoiceChange
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1335,1
    - Dst: SetVoiceStack
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1294
    functionDepth: 4
    functionLinenumber: 1294
    functionLinenumberEnd: 1342
    functionName: espeak_ng_STATUS::espeak_ng_SetVoiceByName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - memset
    - espeak_ListVoices
    - tolower
    - SetVoiceStack
    - SelectVoiceByName
    - ExtractVoiceVariantName
    - LoadVoice
    - DoVoiceChange
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetVoiceByName(const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SelectVoice
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1349,1
    - Dst: LoadVoiceVariant
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1353,1
    - Dst: DoVoiceChange
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1354,1
    - Dst: SetVoiceStack
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - voice_selector
    argTypes:
    - espeak_VOICE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1344
    functionDepth: 5
    functionLinenumber: 1344
    functionLinenumberEnd: 1358
    functionName: espeak_ng_STATUS::espeak_ng_SetVoiceByProperties
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - SelectVoice
    - SetVoiceStack
    - LoadVoiceVariant
    - DoVoiceChange
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetVoiceByProperties(espeak_VOICE
      *voice_selector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1372
    functionName: FreeVoiceList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void FreeVoiceList(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FreeVoiceList
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1384,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1386,1
    - Dst: GetVoices
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1387,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1387,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1389,1
    - Dst: GetVoices
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1390,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1390,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1393,1
    - Dst: qsort
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1399,1
    - Dst: SetVoiceScores
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1404,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1412,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1419
    functionName: espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached:
    - realloc
    - GetVoices
    - FreeVoiceList
    - strlen
    - qsort
    - sprintf
    - memcmp
    - strcmp
    - SetVoiceScores
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1424
    functionName: espeak_VOICE *espeak_GetCurrentVoice(void)
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_VOICE *espeak_GetCurrentVoice(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1429,1
    - Dst: GetVoices
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1433,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1437,1
    - Dst: ReadVoiceFile
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1442,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/voices.c:1443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - fname
    - len_path_voices
    - is_language_file
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1449
    functionName: AddToVoicesList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/voices.c
    functionUses: 1
    functionsReached:
    - GetVoices
    - fopen
    - GetFileLength
    - fclose
    - ReadVoiceFile
    linkageType: ''
    returnType: int
    signature: int AddToVoicesList(const char *fname, int len_path_voices, int is_language_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: AlphabetFromChar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ALPHABET
    signature: ALPHABET *AlphabetFromChar(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tr
    - c
    argTypes:
    - Translator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: SetLetterVowel
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLetterVowel(Translator *tr, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tr
    - groups
    argTypes:
    - Translator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: ResetLetterBits
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetLetterBits(Translator *tr, int groups)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tr
    - group
    - string
    argTypes:
    - Translator*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: SetLetterBits
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLetterBits(Translator *tr, int group, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - tr
    - group
    - first
    - last
    argTypes:
    - Translator*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: SetLetterBitsRange
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLetterBitsRange(Translator *tr, int group, int first, int last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tr
    - group
    - letters
    - offset
    argTypes:
    - Translator*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: SetLetterBitsUTF8
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached:
    - utf8_in
    linkageType: ''
    returnType: void
    signature: void SetLetterBitsUTF8(Translator *tr, int group, const char *letters,
      int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:245,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:272,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:273,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:277,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:278,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:279,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:280,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:281,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:282,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:283,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:284,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:294,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:310,1
    - Dst: SetLengthMods
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:314,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:338,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 343
    functionName: NewTranslator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached:
    - L
    - memset
    - SetLetterBits
    - SetLengthMods
    - malloc
    - memcpy
    linkageType: ''
    returnType: Translator
    signature: Translator *NewTranslator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:397,1
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:398,1
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:399,1
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:400,1
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:401,1
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:402,1
    - Dst: SetLetterBitsUTF8
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 404
    functionName: SetArabicLetters
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached:
    - SetLetterBitsUTF8
    linkageType: ''
    returnType: void
    signature: void SetArabicLetters(Translator *tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:423,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:424,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:425,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:426,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:427,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:428,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:429,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:430,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 432
    functionName: SetCyrillicLetters
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached:
    - SetLetterBits
    - memset
    linkageType: ''
    returnType: void
    signature: void SetCyrillicLetters(Translator *tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:441,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:442,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:443,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:444,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:446,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:447,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:449,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:450,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:452,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:453,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 458
    functionName: SetIndicLetters
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached:
    - SetLetterBits
    - SetLetterBitsRange
    - memset
    linkageType: ''
    returnType: void
    signature: void SetIndicLetters(Translator *tr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:463,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tr
    - lengths
    - amps
    argTypes:
    - Translator*
    - short*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: SetupTranslator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SetupTranslator(Translator *tr, const short *lengths, const unsigned
      char *amps)
  - BBCount: 123
    BranchProfiles: []
    Callsites:
    - Dst: NewTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:486,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:487,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:495,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:496,1
    - Dst: L4
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:497,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:498,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:499,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:500,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:501,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:502,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:507,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:510,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:516,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:522,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:524,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:533,1
    - Dst: SetArabicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:541,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:543,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:548,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:557,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:572,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:573,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:574,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:575,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:577,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:585,1
    - Dst: SetCyrillicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:587,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:588,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:598,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:599,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:600,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:606,1
    - Dst: SetIndicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:612,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:613,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:614,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:615,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:620,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:627,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:633,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:638,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:651,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:652,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:655,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:658,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:662,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:666,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:670,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:679,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:683,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:686,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:695,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:698,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:699,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:711,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:717,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:718,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:719,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:720,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:721,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:722,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:734,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:740,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:746,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:759,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:760,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:761,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:762,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:763,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:769,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:784,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:788,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:791,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:796,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:804,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:808,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:814,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:842,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:845,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:850,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:853,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:864,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:866,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:874,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:877,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:885,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:892,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:893,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:903,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:909,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:910,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:911,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:912,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:913,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:914,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:919,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:929,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:931,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:932,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:935,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:936,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:940,1
    - Dst: SetIndicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:942,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:945,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:946,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:947,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:953,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:955,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:956,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:958,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:972,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:973,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:976,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:981,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:986,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1000,1
    - Dst: SetLengthMods
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1002,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1005,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1015,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1019,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1020,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1021,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1022,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1023,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1024,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1030,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1036,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1050,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1051,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1056,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1063,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1068,1
    - Dst: ResetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1074,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1075,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1076,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1078,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1083,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1087,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1102,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1105,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1110,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1115,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1120,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1127,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1128,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1129,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1130,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1131,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1141,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1144,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1150,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1151,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1152,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1153,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1155,1
    - Dst: SetLengthMods
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1164,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1167,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1169,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1175,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1182,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1183,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1184,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1185,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1195,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1200,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1209,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1212,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1224,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1237,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1238,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1243,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1253,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1263,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1273,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1281,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1290,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1295,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1298,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1302,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1304,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1308,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1313,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1320,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1325,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1335,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1338,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1343,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1351,1
    - Dst: ResetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1352,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1353,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1358,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1363,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1373,1
    - Dst: Translator_Russian
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1374,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1376,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1377,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1381,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1396,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1399,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1400,1
    - Dst: ResetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1401,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1402,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1405,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1407,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1415,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1416,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1417,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1419,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1421,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1430,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1444,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1449,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1456,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1462,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1467,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1471,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1476,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1480,1
    - Dst: SetLetterVowel
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1483,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1488,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1489,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1494,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1506,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1507,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1508,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1509,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1511,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1519,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1520,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1525,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1527,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1532,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1535,1
    - Dst: SetIndicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1540,1
    - Dst: SetLetterBitsRange
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1541,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1544,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1545,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1550,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1558,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1565,1
    - Dst: SetCyrillicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1567,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1568,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1574,1
    - Dst: Translator_Russian
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1576,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1579,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1580,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1588,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1608,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1621,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1629,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1635,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1636,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1637,1
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1642,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1655,1
    - Dst: ProcessLanguageOptions
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1669,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 850
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 1671
    functionName: SelectTranslator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 1
    functionsReached:
    - SetIndicLetters
    - L
    - memset
    - SetLetterBits
    - NewTranslator
    - SetLetterVowel
    - Translator_Russian
    - SetLengthMods
    - ProcessLanguageOptions
    - SetArabicLetters
    - strcpy
    - ResetLetterBits
    - L4
    - L3
    - SetupTranslator
    - memcpy
    - SetLetterBitsRange
    - SetCyrillicLetters
    linkageType: ''
    returnType: Translator
    signature: Translator *SelectTranslator(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - langopts
    argTypes:
    - LANGUAGE_OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1682
    functionName: ProcessLanguageOptions
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProcessLanguageOptions(LANGUAGE_OPTIONS *langopts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetupTranslator
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1690,1
    - Dst: SetCyrillicLetters
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1691,1
    - Dst: SetLetterBits
      Src: /src/espeak-ng/src/libespeak-ng/tr_languages.c:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1704
    functionName: Translator_Russian
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/tr_languages.c
    functionUses: 1
    functionsReached:
    - SetupTranslator
    - SetLetterBits
    - SetCyrillicLetters
    linkageType: ''
    returnType: void
    signature: void Translator_Russian(Translator *tr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/espeak-ng/src/libespeak-ng/common.c:47,1
    - Dst: S_ISDIR
      Src: /src/espeak-ng/src/libespeak-ng/common.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: GetFileLength
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 5
    functionsReached:
    - S_ISDIR
    - stat
    linkageType: ''
    returnType: int
    signature: int GetFileLength(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/espeak-ng/src/libespeak-ng/common.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - to
    - from
    - size
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: strncpy0
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 14
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void strncpy0(char *to, const char *from, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in2
      Src: /src/espeak-ng/src/libespeak-ng/common.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - buf
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: utf8_in
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 7
    functionsReached:
    - utf8_in2
    linkageType: ''
    returnType: int
    signature: int utf8_in(int *c, const char *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - buf
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: utf8_out
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_out(unsigned int c, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - c
    - buf
    - backwards
    argTypes:
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 169
    functionName: utf8_in2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_in2(int *c, const char *buf, int backwards)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/common.c:181,1
    - Dst: lookupwchar
      Src: /src/espeak-ng/src/libespeak-ng/common.c:191,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 31
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 224
    functionName: IsAlpha
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 2
    functionsReached:
    - lookupwchar
    - iswalpha
    linkageType: ''
    returnType: int
    signature: int IsAlpha(unsigned int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookupwchar
      Src: /src/espeak-ng/src/libespeak-ng/common.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: IsBracket
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached:
    - lookupwchar
    linkageType: ''
    returnType: int
    signature: int IsBracket(int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: IsDigit09
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsDigit09(unsigned int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/common.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: IsDigit
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached:
    - iswdigit
    linkageType: ''
    returnType: int
    signature: int IsDigit(unsigned int c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/common.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: IsSpace
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached:
    - iswspace
    linkageType: ''
    returnType: int
    signature: int IsSpace(unsigned int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: isspace2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isspace2(unsigned int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/common.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: is_str_totally_null
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int is_str_totally_null(const char* str, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/espeak-ng/src/libespeak-ng/common.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: Read4Bytes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 2
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int Read4Bytes(FILE *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: StringToWord
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int StringToWord(const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/libespeak-ng/common.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - c
    - translator
    argTypes:
    - unsigned int
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: towlower2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 1
    functionsReached:
    - ucd_tolower
    linkageType: ''
    returnType: int
    signature: int towlower2(unsigned int c, Translator *translator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: espeak_rand
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long espeak_rand(long min, long max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_rand
      Src: /src/espeak-ng/src/libespeak-ng/common.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: espeak_srand
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached:
    - espeak_rand
    linkageType: ''
    returnType: void
    signature: void espeak_srand(long seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_srand
      Src: /src/espeak-ng/src/libespeak-ng/common.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: espeak_ng_STATUS::espeak_ng_SetRandSeed
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/common.c
    functionUses: 0
    functionsReached:
    - espeak_srand
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: 'ESPEAK_NG_API espeak_ng_STATUS

      espeak_ng_SetRandSeed(long seed)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DoSonicSpeed
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:165,1
    - Dst: DoSonicSpeed
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:182,1
    - Dst: SetSpeedMultiplier
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:199,1
    - Dst: SetSpeedFactors
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:202,1
    - Dst: SetSpeedMods
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:206,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - control
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 208
    functionName: SetSpeed
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 1
    functionsReached:
    - SetSpeedMultiplier
    - DoSonicSpeed
    - SetSpeedFactors
    - SetSpeedMods
    linkageType: ''
    returnType: void
    signature: void SetSpeed(int control)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - x
    - wpm
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: SetSpeedMultiplier
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpeedMultiplier(int *x, int *wpm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - voice
    - x
    - speeds
    argTypes:
    - voice_t*
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: SetSpeedFactors
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpeedFactors(voice_t *voice, int x, int speeds[3])
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - speed
    - voiceSpeedF1
    - wpm
    - x
    argTypes:
    - SPEED_FACTORS*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 288
    functionName: SetSpeedMods
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpeedMods(SPEED_FACTORS *speed, int voiceSpeedF1, int wpm,
      int x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:313,1
    - Dst: GetAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - parameter
    - value
    - relative
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 345
    functionName: SetParameter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 3
    functionsReached:
    - SetSpeed
    - GetAmplitude
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS SetParameter(int parameter, int value, int relative)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetEmbedded
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:358,1
    - Dst: SetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - embix
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: DoEmbedded2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 0
    functionsReached:
    - SetSpeed
    - SetEmbedded
    linkageType: ''
    returnType: void
    signature: void DoEmbedded2(int *embix)
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: DoEmbedded2
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:407,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:671,1
    - Dst: InterpretPhoneme2
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:680,1
    - Dst: GetEnvelope
      Src: /src/espeak-ng/src/libespeak-ng/setlengths.c:681,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 263
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 740
    functionName: CalcLengths
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 0
    functionsReached:
    - DoEmbedded2
    - fprintf
    - GetEnvelope
    - InterpretPhoneme2
    linkageType: ''
    returnType: void
    signature: void CalcLengths(Translator *tr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tr
    - value
    argTypes:
    - Translator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 806
    functionName: SetLengthMods
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/setlengths.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLengthMods(Translator *tr, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:199,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:200,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: clean_context
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 2
    functionsReached:
    - memcpy
    - free
    linkageType: ''
    returnType: void
    signature: void clean_context(CompileContext *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:217,1
    - Dst: LookupMnemName
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:217,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:218,1
    - Dst: LookupMnemName
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:224,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:225,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - flags
    - buf
    - buf_len
    argTypes:
    - unsigned int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 233
    functionName: print_dictionary_flags
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - LookupMnemName
    - strlen
    - sprintf
    linkageType: ''
    returnType: void
    signature: void print_dictionary_flags(unsigned int *flags, char *buf, int buf_len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:273,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:295,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:296,1
    - Dst: LookupMnemName
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:318,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:319,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:320,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:329,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:333,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:333,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:336,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:337,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:368,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:372,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:373,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:375,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:386,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:387,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 116
    argCount: 5
    argNames:
    - group_chars
    - group_length
    - rule
    - control
    - output
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 392
    functionName: DecodeRule
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - LookupMnemName
    - strlen
    - strcpy
    - strcat
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *DecodeRule(const char *group_chars, int group_length, char *rule,
      int control, char *output)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:448,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:452,1
    - Dst: isalnum
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:460,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:463,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:466,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:477,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:492,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:499,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:504,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:518,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:525,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:534,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:540,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:547,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:565,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:569,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:571,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:576,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:580,1
    - Dst: EncodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:582,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:583,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:589,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:590,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:598,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:600,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:610,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:613,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:614,1
    - Dst: towlower2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:614,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:623,1
    - Dst: TransposeAlphabet
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:626,1
    - Dst: HashDictionary
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:628,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:629,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:634,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:643,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:645,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:659,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:666,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 204
    argCount: 5
    argNames:
    - ctx
    - linebuf
    - dict_line
    - n_dict_line
    - hash
    argTypes:
    - CompileContext*
    - char*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 673
    functionName: compile_line
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - TransposeAlphabet
    - strcat
    - fprintf
    - EncodePhonemes
    - towlower2
    - HashDictionary
    - LookupMnem
    - iswupper
    - IsDigit09
    - TranslateWord
    - sscanf
    - utf8_out
    - memcpy
    - utf8_in
    - strlen
    - strchr
    - isspace2
    - isalnum
    - strcpy
    linkageType: ''
    returnType: int
    signature: int compile_line(CompileContext *ctx, char *linebuf, char *dict_line,
      int n_dict_line, int *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:685,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CompileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 691
    functionName: compile_dictlist_start
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    linkageType: ''
    returnType: void
    signature: void compile_dictlist_start(CompileContext *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:705,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:706,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - f_out
    argTypes:
    - CompileContext*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 710
    functionName: compile_dictlist_end
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - fwrite
    - memcpy
    - fputc
    linkageType: ''
    returnType: void
    signature: void compile_dictlist_end(CompileContext *ctx, FILE *f_out)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:726,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:727,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:728,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:729,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:734,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:738,1
    - Dst: compile_line
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:741,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:744,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:747,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:753,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:756,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:761,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:762,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - path
    - filename
    argTypes:
    - CompileContext*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 764
    functionName: compile_dictlist_file
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - fgets
    - fopen
    - fclose
    - compile_line
    - malloc
    - memcpy
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int compile_dictlist_file(CompileContext *ctx, const char *path, const
      char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 777
    functionName: isHexDigit
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isHexDigit(int c)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:802,1
    - Dst: isHexDigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:812,1
    - Dst: isHexDigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:812,1
    - Dst: isHexDigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:827,1
    - Dst: isHexDigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:827,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:918,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:921,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:936,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:937,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:955,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:965,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1002,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 209
    argCount: 3
    argNames:
    - ctx
    - string
    - state_out
    argTypes:
    - CompileContext*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 1020
    functionName: copy_rule_string
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - strlen
    - IsDigit09
    - isspace2
    - isHexDigit
    - fprintf
    - strncmp
    linkageType: ''
    returnType: void
    signature: void copy_rule_string(CompileContext *ctx, char *string, int *state_out)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: copy_rule_string
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1054,1
    - Dst: copy_rule_string
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1060,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1064,1
    - Dst: copy_rule_string
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1072,1
    - Dst: copy_rule_string
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1078,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1093,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1094,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1098,1
    - Dst: EncodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1104,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1106,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1107,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1110,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1111,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1113,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1114,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1115,1
    - Dst: IsDigit
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1116,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1119,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1123,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1124,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1136,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1139,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1146,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1161,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1166,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1167,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1170,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1171,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 117
    argCount: 2
    argNames:
    - ctx
    - input
    argTypes:
    - CompileContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1173
    functionName: compile_rule
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - EncodePhonemes
    - memcpy
    - atoi
    - strlen
    - utf8_in
    - strcpy
    - utf8_out
    - malloc
    - copy_rule_string
    - IsDigit
    - sprintf
    - fprintf
    - strcmp
    - memcmp
    linkageType: ''
    returnType: char
    signature: char *compile_rule(CompileContext *ctx, char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1180,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1182,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1183,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1185
    functionName: string_sorter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int string_sorter(char **a, char **b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1191,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1191,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - RGROUP*
    - RGROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1196
    functionName: rgroup_sorter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rgroup_sorter(RGROUP *a, RGROUP *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1211,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1213,1
    - Dst: qsort
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1217,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1219,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1224,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1227,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1232,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1234,1
    - Dst: memmove
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1235,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1238,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1240,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1246,1
    - Dst: memmove
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1247,1
    - Dst: memmove
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - n_rules
    - rules
    - name
    - outsize
    argTypes:
    - int
    - char**
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1255
    functionName: output_rule_group
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - realloc
    - memmove
    - memset
    - strlen
    - qsort
    - strcmp
    linkageType: ''
    returnType: void
    signature: void * output_rule_group(int n_rules, char **rules, char *name, size_t
      *outsize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1272,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1272,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1273,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1278,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1280,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1285,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1287,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1288,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1289,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1291,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1298,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1318,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1323,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - input
    - f_out
    argTypes:
    - CompileContext*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1326
    functionName: compile_lettergroup
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - atoi
    - IsDigit09
    - isspace2
    - fwrite
    - fputc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int compile_lettergroup(CompileContext *ctx, char *input, FILE *f_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rules
    - n_rules
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1334
    functionName: free_rules
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_rules(char **rules, int n_rules)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1364,1
    - Dst: strstr
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1366,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1376,1
    - Dst: output_rule_group
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1378,1
    - Dst: free_rules
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1383,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1390,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1391,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1397,1
    - Dst: compile_lettergroup
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1398,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1402,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1404,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1405,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1408,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1409,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1412,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1423,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1433,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1439,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1440,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1441,1
    - Dst: compile_rule
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1455,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1461,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1472,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1475,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1478,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1480,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1482,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1485,1
    - Dst: qsort
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1491,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1496,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1499,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1500,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1504,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1505,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1507,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1508,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1511,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1513,1
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1514,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1516,1
    - Dst: free_rules
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1517,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1519,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 135
    argCount: 3
    argNames:
    - ctx
    - f_in
    - f_out
    argTypes:
    - CompileContext*
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1522
    functionName: compile_dictrules
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - fgets
    - fprintf
    - fwrite
    - qsort
    - strcmp
    - compile_rule
    - sscanf
    - free_rules
    - memcmp
    - utf8_in
    - strlen
    - free
    - isspace2
    - ftell
    - strcpy
    - strstr
    - output_rule_group
    - fputc
    - compile_lettergroup
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS compile_dictrules(CompileContext *ctx, FILE *f_in,
      FILE *f_out)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1541,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1545,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1557,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1558,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1559,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1560,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1561,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1562,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1563,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1567,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1568,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1570,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1571,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1572,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1576,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1577,1
    - Dst: compile_dictlist_start
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1579,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1581,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1582,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1584,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1585,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1587,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1588,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1590,1
    - Dst: compile_dictlist_file
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1591,1
    - Dst: compile_dictlist_end
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1593,1
    - Dst: ftell
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1594,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1596,1
    - Dst: compile_dictrules
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1598,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1599,1
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1601,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1602,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1603,1
    - Dst: fflush
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1604,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1607,1
    - Dst: LoadDictionary
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1611,1
    - Dst: clean_context
      Src: /src/espeak-ng/src/libespeak-ng/compiledict.c:1614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 5
    argNames:
    - dsource
    - dict_name
    - log
    - flags
    - context
    argTypes:
    - char*
    - char*
    - FILE*
    - int
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1525
    functionDepth: 4
    functionLinenumber: 1525
    functionLinenumberEnd: 1616
    functionName: espeak_ng_STATUS::espeak_ng_CompileDictionary
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compiledict.c
    functionUses: 0
    functionsReached:
    - compile_dictlist_file
    - clean_context
    - compile_dictlist_start
    - compile_dictrules
    - memset
    - Write4Bytes
    - fseek
    - fflush
    - fopen
    - LoadDictionary
    - ftell
    - compile_dictlist_end
    - fclose
    - fprintf
    - create_file_error_context
    - sprintf
    - calloc
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_CompileDictionary(const char
      *dsource, const char *dict_name, FILE *log, int flags, espeak_ng_ERROR_CONTEXT
      *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/mnemonics.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - table
    - string
    argTypes:
    - MNEM_TAB*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: LookupMnem
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mnemonics.c
    functionUses: 5
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int LookupMnem(const MNEM_TAB *table, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - table
    - value
    argTypes:
    - MNEM_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: LookupMnemName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mnemonics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *LookupMnemName(const MNEM_TAB *table, const int value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:66,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:73,1
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:77,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:79,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:80,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:84,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:88,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:92,1
    - Dst: mkstemp
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:94,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:95,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:97,1
    - Dst: tmpnam
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:97,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:107,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:109,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:112,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:114,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:115,1
    - Dst: fseek
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:117,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:119,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:120,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:122,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:123,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:126,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:128,1
    - Dst: remove
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:130,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:131,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:132,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:134,1
    - Dst: remove
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:136,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - fname
    - index
    - context
    argTypes:
    - char*
    - int
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 142
    functionName: LoadSoundFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/soundicon.c
    functionUses: 0
    functionsReached:
    - realloc
    - fread
    - remove
    - fopen
    - mkstemp
    - free
    - Read4Bytes
    - GetFileLength
    - strcpy
    - fclose
    - create_file_error_context
    - close
    - tmpnam
    - sprintf
    - fseek
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadSoundFile(const char *fname, int index, espeak_ng_ERROR_CONTEXT
      *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LoadSoundFile
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: LookupSoundicon
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/soundicon.c
    functionUses: 0
    functionsReached:
    - LoadSoundFile
    linkageType: ''
    returnType: int
    signature: int LookupSoundicon(int c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:170,1
    - Dst: LoadSoundFile
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:173,1
    - Dst: LoadSoundFile
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:181,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:184,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:184,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/soundicon.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: LoadSoundFile2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/soundicon.c
    functionUses: 0
    functionsReached:
    - realloc
    - LoadSoundFile
    - strlen
    - strcpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int LoadSoundFile2(const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: PhonemeCode2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phoneme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PhonemeCode2(c1, c2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:74,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:114,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 1
    argNames:
    - plist_out
    argTypes:
    - PHONEME_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 120
    functionName: SubstitutePhonemes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phonemelist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SelectPhonemeTable
    linkageType: ''
    returnType: int
    signature: int SubstitutePhonemes(PHONEME_LIST *plist_out)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:149,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:153,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:187,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:212,1
    - Dst: SetRegressiveVoicing
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:216,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:219,1
    - Dst: SubstitutePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:220,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:250,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:273,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:275,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:291,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:299,1
    - Dst: ReInterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:318,1
    - Dst: ReInterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:331,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:373,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:500,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 254
    argCount: 3
    argNames:
    - tr
    - post_pause
    - start_sentence
    argTypes:
    - Translator*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 501
    functionName: MakePhonemeList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phonemelist.c
    functionUses: 0
    functionsReached:
    - SubstitutePhonemes
    - SetRegressiveVoicing
    - memset
    - MAKE_MEM_UNDEFINED
    - strchr
    - InterpretPhoneme
    - ReInterpretPhoneme
    - memcpy
    - SelectPhonemeTable
    linkageType: ''
    returnType: void
    signature: void MakePhonemeList(Translator *tr, int post_pause, bool start_sentence)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:518,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:520,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 60
    argCount: 4
    argNames:
    - regression
    - plist2
    - ph
    - tr
    argTypes:
    - int
    - PHONEME_LIST2*
    - PHONEME_TAB*
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 580
    functionName: SetRegressiveVoicing
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phonemelist.c
    functionUses: 1
    functionsReached:
    - SelectPhonemeTable
    linkageType: ''
    returnType: void
    signature: void SetRegressiveVoicing(int regression, PHONEME_LIST2 *plist2, PHONEME_TAB
      *ph, Translator *tr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/phonemelist.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - ph
    - ph2
    - plist3
    - plist3_start
    - tr
    - phdata
    - worddata
    argTypes:
    - PHONEME_TAB*
    - PHONEME_TAB*
    - PHONEME_LIST*
    - PHONEME_LIST*
    - Translator*
    - PHONEME_DATA*
    - WORD_PH_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 593
    functionName: ReInterpretPhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/phonemelist.c
    functionUses: 1
    functionsReached:
    - InterpretPhoneme
    linkageType: ''
    returnType: void
    signature: void ReInterpretPhoneme(PHONEME_TAB *ph, PHONEME_TAB *ph2, PHONEME_LIST
      *plist3, PHONEME_LIST *plist3_start, Translator *tr, PHONEME_DATA *phdata, WORD_PH_DATA
      *worddata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: MIN
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MIN(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wdata
    argTypes:
    - WGEN_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: needsMixWaveFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needsMixWaveFile(WGEN_DATA *wdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - wdata
    - maxNumSamples
    - sampleBuf
    argTypes:
    - WGEN_DATA*
    - unsigned int
    - sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: mixWaveFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mixWaveFile(WGEN_DATA *wdata, unsigned int maxNumSamples, sample*
      sampleBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: isKlattFrameFollowing
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isKlattFrameFollowing(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 4
    argNames:
    - wdata
    - wvoice
    - eFrame
    - spFrame
    argTypes:
    - WGEN_DATA*
    - voice_t*
    - frame_t*
    - speechPlayer_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: fillSpeechPlayerFrame
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fillSpeechPlayerFrame(WGEN_DATA *wdata, voice_t *wvoice, frame_t
      * eFrame, speechPlayer_frame_t* spFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: speechPlayer_initialize
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: KlattInitSP
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached:
    - speechPlayer_initialize
    linkageType: ''
    returnType: void
    signature: void KlattInitSP(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: speechPlayer_terminate
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: KlattFiniSP
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached:
    - speechPlayer_terminate
    linkageType: ''
    returnType: void
    signature: void KlattFiniSP(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KlattFiniSP
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:107,1
    - Dst: KlattInitSP
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: KlattResetSP
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached:
    - KlattInitSP
    - KlattFiniSP
    linkageType: ''
    returnType: void
    signature: void KlattResetSP(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fillSpeechPlayerFrame
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:114,1
    - Dst: fillSpeechPlayerFrame
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:116,1
    - Dst: MIN
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:118,1
    - Dst: needsMixWaveFile
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:120,1
    - Dst: speechPlayer_queueFrame
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:126,1
    - Dst: isKlattFrameFollowing
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:128,1
    - Dst: speechPlayer_queueFrame
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:133,1
    - Dst: speechPlayer_queueFrame
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:138,1
    - Dst: speechPlayer_queueFrame
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:140,1
    - Dst: speechPlayer_synthesize
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:144,1
    - Dst: mixWaveFile
      Src: /src/espeak-ng/src/libespeak-ng/sPlayer.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 6
    argNames:
    - wdata
    - wvoice
    - length
    - resume
    - fr1
    - fr2
    argTypes:
    - WGEN_DATA*
    - voice_t*
    - int
    - int
    - frame_t*
    - frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: Wavegen_KlattSP
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/sPlayer.c
    functionUses: 0
    functionsReached:
    - speechPlayer_synthesize
    - MIN
    - fillSpeechPlayerFrame
    - needsMixWaveFile
    - mixWaveFile
    - speechPlayer_queueFrame
    - isKlattFrameFollowing
    linkageType: ''
    returnType: int
    signature: int Wavegen_KlattSP(WGEN_DATA *wdata, voice_t *wvoice, int length,
      int resume, frame_t *fr1, frame_t *fr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch
    - ','
    - mod1
    - ','
    - mod2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: LETTER
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LETTER(ch, mod1, mod2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch1
    - ','
    - ch2
    - ','
    - mod1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: LIGATURE
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGATURE(ch1, ch2, mod1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:401,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:405,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:407,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - tr
    - letter
    - ph_buf
    argTypes:
    - Translator*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: LookupLetter2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - TranslateRules
    - Lookup
    - utf8_out
    linkageType: ''
    returnType: int
    signature: int LookupLetter2(Translator *tr, unsigned int letter, char *ph_buf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:453,1
    - Dst: LookupLetter2
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:454,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:456,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:458,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:459,1
    - Dst: LookupLetter2
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:465,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:466,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:469,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:471,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:473,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - tr
    - letter
    - ph_buf
    argTypes:
    - Translator*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 478
    functionName: LookupAccentedLetter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - Lookup
    - LookupLetter2
    - sprintf
    linkageType: ''
    returnType: void
    signature: void LookupAccentedLetter(Translator *tr, unsigned int letter, char
      *ph_buf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:490,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:495,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:499,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:503,1
    - Dst: SetTranslator3
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:506,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:507,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:509,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:511,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:515,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:517,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:518,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:531,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:533,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:534,1
    - Dst: LookupAccentedLetter
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:538,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:540,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - tr
    - letter
    - next_byte
    - ph_buf1
    - control
    argTypes:
    - Translator*
    - unsigned int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 547
    functionName: LookupLetter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 1
    functionsReached:
    - TranslateRules
    - L
    - SetTranslator3
    - LookupAccentedLetter
    - iswspace
    - Lookup
    - utf8_out
    - strcpy
    - SelectPhonemeTable
    - sprintf
    - SetWordStress
    linkageType: ''
    returnType: void
    signature: void LookupLetter(Translator *tr, unsigned int letter, int next_byte,
      char *ph_buf1, int control)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - letter
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: IsSuperscript
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsSuperscript(int letter)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 4
    argNames:
    - tr
    - phonemes
    - control
    - n_chars
    argTypes:
    - Translator*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 686
    functionName: SetSpellingStress
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSpellingStress(Translator *tr, char *phonemes, int control,
      int n_chars)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:702,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:704,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:706,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:714,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:717,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:718,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:720,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 29
    argCount: 5
    argNames:
    - tr
    - word
    - word_end
    - wtab
    - roman
    argTypes:
    - Translator*
    - char*
    - char*
    - WORD_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 738
    functionName: CheckDotOrdinal
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - L
    - utf8_in
    - IsAlpha
    - TranslateWord
    - iswdigit
    linkageType: ''
    returnType: int
    signature: int CheckDotOrdinal(Translator *tr, char *word, char *word_end, WORD_TAB
      *wtab, int roman)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - word
    - thousandplex
    - value
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 754
    functionName: hu_number_e
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hu_number_e(const char *word, int thousandplex, int value)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:782,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:794,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:821,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:831,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:835,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:836,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:838,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:841,1
    - Dst: CheckDotOrdinal
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:848,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:852,1
    - Dst: hu_number_e
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:854,1
    - Dst: TranslateNumber
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:866,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:869,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 78
    argCount: 5
    argNames:
    - tr
    - word
    - ph_out
    - ph_out_end
    - wtab
    argTypes:
    - Translator*
    - char*
    - char*
    - char*
    - WORD_TAB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 872
    functionName: TranslateRoman
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 1
    functionsReached:
    - CheckDotOrdinal
    - L
    - strlen
    - hu_number_e
    - IsDigit09
    - strchr
    - TranslateNumber
    - strcpy
    - Lookup
    - strcat
    - sprintf
    linkageType: ''
    returnType: int
    signature: int TranslateRoman(Translator *tr, char *word, char *ph_out, char *ph_out_end,
      WORD_TAB *wtab)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 917
    functionName: M_Variant
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *M_Variant(int value)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:936,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:937,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:941,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:942,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:946,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:947,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:951,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:952,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:958,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:964,1
    - Dst: M_Variant
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:964,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:965,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:969,1
    - Dst: M_Variant
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:969,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:970,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:974,1
    - Dst: M_Variant
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:974,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:975,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:979,1
    - Dst: M_Variant
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:979,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:981,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:983,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:984,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:986,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:992,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:993,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:994,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1000,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 5
    argNames:
    - tr
    - value
    - thousandplex
    - thousands_exact
    - ph_out
    argTypes:
    - Translator*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 1006
    functionName: LookupThousands
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - M_Variant
    - sprintf
    - Lookup
    linkageType: ''
    returnType: int
    signature: int LookupThousands(Translator *tr, int value, int thousandplex, int
      thousands_exact, char *ph_out)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1051,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1057,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1058,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1059,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1060,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1063,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1066,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1067,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1069,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1073,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1074,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1084,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1085,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1090,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1092,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1093,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1100,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1101,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1111,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1117,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1118,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1123,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1129,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1131,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1132,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1138,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1139,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1148,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1154,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1155,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1159,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1160,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1166,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1167,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1171,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1173,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1174,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1178,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1179,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1188,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1190,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1194,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1200,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1202,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1207,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1217,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1220,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1222,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1229,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1240,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 173
    argCount: 5
    argNames:
    - tr
    - value
    - thousandplex
    - control
    - ph_out
    argTypes:
    - Translator*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1250
    functionName: LookupNum2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - strlen
    - Lookup
    - strcpy
    - strcat
    - sprintf
    linkageType: ''
    returnType: int
    signature: int LookupNum2(Translator *tr, int value, int thousandplex, const int
      control, char *ph_out)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1295,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1300,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1303,1
    - Dst: LookupThousands
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1319,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1323,1
    - Dst: LookupNum2
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1325,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1329,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1331,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1344,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1352,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1353,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1358,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1363,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1370,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1371,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1375,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1376,1
    - Dst: LookupNum2
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1390,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1395,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1405,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1408,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1427,1
    - Dst: LookupNum2
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1435,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1441,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1444,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1448,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 133
    argCount: 6
    argNames:
    - tr
    - value
    - ph_out
    - suppress_null
    - thousandplex
    - control
    argTypes:
    - Translator*
    - int
    - char*
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1451
    functionName: LookupNum3
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - L
    - strlen
    - LookupNum2
    - Lookup
    - strcpy
    - strcat
    - LookupThousands
    - sprintf
    linkageType: ''
    returnType: int
    signature: int LookupNum3(Translator *tr, int value, char *ph_out, bool suppress_null,
      int thousandplex, int control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1459,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1463,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - word
    - group_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1467
    functionName: CheckThousandsGroup
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - IsDigit09
    linkageType: ''
    returnType: bool
    signature: bool CheckThousandsGroup(char *word, int group_len)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1516,1
    - Dst: strtol
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1519,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1529,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1533,1
    - Dst: CheckDotOrdinal
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1544,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1547,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1547,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1552,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1566,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1568,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1569,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1570,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1575,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1576,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1589,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1589,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1599,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1599,1
    - Dst: CheckThousandsGroup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1614,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1635,1
    - Dst: hu_number_e
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1637,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1641,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1643,1
    - Dst: LookupThousands
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1648,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1657,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1658,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1659,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1660,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1665,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1671,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1672,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1674,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1681,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1688,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1689,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1699,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1700,1
    - Dst: LookupNum3
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1708,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1710,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1712,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1720,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1732,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1733,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1736,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1741,1
    - Dst: LookupNum3
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1742,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1742,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1743,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1746,1
    - Dst: LookupNum3
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1754,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1754,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1757,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1758,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1762,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1765,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1768,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1771,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1774,1
    - Dst: LookupNum3
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1782,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1782,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1783,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1786,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1794,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1795,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1798,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1801,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1806,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1806,1
    - Dst: LookupNum2
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1809,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1811,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1815,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1820,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1821,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1824,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1828,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1829,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1830,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1833,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1845,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1847,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1849,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1851,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1852,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1853,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 293
    argCount: 7
    argNames:
    - tr
    - word
    - ph_out
    - ph_out_end
    - flags
    - wtab
    - control
    argTypes:
    - Translator*
    - char*
    - char*
    - char*
    - unsigned int*
    - WORD_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1469
    functionDepth: 3
    functionLinenumber: 1469
    functionLinenumberEnd: 1863
    functionName: TranslateNumber_1
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 0
    functionsReached:
    - LookupDictList
    - Lookup
    - strcat
    - LookupThousands
    - CheckDotOrdinal
    - CheckThousandsGroup
    - LookupNum2
    - strcmp
    - L
    - IsDigit09
    - strtol
    - iswalpha
    - atoi
    - LookupNum3
    - strlen
    - hu_number_e
    - utf8_in
    - isspace
    - strcpy
    - sprintf
    linkageType: ''
    returnType: int
    signature: int TranslateNumber_1(Translator *tr, char *word, char *ph_out, char
      *ph_out_end, unsigned int *flags, WORD_TAB *wtab, int control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TranslateNumber_1
      Src: /src/espeak-ng/src/libespeak-ng/numbers.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 7
    argNames:
    - tr
    - word1
    - ph_out
    - ph_out_end
    - flags
    - wtab
    - control
    argTypes:
    - Translator*
    - char*
    - char*
    - char*
    - unsigned int*
    - WORD_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1865
    functionDepth: 4
    functionLinenumber: 1865
    functionLinenumberEnd: 1873
    functionName: TranslateNumber
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/numbers.c
    functionUses: 2
    functionsReached:
    - TranslateNumber_1
    linkageType: ''
    returnType: int
    signature: int TranslateNumber(Translator *tr, char *word1, char *ph_out, char
      *ph_out_end, unsigned int *flags, WORD_TAB *wtab, int control)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: getrandom
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getrandom(min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - input
    argTypes:
    - resonator_ptr
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: resonator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double resonator(resonator_ptr r, double input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - input
    argTypes:
    - resonator_ptr
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: antiresonator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double antiresonator(resonator_ptr r, double input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:173,1
    - Dst: sin
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:174,1
    - Dst: sin
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - frame
    argTypes:
    - klatt_frame_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: flutter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: void
    signature: void flutter(klatt_frame_ptr frame)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - source_num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 226
    functionName: sampled_source
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double sampled_source(int source_num)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: flutter
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:253,1
    - Dst: gen_noise
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:259,1
    - Dst: impulsive_source
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:278,1
    - Dst: natural_source
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:281,1
    - Dst: sampled_source
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:284,1
    - Dst: sampled_source
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:287,1
    - Dst: pitch_synch_par_reset
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:294,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:300,1
    - Dst: antiresonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:340,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:341,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:342,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:343,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:344,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:345,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:346,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:347,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:348,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:349,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:360,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:361,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:367,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:373,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 106
    argCount: 2
    argNames:
    - frame
    - wdata
    argTypes:
    - klatt_frame_ptr
    - WGEN_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 433
    functionName: parwave
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - antiresonator
    - flutter
    - resonator
    - natural_source
    - sampled_source
    - gen_noise
    - impulsive_source
    - pitch_synch_par_reset
    linkageType: ''
    returnType: int
    signature: int parwave(klatt_frame_ptr frame, WGEN_DATA *wdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KlattResetSP
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:440,1
    - Dst: setabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - control
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 435
    functionDepth: 5
    functionLinenumber: 435
    functionLinenumberEnd: 468
    functionName: KlattReset
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - KlattResetSP
    - setabc
    linkageType: ''
    returnType: void
    signature: void KlattReset(int control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KlattFiniSP
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: KlattFini
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - KlattFiniSP
    linkageType: ''
    returnType: void
    signature: void KlattFini(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:496,1
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:497,1
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:498,1
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:499,1
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:503,1
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:509,1
    - Dst: setabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:514,1
    - Dst: setabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:517,1
    - Dst: setzeroabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:526,1
    - Dst: setzeroabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:527,1
    - Dst: setabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:535,1
    - Dst: setabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - frame
    argTypes:
    - klatt_frame_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 542
    functionName: frame_init
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - DBtoLIN
    - setzeroabc
    - setabc
    linkageType: ''
    returnType: void
    signature: void frame_init(klatt_frame_ptr frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: impulsive_source
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 1
    functionsReached:
    - resonator
    linkageType: ''
    returnType: double
    signature: double impulsive_source(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: natural_source
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double natural_source(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:648,1
    - Dst: DBtoLIN
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:658,1
    - Dst: setabc
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:684,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - frame
    argTypes:
    - klatt_frame_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 726
    functionName: pitch_synch_par_reset
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 1
    functionsReached:
    - DBtoLIN
    - setabc
    linkageType: ''
    returnType: void
    signature: void pitch_synch_par_reset(klatt_frame_ptr frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:742,1
    - Dst: cos
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - f
    - bw
    - rp
    argTypes:
    - long int
    - long int
    - resonator_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 753
    functionName: setabc
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 3
    functionsReached:
    - cos
    - exp
    linkageType: ''
    returnType: void
    signature: void setabc(long int f, long int bw, resonator_ptr rp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:772,1
    - Dst: cos
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - f
    - bw
    - rp
    argTypes:
    - long int
    - long int
    - resonator_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 795
    functionName: setzeroabc
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 1
    functionsReached:
    - cos
    - exp
    linkageType: ''
    returnType: void
    signature: void setzeroabc(long int f, long int bw, resonator_ptr rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - noise
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: gen_noise
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 1
    functionsReached:
    - getrandom
    linkageType: ''
    returnType: double
    signature: double gen_noise(double noise)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dB
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 855
    functionName: DBtoLIN
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DBtoLIN(long dB)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Wavegen_KlattSP
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:867,1
    - Dst: SetSynth_Klatt
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:871,1
    - Dst: frame_init
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:939,1
    - Dst: parwave
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:941,1
    - Dst: parwave
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:953,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 6
    argNames:
    - length
    - resume
    - fr1
    - fr2
    - wdata
    - wvoice
    argTypes:
    - int
    - int
    - frame_t*
    - frame_t*
    - WGEN_DATA*
    - voice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 958
    functionName: Wavegen_Klatt
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - parwave
    - Wavegen_KlattSP
    - SetSynth_Klatt
    - frame_init
    linkageType: ''
    returnType: int
    signature: int Wavegen_Klatt(int length, int resume, frame_t *fr1, frame_t *fr2,
      WGEN_DATA *wdata, voice_t *wvoice)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: KlattReset
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:1008,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:1012,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 5
    argNames:
    - length
    - fr1
    - fr2
    - wvoice
    - control
    argTypes:
    - int
    - frame_t*
    - frame_t*
    - voice_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 960
    functionDepth: 6
    functionLinenumber: 960
    functionLinenumberEnd: 1072
    functionName: SetSynth_Klatt
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 1
    functionsReached:
    - memcpy
    - KlattReset
    linkageType: ''
    returnType: void
    signature: void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t
      *wvoice, int control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KlattInitSP
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:1085,1
    - Dst: KlattReset
      Src: /src/espeak-ng/src/libespeak-ng/klatt.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1074
    functionDepth: 6
    functionLinenumber: 1074
    functionLinenumberEnd: 1124
    functionName: KlattInit
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/klatt.c
    functionUses: 0
    functionsReached:
    - KlattInitSP
    - KlattReset
    linkageType: ''
    returnType: void
    signature: void KlattInit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - SynthCallback
    argTypes:
    - t_espeak_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: event_set_callback
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_set_callback(t_espeak_callback *SynthCallback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:83,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:84,1
    - Dst: pthread_cond_init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:88,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:89,1
    - Dst: pthread_cond_init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:90,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:91,1
    - Dst: pthread_cond_init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:92,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:93,1
    - Dst: pthread_attr_init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:98,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/espeak-ng/src/libespeak-ng/event.c:99,1
    - Dst: pthread_create
      Src: /src/espeak-ng/src/libespeak-ng/event.c:100,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:105,1
    - Dst: pthread_attr_destroy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (-1 != a_status)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    - condition: (-1 != a_status)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    - condition: (-1 != a_status)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    - condition: (thread_inited)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    constantsTouched: []
    func_position:
      end: 107
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 107
    functionName: event_init
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - pthread_attr_init
    - assert
    - pthread_attr_setdetachstate
    - pthread_create
    - pthread_attr_destroy
    - pthread_mutex_init
    - init
    linkageType: ''
    returnType: void
    signature: void event_init(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/event.c:114,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:116,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/event.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - event
    argTypes:
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: event_copy
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - strdup
    linkageType: ''
    returnType: espeak_EVENT
    signature: espeak_EVENT *event_copy(espeak_EVENT *event)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:148,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:149,1
    - Dst: my_callback
      Src: /src/espeak-ng/src/libespeak-ng/event.c:156,1
    - Dst: my_callback
      Src: /src/espeak-ng/src/libespeak-ng/event.c:168,1
    - Dst: my_callback
      Src: /src/espeak-ng/src/libespeak-ng/event.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - event
    argTypes:
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: event_notify
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - memcpy
    - my_callback
    linkageType: ''
    returnType: void
    signature: void event_notify(espeak_EVENT *event)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_notify
      Src: /src/espeak-ng/src/libespeak-ng/event.c:191,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/event.c:196,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/event.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - event
    argTypes:
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: event_delete
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - event_notify
    - free
    linkageType: ''
    returnType: int
    signature: int event_delete(espeak_EVENT *event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:212,1
    - Dst: event_copy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:217,1
    - Dst: push
      Src: /src/espeak-ng/src/libespeak-ng/event.c:218,1
    - Dst: event_delete
      Src: /src/espeak-ng/src/libespeak-ng/event.c:219,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:220,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/event.c:223,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - event
    argTypes:
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: event_declare
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - event_copy
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - push
    - event_delete
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS event_declare(espeak_EVENT *event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:234,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/event.c:240,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:243,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/event.c:247,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 256
    functionName: event_clear_all
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_cond_wait
    - init
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS event_clear_all(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:265,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/event.c:269,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:277,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:282,1
    - Dst: event_notify
      Src: /src/espeak-ng/src/libespeak-ng/event.c:285,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:292,1
    - Dst: event_delete
      Src: /src/espeak-ng/src/libespeak-ng/event.c:293,1
    - Dst: pop
      Src: /src/espeak-ng/src/libespeak-ng/event.c:293,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:298,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:301,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:311,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:316,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:319,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/event.c:321,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/event.c:322,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts:
    - condition: (event)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    constantsTouched: []
    func_position:
      end: 327
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 327
    functionName: polling_thread
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_cond_signal
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - event_notify
    - pthread_cond_wait
    - event_delete
    - pop
    - init
    linkageType: ''
    returnType: void
    signature: void *polling_thread(void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:333,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/event.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - the_data
    argTypes:
    - void*
    assertStmts:
    - condition: ((!head && !tail) || (head && tail))
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: push
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 2
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS push(void *the_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:365,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/event.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((!head && !tail) || (head && tail))
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    constantsTouched: []
    func_position:
      end: 379
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 379
    functionName: pop
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 3
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: void *pop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_delete
      Src: /src/espeak-ng/src/libespeak-ng/event.c:384,1
    - Dst: pop
      Src: /src/espeak-ng/src/libespeak-ng/event.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: init
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 4
    functionsReached:
    - pop
    - event_delete
    linkageType: ''
    returnType: void
    signature: void init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/event.c:394,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/event.c:395,1
    - Dst: pthread_join
      Src: /src/espeak-ng/src/libespeak-ng/event.c:396,1
    - Dst: pthread_mutex_destroy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:399,1
    - Dst: pthread_cond_destroy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:400,1
    - Dst: pthread_cond_destroy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:401,1
    - Dst: pthread_cond_destroy
      Src: /src/espeak-ng/src/libespeak-ng/event.c:402,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/event.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: event_terminate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_cond_destroy
    - pthread_join
    - pthread_mutex_destroy
    - init
    linkageType: ''
    returnType: void
    signature: void event_terminate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/espeak-ng/src/libespeak-ng/event.c:417,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/event.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    assertStmts:
    - condition: (a_status != -1)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    constantsTouched: []
    func_position:
      end: 422
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 422
    functionName: clock_gettime2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached:
    - assert
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void clock_gettime2(struct timespec *ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ts
    - time_in_ms
    argTypes:
    - struct timespec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: add_time_in_ms
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_time_in_ms(struct timespec *ts, int time_in_ms)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - syllable_tab
    - start
    - end
    - clause_end
    argTypes:
    - SYLLABLE*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 349
    functionName: count_pitch_vowels
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count_pitch_vowels(SYLLABLE *syllable_tab, int start, int end,
      int clause_end)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - syllable_tab
    - ix
    - end_ix
    - min_stress
    argTypes:
    - SYLLABLE*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: count_increments
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_increments(SYLLABLE *syllable_tab, int ix, int end_ix, int
      min_stress)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - syl
    - base
    - drop
    argTypes:
    - SYLLABLE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 393
    functionName: set_pitch
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pitch(SYLLABLE *syl, int base, int drop)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - syllable_tab
    - start
    - end
    - limit
    argTypes:
    - SYLLABLE*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: CountUnstressed
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CountUnstressed(SYLLABLE *syllable_tab, int start, int end, int
      limit)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:428,1
    - Dst: count_increments
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:458,1
    - Dst: count_increments
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:462,1
    - Dst: CountUnstressed
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:497,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:501,1
    - Dst: CountUnstressed
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:503,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:505,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:512,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 4
    argNames:
    - syllable_tab
    - tune
    - syl_ix
    - end_ix
    argTypes:
    - SYLLABLE*
    - TUNE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 519
    functionName: SetHeadIntonation
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - set_pitch
    - abs
    - CountUnstressed
    - count_increments
    linkageType: ''
    returnType: int
    signature: int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix,
      int end_ix)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:544,1
    - Dst: count_increments
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:568,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:600,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:602,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:606,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:608,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 7
    argNames:
    - syllable_tab
    - ix
    - end_ix
    - th
    - tn
    - min_stress
    - continuing
    argTypes:
    - SYLLABLE*
    - int
    - int
    - TONE_HEAD*
    - TONE_NUCLEUS*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 614
    functionName: calc_pitch_segment
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - set_pitch
    - abs
    - count_increments
    linkageType: ''
    returnType: int
    signature: int calc_pitch_segment(SYLLABLE *syllable_tab, int ix, int end_ix,
      const TONE_HEAD *th, const TONE_NUCLEUS *tn, int min_stress, bool continuing)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:645,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - syllable_tab
    - start_ix
    - end_ix
    - start_pitch
    - end_pitch
    argTypes:
    - SYLLABLE*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 659
    functionName: SetPitchGradient
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - set_pitch
    linkageType: ''
    returnType: void
    signature: void SetPitchGradient(SYLLABLE *syllable_tab, int start_ix, int end_ix,
      int start_pitch, int end_pitch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetPitchGradient
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:673,1
    - Dst: SetHeadIntonation
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:680,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:690,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:694,1
    - Dst: SetPitchGradient
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - syllable_tab
    - start
    - end
    - tune_number
    argTypes:
    - SYLLABLE*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 706
    functionName: calc_pitches2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - SetHeadIntonation
    - set_pitch
    - SetPitchGradient
    linkageType: ''
    returnType: int
    signature: int calc_pitches2(SYLLABLE *syllable_tab, int start, int end,  int
      tune_number)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calc_pitches2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:718,1
    - Dst: SetPitchGradient
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:729,1
    - Dst: calc_pitch_segment
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:736,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:749,1
    - Dst: set_pitch
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:753,1
    - Dst: SetPitchGradient
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - syllable_tab
    - control
    - start
    - end
    - tune_number
    argTypes:
    - SYLLABLE*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 765
    functionName: calc_pitches
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - set_pitch
    - calc_pitch_segment
    - calc_pitches2
    - SetPitchGradient
    linkageType: ''
    returnType: int
    signature: int calc_pitches(SYLLABLE *syllable_tab, int control, int start, int
      end,  int tune_number)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:797,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:801,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:826,1
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:833,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:838,1
    - Dst: L3
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:838,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:841,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:844,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:860,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:862,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:865,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:870,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:872,1
    - Dst: PhonemeCode2
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:874,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 93
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 912
    functionName: CalcPitches_Tone
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - L3
    - PhonemeCode2
    - L
    - PhonemeCode
    linkageType: ''
    returnType: void
    signature: void CalcPitches_Tone(Translator *tr)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CalcPitches_Tone
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:958,1
    - Dst: count_pitch_vowels
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1029,1
    - Dst: calc_pitches
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1031,1
    - Dst: calc_pitches
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1038,1
    - Dst: count_pitch_vowels
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1045,1
    - Dst: calc_pitches
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1046,1
    - Dst: count_pitch_vowels
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1052,1
    - Dst: calc_pitches
      Src: /src/espeak-ng/src/libespeak-ng/intonation.c:1053,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 125
    argCount: 2
    argNames:
    - tr
    - clause_type
    argTypes:
    - Translator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 914
    functionDepth: 4
    functionLinenumber: 914
    functionLinenumberEnd: 1094
    functionName: CalcPitches
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/intonation.c
    functionUses: 0
    functionsReached:
    - CalcPitches_Tone
    - calc_pitches
    - count_pitch_vowels
    linkageType: ''
    returnType: void
    signature: void CalcPitches(Translator *tr, int clause_type)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ucd_lookup_category
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:91,1
    - Dst: ucd_properties
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: clause_type_from_codepoint
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 12
    functionsReached:
    - ucd_lookup_category
    - ucd_properties
    linkageType: ''
    returnType: int
    signature: int clause_type_from_codepoint(uint32_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: IsRomanU
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsRomanU(unsigned int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: Eof
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - text_decoder_eof
    linkageType: ''
    returnType: int
    signature: int Eof(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_decoder_getc
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: GetC
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - text_decoder_getc
    linkageType: ''
    returnType: int
    signature: int GetC(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: UngetC
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UngetC(int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - word
    argTypes:
    - char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: WordToString2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *WordToString2(char buf[5], unsigned int word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:191,1
    - Dst: DecodeWithPhonemeMode
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tr
    - string
    - text_out
    argTypes:
    - Translator*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: LookupSpecial
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - LookupDictList
    - DecodeWithPhonemeMode
    linkageType: ''
    returnType: char
    signature: char *LookupSpecial(Translator *tr, const char *string, char *text_out)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:215,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:220,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:225,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:228,1
    - Dst: TranslateRules
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:231,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:235,1
    - Dst: SetTranslator2
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:237,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:240,1
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:242,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:247,1
    - Dst: DecodeWithPhonemeMode
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:253,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:254,1
    - Dst: DecodeWithPhonemeMode
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:256,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - buf
    - tr
    - c
    - only
    argTypes:
    - char[]
    - Translator*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 262
    functionName: LookupCharName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - TranslateRules
    - L
    - LookupDictList
    - SetTranslator2
    - DecodeWithPhonemeMode
    - strcpy
    - utf8_out
    - SelectPhonemeTable
    linkageType: ''
    returnType: char
    signature: char *LookupCharName(char buf[60], Translator *tr, int c, bool only)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LookupSoundicon
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:285,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:287,1
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:288,1
    - Dst: LookupSpecial
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:291,1
    - Dst: LookupCharName
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:295,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:303,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:305,1
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:309,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:312,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:316,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:320,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:321,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:325,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:326,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:329,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:334,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:339,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:340,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:349,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 6
    argNames:
    - tr
    - c1
    - c2_ptr
    - output
    - bufix
    - end_clause
    argTypes:
    - Translator*
    - int
    - int*
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 365
    functionName: AnnouncePunctuation
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - LookupCharName
    - LookupSoundicon
    - UngetC
    - strlen
    - TerminateBufWithSpaceAndZero
    - clause_type_from_codepoint
    - Eof
    - strcpy
    - strcat
    - GetC
    - sprintf
    - LookupSpecial
    linkageType: ''
    returnType: int
    signature: int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output,
      int *bufix, int end_clause)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:376,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:379,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:384,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - name
    - wide
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 394
    functionName: AddNameData
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - memcpy
    - wcslen
    - realloc
    - strlen
    linkageType: ''
    returnType: int
    signature: int AddNameData(const char *name, int wide)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:402,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:406,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:408,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:415,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:416,1
    - Dst: espeak_GetCurrentVoice
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - v
    - variant_name
    argTypes:
    - espeak_VOICE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 417
    functionName: SetVoiceStack
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 3
    functionsReached:
    - strncpy0
    - memset
    - strcpy
    - memcpy
    - espeak_GetCurrentVoice
    linkageType: ''
    returnType: void
    signature: void SetVoiceStack(espeak_VOICE *v, const char *variant_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:424,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: RemoveChar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - utf8_in
    - memset
    linkageType: ''
    returnType: void
    signature: void RemoveChar(char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - c
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: lookupwchar2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lookupwchar2(const unsigned short *list, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookupwchar2
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tr
    - c1
    argTypes:
    - Translator*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: IgnoreOrReplaceChar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - lookupwchar2
    linkageType: ''
    returnType: bool
    signature: bool IgnoreOrReplaceChar(Translator *tr, int *c1)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - option_phoneme_input
    - phoneme_mode
    - c1
    - c2
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: CheckPhonemeMode
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CheckPhonemeMode(int option_phoneme_input, int phoneme_mode, int
      c1, int c2)
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:519,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:522,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:525,1
    - Dst: iswalnum
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:526,1
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:536,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:546,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:555,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:558,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:567,1
    - Dst: iswalnum
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:567,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:569,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:572,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:575,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:577,1
    - Dst: ParseSsmlReference
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:581,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:593,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:598,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:605,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:607,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:613,1
    - Dst: ProcessSsmlTag
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:614,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:617,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:620,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:624,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:625,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:637,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:640,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:643,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:651,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:651,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:651,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:658,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:661,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:661,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:669,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:669,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:671,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:678,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:679,1
    - Dst: IgnoreOrReplaceChar
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:686,1
    - Dst: iswalnum
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:690,1
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:696,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:710,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:713,1
    - Dst: LookupSpecial
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:715,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:716,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:718,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:723,1
    - Dst: CheckPhonemeMode
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:726,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:732,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:732,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:735,1
    - Dst: RemoveChar
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:740,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:741,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:750,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:767,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:768,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:768,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:770,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:778,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:778,1
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:786,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:790,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:795,1
    - Dst: clause_type_from_codepoint
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:795,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:796,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:808,1
    - Dst: IsBracket
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:808,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:808,1
    - Dst: iswpunct
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:816,1
    - Dst: wcschr
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:819,1
    - Dst: AnnouncePunctuation
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:821,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:833,1
    - Dst: LookupCharName
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:833,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:835,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:845,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:846,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:846,1
    - Dst: GetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:849,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:857,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:857,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:857,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:857,1
    - Dst: text_decoder_peekc
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:863,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:871,1
    - Dst: IsRomanU
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:871,1
    - Dst: IsRomanU
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:871,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:871,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:873,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:875,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:878,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:904,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:906,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:906,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:914,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:915,1
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:916,1
    - Dst: IsBracket
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:927,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:937,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:938,1
    - Dst: IsBracket
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:938,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:945,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:945,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:949,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:955,1
    - Dst: RemoveChar
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:957,1
    - Dst: TerminateBufWithSpaceAndZero
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:958,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 355
    argCount: 7
    argNames:
    - tr
    - buf
    - charix
    - charix_top
    - n_buf
    - tone_type
    - voice_change
    argTypes:
    - Translator*
    - char*
    - short*
    - int*
    - int
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 960
    functionName: ReadClause
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 9
    functionsReached:
    - MAKE_MEM_UNDEFINED
    - text_decoder_peekc
    - CheckPhonemeMode
    - iswspace
    - GetC
    - LookupCharName
    - IsAlpha
    - iswalnum
    - clause_type_from_codepoint
    - wcschr
    - L
    - ParseSsmlReference
    - iswupper
    - Eof
    - IgnoreOrReplaceChar
    - AnnouncePunctuation
    - utf8_out
    - iswalpha
    - iswdigit
    - LookupSpecial
    - UngetC
    - iswpunct
    - strlen
    - IsRomanU
    - TerminateBufWithSpaceAndZero
    - strcpy
    - RemoveChar
    - IsBracket
    - iswlower
    - sprintf
    - ProcessSsmlTag
    linkageType: ''
    returnType: int
    signature: int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top,
      int n_buf, int *tone_type, char *voice_change)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 970
    functionName: InitNamedata
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void InitNamedata(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:980,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1000
    functionName: InitText2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 0
    functionsReached:
    - MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: void
    signature: void InitText2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UngetC
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - index
    - ungetc
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1009
    functionName: TerminateBufWithSpaceAndZero
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 2
    functionsReached:
    - UngetC
    linkageType: ''
    returnType: void
    signature: void TerminateBufWithSpaceAndZero(char *buf, int index, int *ungetc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1014,1
    - Dst: DecodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1015,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1016,1
    - Dst: SetWordStress
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1018,1
    - Dst: DecodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1019,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1021,1
    - Dst: WordToString2
      Src: /src/espeak-ng/src/libespeak-ng/readclause.c:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - buf
    - phonemes
    - tr
    - tr2
    - flags
    argTypes:
    - char*
    - char*
    - Translator*
    - Translator*
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1023
    functionName: DecodeWithPhonemeMode
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/readclause.c
    functionUses: 2
    functionsReached:
    - DecodePhonemes
    - SetWordStress
    - WordToString2
    - sprintf
    linkageType: ''
    returnType: void
    signature: void DecodeWithPhonemeMode(char *buf, char *phonemes, Translator *tr,
      Translator *tr2, unsigned int flags[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - word
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: Reverse4Bytes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Reverse4Bytes(int word)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:131,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:132,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:140,1
    - Dst: is_str_totally_null
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:149,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:166,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:191,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 194
    functionName: InitGroups
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - is_str_totally_null
    - strlen
    - fprintf
    - memset
    linkageType: ''
    returnType: void
    signature: void InitGroups(Translator *tr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:207,1
    - Dst: strncpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:209,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:214,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:215,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:218,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:222,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:225,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:227,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:231,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:232,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:235,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:236,1
    - Dst: Reverse4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:239,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:242,1
    - Dst: Reverse4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:246,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:248,1
    - Dst: Reverse4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:248,1
    - Dst: InitGroups
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:254,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:267,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - tr
    - name
    - no_error
    argTypes:
    - Translator*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 270
    functionName: LoadDictionary
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 2
    functionsReached:
    - InitGroups
    - fread
    - fopen
    - free
    - Reverse4Bytes
    - strncpy
    - GetFileLength
    - fclose
    - malloc
    - sprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int LoadDictionary(Translator *tr, const char *name, int no_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: HashDictionary
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HashDictionary(const char *string)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:310,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:313,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:358,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:371,1
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:373,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:377,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 3
    argNames:
    - p
    - outptr
    - bad_phoneme
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 390
    functionName: EncodePhonemes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 3
    functionsReached:
    - utf8_in
    - isspace
    - tolower
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *EncodePhonemes(const char *p, char *outptr, int *bad_phoneme)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:401,1
    - Dst: isalpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - inptr
    - outptr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 425
    functionName: DecodePhonemes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 2
    functionsReached:
    - sprintf
    - isalpha
    linkageType: ''
    returnType: void
    signature: void DecodePhonemes(const char *inptr, char *outptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:460,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:461,1
    - Dst: InterpretPhoneme2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:469,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:471,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:486,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:488,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:509,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:515,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 5
    argNames:
    - phon_out
    - ph
    - plist
    - use_ipa
    - flags
    argTypes:
    - char*
    - PHONEME_TAB*
    - PHONEME_LIST*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 524
    functionName: WritePhMnemonic
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - strlen
    - IsDigit09
    - InterpretPhoneme
    - strcpy
    - utf8_out
    - sprintf
    - InterpretPhoneme2
    linkageType: ''
    returnType: char
    signature: char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST
      *plist, int use_ipa, int *flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:551,1
    - Dst: WritePhMnemonic
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - phon_out
    - ph
    - plist
    - use_ipa
    - flags
    argTypes:
    - char*
    - PHONEME_TAB*
    - PHONEME_LIST*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 557
    functionName: WritePhMnemonicWithStress
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - utf8_out
    - WritePhMnemonic
    linkageType: ''
    returnType: char
    signature: char *WritePhMnemonicWithStress(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST
      *plist, int use_ipa, int *flags)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:592,1
    - Dst: WritePhMnemonic
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:612,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:618,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:620,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:637,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:644,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:647,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:648,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:650,1
    - Dst: WritePhMnemonic
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:656,1
    - Dst: WritePhMnemonic
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:659,1
    - Dst: WritePhMnemonic
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:662,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:669,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:678,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 1
    argNames:
    - phoneme_mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 688
    functionName: GetTranslatedPhonemeString
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - realloc
    - utf8_in
    - strcpy
    - utf8_out
    - WritePhMnemonic
    - iswalpha
    - malloc
    linkageType: ''
    returnType: char
    signature: char *GetTranslatedPhonemeString(int phoneme_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rule
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 700
    functionName: LetterGroupNo
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LetterGroupNo(char *rule)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:738,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - tr
    - word
    - group
    - pre
    argTypes:
    - Translator*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 770
    functionName: IsLetterGroup
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int IsLetterGroup(Translator *tr, char *word, int group, int pre)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wcschr
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - tr
    - letter
    - group
    argTypes:
    - Translator*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 797
    functionName: IsLetter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - wcschr
    linkageType: ''
    returnType: int
    signature: int IsLetter(Translator *tr, int letter, int group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tr
    - letter
    argTypes:
    - Translator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: IsVowel
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached:
    - IsLetter
    linkageType: ''
    returnType: int
    signature: int IsVowel(Translator *tr, int letter)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 6
    argNames:
    - tr
    - phonemes
    - vowel_stress
    - vowel_count
    - stressed_syllable
    - control
    argTypes:
    - Translator*
    - unsigned char*
    - signed char*
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 914
    functionName: GetVowelStress
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetVowelStress(Translator *tr, unsigned char *phonemes, signed
      char *vowel_stress, int *vowel_count, int *stressed_syllable, int control)
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:966,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:967,1
    - Dst: GetVowelStress
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:999,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1062,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1062,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1065,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1389,1
    CyclomaticComplexity: 193
    EdgeCount: 193
    ICount: 356
    argCount: 5
    argNames:
    - tr
    - output
    - dictionary_flags
    - tonic
    - control
    argTypes:
    - Translator*
    - char*
    - unsigned int*
    - int
    - int
    assertStmts:
    - condition: (v <= vowel_count)
      pos:
        line_end: 1388
        line_start: 1388
        source_file: /src/espeak-ng/src/libespeak-ng/dictionary.c
    constantsTouched: []
    func_position:
      end: 1444
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 1444
    functionName: SetWordStress
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 4
    functionsReached:
    - L
    - GetVowelStress
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
      int tonic, int control)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1457,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1457,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1485,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - tr
    - string
    - size
    - ph
    argTypes:
    - Translator*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1486
    functionName: AppendPhonemes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached:
    - strlen
    - strcat
    linkageType: ''
    returnType: void
    signature: void AppendPhonemes(Translator *tr, char *string, int size, const char
      *ph)
  - BBCount: 119
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1667,1
    - Dst: LetterGroupNo
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1673,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1674,1
    - Dst: LetterGroupNo
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1684,1
    - Dst: IsLetterGroup
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1685,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1693,1
    - Dst: IsDigit
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1701,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1712,1
    - Dst: DollarRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1742,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1765,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1769,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1770,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1782,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1786,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1798,1
    - Dst: IsLetterGroup
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1802,1
    - Dst: LetterGroupNo
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1802,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1804,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1872,1
    - Dst: utf8_in2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1874,1
    - Dst: LetterGroupNo
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1880,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1881,1
    - Dst: LetterGroupNo
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1891,1
    - Dst: IsLetterGroup
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1892,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1900,1
    - Dst: IsDigit
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1914,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1921,1
    - Dst: DollarRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1931,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1957,1
    - Dst: utf8_in2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:1961,1
    - Dst: IsLetterGroup
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2009,1
    - Dst: LetterGroupNo
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2009,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2049,1
    - Dst: DecodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2062,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2063,1
    - Dst: DecodeRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2063,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2081,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 440
    argCount: 8
    argNames:
    - tr
    - word
    - word_start
    - group_length
    - rule
    - match_out
    - word_flags
    - dict_flags
    argTypes:
    - Translator*
    - char*[]
    - char*
    - int
    - char*
    - MatchRecord*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 2082
    functionName: MatchRule
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - IsLetterGroup
    - DecodePhonemes
    - utf8_in2
    - DecodeRule
    - utf8_in
    - IsLetter
    - fprintf
    - iswalpha
    - IsDigit
    - LetterGroupNo
    - memcpy
    - DollarRule
    linkageType: ''
    returnType: void
    signature: void MatchRule(Translator *tr, char *word[], char *word_start, int
      group_length, char *rule, MatchRecord *match_out, int word_flags, int dict_flags)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2132,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2134,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2145,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2146,1
    - Dst: IsDigit
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2150,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2155,1
    - Dst: Lookup
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2157,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2159,1
    - Dst: AppendPhonemes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2162,1
    - Dst: MatchRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2171,1
    - Dst: MatchRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2187,1
    - Dst: MatchRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2192,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2196,1
    - Dst: MatchRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2206,1
    - Dst: MatchRule
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2209,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2212,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2216,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2217,1
    - Dst: IsBracket
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2227,1
    - Dst: lookupwchar
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2242,1
    - Dst: AlphabetFromChar
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2256,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2258,1
    - Dst: WordToString2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2258,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2263,1
    - Dst: WordToString2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2263,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2273,1
    - Dst: LookupLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2282,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2303,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2308,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2321,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2322,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2322,1
    - Dst: AppendPhonemes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2328,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2332,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2332,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 171
    argCount: 7
    argNames:
    - tr
    - p_start
    - phonemes
    - ph_size
    - end_phonemes
    - word_flags
    - dict_flags
    argTypes:
    - Translator*
    - char*
    - char*
    - int
    - char*
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2084
    functionDepth: 4
    functionLinenumber: 2084
    functionLinenumberEnd: 2335
    functionName: TranslateRules
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 7
    functionsReached:
    - memcpy
    - AppendPhonemes
    - LookupLetter
    - AlphabetFromChar
    - sprintf
    - utf8_in
    - strlen
    - lookupwchar
    - IsAlpha
    - Lookup
    - strcpy
    - strcat
    - iswalpha
    - IsBracket
    - IsDigit
    - MatchRule
    - fprintf
    - WordToString2
    linkageType: ''
    returnType: int
    signature: int TranslateRules(Translator *tr, char *p_start, char *phonemes, int
      ph_size, char *end_phonemes, int word_flags, unsigned int *dict_flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2363,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2418,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2421,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - tr
    - text
    argTypes:
    - Translator*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2337
    functionDepth: 2
    functionLinenumber: 2337
    functionLinenumberEnd: 2422
    functionName: TransposeAlphabet
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached:
    - utf8_in
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int TransposeAlphabet(Translator *tr, char *text)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2464,1
    - Dst: TransposeAlphabet
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2465,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2468,1
    - Dst: HashDictionary
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2470,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2485,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2504,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2505,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2506,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2541,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2622,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2649,1
    - Dst: print_dictionary_flags
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2660,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2661,1
    - Dst: DecodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2673,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2685,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2687,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2689,1
    - Dst: print_dictionary_flags
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2690,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2691,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2695,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2696,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 178
    argCount: 7
    argNames:
    - tr
    - word
    - word2
    - phonetic
    - flags
    - end_flags
    - wtab
    argTypes:
    - Translator*
    - char*
    - char*
    - char*
    - unsigned int*
    - int
    - WORD_TAB*
    assertStmts:
    - condition: (phoneme_len < N_PHONEME_BYTES)
      pos:
        line_end: 2504
        line_start: 2504
        source_file: /src/espeak-ng/src/libespeak-ng/dictionary.c
    constantsTouched: []
    func_position:
      end: 2702
      start: 2434
    functionDepth: 3
    functionLinenumber: 2434
    functionLinenumberEnd: 2702
    functionName: LookupDict2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - L
    - DecodePhonemes
    - assert
    - strlen
    - utf8_in
    - strncmp
    - IsAlpha
    - print_dictionary_flags
    - strcpy
    - TransposeAlphabet
    - fprintf
    - memcpy
    - HashDictionary
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *LookupDict2(Translator *tr, const char *word, const char *word2,\n
      \                              char *phonetic, unsigned int *flags, int end_flags,
      WORD_TAB *wtab)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2717
    functionName: utf8_nbytes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_nbytes(const char *buf)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2736,1
    - Dst: utf8_nbytes
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2741,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2749,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2760,1
    - Dst: LookupDict2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2762,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2776,1
    - Dst: LookupDict2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2783,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2786,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2791,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2801,1
    - Dst: LookupAccentedLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2802,1
    - Dst: LookupDict2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2814,1
    - Dst: LookupDict2
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2818,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2834,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2841,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2843,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 6
    argNames:
    - tr
    - wordptr
    - ph_out
    - flags
    - end_flags
    - wtab
    argTypes:
    - Translator*
    - char**
    - char*
    - unsigned int*
    - int
    - WORD_TAB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2724
    functionDepth: 4
    functionLinenumber: 2724
    functionLinenumberEnd: 2856
    functionName: LookupDictList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 4
    functionsReached:
    - strncpy0
    - LookupAccentedLetter
    - utf8_in
    - IsDigit09
    - MAKE_MEM_UNDEFINED
    - LookupDict2
    - utf8_nbytes
    - memcpy
    - sprintf
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned
      int *flags, int end_flags, WORD_TAB *wtab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2870,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2884,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2885,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - tr
    - word
    - ph_out
    argTypes:
    - Translator*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2860
    functionDepth: 5
    functionLinenumber: 2860
    functionLinenumberEnd: 2890
    functionName: Lookup
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 11
    functionsReached:
    - strncpy0
    - strcpy
    - LookupDictList
    - TranslateWord
    linkageType: ''
    returnType: int
    signature: int Lookup(Translator *tr, const char *word, char *ph_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupDictList
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tr
    - word
    - flags_out
    argTypes:
    - Translator*
    - char*
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2892
    functionDepth: 5
    functionLinenumber: 2892
    functionLinenumberEnd: 2903
    functionName: LookupFlags
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 0
    functionsReached:
    - LookupDictList
    linkageType: ''
    returnType: int
    signature: int LookupFlags(Translator *tr, const char *word, unsigned int flags_out[2])
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2944,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2977,1
    - Dst: IsVowel
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2978,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2978,1
    - Dst: IsVowel
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2978,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2984,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2986,1
    - Dst: IsLetter
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2986,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2991,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:2992,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3000,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3001,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3011,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3014,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3022,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3022,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 70
    argCount: 4
    argNames:
    - tr
    - word
    - end_type
    - word_copy
    argTypes:
    - Translator*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 2905
    functionDepth: 2
    functionLinenumber: 2905
    functionLinenumberEnd: 3029
    functionName: RemoveEnding
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached:
    - L
    - strlen
    - IsLetter
    - IsVowel
    - utf8_out
    - fprintf
    - memcpy
    - memcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3041,1
    - Dst: LookupFlags
      Src: /src/espeak-ng/src/libespeak-ng/dictionary.c:3045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 9
    argNames:
    - word
    - word_start
    - consumed
    - group_length
    - word_buf
    - tr
    - command
    - failed
    - add_points
    argTypes:
    - char*[]
    - char*
    - int
    - int
    - char[]
    - Translator*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3031
    functionDepth: 6
    functionLinenumber: 3031
    functionLinenumberEnd: 3053
    functionName: DollarRule
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/dictionary.c
    functionUses: 1
    functionsReached:
    - memcpy
    - LookupFlags
    linkageType: ''
    returnType: void
    signature: void DollarRule(char *word[], char *word_start, int consumed, int group_length,
      char word_buf[N_WORD_BYTES], Translator *tr, int command, int *failed, int *add_points)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - word
    argTypes:
    - char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: WordToString
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *WordToString(char buf[5], unsigned int word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: SynthesizeInit
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SynthesizeInit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: EndAmplitude
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EndAmplitude(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SmoothSpect
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - voice_break
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: EndPitch
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - SmoothSpect
    linkageType: ''
    returnType: void
    signature: void EndPitch(int voice_break)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - amp
    - amp_env
    argTypes:
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: DoAmplitude
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoAmplitude(int amp, const unsigned char *amp_env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pho
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: DoPhonemeAlignment
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoPhonemeAlignment(char* pho, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EndPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:150,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - env
    - pitch1
    - pitch2
    argTypes:
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: DoPitch
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - EndPitch
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoPitch(const unsigned char *env, int pitch1, int pitch2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pause
    - control
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: PauseLength
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PauseLength(int pause, int control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PauseLength
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:199,1
    - Dst: EndPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:209,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:212,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - length
    - control
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: DoPause
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - PauseLength
    - EndPitch
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoPause(int length, int control)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:301,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:319,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:332,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:347,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 6
    argNames:
    - index
    - which
    - std_length
    - control
    - length_mod
    - amp
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 351
    functionName: DoSample2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - WcmdqInc
    linkageType: ''
    returnType: int
    signature: int DoSample2(int index, int which, int std_length, int control, int
      length_mod, int amp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EndPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:357,1
    - Dst: DoSample2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - phdata
    - length_mod
    - amp
    argTypes:
    - PHONEME_DATA*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: DoSample3
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - EndPitch
    - DoSample2
    linkageType: ''
    returnType: int
    signature: int DoSample3(PHONEME_DATA *phdata, int length_mod, int amp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 395
    functionName: AllocFrame
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: frame_t
    signature: frame_t *AllocFrame(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - fr
    - new_rms
    argTypes:
    - frame_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 438
    functionName: set_frame_rms
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_frame_rms(frame_t *fr, int new_rms)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fr
    - level
    argTypes:
    - frame_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: formants_reduce_hf
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void formants_reduce_hf(frame_t *fr, int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:464,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - frame1
    - copy
    argTypes:
    - frame_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 471
    functionName: CopyFrame
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - AllocFrame
    - memcpy
    linkageType: ''
    returnType: frame_t
    signature: frame_t *CopyFrame(frame_t *frame1, int copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - seq
    - n_frames
    - length
    argTypes:
    - frameref_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: DuplicateLastFrame
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - CopyFrame
    linkageType: ''
    returnType: frame_t
    signature: frame_t *DuplicateLastFrame(frameref_t *seq, int n_frames, int length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: formants_reduce_hf
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:521,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 8
    argNames:
    - fr
    - target
    - min
    - max
    - f1_adj
    - f3_adj
    - hf_reduce
    - flags
    argTypes:
    - frame_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 522
    functionName: AdjustFormants
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - formants_reduce_hf
    linkageType: ''
    returnType: void
    signature: void AdjustFormants(frame_t *fr, int target, int min, int max, int
      f1_adj, int f3_adj, int hf_reduce, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fr
    argTypes:
    - frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 536
    functionName: VowelCloseness
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VowelCloseness(frame_t *fr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:580,1
    - Dst: set_frame_rms
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:594,1
    - Dst: AdjustFormants
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:595,1
    - Dst: set_frame_rms
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:598,1
    - Dst: set_frame_rms
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:601,1
    - Dst: set_frame_rms
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:603,1
    - Dst: VowelCloseness
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:607,1
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:614,1
    - Dst: VowelCloseness
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:619,1
    - Dst: DuplicateLastFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:621,1
    - Dst: AdjustFormants
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:626,1
    - Dst: set_frame_rms
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:629,1
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:633,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:654,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 6
    argNames:
    - seq
    - n_frames
    - data1
    - data2
    - other_ph
    - which
    argTypes:
    - frameref_t*
    - int*
    - unsigned int
    - unsigned int
    - PHONEME_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 659
    functionName: FormantTransition2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - AdjustFormants
    - VowelCloseness
    - CopyFrame
    - DoPause
    - set_frame_rms
    - DuplicateLastFrame
    linkageType: ''
    returnType: int
    signature: int FormantTransition2(frameref_t *seq, int *n_frames, unsigned int
      data1, unsigned int data2, PHONEME_TAB *other_ph, int which)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:739,1
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:746,1
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:806,1
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:813,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 829
    functionName: SmoothSpect
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 1
    functionsReached:
    - CopyFrame
    linkageType: ''
    returnType: void
    signature: void SmoothSpect(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: StartSyllable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartSyllable(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: LookupSpect
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:880,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:889,1
    - Dst: CopyFrame
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:919,1
    - Dst: SmoothSpect
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:931,1
    - Dst: DoSample2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:971,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1000,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1011,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 119
    argCount: 5
    argNames:
    - this_ph
    - which
    - fmt_params
    - plist
    - modulation
    argTypes:
    - PHONEME_TAB*
    - int
    - FMT_PARAMS*
    - PHONEME_LIST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 838
    functionDepth: 4
    functionLinenumber: 838
    functionLinenumberEnd: 1015
    functionName: DoSpect2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - SmoothSpect
    - LookupSpect
    - CopyFrame
    - DoSample2
    - WcmdqInc
    linkageType: ''
    returnType: int
    signature: int DoSpect2(PHONEME_TAB *this_ph, int which, FMT_PARAMS *fmt_params,  PHONEME_LIST
      *plist, int modulation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqFree
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1022,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - type
    - char_posn
    - length
    - value
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1028
    functionName: DoMarker
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - WcmdqFree
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoMarker(int type, int char_posn, int length, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqFree
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1035,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1038,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - type
    - char_posn
    - length
    - name
    argTypes:
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1041
    functionName: DoPhonemeMarker
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - WcmdqFree
    - memcpy
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoPhonemeMarker(int type, int char_posn, int length, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1050
    functionName: DoSonicSpeed
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 1
    functionsReached:
    - WcmdqInc
    linkageType: ''
    returnType: void
    signature: void DoSonicSpeed(int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1057,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1059,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - voice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1064
    functionName: DoVoiceChange
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 3
    functionsReached:
    - malloc
    - memcpy
    - WcmdqInc
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS DoVoiceChange(voice_t *v)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SetEmbedded
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1087,1
    - Dst: SetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1088,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1093,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1098,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1103,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1106,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1109,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - embix
    - sourceix
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1066
    functionDepth: 3
    functionLinenumber: 1066
    functionLinenumberEnd: 1117
    functionName: DoEmbedded
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - SetEmbedded
    - DoPause
    - WcmdqInc
    - SetSpeed
    - DoMarker
    linkageType: ''
    returnType: void
    signature: void DoEmbedded(int *embix, int sourceix)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: MbrolaGenerate
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1153,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1168,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1169,1
    - Dst: WritePhMnemonicWithStress
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1180,1
    - Dst: DoPhonemeAlignment
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1182,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1182,1
    - Dst: WcmdqFree
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1192,1
    - Dst: DoEmbedded
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1204,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1215,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1218,1
    - Dst: EndAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1221,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1224,1
    - Dst: WritePhMnemonicWithStress
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1232,1
    - Dst: DoPhonemeMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1234,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1242,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1258,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1259,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1264,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1265,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1268,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1271,1
    - Dst: DoSample3
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1273,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1276,1
    - Dst: DoSample3
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1279,1
    - Dst: DoSample3
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1280,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1284,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1289,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1290,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1293,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1294,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1298,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1299,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1305,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1309,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1311,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1312,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1316,1
    - Dst: StartSyllable
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1321,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1324,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1329,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1333,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1335,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1340,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1341,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1343,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1344,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1347,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1348,1
    - Dst: StartSyllable
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1353,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1356,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1357,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1365,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1366,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1369,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1371,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1372,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1378,1
    - Dst: StartSyllable
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1384,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1385,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1387,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1390,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1396,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1402,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1403,1
    - Dst: StartSyllable
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1410,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1411,1
    - Dst: DoPause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1414,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1420,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1426,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1428,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1437,1
    - Dst: InterpretPhoneme2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1459,1
    - Dst: GetEnvelope
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1460,1
    - Dst: GetEnvelope
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1462,1
    - Dst: StartSyllable
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1465,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1474,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1475,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1476,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1478,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1479,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1480,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1483,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1484,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1485,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1486,1
    - Dst: DoAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1489,1
    - Dst: DoPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1490,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1493,1
    - Dst: WritePhMnemonicWithStress
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1498,1
    - Dst: DoPhonemeMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1500,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1512,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1522,1
    - Dst: EndPitch
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1527,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1529,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 311
    argCount: 3
    argNames:
    - phoneme_list
    - n_ph
    - resume
    argTypes:
    - PHONEME_LIST*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1121
    functionDepth: 5
    functionLinenumber: 1121
    functionLinenumberEnd: 1534
    functionName: Generate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 1
    functionsReached:
    - EndPitch
    - memset
    - WcmdqFree
    - DoPhonemeAlignment
    - DoEmbedded
    - WritePhMnemonicWithStress
    - strdup
    - EndAmplitude
    - GetEnvelope
    - DoSpect2
    - DoPause
    - DoPitch
    - DoSample3
    - StartSyllable
    - MbrolaGenerate
    - DoPhonemeMarker
    - InterpretPhoneme
    - DoAmplitude
    - DoMarker
    - InterpretPhoneme2
    linkageType: ''
    returnType: int
    signature: int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqStop
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1552,1
    - Dst: text_decoder_eof
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1557,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1562,1
    - Dst: TranslateClause
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1566,1
    - Dst: CalcPitches
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1568,1
    - Dst: CalcLengths
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1569,1
    - Dst: GetTranslatedPhonemeString
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1573,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1575,1
    - Dst: phoneme_callback
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1577,1
    - Dst: Generate
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1585,1
    - Dst: LoadVoiceVariant
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1589,1
    - Dst: DoVoiceChange
      Src: /src/espeak-ng/src/libespeak-ng/synthesize.c:1595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - control
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1536
    functionDepth: 6
    functionLinenumber: 1536
    functionLinenumberEnd: 1600
    functionName: SpeakNextClause
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached:
    - GetTranslatedPhonemeString
    - phoneme_callback
    - TranslateClause
    - CalcPitches
    - CalcLengths
    - Generate
    - WcmdqStop
    - SelectPhonemeTable
    - fprintf
    - text_decoder_eof
    - LoadVoiceVariant
    - DoVoiceChange
    linkageType: ''
    returnType: int
    signature: int SpeakNextClause(int control)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1606
    functionName: espeak_SetPhonemeCallback
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthesize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_SetPhonemeCallback(int (*PhonemeCallback)(const char
      *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:77,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:78,1
    - Dst: pthread_cond_init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:81,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:82,1
    - Dst: pthread_cond_init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:83,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:84,1
    - Dst: pthread_cond_init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:85,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:86,1
    - Dst: pthread_attr_init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:89,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:90,1
    - Dst: pthread_create
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:91,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:95,1
    - Dst: pthread_attr_destroy
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:99,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:102,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:103,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:106,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (-1 != a_status)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: fifo_init
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - pthread_attr_init
    - assert
    - pthread_attr_setdetachstate
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_create
    - pthread_cond_wait
    - pthread_attr_destroy
    - pthread_mutex_init
    - init
    linkageType: ''
    returnType: void
    signature: void fifo_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:116,1
    - Dst: push
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:119,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:120,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:125,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:128,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:129,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - the_command
    argTypes:
    - t_espeak_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: fifo_add_command
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - push
    - pthread_cond_wait
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS fifo_add_command(t_espeak_command *the_command)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:145,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:149,1
    - Dst: push
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:153,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:154,1
    - Dst: push
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:158,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:159,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:164,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:167,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:168,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - command1
    - command2
    argTypes:
    - t_espeak_command*
    - t_espeak_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: fifo_add_commands
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - push
    - pthread_cond_wait
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS fifo_add_commands(t_espeak_command *command1, t_espeak_command
      *command2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:182,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:194,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: fifo_stop
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_cond_wait
    - pthread_mutex_lock
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS fifo_stop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:209,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: fifo_is_busy
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int fifo_is_busy(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:226,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:227,1
    - Dst: clock_gettime2
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:233,1
    - Dst: add_time_in_ms
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:235,1
    - Dst: pthread_cond_timedwait
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:237,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (err != -1)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    constantsTouched: []
    func_position:
      end: 246
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 246
    functionName: sleep_until_start_request_or_inactivity
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - add_time_in_ms
    - assert
    - clock_gettime2
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_cond_timedwait
    linkageType: ''
    returnType: int
    signature: int sleep_until_start_request_or_inactivity(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:250,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:258,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:261,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:268,1
    - Dst: cancel_audio
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:275,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:278,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:282,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 293
    functionName: close_stream
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_cond_signal
    - cancel_audio
    - pthread_mutex_lock
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS close_stream(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:302,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:303,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:305,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:306,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:307,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:308,1
    - Dst: sleep_until_start_request_or_inactivity
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:315,1
    - Dst: close_stream
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:317,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:321,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:322,1
    - Dst: pthread_cond_wait
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:326,1
    - Dst: pthread_cond_broadcast
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:334,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:335,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:336,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:337,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:340,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:341,1
    - Dst: pop
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:342,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:346,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:352,1
    - Dst: process_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:355,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:356,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:363,1
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:365,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:366,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:371,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:372,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:373,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts:
    - condition: (-1 != a_status)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (!a_status)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (!a_status)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (-1 != a_status)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    - condition: (a_status != -1)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    constantsTouched: []
    func_position:
      end: 381
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 381
    functionName: say_thread
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - process_espeak_command
    - assert
    - sleep_until_start_request_or_inactivity
    - pthread_cond_signal
    - delete_espeak_command
    - pthread_cond_broadcast
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_cond_wait
    - close_stream
    - pop
    - init
    linkageType: ''
    returnType: void
    signature: void *say_thread(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: fifo_is_command_enabled
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fifo_is_command_enabled(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:398,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - the_command
    argTypes:
    - t_espeak_command*
    assertStmts:
    - condition: ((!head && !tail) || (head && tail))
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    constantsTouched: []
    func_position:
      end: 426
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 426
    functionName: push
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 4
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS push(t_espeak_command *the_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:432,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((!head && !tail) || (head && tail))
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    constantsTouched: []
    func_position:
      end: 446
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 446
    functionName: pop
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 5
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *pop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:451,1
    - Dst: process_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:454,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:455,1
    - Dst: pop
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - process_parameters
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: init
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 7
    functionsReached:
    - pop
    - process_espeak_command
    - delete_espeak_command
    linkageType: ''
    returnType: void
    signature: void init(int process_parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:465,1
    - Dst: pthread_mutex_unlock
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:467,1
    - Dst: pthread_cond_signal
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:468,1
    - Dst: pthread_join
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:469,1
    - Dst: pthread_mutex_destroy
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:473,1
    - Dst: pthread_cond_destroy
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:474,1
    - Dst: pthread_cond_destroy
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:475,1
    - Dst: init
      Src: /src/espeak-ng/src/libespeak-ng/fifo.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: fifo_terminate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/fifo.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_lock
    - pthread_cond_destroy
    - pthread_mutex_unlock
    - pthread_join
    - pthread_mutex_destroy
    - init
    linkageType: ''
    returnType: void
    signature: void fifo_terminate(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:120,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tr
    argTypes:
    - Translator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: DeleteTranslator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DeleteTranslator(Translator *tr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - c
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: lookupwchar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lookupwchar(const unsigned short *list, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: strchr_w
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *strchr_w(const char *s, int c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TranslateWord3
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:150,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:157,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:164,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:165,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:167,1
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:167,1
    - Dst: TranslateWord3
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:176,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:180,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:183,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:191,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:192,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - tr
    - word_start
    - wtab
    - word_out
    argTypes:
    - Translator*
    - char*
    - WORD_TAB*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: TranslateWord
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 3
    functionsReached:
    - snprintf
    - iswupper
    - utf8_in
    - TranslateWord3
    - tolower
    - isspace
    - strcpy
    - utf8_out
    linkageType: ''
    returnType: int
    signature: int TranslateWord(Translator *tr, char *word_start, WORD_TAB *wtab,
      char *word_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - phcode
    argTypes:
    - PHONEME_LIST2*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: SetPlist2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPlist2(PHONEME_LIST2 *p, unsigned char phcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - phonemes
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: CountSyllables
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CountSyllables(unsigned char *phonemes)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 261
    functionName: Word_EmbeddedCmd
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Word_EmbeddedCmd(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SelectPhonemeTableName
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:268,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:269,1
    - Dst: DeleteTranslator
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:271,1
    - Dst: SelectTranslator
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:276,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:277,1
    - Dst: LoadDictionary
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:279,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - new_language
    - translator
    - translator_language
    argTypes:
    - char*
    - Translator**
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: SetAlternateTranslator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - DeleteTranslator
    - SelectTranslator
    - LoadDictionary
    - SelectPhonemeTableName
    - strcpy
    - SelectPhonemeTable
    - strcmp
    linkageType: ''
    returnType: int
    signature: int SetAlternateTranslator(const char *new_language, Translator **translator,
      char translator_language[20])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAlternateTranslator
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_language
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: SetTranslator2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached:
    - SetAlternateTranslator
    linkageType: ''
    returnType: int
    signature: int SetTranslator2(const char *new_language)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAlternateTranslator
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_language
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: SetTranslator3
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 2
    functionsReached:
    - SetAlternateTranslator
    linkageType: ''
    returnType: int
    signature: int SetTranslator3(const char *new_language)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: Word_EmbeddedCmd
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:337,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:348,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:389,1
    - Dst: SwitchLanguage
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:390,1
    - Dst: EncodePhonemes
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:392,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:404,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:408,1
    - Dst: CombineFlag
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:413,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:418,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:421,1
    - Dst: SetTranslator2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:428,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:436,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:438,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:456,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:457,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:497,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:500,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:512,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:513,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:514,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:516,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:517,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:535,1
    - Dst: printf
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:560,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:570,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:645,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:658,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:659,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:660,1
    - Dst: SetPlist2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:668,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 253
    argCount: 4
    argNames:
    - tr
    - word
    - wtab
    - pre_pause
    argTypes:
    - Translator*
    - char*
    - WORD_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 302
    functionDepth: 6
    functionLinenumber: 302
    functionLinenumberEnd: 679
    functionName: TranslateWord2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - Word_EmbeddedCmd
    - EncodePhonemes
    - SwitchLanguage
    - CombineFlag
    - SetTranslator2
    - IsAlpha
    - TranslateWord
    - strcpy
    - SetPlist2
    - memcpy
    - SelectPhonemeTable
    - memcmp
    - printf
    linkageType: ''
    returnType: int
    signature: int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int
      pre_pause)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:704,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:705,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:706,1
    - Dst: strchr_w
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:714,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - source_index_out
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 736
    functionName: EmbeddedCommand
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - atoi
    - IsDigit09
    - strchr_w
    linkageType: ''
    returnType: int
    signature: int EmbeddedCommand(unsigned int *source_index_out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_str_totally_null
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:741,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:748,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:755,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:757,1
    - Dst: towlower2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - tr
    - pfrom
    - c
    - next
    - ignore_next_n
    argTypes:
    - Translator*
    - char**
    - unsigned int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 781
    functionName: FindReplacementChars
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - is_str_totally_null
    - utf8_in
    - towlower2
    linkageType: ''
    returnType: char
    signature: char *FindReplacementChars(Translator *tr, const char **pfrom, unsigned
      int c, const char *next, int *ignore_next_n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:803,1
    - Dst: towlower2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:804,1
    - Dst: FindReplacementChars
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:808,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:813,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:815,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:819,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:820,1
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:821,1
    - Dst: ucd_toupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - tr
    - c
    - next_in
    - next
    - insert
    - wordflags
    argTypes:
    - Translator*
    - unsigned int
    - unsigned int
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 830
    functionName: SubstituteChar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - FindReplacementChars
    - towlower2
    - iswupper
    - utf8_in
    - fprintf
    - ucd_toupper
    linkageType: ''
    returnType: int
    signature: int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in,
      const char *next, int *insert, int *wordflags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:874,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:875,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:878,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:879,1
    - Dst: IsSpace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:881,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:882,1
    - Dst: SubstituteChar
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:896,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 7
    argNames:
    - tr
    - ptr
    - prev_in
    - c
    - next_in
    - insert
    - wordflags
    argTypes:
    - Translator*
    - char*
    - int
    - unsigned int
    - unsigned int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 832
    functionDepth: 4
    functionLinenumber: 832
    functionLinenumberEnd: 897
    functionName: TranslateChar
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - SubstituteChar
    - IsSpace
    - L
    - utf8_in
    - iswalpha
    linkageType: ''
    returnType: int
    signature: int TranslateChar(Translator *tr, char *ptr, int prev_in, unsigned
      int c, unsigned int next_in, int *insert, int *wordflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:903,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:912,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:913,1
    - Dst: IsVowel
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - tr
    - word
    - c
    argTypes:
    - Translator*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 920
    functionName: UpperCaseInWord
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - strlen
    - L
    - memcmp
    - IsVowel
    linkageType: ''
    returnType: int
    signature: int UpperCaseInWord(Translator *tr, char *word, int c)
  - BBCount: 132
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:972,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:985,1
    - Dst: ReadClause
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:986,1
    - Dst: isspace2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1008,1
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1037,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1038,1
    - Dst: CalcWordLength
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1066,1
    - Dst: utf8_in2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1071,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1073,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1073,1
    - Dst: utf8_in2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1082,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1090,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1101,1
    - Dst: EmbeddedCommand
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1112,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1115,1
    - Dst: towlower2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1124,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1137,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1147,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1158,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1158,1
    - Dst: TranslateChar
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1174,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1182,1
    - Dst: IsSpace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1182,1
    - Dst: wcschr
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1182,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1183,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1184,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1184,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1193,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1194,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1218,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1220,1
    - Dst: wcschr
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1221,1
    - Dst: wcschr
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1224,1
    - Dst: IsBracket
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1229,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1232,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1235,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1235,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1252,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1262,1
    - Dst: towlower2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1263,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1272,1
    - Dst: UpperCaseInWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1274,1
    - Dst: iswupper
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1280,1
    - Dst: iswlower
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1280,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1282,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1284,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1286,1
    - Dst: L
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1298,1
    - Dst: IsSpace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1310,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1310,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1331,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1331,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1341,1
    - Dst: IsSpace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1345,1
    - Dst: iswalnum
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1349,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1349,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1352,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1354,1
    - Dst: wcschr
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1356,1
    - Dst: IsSpace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1366,1
    - Dst: lookupwchar
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1375,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1377,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1378,1
    - Dst: IsDigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1378,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1379,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1385,1
    - Dst: IsAlpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1385,1
    - Dst: IsSpace
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1393,1
    - Dst: CalcWordLength
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1445,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1462,1
    - Dst: IsBracket
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1482,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1517,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1521,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1524,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1529,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1531,1
    - Dst: iswdigit
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1538,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1555,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1561,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1581,1
    - Dst: strncpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1587,1
    - Dst: TranslateWord2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1593,1
    - Dst: TranslateWord2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1601,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1611,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1612,1
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1613,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1614,1
    - Dst: TranslateWord2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1615,1
    - Dst: Word_EmbeddedCmd
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1639,1
    - Dst: Eof
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1653,1
    - Dst: MakePhonemeList
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1656,1
    CyclomaticComplexity: 240
    EdgeCount: 240
    ICount: 558
    argCount: 4
    argNames:
    - tr
    - tone_out
    - voice_change
    - terminator_out
    argTypes:
    - Translator*
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 924
    functionDepth: 7
    functionLinenumber: 924
    functionLinenumberEnd: 1677
    functionName: TranslateClauseWithTerminator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - memset
    - ReadClause
    - MAKE_MEM_UNDEFINED
    - lookupwchar
    - TranslateWord2
    - Word_EmbeddedCmd
    - UpperCaseInWord
    - towlower2
    - IsAlpha
    - iswalnum
    - strncpy
    - MakePhonemeList
    - wcschr
    - IsSpace
    - L
    - iswupper
    - IsDigit09
    - Eof
    - CalcWordLength
    - utf8_out
    - IsDigit
    - iswdigit
    - memcpy
    - utf8_in2
    - utf8_in
    - TranslateChar
    - isspace2
    - EmbeddedCommand
    - IsBracket
    - iswlower
    linkageType: ''
    returnType: void
    signature: void TranslateClauseWithTerminator(Translator *tr, int *tone_out, char
      **voice_change, int *terminator_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TranslateClauseWithTerminator
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - tone_out
    - voice_change
    argTypes:
    - Translator*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1679
    functionDepth: 8
    functionLinenumber: 1679
    functionLinenumberEnd: 1682
    functionName: TranslateClause
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached:
    - TranslateClauseWithTerminator
    linkageType: ''
    returnType: void
    signature: void TranslateClause(Translator *tr, int *tone_out, char **voice_change)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - source_index
    - charix_top
    - charix
    - words
    - word_count
    argTypes:
    - int
    - int
    - short int*
    - WORD_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1697
    functionName: CalcWordLength
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CalcWordLength(int source_index, int charix_top, short int *charix,
      WORD_TAB *words, int word_count)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1714,1
    - Dst: iswalpha
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1716,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1725,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1727,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1742,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1748,1
    - Dst: CountSyllables
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1749,1
    - Dst: TranslateWord
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1752,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 6
    argNames:
    - tr
    - wtab
    - word
    - flags
    - p
    - word_phonemes
    argTypes:
    - Translator*
    - WORD_TAB*
    - char*
    - int*
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1699
    functionDepth: 3
    functionLinenumber: 1699
    functionLinenumberEnd: 1760
    functionName: CombineFlag
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached:
    - utf8_in
    - TranslateWord
    - CountSyllables
    - strcpy
    - iswalpha
    linkageType: ''
    returnType: void
    signature: void CombineFlag(Translator *tr, WORD_TAB *wtab, char *word, int *flags,
      unsigned char *p, char *word_phonemes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1773,1
    - Dst: LookupPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1777,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - word
    - word_phonemes
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1783
    functionName: SwitchLanguage
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 1
    functionsReached:
    - LookupPhonemeTable
    - SelectPhonemeTable
    - tolower
    linkageType: ''
    returnType: void
    signature: void SwitchLanguage(char *word, char *word_phonemes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitText2
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1803,1
    - Dst: InitNamedata
      Src: /src/espeak-ng/src/libespeak-ng/translate.c:1806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - control
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1785
    functionDepth: 2
    functionLinenumber: 1785
    functionLinenumberEnd: 1807
    functionName: InitText
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.c
    functionUses: 0
    functionsReached:
    - InitNamedata
    - InitText2
    linkageType: ''
    returnType: void
    signature: void InitText(int control)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CheckTranslator
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:46,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:57,1
    - Dst: ReadNumbers
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:64,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:68,1
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:77,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:78,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:86,1
    - Dst: isalnum
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:88,1
    - Dst: ProcessLanguageOptions
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:90,1
    - Dst: Read8Numbers
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:106,1
    - Dst: Read8Numbers
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:119,1
    - Dst: Read8Numbers
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:131,1
    - Dst: ReadNumbers
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:139,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:143,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:151,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:156,1
    - Dst: LookupTune
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:160,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:161,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:168,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:174,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 3
    argNames:
    - translator
    - key
    - keyValue
    argTypes:
    - Translator*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 179
    functionName: LoadLanguageOptions
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/langopts.c
    functionUses: 1
    functionsReached:
    - atoi
    - CheckTranslator
    - sscanf
    - Read8Numbers
    - ProcessLanguageOptions
    - isspace
    - isalnum
    - LookupTune
    - fprintf
    - strcmp
    - ReadNumbers
    linkageType: ''
    returnType: void
    signature: void LoadLanguageOptions(Translator *translator, int key, char *keyValue
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:189,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:190,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:193,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:196,1
    - Dst: ReadTonePoints
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:197,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:198,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:199,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:204,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 210
    functionName: LoadConfig
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/langopts.c
    functionUses: 0
    functionsReached:
    - strdup
    - fgets
    - fopen
    - ReadTonePoints
    - sscanf
    - fclose
    - sprintf
    - memcmp
    linkageType: ''
    returnType: void
    signature: void LoadConfig(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: LookupTune
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/langopts.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int LookupTune(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:231,1
    - Dst: LookupMnemName
      Src: /src/espeak-ng/src/libespeak-ng/langopts.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tr
    - keyword_tab
    - key
    argTypes:
    - Translator*
    - MNEM_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: CheckTranslator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/langopts.c
    functionUses: 1
    functionsReached:
    - LookupMnemName
    - fprintf
    linkageType: ''
    returnType: int
    signature: int CheckTranslator(Translator *tr, const MNEM_TAB *keyword_tab, int
      key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sonicDestroyStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:244,1
    - Dst: MbrolaReset
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: WcmdqStop
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached:
    - sonicDestroyStream
    - MbrolaReset
    linkageType: ''
    returnType: void
    signature: void WcmdqStop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: WcmdqFree
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int WcmdqFree(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqFree
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: WcmdqUsed
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - WcmdqFree
    linkageType: ''
    returnType: int
    signature: int WcmdqUsed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: WcmdqInc
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WcmdqInc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: WcmdqIncHead
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: void
    signature: void WcmdqIncHead(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:358,1
    - Dst: KlattInit
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - rate
    - wavemult_fact
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 325
    functionDepth: 7
    functionLinenumber: 325
    functionLinenumberEnd: 368
    functionName: WavegenInit
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached:
    - KlattInit
    - cos
    linkageType: ''
    returnType: void
    signature: void WavegenInit(int rate, int wavemult_fact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KlattFini
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: WavegenFini
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached:
    - KlattFini
    linkageType: ''
    returnType: void
    signature: void WavegenFini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: GetAmplitude
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetAmplitude(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:406,1
    - Dst: GetAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 430
    functionName: WavegenSetEcho
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - GetAmplitude
    - memset
    linkageType: ''
    returnType: void
    signature: void WavegenSetEcho(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 4
    argNames:
    - peaks
    - pitch
    - htab
    - control
    argTypes:
    - wavegen_peaks_t*
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 535
    functionName: PeaksToHarmspect
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PeaksToHarmspect(wavegen_peaks_t *peaks, int pitch, int *htab,
      int control)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 597
    functionName: AdvanceParameters
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AdvanceParameters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - input
    argTypes:
    - RESONATOR*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 608
    functionName: resonator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double resonator(RESONATOR *r, double input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:625,1
    - Dst: cos
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rp
    - freq
    - bwidth
    - init
    argTypes:
    - RESONATOR*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 633
    functionName: setresonator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - cos
    - exp
    linkageType: ''
    returnType: void
    signature: void setresonator(RESONATOR *rp, int freq, int bwidth, int init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setresonator
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: InitBreath
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached:
    - setresonator
    linkageType: ''
    returnType: void
    signature: void InitBreath(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setresonator
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: SetBreath
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - setresonator
    linkageType: ''
    returnType: void
    signature: void SetBreath(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espeak_rand
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:672,1
    - Dst: resonator
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 682
    functionName: ApplyBreath
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - espeak_rand
    - resonator
    linkageType: ''
    returnType: int
    signature: int ApplyBreath(void)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SetSynth
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:687,1
    - Dst: PeaksToHarmspect
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:723,1
    - Dst: AdvanceParameters
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:731,1
    - Dst: PeaksToHarmspect
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:741,1
    - Dst: SetBreath
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:743,1
    - Dst: ApplyBreath
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:853,1
    - Dst: outputVoiced
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:895,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 147
    argCount: 6
    argNames:
    - length
    - modulation
    - resume
    - fr1
    - fr2
    - wvoice
    argTypes:
    - int
    - int
    - bool
    - frame_t*
    - frame_t*
    - voice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 904
    functionName: Wavegen
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - SetSynth
    - ApplyBreath
    - AdvanceParameters
    - PeaksToHarmspect
    - SetBreath
    - outputVoiced
    linkageType: ''
    returnType: int
    signature: int Wavegen(int length, int modulation, bool resume, frame_t *fr1,
      frame_t *fr2, voice_t *wvoice)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: outputSilence
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - length
    - resume
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 939
    functionName: PlaySilence
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - outputSilence
    linkageType: ''
    returnType: int
    signature: int PlaySilence(int length, bool resume)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: outputUnvoiced
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:982,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - length
    - resume
    - data
    - scale
    - amp
    argTypes:
    - int
    - bool
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 993
    functionName: PlayWave
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - outputUnvoiced
    linkageType: ''
    returnType: int
    signature: int PlayWave(int length, bool resume, unsigned char *data, int scale,
      int amp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - value
    - max
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1002
    functionName: SetWithRange0
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SetWithRange0(int value, int max)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1028
    functionName: SetPitchFormants
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPitchFormants(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SetWithRange0
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1047,1
    - Dst: WavegenSetEcho
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1053,1
    - Dst: SetPitchFormants
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1055,1
    - Dst: GetAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1058,1
    - Dst: GetAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1061,1
    - Dst: WavegenSetEcho
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1064,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - control
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1067
    functionName: SetEmbedded
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 2
    functionsReached:
    - SetPitchFormants
    - SetWithRange0
    - GetAmplitude
    - WavegenSetEcho
    linkageType: ''
    returnType: void
    signature: void SetEmbedded(int control, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1073,1
    - Dst: WavegenSetEcho
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1086,1
    - Dst: SetPitchFormants
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1087,1
    - Dst: MarkerEvent
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - voice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1089
    functionName: WavegenSetVoice
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached:
    - MarkerEvent
    - memcpy
    - SetPitchFormants
    - WavegenSetEcho
    linkageType: ''
    returnType: void
    signature: void WavegenSetVoice(voice_t *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - length
    - amp_env
    - value
    argTypes:
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1106
    functionName: SetAmplitude
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetAmplitude(int length, unsigned char *amp_env, int value)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - voice
    - pitch1
    - pitch2
    - pitch_base
    - pitch_range
    argTypes:
    - voice_t*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1135
    functionName: SetPitch2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base,
      int *pitch_range)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetPitch2
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - length
    - env
    - pitch1
    - pitch2
    argTypes:
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1158
    functionName: SetPitch
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - SetPitch2
    linkageType: ''
    returnType: void
    signature: void SetPitch(int length, unsigned char *env, int pitch1, int pitch2)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 5
    argNames:
    - length
    - modn
    - fr1
    - fr2
    - v
    argTypes:
    - int
    - int
    - frame_t*
    - frame_t*
    - voice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1243
    functionName: SetSynth
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t
      *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - value
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: Write4Bytes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 5
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void Write4Bytes(FILE *f, int value)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqUsed
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1272,1
    - Dst: PlaySilence
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1275,1
    - Dst: SetPitch
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1289,1
    - Dst: outputPhoSymbol
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1294,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1295,1
    - Dst: KlattReset
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1304,1
    - Dst: PlaySilence
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1306,1
    - Dst: KlattReset
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1312,1
    - Dst: PlayWave
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1314,1
    - Dst: Wavegen
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1334,1
    - Dst: Wavegen_Klatt
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1341,1
    - Dst: MarkerEvent
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1346,1
    - Dst: SetAmplitude
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1349,1
    - Dst: WavegenSetVoice
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1352,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1353,1
    - Dst: SetEmbedded
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1356,1
    - Dst: MbrolaFill
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1361,1
    - Dst: sonicFlushStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1372,1
    - Dst: sonicReadShortFromStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1374,1
    - Dst: WcmdqIncHead
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1392,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1256
    functionDepth: 6
    functionLinenumber: 1256
    functionLinenumberEnd: 1399
    functionName: WavegenFill2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - Wavegen_Klatt
    - SetAmplitude
    - KlattReset
    - free
    - sonicReadShortFromStream
    - SetPitch
    - SetEmbedded
    - sonicFlushStream
    - WcmdqUsed
    - PlayWave
    - WavegenSetVoice
    - WcmdqIncHead
    - MbrolaFill
    - Wavegen
    - MarkerEvent
    - PlaySilence
    - outputPhoSymbol
    linkageType: ''
    returnType: int
    signature: int WavegenFill2(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sonicCreateStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1411,1
    - Dst: sonicGetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1412,1
    - Dst: sonicSetSpeed
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1413,1
    - Dst: sonicWriteShortToStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1421,1
    - Dst: sonicFlushStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1428,1
    - Dst: sonicReadShortFromStream
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - outbuf
    - length_in
    - length_out
    - end_of_text
    argTypes:
    - short*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1439
    functionName: SpeedUp
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - sonicSetSpeed
    - sonicReadShortFromStream
    - sonicFlushStream
    - sonicGetSpeed
    - sonicCreateStream
    - sonicWriteShortToStream
    linkageType: ''
    returnType: int
    signature: int SpeedUp(short *outbuf, int length_in, int length_out, int end_of_text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WavegenFill2
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1452,1
    - Dst: SpeedUp
      Src: /src/espeak-ng/src/libespeak-ng/wavegen.c:1460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1443
    functionDepth: 7
    functionLinenumber: 1443
    functionLinenumberEnd: 1468
    functionName: WavegenFill
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached:
    - WavegenFill2
    - SpeedUp
    linkageType: ''
    returnType: int
    signature: int WavegenFill(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - espeak_ng_OUTPUT_HOOKS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1477
    functionName: espeak_ng_STATUS::espeak_ng_SetOutputHooks
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: 'ESPEAK_NG_API espeak_ng_STATUS

      espeak_ng_SetOutputHooks(espeak_ng_OUTPUT_HOOKS* hooks)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f0
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1484
    functionName: espeak_ng_STATUS::espeak_ng_SetConstF0
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/wavegen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: 'ESPEAK_NG_API espeak_ng_STATUS

      espeak_ng_SetConstF0(int f0)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: audio_object_flush
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: cancel_audio
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 1
    functionsReached:
    - audio_object_flush
    linkageType: ''
    returnType: void
    signature: void cancel_audio(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fifo_is_command_enabled
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:105,1
    - Dst: audio_object_close
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:124,1
    - Dst: audio_object_open
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:129,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:131,1
    - Dst: audio_object_strerror
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:131,1
    - Dst: event_init
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:139,1
    - Dst: audio_object_open
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:146,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:148,1
    - Dst: audio_object_strerror
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:148,1
    - Dst: audio_object_write
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:158,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:160,1
    - Dst: audio_object_strerror
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:160,1
    - Dst: event_declare
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:174,1
    - Dst: usleep
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:177,1
    - Dst: fifo_is_command_enabled
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:178,1
    - Dst: synth_callback
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:187,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 3
    argNames:
    - outbuf
    - length
    - event
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 192
    functionName: dispatch_audio
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - fifo_is_command_enabled
    - usleep
    - audio_object_strerror
    - synth_callback
    - event_init
    - audio_object_write
    - event_declare
    - audio_object_open
    - fprintf
    - audio_object_close
    linkageType: ''
    returnType: int
    signature: int dispatch_audio(short *outbuf, int length, espeak_EVENT *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dispatch_audio
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - outbuf
    - length
    - event_list
    argTypes:
    - short*
    - int
    - espeak_EVENT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: create_events
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - dispatch_audio
    linkageType: ''
    returnType: int
    signature: int create_events(short *outbuf, int length, espeak_EVENT *event_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:224,1
    - Dst: event_declare
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:235,1
    - Dst: usleep
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:238,1
    - Dst: synth_callback
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - unique_identifier
    - user_data
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: sync_espeak_terminated_msg
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - synth_callback
    - usleep
    - event_declare
    - memset
    linkageType: ''
    returnType: int
    signature: int sync_espeak_terminated_msg(uint32_t unique_identifier, void *user_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:251,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:252,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:258,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - path
    - allow_directory
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: check_data_path
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - snprintf
    - GetFileLength
    linkageType: ''
    returnType: int
    signature: int check_data_path(const char *path, int allow_directory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_audio_device_object
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:273,1
    - Dst: fifo_init
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:277,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:288,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - output_mode
    - buffer_length
    - device
    argTypes:
    - espeak_ng_OUTPUT_MODE
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 303
    functionName: espeak_ng_STATUS::espeak_ng_InitializeOutput
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - fifo_init
    - realloc
    - create_audio_device_object
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_InitializeOutput(espeak_ng_OUTPUT_MODE
      output_mode, int buffer_length, const char *device)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_data_path
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:308,1
    - Dst: check_data_path
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:317,1
    - Dst: getenv
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:317,1
    - Dst: RegOpenKeyExA
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:321,1
    - Dst: RegOpenKeyExA
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:323,1
    - Dst: RegQueryValueExA
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:326,1
    - Dst: check_data_path
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:328,1
    - Dst: check_data_path
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:331,1
    - Dst: getenv
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:331,1
    - Dst: check_data_path
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:334,1
    - Dst: getenv
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:334,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 339
    functionName: espeak_ng_InitializePath
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 3
    functionsReached:
    - RegQueryValueExA
    - strcpy
    - getenv
    - RegOpenKeyExA
    - check_data_path
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_InitializePath(const char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:368,1
    - Dst: setlocale
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:369,1
    - Dst: setlocale
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:370,1
    - Dst: setlocale
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:371,1
    - Dst: LoadPhData
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:375,1
    - Dst: WavegenInit
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:379,1
    - Dst: LoadConfig
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:380,1
    - Dst: espeak_GetCurrentVoice
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:382,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:383,1
    - Dst: SetVoiceStack
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:384,1
    - Dst: SynthesizeInit
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:385,1
    - Dst: InitNamedata
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:386,1
    - Dst: VoiceReset
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:388,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:393,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:394,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:395,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:396,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:397,1
    - Dst: espeak_srand
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:403,1
    - Dst: time
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - context
    argTypes:
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 360
    functionDepth: 8
    functionLinenumber: 360
    functionLinenumberEnd: 406
    functionName: espeak_ng_STATUS::espeak_ng_Initialize
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - memset
    - LoadPhData
    - SetVoiceStack
    - LoadConfig
    - espeak_srand
    - InitNamedata
    - setlocale
    - VoiceReset
    - time
    - espeak_GetCurrentVoice
    - SetParameter
    - SynthesizeInit
    - WavegenInit
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Initialize(espeak_ng_ERROR_CONTEXT
      *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - enable
    - ipa
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: espeak_ng_STATUS::espeak_ng_SetPhonemeEvents
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetPhonemeEvents(int enable,
      int ipa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: espeak_ng_GetSampleRate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_GetSampleRate(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_SetVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:443,1
    - Dst: create_text_decoder
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:449,1
    - Dst: text_decoder_decode_string_multibyte
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:451,1
    - Dst: SpeakNextClause
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:455,1
    - Dst: WavegenFill
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:461,1
    - Dst: create_events
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:470,1
    - Dst: synth_callback
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:474,1
    - Dst: SpeakNextClause
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:476,1
    - Dst: Generate
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:480,1
    - Dst: WcmdqUsed
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:481,1
    - Dst: SpeakNextClause
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:489,1
    - Dst: dispatch_audio
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:492,1
    - Dst: synth_callback
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:495,1
    - Dst: SpeakNextClause
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:497,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - unique_identifier
    - text
    - flags
    argTypes:
    - unsigned int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 426
    functionDepth: 8
    functionLinenumber: 426
    functionLinenumberEnd: 505
    functionName: Synthesize
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 4
    functionsReached:
    - WavegenFill
    - synth_callback
    - WcmdqUsed
    - espeak_ng_SetVoiceByName
    - dispatch_audio
    - Generate
    - create_text_decoder
    - create_events
    - SpeakNextClause
    - text_decoder_decode_string_multibyte
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void
      *text, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - type
    - char_position
    - value
    - value2
    - out_ptr
    argTypes:
    - int
    - unsigned int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 540
    functionName: MarkerEvent
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkerEvent(int type, unsigned int char_position, int value, int
      value2, unsigned char *out_ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: InitText
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:546,1
    - Dst: Synthesize
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:571,1
    - Dst: audio_object_flush
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:575,1
    - Dst: audio_object_drain
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:576,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:578,1
    - Dst: audio_object_strerror
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 7
    argNames:
    - unique_identifier
    - text
    - position
    - position_type
    - end_position
    - flags
    - user_data
    argTypes:
    - unsigned int
    - void*
    - unsigned int
    - espeak_POSITION_TYPE
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 542
    functionDepth: 9
    functionLinenumber: 542
    functionLinenumberEnd: 585
    functionName: sync_espeak_Synth
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - InitText
    - audio_object_strerror
    - audio_object_drain
    - audio_object_flush
    - Synthesize
    - fprintf
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS sync_espeak_Synth(unsigned int unique_identifier,
      const void *text,\n                                   unsigned int position,
      espeak_POSITION_TYPE position_type,\n                                   unsigned
      int end_position, unsigned int flags, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitText
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:591,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:597,1
    - Dst: Synthesize
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - unique_identifier
    - text
    - index_mark
    - end_position
    - flags
    - user_data
    argTypes:
    - unsigned int
    - void*
    - char*
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 587
    functionDepth: 9
    functionLinenumber: 587
    functionLinenumberEnd: 604
    functionName: sync_espeak_Synth_Mark
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - InitText
    - Synthesize
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: "espeak_ng_STATUS sync_espeak_Synth_Mark(unsigned int unique_identifier,
      const void *text,\n                                        const char *index_mark,
      unsigned int end_position,\n                                        unsigned
      int flags, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_in
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:612,1
    - Dst: sync_espeak_Char
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:614,1
    - Dst: Synthesize
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 9
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: sync_espeak_Key
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - utf8_in
    - sync_espeak_Char
    - Synthesize
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS sync_espeak_Key(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:628,1
    - Dst: Synthesize
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - character
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 621
    functionDepth: 9
    functionLinenumber: 621
    functionLinenumberEnd: 630
    functionName: sync_espeak_Char
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 1
    functionsReached:
    - sprintf
    - Synthesize
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS sync_espeak_Char(wchar_t character)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcsncpy
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - punctlist
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 643
    functionName: sync_espeak_SetPunctuationList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - wcsncpy
    linkageType: ''
    returnType: void
    signature: void sync_espeak_SetPunctuationList(const wchar_t *punctlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_set_callback
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - SynthCallback
    argTypes:
    - t_espeak_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: espeak_SetSynthCallback
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 8
    functionsReached:
    - event_set_callback
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_SetSynthCallback(t_espeak_callback *SynthCallback)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sync_espeak_Synth
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:671,1
    - Dst: create_espeak_text
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:675,1
    - Dst: create_espeak_terminated_msg
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:682,1
    - Dst: fifo_add_commands
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:686,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:688,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:689,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:694,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:695,1
    - Dst: sync_espeak_Synth
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 8
    argNames:
    - text
    - size
    - position
    - position_type
    - end_position
    - flags
    - unique_identifier
    - user_data
    argTypes:
    - void*
    - size_t
    - unsigned int
    - espeak_POSITION_TYPE
    - unsigned int
    - unsigned int
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 655
    functionDepth: 10
    functionLinenumber: 655
    functionLinenumberEnd: 700
    functionName: espeak_ng_STATUS::espeak_ng_Synthesize
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - create_espeak_terminated_msg
    - delete_espeak_command
    - create_espeak_text
    - sync_espeak_Synth
    - fifo_add_commands
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: "ESPEAK_NG_API espeak_ng_STATUS\nespeak_ng_Synthesize(const void *text,
      size_t size,\n                     unsigned int position,\n                     espeak_POSITION_TYPE
      position_type,\n                     unsigned int end_position, unsigned int
      flags,\n                     unsigned int *unique_identifier, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sync_espeak_Synth_Mark
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:720,1
    - Dst: create_espeak_mark
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:724,1
    - Dst: create_espeak_terminated_msg
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:732,1
    - Dst: fifo_add_commands
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:736,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:738,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:739,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:744,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:745,1
    - Dst: sync_espeak_Synth_Mark
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 7
    argNames:
    - text
    - size
    - index_mark
    - end_position
    - flags
    - unique_identifier
    - user_data
    argTypes:
    - void*
    - size_t
    - char*
    - unsigned int
    - unsigned int
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 702
    functionDepth: 10
    functionLinenumber: 702
    functionLinenumberEnd: 750
    functionName: espeak_ng_STATUS::espeak_ng_SynthesizeMark
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - create_espeak_terminated_msg
    - delete_espeak_command
    - sync_espeak_Synth_Mark
    - create_espeak_mark
    - fifo_add_commands
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: "ESPEAK_NG_API espeak_ng_STATUS\nespeak_ng_SynthesizeMark(const void
      *text,\n                         size_t size,\n                         const
      char *index_mark,\n                         unsigned int end_position,\n                         unsigned
      int flags,\n                         unsigned int *unique_identifier,\n                         void
      *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sync_espeak_Key
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:757,1
    - Dst: create_espeak_key
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:760,1
    - Dst: fifo_add_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:761,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:763,1
    - Dst: sync_espeak_Key
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 752
    functionDepth: 10
    functionLinenumber: 752
    functionLinenumberEnd: 768
    functionName: espeak_ng_STATUS::espeak_ng_SpeakKeyName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - fifo_add_command
    - sync_espeak_Key
    - create_espeak_key
    - delete_espeak_command
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SpeakKeyName(const char *key_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sync_espeak_Char
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:776,1
    - Dst: create_espeak_char
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:778,1
    - Dst: fifo_add_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:779,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:781,1
    - Dst: sync_espeak_Char
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - character
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 770
    functionDepth: 10
    functionLinenumber: 770
    functionLinenumberEnd: 786
    functionName: espeak_ng_STATUS::espeak_ng_SpeakCharacter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - create_espeak_char
    - fifo_add_command
    - sync_espeak_Char
    - delete_espeak_command
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SpeakCharacter(wchar_t character)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - parameter
    - current
    argTypes:
    - espeak_PARAMETER
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: espeak_GetParameter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_GetParameter(espeak_PARAMETER parameter, int current)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:800,1
    - Dst: create_espeak_parameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:802,1
    - Dst: fifo_add_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:804,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:806,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - parameter
    - value
    - relative
    argTypes:
    - espeak_PARAMETER
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 811
    functionName: espeak_ng_STATUS::espeak_ng_SetParameter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - fifo_add_command
    - SetParameter
    - create_espeak_parameter
    - delete_espeak_command
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetParameter(espeak_PARAMETER
      parameter, int value, int relative)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sync_espeak_SetPunctuationList
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:819,1
    - Dst: create_espeak_punctuation_list
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:823,1
    - Dst: fifo_add_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:824,1
    - Dst: delete_espeak_command
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:826,1
    - Dst: sync_espeak_SetPunctuationList
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - punctlist
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 832
    functionName: espeak_ng_STATUS::espeak_ng_SetPunctuationList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - fifo_add_command
    - sync_espeak_SetPunctuationList
    - create_espeak_punctuation_list
    - delete_espeak_command
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SetPunctuationList(const wchar_t
      *punctlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - phonememode
    - stream
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 853
    functionName: espeak_SetPhonemeTrace
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_SetPhonemeTrace(int phonememode, FILE *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_text_decoder
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:864,1
    - Dst: text_decoder_decode_string_multibyte
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:866,1
    - Dst: TranslateClauseWithTerminator
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:869,1
    - Dst: text_decoder_get_buffer
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:870,1
    - Dst: GetTranslatedPhonemeString
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - textptr
    - textmode
    - phonememode
    - terminator
    argTypes:
    - void**
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 855
    functionDepth: 8
    functionLinenumber: 855
    functionLinenumberEnd: 873
    functionName: espeak_TextToPhonemesWithTerminator
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - GetTranslatedPhonemeString
    - text_decoder_get_buffer
    - TranslateClauseWithTerminator
    - create_text_decoder
    - text_decoder_decode_string_multibyte
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API * espeak_TextToPhonemesWithTerminator(const void** textptr,
      int textmode, int phonememode, int* terminator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_TextToPhonemesWithTerminator
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - textptr
    - textmode
    - phonememode
    argTypes:
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 9
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: espeak_TextToPhonemes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - espeak_TextToPhonemesWithTerminator
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API *espeak_TextToPhonemes(const void **textptr, int textmode,
      int phonememode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fifo_stop
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:883,1
    - Dst: event_clear_all
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:884,1
    - Dst: audio_object_flush
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:889,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 897
    functionName: espeak_ng_STATUS::espeak_ng_Cancel
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - audio_object_flush
    - event_clear_all
    - SetParameter
    - fifo_stop
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Cancel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fifo_is_busy
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 906
    functionName: espeak_IsPlaying
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - fifo_is_busy
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_IsPlaying(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espeak_IsPlaying
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:912,1
    - Dst: usleep
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 917
    functionName: espeak_ng_STATUS::espeak_ng_Synchronize
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - espeak_IsPlaying
    - usleep
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Synchronize(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fifo_stop
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:922,1
    - Dst: fifo_terminate
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:923,1
    - Dst: event_terminate
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:924,1
    - Dst: audio_object_close
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:929,1
    - Dst: audio_object_destroy
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:930,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:936,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:939,1
    - Dst: FreePhData
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:942,1
    - Dst: FreeVoiceList
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:943,1
    - Dst: DeleteTranslator
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:945,1
    - Dst: destroy_text_decoder
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:949,1
    - Dst: WavegenFini
      Src: /src/espeak-ng/src/libespeak-ng/speech.c:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 956
    functionName: espeak_ng_STATUS::espeak_ng_Terminate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 0
    functionsReached:
    - event_terminate
    - DeleteTranslator
    - FreeVoiceList
    - free
    - audio_object_destroy
    - WavegenFini
    - destroy_text_decoder
    - fifo_terminate
    - FreePhData
    - fifo_stop
    - audio_object_close
    linkageType: ''
    returnType: ESPEAK_NG_API
    signature: ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Terminate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: espeak_Info
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API *espeak_Info(const char **ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: attrcmp
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int attrcmp(const wchar_t *string1, const char *string2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attrcmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - string1
    - mtab
    argTypes:
    - wchar_t*
    - MNEM_TAB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: attrlookup
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - attrcmp
    linkageType: ''
    returnType: int
    signature: int attrlookup(const wchar_t *string1, const MNEM_TAB *mtab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:122,1
    - Dst: IsDigit09
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:125,1
    - Dst: ucd_tolower
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pw
    - default_value
    - type
    argTypes:
    - wchar_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: attrnumber
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - IsDigit09
    - ucd_tolower
    linkageType: ''
    returnType: int
    signature: int attrnumber(const wchar_t *pw, int default_value, int type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:146,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:151,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - pw
    - len
    argTypes:
    - char*
    - wchar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 158
    functionName: attrcopy_utf8
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - isspace
    - utf8_out
    linkageType: ''
    returnType: int
    signature: int attrcopy_utf8(char *buf, const wchar_t *pw, int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:166,1
    - Dst: wcstod
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:175,1
    - Dst: pow
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - param_type
    - pw
    - value_out
    argTypes:
    - int
    - wchar_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 207
    functionName: attr_prosody_value
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - iswspace
    - wcstod
    - pow
    linkageType: ''
    returnType: int
    signature: int attr_prosody_value(int param_type, const wchar_t *pw, int *value_out)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:224,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:226,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:227,1
    - Dst: SelectVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:238,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:240,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:241,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:248,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:253,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:255,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:258,1
    - Dst: SelectVoice
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:280,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:284,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:287,1
    - Dst: strncpy0
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:288,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - ssml_stack
    - n_ssml_stack
    - base_voice
    - base_voice_variant_name
    argTypes:
    - SSML_STACK*
    - int
    - espeak_VOICE*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 292
    functionName: VoiceFromStack
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - strncpy0
    - strlen
    - SelectVoice
    - MAKE_MEM_UNDEFINED
    - strchr
    - SelectVoiceByName
    - strcpy
    - sprintf
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *VoiceFromStack(SSML_STACK *ssml_stack, int n_ssml_stack, espeak_VOICE
      *base_voice, char base_voice_variant_name[40])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:304,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:312,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:314,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:317,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pw
    - name
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 326
    functionName: GetSsmlAttribute
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - iswspace
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *GetSsmlAttribute(wchar_t *pw, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:358,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:367,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:368,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:369,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:370,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:380,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:381,1
    - Dst: attrnumber
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:382,1
    - Dst: attrnumber
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:385,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:386,1
    - Dst: VoiceFromStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:390,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:391,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 8
    argNames:
    - pw
    - tag_type
    - ssml_sp
    - ssml_stack
    - n_ssml_stack
    - current_voice_id
    - base_voice
    - base_voice_variant_name
    argTypes:
    - wchar_t*
    - int
    - SSML_STACK*
    - SSML_STACK*
    - int
    - char[]
    - espeak_VOICE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 398
    functionName: GetVoiceAttributes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - attrlookup
    - attrcopy_utf8
    - strcpy
    - VoiceFromStack
    - GetSsmlAttribute
    - strcmp
    - attrnumber
    linkageType: ''
    returnType: int
    signature: int GetVoiceAttributes(wchar_t *pw, int tag_type, SSML_STACK *ssml_sp,
      SSML_STACK *ssml_stack, int n_ssml_stack, char current_voice_id[40], espeak_VOICE
      *base_voice, char *base_voice_variant_name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:437,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:442,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:443,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - outbuf
    - outix
    - n_param_stack
    - param_stack
    - speech_parameters
    argTypes:
    - char*
    - int*
    - int
    - PARAM_STACK*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 446
    functionName: ProcessParamStack
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: void ProcessParamStack(char *outbuf, int *outix, int n_param_stack,
      PARAM_STACK *param_stack, int *speech_parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tag_type
    - n_param_stack
    - param_stack
    argTypes:
    - int
    - int*
    - PARAM_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 461
    functionName: PushParamStack
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PARAM_STACK
    signature: PARAM_STACK *PushParamStack(int tag_type, int *n_param_stack, PARAM_STACK
      *param_stack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ProcessParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - tag_type
    - outbuf
    - outix
    - n_param_stack
    - param_stack
    - speech_parameters
    argTypes:
    - int
    - char*
    - int*
    - int*
    - PARAM_STACK*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 479
    functionName: PopParamStack
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - ProcessParamStack
    linkageType: ''
    returnType: void
    signature: void PopParamStack(int tag_type, char *outbuf, int *outix, int *n_param_stack,
      PARAM_STACK *param_stack, int *speech_parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:497,1
    - Dst: utf8_out
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - outbuf
    - index
    - outix
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 504
    functionName: ReplaceKeyName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - utf8_out
    - LookupMnem
    linkageType: ''
    returnType: int
    signature: int ReplaceKeyName(char *outbuf, int index, int *outix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:556,1
    - Dst: attr_prosody_value
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - param_type
    - attr1
    - sp
    - param_stack
    - speech_parameters
    argTypes:
    - int
    - wchar_t*
    - PARAM_STACK*
    - PARAM_STACK*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 572
    functionName: SetProsodyParameter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached:
    - attr_prosody_value
    - attrlookup
    linkageType: ''
    returnType: void
    signature: void SetProsodyParameter(int param_type, const wchar_t *attr1, PARAM_STACK
      *sp, PARAM_STACK *param_stack, int *speech_parameters)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: wcsncmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:598,1
    - Dst: wcsncmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:598,1
    - Dst: wcslen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:607,1
    - Dst: iswspace
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:673,1
    - Dst: tolower
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:675,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:683,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:687,1
    - Dst: PushParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:702,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:703,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:704,1
    - Dst: attrcmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:707,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:708,1
    - Dst: attrcmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:710,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:711,1
    - Dst: ProcessParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:714,1
    - Dst: PushParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:717,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:721,1
    - Dst: SetProsodyParameter
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:722,1
    - Dst: ProcessParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:725,1
    - Dst: PushParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:728,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:730,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:731,1
    - Dst: ProcessParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:744,1
    - Dst: PopParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:749,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:752,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:753,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:754,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:758,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:764,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:765,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:766,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:767,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:768,1
    - Dst: attrnumber
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:772,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:781,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:782,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:783,1
    - Dst: ReplaceKeyName
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:791,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:799,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:802,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:813,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:815,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:817,1
    - Dst: AddNameData
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:824,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:825,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:826,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:827,1
    - Dst: PushParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:832,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:834,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:835,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:840,1
    - Dst: LoadSoundFile2
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:841,1
    - Dst: LoadSoundFile2
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:843,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:845,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:846,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:847,1
    - Dst: AddNameData
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:851,1
    - Dst: uri_callback
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:854,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:855,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:856,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:857,1
    - Dst: ProcessParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:863,1
    - Dst: PopParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:866,1
    - Dst: PopParamStack
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:871,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:878,1
    - Dst: attrlookup
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:880,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:884,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:890,1
    - Dst: attrnumber
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:891,1
    - Dst: espeak_SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:896,1
    - Dst: GetSsmlAttribute
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:927,1
    - Dst: attrcopy_utf8
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:928,1
    - Dst: AddNameData
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:929,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:932,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:936,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:943,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:950,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:957,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:959,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:964,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:968,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:970,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:975,1
    - Dst: GetVoiceAttributes
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:982,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 266
    argCount: 17
    argNames:
    - xml_buf
    - outbuf
    - outix
    - n_outbuf
    - xmlbase
    - audio_text
    - current_voice_id
    - base_voice
    - base_voice_variant_name
    - ignore_text
    - clear_skipping_text
    - sayas_mode
    - sayas_start
    - ssml_stack
    - n_ssml_stack
    - n_param_stack
    - speech_parameters
    argTypes:
    - wchar_t*
    - char*
    - int*
    - int
    - char*
    - bool*
    - char*
    - espeak_VOICE*
    - char*
    - bool*
    - bool*
    - int*
    - int*
    - SSML_STACK*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 574
    functionDepth: 5
    functionLinenumber: 574
    functionLinenumberEnd: 987
    functionName: ProcessSsmlTag
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 1
    functionsReached:
    - attrlookup
    - uri_callback
    - PushParamStack
    - iswspace
    - espeak_SetParameter
    - attrnumber
    - ReplaceKeyName
    - AddNameData
    - PopParamStack
    - GetSsmlAttribute
    - strcmp
    - wcslen
    - wcsncmp
    - attrcmp
    - LookupMnem
    - GetVoiceAttributes
    - tolower
    - ProcessParamStack
    - SetProsodyParameter
    - LoadSoundFile2
    - attrcopy_utf8
    - strlen
    - strcpy
    - sprintf
    linkageType: ''
    returnType: int
    signature: int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int
      n_outbuf, const char *xmlbase, bool *audio_text, char *current_voice_id, espeak_VOICE
      *base_voice, char *base_voice_variant_name, bool *ignore_text, bool *clear_skipping_text,
      int *sayas_mode, int *sayas_start, SSML_STACK *ssml_stack, int *n_ssml_stack,
      int *n_param_stack, int *speech_parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: espeak_SetUriCallback
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_SetUriCallback(int (*UriCallback)(int, const char
      *, const char *))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:1015,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:1017,1
    - Dst: LookupMnem
      Src: /src/espeak-ng/src/libespeak-ng/ssml.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ref
    - c1
    - c2
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1029
    functionName: ParseSsmlReference
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ssml.c
    functionUses: 1
    functionsReached:
    - LookupMnem
    - sscanf
    linkageType: ''
    returnType: int
    signature: int ParseSsmlReference(char *ref, int *c1, int *c2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ldexp
      Src: /src/espeak-ng/src/libespeak-ng/ieee80.c:60,1
    - Dst: ldexp
      Src: /src/espeak-ng/src/libespeak-ng/ieee80.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: ieee_extended_to_double
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/ieee80.c
    functionUses: 1
    functionsReached:
    - ldexp
    linkageType: ''
    returnType: double
    signature: double ieee_extended_to_double(const unsigned char *bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:42,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:46,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:48,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 7
    argNames:
    - text
    - size
    - position
    - position_type
    - end_position
    - flags
    - user_data
    argTypes:
    - void*
    - size_t
    - unsigned int
    - espeak_POSITION_TYPE
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: create_espeak_text
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 1
    functionsReached:
    - malloc
    - memcpy
    - free
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_text(const void *text, size_t size,
      unsigned int position, espeak_POSITION_TYPE position_type, unsigned int end_position,
      unsigned int flags, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - unique_identifier
    - user_data
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: create_espeak_terminated_msg
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 2
    functionsReached:
    - malloc
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_terminated_msg(unsigned int unique_identifier,
      void *user_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:92,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:96,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:98,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:101,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - text
    - size
    - index_mark
    - end_position
    - flags
    - user_data
    argTypes:
    - void*
    - size_t
    - char*
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 116
    functionName: create_espeak_mark
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 1
    functionsReached:
    - malloc
    - memcpy
    - free
    - strdup
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_mark(const void *text, size_t size,
      const char *index_mark, unsigned int end_position, unsigned int flags, void
      *user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:123,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key_name
    - user_data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: create_espeak_key
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 1
    functionsReached:
    - malloc
    - strdup
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_key(const char *key_name, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - character
    - user_data
    argTypes:
    - wchar_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: create_espeak_char
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_char(wchar_t character, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - parameter
    - value
    - relative
    argTypes:
    - espeak_PARAMETER
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: create_espeak_parameter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_parameter(espeak_PARAMETER parameter,
      int value, int relative)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:174,1
    - Dst: wcslen
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:181,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:182,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:184,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - punctlist
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 191
    functionName: create_espeak_punctuation_list
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 1
    functionsReached:
    - malloc
    - wcslen
    - free
    - memcpy
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_punctuation_list(const wchar_t *punctlist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:198,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: create_espeak_voice_name
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_voice_name(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:214,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:222,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:225,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:228,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - voice
    argTypes:
    - espeak_VOICE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: create_espeak_voice_spec
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - strdup
    linkageType: ''
    returnType: t_espeak_command
    signature: t_espeak_command *create_espeak_voice_spec(espeak_VOICE *voice)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:244,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:248,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:250,1
    - Dst: sync_espeak_terminated_msg
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:261,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:267,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:275,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:279,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:286,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:289,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:292,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:296,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:298,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 1
    argNames:
    - the_command
    argTypes:
    - t_espeak_command*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    constantsTouched: []
    func_position:
      end: 302
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 302
    functionName: delete_espeak_command
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 8
    functionsReached:
    - free
    - assert
    - sync_espeak_terminated_msg
    linkageType: ''
    returnType: int
    signature: int delete_espeak_command(t_espeak_command *the_command)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sync_espeak_Synth
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:316,1
    - Dst: sync_espeak_Synth_Mark
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:324,1
    - Dst: sync_espeak_terminated_msg
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:332,1
    - Dst: sync_espeak_Key
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:338,1
    - Dst: sync_espeak_Char
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:344,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:350,1
    - Dst: sync_espeak_SetPunctuationList
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:356,1
    - Dst: espeak_SetVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:362,1
    - Dst: espeak_SetVoiceByProperties
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:368,1
    - Dst: assert
      Src: /src/espeak-ng/src/libespeak-ng/espeak_command.c:372,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - the_command
    argTypes:
    - t_espeak_command*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    constantsTouched: []
    func_position:
      end: 375
      start: 304
    functionDepth: 10
    functionLinenumber: 304
    functionLinenumberEnd: 375
    functionName: process_espeak_command
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_command.c
    functionUses: 2
    functionsReached:
    - sync_espeak_SetPunctuationList
    - assert
    - espeak_SetVoiceByName
    - sync_espeak_Char
    - sync_espeak_terminated_msg
    - sync_espeak_Synth_Mark
    - espeak_SetVoiceByProperties
    - sync_espeak_Synth
    - sync_espeak_Key
    - SetParameter
    linkageType: ''
    returnType: void
    signature: void process_espeak_command(t_espeak_command *the_command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: system_data_dirs
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: char *system_data_dirs(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:91,1
    - Dst: load_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:95,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:98,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:102,1
    - Dst: system_data_dirs
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:102,1
    - Dst: strtok
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:103,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:105,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:107,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:108,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:113,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:114,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:119,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:120,1
    - Dst: strtok
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:125,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:132,1
    - Dst: system_data_dirs
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:139,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:142,1
    - Dst: close_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:144,1
    - Dst: init_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:147,1
    - Dst: setNoError_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:150,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:153,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:154,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:157,1
    - Dst: close_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:159,1
    - Dst: realloc
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:163,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:165,1
    - Dst: close_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:166,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:171,1
    - Dst: Read4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:174,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:175,1
    - Dst: setVolumeRatio_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:177,1
    - Dst: getFreq_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:178,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:180,1
    - Dst: SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:182,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:183,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 3
    argNames:
    - mbrola_voice
    - phtrans
    - srate
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 186
    functionName: LoadMbrolaTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 2
    functionsReached:
    - strtok
    - realloc
    - strdup
    - setNoError_MBR
    - fopen
    - Read4Bytes
    - init_MBR
    - getFreq_MBR
    - load_MBR
    - GetFileLength
    - strcpy
    - fprintf
    - close_MBR
    - fclose
    - setVolumeRatio_MBR
    - sprintf
    - SetParameter
    - system_data_dirs
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char
      *phtrans, int *srate)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 7
    argNames:
    - plist
    - ph
    - ph_prev
    - ph_next
    - name2
    - split
    - control
    argTypes:
    - PHONEME_LIST*
    - PHONEME_TAB*
    - PHONEME_TAB*
    - PHONEME_TAB*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 263
    functionName: GetMbrName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetMbrName(PHONEME_LIST *plist, PHONEME_TAB *ph, PHONEME_TAB *ph_prev,
      PHONEME_TAB *ph_next, int *name2, int *split, int *control)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:285,1
    - Dst: SetPitch2
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:290,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:322,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:323,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:338,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:339,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:346,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:347,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:350,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:351,1
    - Dst: strcat
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:353,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:356,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 5
    argNames:
    - env
    - pitch1
    - pitch2
    - split
    - final
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 358
    functionName: WritePitch
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 0
    functionsReached:
    - SetPitch2
    - MAKE_MEM_UNDEFINED
    - strcat
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *WritePitch(int env, int pitch1, int pitch2, int split, int final)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: WcmdqFree
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:395,1
    - Dst: DoEmbedded
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:407,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:410,1
    - Dst: DoMarker
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:412,1
    - Dst: GetMbrName
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:414,1
    - Dst: WritePhMnemonic
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:434,1
    - Dst: DoPhonemeMarker
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:435,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:438,1
    - Dst: WordToString
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:438,1
    - Dst: WritePitch
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:461,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:462,1
    - Dst: WritePitch
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:466,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:468,1
    - Dst: WritePitch
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:470,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:471,1
    - Dst: WordToString
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:471,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:482,1
    - Dst: DoSample3
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:483,1
    - Dst: PauseLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:486,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:493,1
    - Dst: DoSample3
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:495,1
    - Dst: DoSample3
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:496,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:502,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:503,1
    - Dst: DoSpect2
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:505,1
    - Dst: WritePitch
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:509,1
    - Dst: WritePitch
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:515,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:523,1
    - Dst: WordToString
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:523,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:526,1
    - Dst: PauseLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:530,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:531,1
    - Dst: PauseLength
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:531,1
    - Dst: fwrite
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:536,1
    - Dst: write_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:538,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:545,1
    - Dst: flush_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:552,1
    - Dst: WcmdqInc
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:557,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 140
    argCount: 4
    argNames:
    - plist
    - n_phonemes
    - resume
    - f_mbrola
    argTypes:
    - PHONEME_LIST*
    - int
    - bool
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 561
    functionName: MbrolaTranslate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 0
    functionsReached:
    - WordToString
    - memset
    - flush_MBR
    - WcmdqFree
    - GetMbrName
    - WritePitch
    - fwrite
    - DoPhonemeMarker
    - InterpretPhoneme
    - PauseLength
    - DoSpect2
    - WritePhMnemonic
    - sprintf
    - write_MBR
    - DoSample3
    - DoEmbedded
    - DoMarker
    - WcmdqInc
    linkageType: ''
    returnType: int
    signature: int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume,
      FILE *f_mbrola)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MbrolaTranslate
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - phoneme_list
    - n_ph
    - resume
    argTypes:
    - PHONEME_LIST*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: MbrolaGenerate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 1
    functionsReached:
    - MbrolaTranslate
    linkageType: ''
    returnType: int
    signature: int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - length
    - resume
    - amplitude
    argTypes:
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 615
    functionName: MbrolaFill
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 1
    functionsReached:
    - read_MBR
    linkageType: ''
    returnType: int
    signature: int MbrolaFill(int length, bool resume, int amplitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset_MBR
      Src: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: MbrolaReset
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 1
    functionsReached:
    - reset_MBR
    linkageType: ''
    returnType: void
    signature: void MbrolaReset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mbrola_voice
    - phtrans
    - srate
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: LoadMbrolaTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char
      *phtrans, int *srate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - phoneme_list
    - n_ph
    - resume
    argTypes:
    - PHONEME_LIST*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: MbrolaGenerate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - length
    - resume
    - amplitude
    argTypes:
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: MbrolaFill
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MbrolaFill(int length, bool resume, int amplitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 654
    functionName: MbrolaReset
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MbrolaReset(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - status
    argTypes:
    - espeak_ng_STATUS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: status_to_espeak_error
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: espeak_ERROR
    signature: espeak_ERROR status_to_espeak_error(espeak_ng_STATUS status)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_InitializePath
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:53,1
    - Dst: espeak_ng_Initialize
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:55,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:57,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:58,1
    - Dst: exit
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:60,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:66,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:69,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:72,1
    - Dst: espeak_ng_InitializeOutput
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:75,1
    - Dst: espeak_ng_GetSampleRate
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - output_type
    - buf_length
    - path
    - options
    argTypes:
    - espeak_AUDIO_OUTPUT
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: espeak_Initialize
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 21
    functionsReached:
    - espeak_ng_GetSampleRate
    - espeak_ng_InitializeOutput
    - espeak_ng_Initialize
    - espeak_ng_ClearErrorContext
    - exit
    - espeak_ng_InitializePath
    - espeak_ng_PrintStatusCodeMessage
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_Initialize(espeak_AUDIO_OUTPUT output_type, int buf_length,
      const char *path, int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:90,1
    - Dst: espeak_ng_Synthesize
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - text
    - size
    - position
    - position_type
    - end_position
    - flags
    - unique_identifier
    - user_data
    argTypes:
    - void*
    - size_t
    - unsigned int
    - espeak_POSITION_TYPE
    - unsigned int
    - unsigned int
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: espeak_ERROR::espeak_Synth
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_Synthesize
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: "ESPEAK_API espeak_ERROR espeak_Synth(const void *text, size_t size,\n
      \                                    unsigned int position,\n                                     espeak_POSITION_TYPE
      position_type,\n                                     unsigned int end_position,
      unsigned int flags,\n                                     unsigned int *unique_identifier,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:100,1
    - Dst: espeak_ng_SynthesizeMark
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - text
    - size
    - index_mark
    - end_position
    - flags
    - unique_identifier
    - user_data
    argTypes:
    - void*
    - size_t
    - char*
    - unsigned int
    - unsigned int
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: espeak_ERROR::espeak_Synth_Mark
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_SynthesizeMark
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: "ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text, size_t
      size,\n                                          const char *index_mark,\n                                          unsigned
      int end_position,\n                                          unsigned int flags,\n
      \                                         unsigned int *unique_identifier,\n
      \                                         void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:105,1
    - Dst: espeak_ng_SpeakKeyName
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: espeak_ERROR::espeak_Key
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - status_to_espeak_error
    - espeak_ng_SpeakKeyName
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_Key(const char *key_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:110,1
    - Dst: espeak_ng_SpeakCharacter
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - character
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: espeak_ERROR::espeak_Char
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_SpeakCharacter
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_Char(wchar_t character)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:115,1
    - Dst: espeak_ng_SetParameter
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - parameter
    - value
    - relative
    argTypes:
    - espeak_PARAMETER
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espeak_ERROR::espeak_SetParameter
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - status_to_espeak_error
    - espeak_ng_SetParameter
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter,
      int value, int relative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:120,1
    - Dst: espeak_ng_SetPunctuationList
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - punctlist
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: espeak_ERROR::espeak_SetPunctuationList
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - status_to_espeak_error
    - espeak_ng_SetPunctuationList
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_SetPunctuationList(const wchar_t *punctlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:125,1
    - Dst: espeak_ng_SetVoiceByName
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: espeak_ERROR::espeak_SetVoiceByName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_SetVoiceByName
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_SetVoiceByName(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:130,1
    - Dst: espeak_ng_SetVoiceByFile
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: espeak_ERROR::espeak_SetVoiceByFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - status_to_espeak_error
    - espeak_ng_SetVoiceByFile
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_SetVoiceByFile(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:135,1
    - Dst: espeak_ng_SetVoiceByProperties
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - voice_selector
    argTypes:
    - espeak_VOICE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: espeak_ERROR::espeak_SetVoiceByProperties
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_SetVoiceByProperties
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_SetVoiceByProperties(espeak_VOICE *voice_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:140,1
    - Dst: espeak_ng_Cancel
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: espeak_ERROR::espeak_Cancel
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_Cancel
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_Cancel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:145,1
    - Dst: espeak_ng_Synchronize
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: espeak_ERROR::espeak_Synchronize
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_Synchronize
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_Synchronize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_to_espeak_error
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:150,1
    - Dst: espeak_ng_Terminate
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: espeak_ERROR::espeak_Terminate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_Terminate
    - status_to_espeak_error
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_ERROR espeak_Terminate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espeak_ng_CompileDictionary
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:156,1
    - Dst: espeak_ng_PrintStatusCodeMessage
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:158,1
    - Dst: espeak_ng_ClearErrorContext
      Src: /src/espeak-ng/src/libespeak-ng/espeak_api.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - path
    - log
    - flags
    argTypes:
    - char*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: espeak_CompileDictionary
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/espeak_api.c
    functionUses: 0
    functionsReached:
    - espeak_ng_ClearErrorContext
    - espeak_ng_CompileDictionary
    - espeak_ng_PrintStatusCodeMessage
    linkageType: ''
    returnType: ESPEAK_API
    signature: ESPEAK_API espeak_CompileDictionary(const char *path, FILE *log, int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:54,1
    - Dst: ieee_extended_to_double
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: read_double
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 0
    functionsReached:
    - ieee_extended_to_double
    - fread
    linkageType: ''
    returnType: double
    signature: double read_double(FILE *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:66,1
    - Dst: fabs
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - xa
    - ya
    - n
    - x
    argTypes:
    - float[]
    - float[]
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 91
    functionName: polint
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 1
    functionsReached:
    - fabs
    linkageType: ''
    returnType: float
    signature: float polint(float xa[], float ya[], int n, float x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:98,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: SpectFrameCreate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: SpectFrame
    signature: SpectFrame *SpectFrameCreate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:133,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - frame
    argTypes:
    - SpectFrame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: SpectFrameDestroy
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void SpectFrameDestroy(SpectFrame *frame)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_double
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:143,1
    - Dst: read_double
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:144,1
    - Dst: read_double
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:145,1
    - Dst: read_double
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:146,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:147,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:148,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:149,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:150,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:151,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:152,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:155,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:156,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:160,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:161,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:162,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:163,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:164,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:165,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:166,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:167,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:168,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:169,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:170,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:171,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:176,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:177,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:178,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:179,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:180,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:181,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:188,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:189,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:193,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:200,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 3
    argNames:
    - frame
    - stream
    - file_format_type
    argTypes:
    - SpectFrame*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 208
    functionName: LoadFrame
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 0
    functionsReached:
    - read_double
    - malloc
    - le16toh
    - fread
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadFrame(SpectFrame *frame, FILE *stream, int file_format_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PeaksToHarmspect
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:228,1
    - Dst: sqrt
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - frame
    - seq_amplitude
    argTypes:
    - SpectFrame*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 233
    functionName: GetFrameRms
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 1
    functionsReached:
    - sqrt
    - PeaksToHarmspect
    linkageType: ''
    returnType: double
    signature: double GetFrameRms(SpectFrame *frame, int seq_amplitude)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: SpectSeqCreate
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: SpectSeq
    signature: SpectSeq *SpectSeqCreate(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SpectFrameDestroy
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:265,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:267,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:269,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - spect
    argTypes:
    - SpectSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: SpectSeqDestroy
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 1
    functionsReached:
    - free
    - SpectFrameDestroy
    linkageType: ''
    returnType: void
    signature: void SpectSeqDestroy(SpectSeq *spect)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - spect
    - frame
    argTypes:
    - SpectSeq*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: GetFrameLength
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetFrameLength(SpectSeq *spect, int frame)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:298,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:300,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:304,1
    - Dst: le32toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:305,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:306,1
    - Dst: le32toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:307,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:316,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:317,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:321,1
    - Dst: le32toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:322,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:324,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:325,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:328,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:332,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:333,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:334,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:335,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:336,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:337,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:338,1
    - Dst: le16toh
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:339,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:342,1
    - Dst: SpectFrameDestroy
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:349,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:351,1
    - Dst: calloc
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:353,1
    - Dst: SpectFrameCreate
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:362,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:364,1
    - Dst: LoadFrame
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:368,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:370,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:371,1
    - Dst: GetFrameLength
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:399,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/spect.c:401,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 2
    argNames:
    - spect
    - filename
    argTypes:
    - SpectSeq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 403
    functionName: LoadSpectSeq
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/spect.c
    functionUses: 1
    functionsReached:
    - LoadFrame
    - SpectFrameDestroy
    - calloc
    - fread
    - fopen
    - free
    - fclose
    - SpectFrameCreate
    - le32toh
    - malloc
    - fprintf
    - le16toh
    - GetFrameLength
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadSpectSeq(SpectSeq *spect, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: L
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(c1, c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c1
    - ','
    - c2
    - ','
    - c3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: L3
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L3(c1, c2, c3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c1
    - ','
    - c2
    - ','
    - c3
    - ','
    - c4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: L4
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/translate.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L4(c1, c2, c3, c4)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:74,1
    - Dst: GetFileLength
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:75,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:77,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:79,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:80,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:83,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:92,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:93,1
    - Dst: fread
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:96,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:98,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:99,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:101,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - ptr
    - fname
    - size
    - context
    argTypes:
    - void**
    - char*
    - int*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: ReadPhFile
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached:
    - fread
    - fopen
    - free
    - GetFileLength
    - malloc
    - fclose
    - create_file_error_context
    - sprintf
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS ReadPhFile(void **ptr, const char *fname, int *size,
      espeak_ng_ERROR_CONTEXT *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ReadPhFile
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:119,1
    - Dst: ReadPhFile
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:121,1
    - Dst: ReadPhFile
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:123,1
    - Dst: ReadPhFile
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:125,1
    - Dst: create_version_mismatch_error_context
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:141,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - srate
    - context
    argTypes:
    - int*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 165
    functionName: LoadPhData
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 3
    functionsReached:
    - memcpy
    - ReadPhFile
    - create_version_mismatch_error_context
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS LoadPhData(int *srate, espeak_ng_ERROR_CONTEXT *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:169,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:170,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:171,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: FreePhData
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void FreePhData(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mnem
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: PhonemeCode
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PhonemeCode(unsigned int mnem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PhonemeCode
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: LookupPhonemeString
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 1
    functionsReached:
    - PhonemeCode
    linkageType: ''
    returnType: int
    signature: int LookupPhonemeString(const char *string)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:222,1
    - Dst: FormantTransition2
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:258,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 5
    argNames:
    - this_ph
    - which
    - fmt_params
    - n_frames
    - plist
    argTypes:
    - PHONEME_TAB*
    - int
    - FMT_PARAMS*
    - int*
    - PHONEME_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 331
    functionName: LookupSpect
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 1
    functionsReached:
    - MAKE_MEM_UNDEFINED
    - FormantTransition2
    linkageType: ''
    returnType: frameref_t
    signature: frameref_t *LookupSpect(PHONEME_TAB *this_ph, int which, FMT_PARAMS
      *fmt_params,  int *n_frames, PHONEME_LIST *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: GetEnvelope
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *GetEnvelope(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetUpPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:350,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 363
    functionName: SetUpPhonemeTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 1
    functionsReached:
    - SetUpPhonemeTable
    - memset
    linkageType: ''
    returnType: void
    signature: void SetUpPhonemeTable(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_MEM_UNDEFINED
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:369,1
    - Dst: SetUpPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: SelectPhonemeTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 10
    functionsReached:
    - MAKE_MEM_UNDEFINED
    - SetUpPhonemeTable
    linkageType: ''
    returnType: void
    signature: void SelectPhonemeTable(int number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: LookupPhonemeTable
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int LookupPhonemeTable(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LookupPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:397,1
    - Dst: SelectPhonemeTable
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: SelectPhonemeTableName
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 2
    functionsReached:
    - LookupPhonemeTable
    - SelectPhonemeTable
    linkageType: ''
    returnType: int
    signature: int SelectPhonemeTableName(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:407,1
    - Dst: WordToString
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ph
    - instn
    argTypes:
    - PHONEME_TAB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: InvalidInstn
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached:
    - WordToString
    - fprintf
    linkageType: ''
    returnType: void
    signature: void InvalidInstn(PHONEME_TAB *ph, int instn)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - tr
    - plist
    - condition
    - control
    argTypes:
    - Translator*
    - PHONEME_LIST*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 452
    functionName: StressCondition
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StressCondition(Translator *tr, PHONEME_LIST *plist, int condition,
      int control)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - plist
    - plist_start
    argTypes:
    - PHONEME_LIST*
    - PHONEME_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: CountVowelPosition
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CountVowelPosition(PHONEME_LIST *plist, PHONEME_LIST *plist_start)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: StressCondition
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:612,1
    - Dst: CountVowelPosition
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:644,1
    - Dst: CountVowelPosition
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:646,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 157
    argCount: 6
    argNames:
    - tr
    - control
    - plist
    - plist_start
    - p_prog
    - worddata
    argTypes:
    - Translator*
    - int
    - PHONEME_LIST*
    - PHONEME_LIST*
    - unsigned short*
    - WORD_PH_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 671
    functionName: InterpretCondition
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached:
    - StressCondition
    - CountVowelPosition
    linkageType: ''
    returnType: bool
    signature: bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist,
      PHONEME_LIST *plist_start, unsigned short *p_prog, WORD_PH_DATA *worddata)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - plist
    - phdata
    - p_prog
    - instn_type
    argTypes:
    - PHONEME_LIST*
    - PHONEME_DATA*
    - unsigned short**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 696
    functionName: SwitchOnVowelType
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SwitchOnVowelType(PHONEME_LIST *plist, PHONEME_DATA *phdata, unsigned
      short **p_prog, int instn_type)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - prog
    argTypes:
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 742
    functionName: NumInstnWords
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NumInstnWords(unsigned short *prog)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:771,1
    - Dst: InvalidInstn
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:802,1
    - Dst: InvalidInstn
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:829,1
    - Dst: StressCondition
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:837,1
    - Dst: InterpretCondition
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:850,1
    - Dst: NumInstnWords
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:851,1
    - Dst: NumInstnWords
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:870,1
    - Dst: SwitchOnVowelType
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:888,1
    - Dst: SwitchOnVowelType
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:891,1
    - Dst: InvalidInstn
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:957,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:969,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 176
    argCount: 6
    argNames:
    - tr
    - control
    - plist
    - plist_start
    - phdata
    - worddata
    argTypes:
    - Translator*
    - int
    - PHONEME_LIST*
    - PHONEME_LIST*
    - PHONEME_DATA*
    - WORD_PH_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 979
    functionName: InterpretPhoneme
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 5
    functionsReached:
    - StressCondition
    - NumInstnWords
    - InterpretCondition
    - memset
    - SwitchOnVowelType
    - InvalidInstn
    - memcpy
    linkageType: ''
    returnType: void
    signature: void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist,
      PHONEME_LIST *plist_start, PHONEME_DATA *phdata, WORD_PH_DATA *worddata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:986,1
    - Dst: InterpretPhoneme
      Src: /src/espeak-ng/src/libespeak-ng/synthdata.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - phcode
    - phdata
    argTypes:
    - int
    - PHONEME_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 998
    functionName: InterpretPhoneme2
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/synthdata.c
    functionUses: 3
    functionsReached:
    - InterpretPhoneme
    - memset
    linkageType: ''
    returnType: void
    signature: void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryA
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:51,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:53,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:54,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:55,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:56,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:57,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:58,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:59,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:60,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:61,1
    - Dst: GetProcAddress
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: load_MBR
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 1
    functionsReached:
    - GetProcAddress
    - LoadLibraryA
    linkageType: ''
    returnType: BOOL
    signature: BOOL load_MBR()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: unload_MBR
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void unload_MBR()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:128,1
    - Dst: vsnprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:129,1
    - Dst: va_end
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:130,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - errmsg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: err
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    - fprintf
    linkageType: ''
    returnType: void
    signature: void err(const char *errmsg, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:138,1
    - Dst: pipe
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:139,1
    - Dst: pipe
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:140,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:144,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:145,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:148,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:149,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:153,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p1
    - p2
    - p3
    argTypes:
    - int[]
    - int[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: create_pipes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - strerror
    - close
    - err
    - pipe
    linkageType: ''
    returnType: int
    signature: int create_pipes(int p1[2], int p2[2], int p3[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:159,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:160,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:161,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:162,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:163,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p1
    - p2
    - p3
    argTypes:
    - int[]
    - int[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: close_pipes
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_pipes(int p1[2], int p2[2], int p3[2])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:174,1
    - Dst: create_pipes
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:178,1
    - Dst: fork
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:182,1
    - Dst: close_pipes
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:186,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:187,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:187,1
    - Dst: dup2
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:194,1
    - Dst: dup2
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:195,1
    - Dst: dup2
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:196,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:197,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:198,1
    - Dst: write
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:199,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:199,1
    - Dst: _exit
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:201,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:205,1
    - Dst: signal
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:206,1
    - Dst: signal
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:207,1
    - Dst: signal
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:208,1
    - Dst: signal
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:209,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:211,1
    - Dst: execlp
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:212,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:215,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:216,1
    - Dst: write
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:217,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:217,1
    - Dst: _exit
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:219,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:223,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:225,1
    - Dst: open
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:227,1
    - Dst: close_pipes
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:230,1
    - Dst: waitpid
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:231,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:233,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:233,1
    - Dst: signal
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:237,1
    - Dst: fcntl
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:239,1
    - Dst: fcntl
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:240,1
    - Dst: fcntl
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:241,1
    - Dst: close_pipes
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:243,1
    - Dst: waitpid
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:244,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:246,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:246,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:253,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:254,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:255,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - voice_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 259
    functionName: start_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - snprintf
    - waitpid
    - execlp
    - open
    - fcntl
    - _exit
    - strlen
    - create_pipes
    - close_pipes
    - signal
    - dup2
    - err
    - fork
    - close
    - strerror
    - write
    linkageType: ''
    returnType: int
    signature: int start_mbrola(const char *voice_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:265,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:266,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:267,1
    - Dst: close
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:268,1
    - Dst: kill
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:270,1
    - Dst: waitpid
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 275
    functionName: stop_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - close
    - waitpid
    - kill
    linkageType: ''
    returnType: void
    signature: void stop_mbrola(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: free_pending_data
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_pending_data(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:296,1
    - Dst: WIFSIGNALED
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:303,1
    - Dst: WTERMSIG
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:304,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:305,1
    - Dst: WIFEXITED
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:308,1
    - Dst: WEXITSTATUS
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:309,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:310,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:317,1
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:319,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:321,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 326
    functionName: mbrola_died
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - snprintf
    - waitpid
    - WEXITSTATUS
    - WIFSIGNALED
    - strlen
    - WIFEXITED
    - WTERMSIG
    - fprintf
    linkageType: ''
    returnType: int
    signature: int mbrola_died(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:336,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:341,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:341,1
    - Dst: mbrola_died
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:347,1
    - Dst: strchr
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:352,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:354,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:355,1
    - Dst: strstr
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:358,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:359,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:362,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:365,1
    - Dst: memmove
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 375
    functionName: mbrola_has_errors
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - snprintf
    - memmove
    - strchr
    - mbrola_died
    - err
    - strstr
    - read
    - fprintf
    - strerror
    - strncmp
    linkageType: ''
    returnType: int
    signature: int mbrola_has_errors(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:385,1
    - Dst: write
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:386,1
    - Dst: mbrola_has_errors
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:390,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:395,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:395,1
    - Dst: malloc
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:402,1
    - Dst: memcpy
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 418
    functionName: send_to_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - mbrola_has_errors
    - strlen
    - err
    - malloc
    - memcpy
    - strerror
    - write
    linkageType: ''
    returnType: int
    signature: int send_to_mbrola(const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:427,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: mbrola_is_idle
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - pread
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mbrola_is_idle(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:439,1
    - Dst: read
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:441,1
    - Dst: memchr
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 447
    functionName: mbrola_is_idle
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - read
    - lseek
    - memchr
    linkageType: ''
    returnType: int
    signature: int mbrola_is_idle(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mbrola_is_idle
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:477,1
    - Dst: poll
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:478,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:480,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:480,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:490,1
    - Dst: mbrola_has_errors
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:500,1
    - Dst: write
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:507,1
    - Dst: mbrola_has_errors
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:510,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:512,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:512,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:519,1
    - Dst: read
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:530,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:532,1
    - Dst: strerror
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:532,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - buffer
    - bufsize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 541
    functionName: receive_from_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - mbrola_has_errors
    - poll
    - free
    - err
    - mbrola_is_idle
    - read
    - strerror
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t receive_from_mbrola(void *buffer, size_t bufsize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:552,1
    - Dst: usleep
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:559,1
    - Dst: send_to_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:561,1
    - Dst: stop_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:563,1
    - Dst: receive_from_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:568,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:571,1
    - Dst: stop_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:572,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:577,1
    - Dst: memcmp
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:578,1
    - Dst: err
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:579,1
    - Dst: stop_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:580,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:588,1
    - Dst: strdup
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - voice_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 593
    functionName: init_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - strdup
    - start_mbrola
    - receive_from_mbrola
    - free
    - stop_mbrola
    - usleep
    - send_to_mbrola
    - err
    - memcmp
    linkageType: ''
    returnType: int
    signature: int init_mbrola(char *voice_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:597,1
    - Dst: free_pending_data
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:598,1
    - Dst: free
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: close_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - free
    - stop_mbrola
    - free_pending_data
    linkageType: ''
    returnType: void
    signature: void close_mbrola(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:613,1
    - Dst: free_pending_data
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:615,1
    - Dst: write
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:616,1
    - Dst: read
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:620,1
    - Dst: mbrola_has_errors
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 626
    functionName: reset_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - mbrola_has_errors
    - free_pending_data
    - kill
    - read
    - write
    linkageType: ''
    returnType: void
    signature: void reset_mbrola(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: receive_from_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - nb_samples
    argTypes:
    - short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 3
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: read_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - receive_from_mbrola
    linkageType: ''
    returnType: int
    signature: int read_mbrola(short *buffer, int nb_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_to_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: write_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - send_to_mbrola
    linkageType: ''
    returnType: int
    signature: int write_mbrola(char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_to_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: flush_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - send_to_mbrola
    linkageType: ''
    returnType: int
    signature: int flush_mbrola(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: getFreq_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFreq_mbrola(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stop_mbrola
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:663,1
    - Dst: init_MBR
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 665
    functionName: setVolumeRatio_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - stop_mbrola
    - init_MBR
    linkageType: ''
    returnType: void
    signature: void setVolumeRatio_mbrola(float value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbrola_has_errors
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:670,1
    - Dst: snprintf
      Src: /src/espeak-ng/src/libespeak-ng/mbrowrap.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufsize
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: lastErrorStr_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached:
    - snprintf
    - mbrola_has_errors
    linkageType: ''
    returnType: char
    signature: char *lastErrorStr_mbrola(char *buffer, int bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - no_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: setNoError_mbrola
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNoError_mbrola(int no_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 693
    functionName: load_MBR
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL load_MBR(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: unload_MBR
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unload_MBR(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: basename
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compilembrola.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *basename(const char *filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:71,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:72,1
    - Dst: fgets
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:74,1
    - Dst: strstr
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:77,1
    - Dst: strncmp
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:80,1
    - Dst: atoi
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:81,1
    - Dst: sscanf
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:85,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:87,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:88,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:90,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:93,1
    - Dst: strcmp
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:98,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:99,1
    - Dst: StringToWord
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:101,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:106,1
    - Dst: strcpy
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:108,1
    - Dst: basename
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:108,1
    - Dst: sprintf
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:109,1
    - Dst: fopen
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:110,1
    - Dst: create_file_error_context
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:111,1
    - Dst: memset
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:113,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:115,1
    - Dst: Write4Bytes
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:119,1
    - Dst: fclose
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:120,1
    - Dst: fprintf
      Src: /src/espeak-ng/src/libespeak-ng/compilembrola.c:121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - filepath
    - log
    - context
    argTypes:
    - char*
    - FILE*
    - espeak_ng_ERROR_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 123
    functionName: espeak_ng_CompileMbrolaVoice
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/compilembrola.c
    functionUses: 1
    functionsReached:
    - atoi
    - fgets
    - basename
    - memset
    - Write4Bytes
    - fopen
    - sscanf
    - StringToWord
    - fclose
    - strstr
    - strcpy
    - create_file_error_context
    - sprintf
    - fprintf
    - strcmp
    - strncmp
    linkageType: ''
    returnType: espeak_ng_STATUS
    signature: espeak_ng_STATUS espeak_ng_CompileMbrolaVoice(const char *filepath,
      FILE *log, espeak_ng_ERROR_CONTEXT *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: MAKE_MEM_UNDEFINED
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_MEM_UNDEFINED(addr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: MAKE_MEM_UNDEFINED
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_MEM_UNDEFINED(addr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MAKE_MEM_UNDEFINED
    functionSourceFile: /src/espeak-ng/src/libespeak-ng/speech.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_MEM_UNDEFINED(addr, len)
Fuzzer filename: /src/espeak-ng/tests/ssml-fuzzer.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- locale.h
- winreg.h
- test_assert.h
- stddef.h
- ../include/math.h
- sys/wait.h
- libkern/OSByteOrder.h
- cstdlib
- cstring
- synthesize.h
- mbrowrap.h
- ../ucrt/wctype.h
- valgrind/memcheck.h
- sapiddk.h
- phonemelist.h
- ../ucrt/sys/stat.h
- mbrola.h
- endian.h
- translateword.h
- config.h
- common.h
- speechWaveGenerator.h
- ../include/wctype.h
- error.h
- sample.h
- sPlayer.h
- pthread.h
- sonic.h
- translate.h
- ../include/stdio.h
- klatt.h
- poll.h
- espeak-ng/encoding.h
- stdint.h
- sys/types.h
- sanitizer/msan_interface.h
- readclause.h
- waveGenerator.h
- ../ucrt/math.h
- list
- sys/byteorder.h
- mnemonics.h
- ieee80.h
- espeak-ng.c
- ../ucrt/stdio.h
- setlengths.h
- soundicon.h
- ../include/sys/stat.h
- sperror.h
- sys/stat.h
- espeak-ng/espeak_ng.h
- procfs.h
- fcntl.h
- assert.h
- signal.h
- getopt.h
- utils.h
- cassert
- android/log.h
- ../ucrt/wchar.h
- string.h
- windows.h
- event.h
- phoneme.h
- langopts.h
- pcaudiolib/audio.h
- cmath
- linux/limits.h
- limits.h
- time.h
- ssml.h
- espeak-ng/speak_lib.h
- stdio.h
- dictionary.h
- errno.h
- speak-ng.c
- ../ucrt/string.h
- espeak_command.h
- io.h
- stdbool.h
- fifo.h
- ../include/stdint.h
- sintab.h
- wchar.h
- new
- voice.h
- stdarg.h
- sys/time.h
- dirent.h
- numbers.h
- sys/endian.h
- speech.h
- ucd/ucd.h
- speechPlayer.h
- synthdata.h
- strings.h
- intonation.h
- wctype.h
- stdlib.h
- emscripten.h
- ctype.h
- wavegen.h
- libgen.h
- frame.h
- compiledict.h
- Log.h
- ../include/wchar.h
- spect.h
- speak_lib.h
- jni.h
- math.h
- unistd.h
- ../include/string.h
- glue.cpp
- queue
report: name
sources:
- function_names:
  - test_unbound_text_decoder
  - test_unknown_encoding
  - test_us_ascii_encoding
  - test_koi8_r_encoding
  - test_iscii_encoding
  - test_iso_8859_1_encoding
  - test_iso_8859_2_encoding
  - test_iso_8859_3_encoding
  - test_iso_8859_4_encoding
  - test_iso_8859_5_encoding
  - test_iso_8859_6_encoding
  - test_iso_8859_7_encoding
  - test_iso_8859_8_encoding
  - test_iso_8859_9_encoding
  - test_iso_8859_10_encoding
  - test_iso_8859_11_encoding
  - test_iso_8859_13_encoding
  - test_iso_8859_14_encoding
  - test_iso_8859_15_encoding
  - test_iso_8859_16_encoding
  - test_utf_8_encoding
  - test_iso_10646_ucs_2_encoding
  - test_char_decoder
  - test_wchar_decoder
  - test_auto_decoder
  - test_peekc
  - main
  source_file: /src/espeak-ng/tests/encoding.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/espeak-ng/tests/fuzzrunner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_espeak_terminate_without_initialize
  - test_espeak_initialize
  - test_espeak_synth
  - test_espeak_synth_no_voices
  - test_espeak_ng_synthesize
  - test_espeak_ng_synthesize_no_voices
  - test_espeak_set_voice_by_name_null_voice
  - test_espeak_set_voice_by_name_blank_voice
  - test_espeak_set_voice_by_name_valid_voice
  - test_espeak_set_voice_by_name_invalid_voice
  - test_espeak_set_voice_by_name_language_variant_intonation_parameter
  - test_espeak_set_voice_by_properties_empty
  - test_espeak_set_voice_by_properties_blank_language
  - test_espeak_set_voice_by_properties_with_valid_language
  - test_espeak_set_voice_by_properties_with_invalid_language
  - _test_espeak_ng_phoneme_events_cb
  - test_espeak_ng_phoneme_events
  - main
  source_file: /src/espeak-ng/tests/api.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy
  source_file: /src/espeak-ng/tests/dummy.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_text
  - test_latin
  - test_latin_sentence
  - test_greek
  - test_armenian
  - test_arabic
  - test_devanagari
  - test_tibetan
  - test_sinhala
  - test_georgian
  - test_ethiopic
  - test_ideographic
  - test_fullwidth
  - test_uts51_emoji_character
  - test_uts51_text_presentation_sequence
  - test_uts51_emoji_presentation_sequence
  - test_uts51_emoji_modifier_sequence
  - test_uts51_emoji_flag_sequence
  - test_uts51_emoji_tag_sequence_emoji_character
  - test_uts51_emoji_combining_sequence
  - test_uts51_emoji_keycap_sequence
  - main
  source_file: /src/espeak-ng/tests/readclause.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_ASSERT
  source_file: /src/espeak-ng/tests/test_assert.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/espeak-ng/tests/ieee80.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SynthCallback
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/espeak-ng/tests/ssml-fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BOLDRED
  - espeak_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/espeak-ng/tests/fuzzing/synth_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/android/jni/include/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/espeak-ng/android/jni/include/config.h
      type_or_value: '"1.52.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LOGV
  - LOGI
  - LOGE
  source_file: /src/espeak-ng/android/jni/include/Log.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - utf8_read
  - unicode_string
  - getJniEnv
  - SynthCallback
  - JNI_OnLoad
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeClassInit
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeCreate
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetVersion
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetAvailableVoices
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetVoiceByName
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetVoiceByProperties
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetParameter
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetParameter
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeSetPunctuationCharacters
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeSynthesize
  - Java_com_reecedunn_espeak_SpeechSynthesis_nativeStop
  source_file: /src/espeak-ng/android/jni/jni/eSpeakService.c
  types:
    enum:
    - enumerators:
      - name: SYNTH_CONTINUE
        value: '0'
      - name: SYNTH_ABORT
        value: '1'
      item_type: enum
      name: synthesis_result
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/espeak-ng/android/jni/jni/eSpeakService.c
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE_IN_MILLISECONDS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/android/jni/jni/eSpeakService.c
      type_or_value: '300'
    - item_type: preproc_def
      name: LOG_TAG
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/espeak-ng/android/jni/jni/eSpeakService.c
      type_or_value: '"eSpeakService"'
    - item_type: preproc_def
      name: DEBUG
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/espeak-ng/android/jni/jni/eSpeakService.c
      type_or_value: 'true'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eSpeakNGWorker::eSpeakNGWorker
  - eSpeakNGWorker::synth_
  - eSpeakNGWorker::synth_ipa_
  - eSpeakNGWorker::set_voice
  - eSpeakNGWorker::getSizeOfEventStruct_
  source_file: /src/espeak-ng/emscripten/espeakng_glue.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DisplayVoices
  - Write4Bytes
  - OpenWavFile
  - CloseWavFile
  - SynthCallback
  - PrintVersion
  - main
  source_file: /src/espeak-ng/src/espeak-ng.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROGRAM_NAME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/espeak-ng.c
      type_or_value: '"espeak-ng"'
    - item_type: preproc_def
      name: PLAYBACK_MODE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/espeak-ng.c
      type_or_value: ENOUTPUT_MODE_SPEAK_AUDIO
    - item_type: preproc_def
      name: N_PUNCTLIST
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/espeak-ng/src/espeak-ng.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/speak-ng.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/speak-ng.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROGRAM_NAME
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/espeak-ng/src/speak-ng.c
      type_or_value: '"speak-ng"'
    - item_type: preproc_def
      name: PLAYBACK_MODE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/espeak-ng/src/speak-ng.c
      type_or_value: (ENOUTPUT_MODE_SYNCHRONOUS | ENOUTPUT_MODE_SPEAK_AUDIO)
    structs: []
    typedefs: []
    union: []
- function_names:
  - _DIAGASSERT
  - __UNCONST
  - gcd
  - permute_args
  - getopt_internal
  - getopt
  - getopt_long
  - IDENTICAL_INTERPRETATION
  source_file: /src/espeak-ng/src/compat/getopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IGNORE_FIRST
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: (*options == '-' || *options == '+')
    - item_type: preproc_def
      name: PRINT_ERROR
      pos:
        line_end: 65
        line_start: 63
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: "((opterr) && ((*options != ':') \\\n\t\t\t\t      || (IGNORE_FIRST
        && options[1] != ':')))"
    - item_type: preproc_def
      name: IS_POSIXLY_CORRECT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: (getenv("POSIXLY_CORRECT") != NULL)
    - item_type: preproc_def
      name: PERMUTE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: (!IS_POSIXLY_CORRECT && !IGNORE_FIRST)
    - item_type: preproc_def
      name: IN_ORDER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: (!IS_POSIXLY_CORRECT && *options == '-')
    - item_type: preproc_def
      name: BADCH
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: (int)'?'
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: "((IGNORE_FIRST && options[1] == ':') \\\n\t\t\t || (*options
        == ':') ? (int)':' : (int)'?')"
    - item_type: preproc_def
      name: INORDER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: (int)1
    - item_type: preproc_def
      name: EMSG
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/espeak-ng/src/compat/getopt.c
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ESPEAK_API
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: ESPEAK_API
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: ESPEAK_API_REVISION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '12'
    - item_type: preproc_def
      name: espeakRATE_MINIMUM
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '80'
    - item_type: preproc_def
      name: espeakRATE_MAXIMUM
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '450'
    - item_type: preproc_def
      name: espeakRATE_NORMAL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '175'
    - item_type: preproc_def
      name: espeakINITIALIZE_PHONEME_EVENTS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: espeakINITIALIZE_PHONEME_IPA
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: espeakINITIALIZE_DONT_EXIT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: espeakCHARS_AUTO
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0'
    - item_type: preproc_def
      name: espeakCHARS_UTF8
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: espeakCHARS_8BIT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '2'
    - item_type: preproc_def
      name: espeakCHARS_WCHAR
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '3'
    - item_type: preproc_def
      name: espeakCHARS_16BIT
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '4'
    - item_type: preproc_def
      name: espeakSSML
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: espeakPHONEMES
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: espeakENDPAUSE
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: espeakKEEP_NAMEDATA
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: espeakPHONEMES_SHOW
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: espeakPHONEMES_IPA
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: espeakPHONEMES_TRACE
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: espeakPHONEMES_MBROLA
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: espeakPHONEMES_TIE
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type_or_value: '0x80'
    structs:
    - fields:
      - name: type
        type: espeak_EVENT_TYPE
      - name: unique_identifier
        type: unsigned int
      - name: text_position
        type: int
      - name: length
        type: int
      - name: audio_position
        type: int
      - name: sample
        type: int
      - name: '* user_data'
        type: void
      - name: id
        type: "union {\n\t\tint number;        // used for WORD and SENTENCE events.\n\t\tconst
          char *name;  // used for MARK and PLAY events.  UTF8 string\n\t\tchar string[8];
          \   // used for phoneme names (UTF8). Terminated by a zero byte unless the
          name needs the full 8 bytes.\n\t}"
      item_type: struct
      name: espeak_EVENT
      pos:
        line_end: 114
        line_start: 101
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
    - fields:
      - name: '*name'
        type: char
      - name: '*languages'
        type: char
      - name: '*identifier'
        type: char
      - name: gender
        type: unsigned char
      - name: age
        type: unsigned char
      - name: variant
        type: unsigned char
      - name: xx1
        type: unsigned char
      - name: score
        type: int
      - name: '*spare'
        type: void
      item_type: struct
      name: espeak_VOICE
      pos:
        line_end: 579
        line_start: 569
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
    typedefs:
    - item_type: typedef
      name: (t_espeak_callback)(short*, int, espeak_EVENT*)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/espeak-ng/src/include/espeak/speak_lib.h
      type: int
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ESPEAK_API
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: ESPEAK_API
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: ESPEAK_API_REVISION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '12'
    - item_type: preproc_def
      name: espeakRATE_MINIMUM
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '80'
    - item_type: preproc_def
      name: espeakRATE_MAXIMUM
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '450'
    - item_type: preproc_def
      name: espeakRATE_NORMAL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '175'
    - item_type: preproc_def
      name: espeakINITIALIZE_PHONEME_EVENTS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: espeakINITIALIZE_PHONEME_IPA
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: espeakINITIALIZE_DONT_EXIT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: espeakCHARS_AUTO
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0'
    - item_type: preproc_def
      name: espeakCHARS_UTF8
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '1'
    - item_type: preproc_def
      name: espeakCHARS_8BIT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '2'
    - item_type: preproc_def
      name: espeakCHARS_WCHAR
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '3'
    - item_type: preproc_def
      name: espeakCHARS_16BIT
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '4'
    - item_type: preproc_def
      name: espeakSSML
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: espeakPHONEMES
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: espeakENDPAUSE
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: espeakKEEP_NAMEDATA
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: espeakPHONEMES_SHOW
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: espeakPHONEMES_IPA
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: espeakPHONEMES_TRACE
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: espeakPHONEMES_MBROLA
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: espeakPHONEMES_TIE
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type_or_value: '0x80'
    structs:
    - fields:
      - name: type
        type: espeak_EVENT_TYPE
      - name: unique_identifier
        type: unsigned int
      - name: text_position
        type: int
      - name: length
        type: int
      - name: audio_position
        type: int
      - name: sample
        type: int
      - name: '* user_data'
        type: void
      - name: id
        type: "union {\n\t\tint number;        // used for WORD and SENTENCE events.\n\t\tconst
          char *name;  // used for MARK and PLAY events.  UTF8 string\n\t\tchar string[8];
          \   // used for phoneme names (UTF8). Terminated by a zero byte unless the
          name needs the full 8 bytes.\n\t}"
      item_type: struct
      name: espeak_EVENT
      pos:
        line_end: 114
        line_start: 101
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
    - fields:
      - name: '*name'
        type: char
      - name: '*languages'
        type: char
      - name: '*identifier'
        type: char
      - name: gender
        type: unsigned char
      - name: age
        type: unsigned char
      - name: variant
        type: unsigned char
      - name: xx1
        type: unsigned char
      - name: score
        type: int
      - name: '*spare'
        type: void
      item_type: struct
      name: espeak_VOICE
      pos:
        line_end: 579
        line_start: 569
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
    typedefs:
    - item_type: typedef
      name: (t_espeak_callback)(short*, int, espeak_EVENT*)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/espeak-ng/src/include/espeak-ng/speak_lib.h
      type: int
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/espeak-ng/espeak_ng.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ESPEAK_NG_API
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/espeak-ng/src/include/espeak-ng/espeak_ng.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: ESPEAK_NG_API
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/include/espeak-ng/espeak_ng.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: ESPEAKNG_DEFAULT_VOICE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/include/espeak-ng/espeak_ng.h
      type_or_value: '"en"'
    structs:
    - fields:
      - name: (*outputPhoSymbol)(char* pho_code,int pho_type)
        type: void
      - name: (*outputSilence)(short echo_tail)
        type: void
      - name: (*outputVoiced)(short sample)
        type: void
      - name: (*outputUnvoiced)(short sample)
        type: void
      item_type: struct
      name: espeak_ng_OUTPUT_HOOKS
      pos:
        line_end: 85
        line_start: 79
        source_file: /src/espeak-ng/src/include/espeak-ng/espeak_ng.h
    typedefs:
    - item_type: typedef
      name: '*espeak_ng_ERROR_CONTEXT'
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/espeak-ng/src/include/espeak-ng/espeak_ng.h
      type: espeak_ng_ERROR_CONTEXT_
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/espeak-ng/encoding.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: espeak_ng_TEXT_DECODER
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/espeak-ng/src/include/espeak-ng/encoding.h
      type: espeak_ng_TEXT_DECODER_
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/unistd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/getopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: no_argument
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/include/compat/getopt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: required_argument
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/include/compat/getopt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: optional_argument
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/include/compat/getopt.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/espeak-ng/src/include/compat/getopt.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/strings.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/espeak-ng/src/include/compat/strings.h
      type_or_value: stricmp
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror_r
  source_file: /src/espeak-ng/src/include/compat/string.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/math.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/stdint.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: signed __int8
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: signed __int16
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: signed __int32
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: signed __int64
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: unsigned __int8
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: unsigned __int16
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: unsigned __int32
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: unsigned __int64
    - item_type: typedef
      name: intptr_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: signed __int64
    - item_type: typedef
      name: intptr_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/espeak-ng/src/include/compat/stdint.h
      type: signed __int32
    union: []
- function_names:
  - be16toh
  - le16toh
  - be32toh
  - le32toh
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  source_file: /src/espeak-ng/src/include/compat/endian.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: BYTE_ORDER
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: BIG_ENDIAN
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: LITTLE_ENDIAN
    - item_type: preproc_def
      name: __PDP_ENDIAN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: PDP_ENDIAN
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: BYTE_ORDER
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: BIG_ENDIAN
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: LITTLE_ENDIAN
    - item_type: preproc_def
      name: __PDP_ENDIAN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/espeak-ng/src/include/compat/endian.h
      type_or_value: PDP_ENDIAN
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/stdio.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/espeak-ng/src/include/compat/stdio.h
      type_or_value: _snprintf
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/wctype.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: iswalnum
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isalnum
    - item_type: preproc_def
      name: iswalpha
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isalpha
    - item_type: preproc_def
      name: iswblank
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isblank
    - item_type: preproc_def
      name: iswcntrl
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_iscntrl
    - item_type: preproc_def
      name: iswdigit
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isdigit
    - item_type: preproc_def
      name: iswgraph
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isgraph
    - item_type: preproc_def
      name: iswlower
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_islower
    - item_type: preproc_def
      name: iswprint
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isprint
    - item_type: preproc_def
      name: iswpunct
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_ispunct
    - item_type: preproc_def
      name: iswspace
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isspace
    - item_type: preproc_def
      name: iswupper
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isupper
    - item_type: preproc_def
      name: iswxdigit
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/include/compat/wctype.h
      type_or_value: ucd_isxdigit
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/include/compat/wchar.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - S_ISDIR
  - S_ISFIFO
  source_file: /src/espeak-ng/src/include/compat/sys/stat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fput_utf8c
  - fget_utf8c
  - uprintf_codepoint
  - uprintf_is
  - uprintf
  - print_file
  - main
  source_file: /src/espeak-ng/src/ucd-tools/tests/printucddata_cpp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fput_utf8c
  - fget_utf8c
  - uprintf_codepoint
  - uprintf_is
  - uprintf
  - print_file
  - main
  source_file: /src/espeak-ng/src/ucd-tools/tests/printucddata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - iswblank
  - fput_utf8c
  - fget_utf8c
  - uprintf_codepoint
  - uprintf_is
  - uprintf
  - print_file
  - main
  source_file: /src/espeak-ng/src/ucd-tools/tests/printcdata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucd_get_category_group_string
  - ucd_get_category_string
  - ucd_get_script_string
  source_file: /src/espeak-ng/src/ucd-tools/src/tostring.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucd_lookup_script
  source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Adlm
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Adlm
    - item_type: preproc_def
      name: Afak
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Afak
    - item_type: preproc_def
      name: Aghb
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Aghb
    - item_type: preproc_def
      name: Ahom
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Ahom
    - item_type: preproc_def
      name: Arab
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Arab
    - item_type: preproc_def
      name: Armi
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Armi
    - item_type: preproc_def
      name: Armn
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Armn
    - item_type: preproc_def
      name: Avst
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Avst
    - item_type: preproc_def
      name: Bali
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Bali
    - item_type: preproc_def
      name: Bamu
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Bamu
    - item_type: preproc_def
      name: Bass
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Bass
    - item_type: preproc_def
      name: Batk
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Batk
    - item_type: preproc_def
      name: Beng
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Beng
    - item_type: preproc_def
      name: Bhks
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Bhks
    - item_type: preproc_def
      name: Blis
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Blis
    - item_type: preproc_def
      name: Bopo
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Bopo
    - item_type: preproc_def
      name: Brah
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Brah
    - item_type: preproc_def
      name: Brai
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Brai
    - item_type: preproc_def
      name: Bugi
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Bugi
    - item_type: preproc_def
      name: Buhd
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Buhd
    - item_type: preproc_def
      name: Cakm
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cakm
    - item_type: preproc_def
      name: Cans
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cans
    - item_type: preproc_def
      name: Cari
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cari
    - item_type: preproc_def
      name: Cham
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cham
    - item_type: preproc_def
      name: Cher
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cher
    - item_type: preproc_def
      name: Cirt
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cirt
    - item_type: preproc_def
      name: Copt
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Copt
    - item_type: preproc_def
      name: Cprt
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cprt
    - item_type: preproc_def
      name: Cyrl
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cyrl
    - item_type: preproc_def
      name: Cyrs
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Cyrs
    - item_type: preproc_def
      name: Deva
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Deva
    - item_type: preproc_def
      name: Dogr
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Dogr
    - item_type: preproc_def
      name: Dsrt
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Dsrt
    - item_type: preproc_def
      name: Dupl
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Dupl
    - item_type: preproc_def
      name: Egyd
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Egyd
    - item_type: preproc_def
      name: Egyh
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Egyh
    - item_type: preproc_def
      name: Egyp
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Egyp
    - item_type: preproc_def
      name: Elba
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Elba
    - item_type: preproc_def
      name: Ethi
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Ethi
    - item_type: preproc_def
      name: Geok
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Geok
    - item_type: preproc_def
      name: Geor
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Geor
    - item_type: preproc_def
      name: Glag
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Glag
    - item_type: preproc_def
      name: Gong
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Gong
    - item_type: preproc_def
      name: Gonm
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Gonm
    - item_type: preproc_def
      name: Goth
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Goth
    - item_type: preproc_def
      name: Gran
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Gran
    - item_type: preproc_def
      name: Grek
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Grek
    - item_type: preproc_def
      name: Gujr
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Gujr
    - item_type: preproc_def
      name: Guru
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Guru
    - item_type: preproc_def
      name: Hang
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hang
    - item_type: preproc_def
      name: Hani
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hani
    - item_type: preproc_def
      name: Hano
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hano
    - item_type: preproc_def
      name: Hans
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hans
    - item_type: preproc_def
      name: Hant
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hant
    - item_type: preproc_def
      name: Hatr
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hatr
    - item_type: preproc_def
      name: Hebr
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hebr
    - item_type: preproc_def
      name: Hira
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hira
    - item_type: preproc_def
      name: Hluw
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hluw
    - item_type: preproc_def
      name: Hmng
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hmng
    - item_type: preproc_def
      name: Hrkt
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hrkt
    - item_type: preproc_def
      name: Hung
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Hung
    - item_type: preproc_def
      name: Inds
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Inds
    - item_type: preproc_def
      name: Ital
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Ital
    - item_type: preproc_def
      name: Java
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Java
    - item_type: preproc_def
      name: Jpan
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Jpan
    - item_type: preproc_def
      name: Jurc
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Jurc
    - item_type: preproc_def
      name: Kali
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Kali
    - item_type: preproc_def
      name: Kana
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Kana
    - item_type: preproc_def
      name: Khar
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Khar
    - item_type: preproc_def
      name: Khmr
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Khmr
    - item_type: preproc_def
      name: Khoj
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Khoj
    - item_type: preproc_def
      name: Knda
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Knda
    - item_type: preproc_def
      name: Kore
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Kore
    - item_type: preproc_def
      name: Kpel
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Kpel
    - item_type: preproc_def
      name: Kthi
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Kthi
    - item_type: preproc_def
      name: Lana
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Lana
    - item_type: preproc_def
      name: Laoo
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Laoo
    - item_type: preproc_def
      name: Latf
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Latf
    - item_type: preproc_def
      name: Latg
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Latg
    - item_type: preproc_def
      name: Latn
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Latn
    - item_type: preproc_def
      name: Lepc
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Lepc
    - item_type: preproc_def
      name: Limb
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Limb
    - item_type: preproc_def
      name: Lina
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Lina
    - item_type: preproc_def
      name: Linb
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Linb
    - item_type: preproc_def
      name: Lisu
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Lisu
    - item_type: preproc_def
      name: Loma
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Loma
    - item_type: preproc_def
      name: Lyci
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Lyci
    - item_type: preproc_def
      name: Lydi
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Lydi
    - item_type: preproc_def
      name: Mahj
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mahj
    - item_type: preproc_def
      name: Maka
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Maka
    - item_type: preproc_def
      name: Mand
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mand
    - item_type: preproc_def
      name: Mani
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mani
    - item_type: preproc_def
      name: Marc
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Marc
    - item_type: preproc_def
      name: Maya
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Maya
    - item_type: preproc_def
      name: Medf
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Medf
    - item_type: preproc_def
      name: Mend
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mend
    - item_type: preproc_def
      name: Merc
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Merc
    - item_type: preproc_def
      name: Mero
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mero
    - item_type: preproc_def
      name: Mlym
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mlym
    - item_type: preproc_def
      name: Modi
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Modi
    - item_type: preproc_def
      name: Mong
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mong
    - item_type: preproc_def
      name: Moon
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Moon
    - item_type: preproc_def
      name: Mroo
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mroo
    - item_type: preproc_def
      name: Mtei
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mtei
    - item_type: preproc_def
      name: Mult
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mult
    - item_type: preproc_def
      name: Mymr
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Mymr
    - item_type: preproc_def
      name: Narb
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Narb
    - item_type: preproc_def
      name: Nbat
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Nbat
    - item_type: preproc_def
      name: Newa
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Newa
    - item_type: preproc_def
      name: Nkgb
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Nkgb
    - item_type: preproc_def
      name: Nkoo
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Nkoo
    - item_type: preproc_def
      name: Nshu
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Nshu
    - item_type: preproc_def
      name: Ogam
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Ogam
    - item_type: preproc_def
      name: Olck
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Olck
    - item_type: preproc_def
      name: Orkh
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Orkh
    - item_type: preproc_def
      name: Orya
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Orya
    - item_type: preproc_def
      name: Osge
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Osge
    - item_type: preproc_def
      name: Osma
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Osma
    - item_type: preproc_def
      name: Palm
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Palm
    - item_type: preproc_def
      name: Pauc
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Pauc
    - item_type: preproc_def
      name: Perm
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Perm
    - item_type: preproc_def
      name: Phag
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Phag
    - item_type: preproc_def
      name: Phli
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Phli
    - item_type: preproc_def
      name: Phlp
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Phlp
    - item_type: preproc_def
      name: Phlv
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Phlv
    - item_type: preproc_def
      name: Phnx
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Phnx
    - item_type: preproc_def
      name: Plrd
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Plrd
    - item_type: preproc_def
      name: Prti
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Prti
    - item_type: preproc_def
      name: Qaak
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Qaak
    - item_type: preproc_def
      name: Rjng
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Rjng
    - item_type: preproc_def
      name: Rohg
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Rohg
    - item_type: preproc_def
      name: Roro
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Roro
    - item_type: preproc_def
      name: Runr
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Runr
    - item_type: preproc_def
      name: Samr
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Samr
    - item_type: preproc_def
      name: Sara
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sara
    - item_type: preproc_def
      name: Sarb
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sarb
    - item_type: preproc_def
      name: Saur
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Saur
    - item_type: preproc_def
      name: Sgnw
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sgnw
    - item_type: preproc_def
      name: Shaw
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Shaw
    - item_type: preproc_def
      name: Shrd
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Shrd
    - item_type: preproc_def
      name: Sidd
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sidd
    - item_type: preproc_def
      name: Sind
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sind
    - item_type: preproc_def
      name: Sinh
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sinh
    - item_type: preproc_def
      name: Sogd
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sogd
    - item_type: preproc_def
      name: Sogo
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sogo
    - item_type: preproc_def
      name: Sora
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sora
    - item_type: preproc_def
      name: Soyo
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Soyo
    - item_type: preproc_def
      name: Sund
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sund
    - item_type: preproc_def
      name: Sylo
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Sylo
    - item_type: preproc_def
      name: Syrc
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Syrc
    - item_type: preproc_def
      name: Syre
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Syre
    - item_type: preproc_def
      name: Syrj
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Syrj
    - item_type: preproc_def
      name: Syrn
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Syrn
    - item_type: preproc_def
      name: Tagb
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tagb
    - item_type: preproc_def
      name: Takr
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Takr
    - item_type: preproc_def
      name: Tale
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tale
    - item_type: preproc_def
      name: Talu
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Talu
    - item_type: preproc_def
      name: Taml
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Taml
    - item_type: preproc_def
      name: Tang
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tang
    - item_type: preproc_def
      name: Tavt
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tavt
    - item_type: preproc_def
      name: Telu
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Telu
    - item_type: preproc_def
      name: Teng
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Teng
    - item_type: preproc_def
      name: Tfng
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tfng
    - item_type: preproc_def
      name: Tglg
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tglg
    - item_type: preproc_def
      name: Thaa
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Thaa
    - item_type: preproc_def
      name: Thai
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Thai
    - item_type: preproc_def
      name: Tibt
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tibt
    - item_type: preproc_def
      name: Tirh
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Tirh
    - item_type: preproc_def
      name: Ugar
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Ugar
    - item_type: preproc_def
      name: Vaii
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Vaii
    - item_type: preproc_def
      name: Visp
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Visp
    - item_type: preproc_def
      name: Wara
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Wara
    - item_type: preproc_def
      name: Wole
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Wole
    - item_type: preproc_def
      name: Xpeo
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Xpeo
    - item_type: preproc_def
      name: Xsux
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Xsux
    - item_type: preproc_def
      name: Yiii
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Yiii
    - item_type: preproc_def
      name: Zanb
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zanb
    - item_type: preproc_def
      name: Zinh
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zinh
    - item_type: preproc_def
      name: Zmth
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zmth
    - item_type: preproc_def
      name: Zsym
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zsym
    - item_type: preproc_def
      name: Zxxx
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zxxx
    - item_type: preproc_def
      name: Zyyy
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zyyy
    - item_type: preproc_def
      name: Zzzz
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/espeak-ng/src/ucd-tools/src/scripts.c
      type_or_value: UCD_SCRIPT_Zzzz
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucd_lookup_category
  - ucd_get_category_group_for_category
  - ucd_lookup_category_group
  source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Cc
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Cc
    - item_type: preproc_def
      name: Cf
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Cf
    - item_type: preproc_def
      name: Cn
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Cn
    - item_type: preproc_def
      name: Co
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Co
    - item_type: preproc_def
      name: Cs
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Cs
    - item_type: preproc_def
      name: Ll
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Ll
    - item_type: preproc_def
      name: Lm
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Lm
    - item_type: preproc_def
      name: Lo
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Lo
    - item_type: preproc_def
      name: Lt
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Lt
    - item_type: preproc_def
      name: Lu
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Lu
    - item_type: preproc_def
      name: Mc
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Mc
    - item_type: preproc_def
      name: Me
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Me
    - item_type: preproc_def
      name: Mn
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Mn
    - item_type: preproc_def
      name: Nd
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Nd
    - item_type: preproc_def
      name: Nl
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Nl
    - item_type: preproc_def
      name: 'No'
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_No
    - item_type: preproc_def
      name: Pc
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Pc
    - item_type: preproc_def
      name: Pd
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Pd
    - item_type: preproc_def
      name: Pe
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Pe
    - item_type: preproc_def
      name: Pf
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Pf
    - item_type: preproc_def
      name: Pi
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Pi
    - item_type: preproc_def
      name: Po
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Po
    - item_type: preproc_def
      name: Ps
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Ps
    - item_type: preproc_def
      name: Sc
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Sc
    - item_type: preproc_def
      name: Sk
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Sk
    - item_type: preproc_def
      name: Sm
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Sm
    - item_type: preproc_def
      name: So
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_So
    - item_type: preproc_def
      name: Zl
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Zl
    - item_type: preproc_def
      name: Zp
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Zp
    - item_type: preproc_def
      name: Zs
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Zs
    - item_type: preproc_def
      name: Ii
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/ucd-tools/src/categories.c
      type_or_value: UCD_CATEGORY_Ii
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucd_isalnum
  - ucd_isalpha
  - ucd_isblank
  - ucd_iscntrl
  - ucd_isdigit
  - ucd_isgraph
  - ucd_islower
  - ucd_isprint
  - ucd_ispunct
  - ucd_isspace
  - ucd_isupper
  - ucd_isxdigit
  source_file: /src/espeak-ng/src/ucd-tools/src/ctype.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucd_toupper
  - ucd_tolower
  - ucd_totitle
  source_file: /src/espeak-ng/src/ucd-tools/src/case.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: codepoint
        type: codepoint_t
      - name: uppercase
        type: codepoint_t
      - name: lowercase
        type: codepoint_t
      - name: titlecase
        type: codepoint_t
      item_type: struct
      name: case_conversion_entry
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/espeak-ng/src/ucd-tools/src/case.c
    typedefs: []
    union: []
- function_names:
  - properties_Cc
  - properties_Cf
  - properties_Cn
  - properties_Ll
  - properties_Lm
  - properties_Lo
  - properties_Lo_ideographic
  - properties_Lu
  - properties_Mc
  - properties_Me
  - properties_Mn
  - properties_Nd
  - properties_Nl
  - properties_No
  - properties_Pc
  - properties_Pd
  - properties_Pe
  - properties_Pf
  - properties_Pi
  - properties_Po
  - properties_Ps
  - properties_Sc
  - properties_Sk
  - properties_Sm
  - properties_So_002600
  - properties_So_002700
  - properties_So
  - properties_Zs
  - ucd_properties
  source_file: /src/espeak-ng/src/ucd-tools/src/proplist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucd::get_category_group_string
  - ucd::get_category_string
  - ucd::lookup_category_group
  - ucd::lookup_category_group
  - ucd::lookup_category
  - ucd::get_script_string
  - ucd::lookup_script
  - ucd::properties
  - ucd::isalnum
  - ucd::isalpha
  - ucd::isblank
  - ucd::iscntrl
  - ucd::isdigit
  - ucd::isgraph
  - ucd::islower
  - ucd::isprint
  - ucd::ispunct
  - ucd::isspace
  - ucd::isupper
  - ucd::isxdigit
  - ucd::toupper
  - ucd::tolower
  - ucd::totitle
  - ucd::get_category_group_string
  - ucd::get_category_string
  - ucd::lookup_category_group
  - ucd::lookup_category_group
  - ucd::lookup_category
  - ucd::get_script_string
  - ucd::lookup_script
  - ucd::properties
  - ucd::isalnum
  - ucd::isalpha
  - ucd::isblank
  - ucd::iscntrl
  - ucd::isdigit
  - ucd::isgraph
  - ucd::islower
  - ucd::isprint
  - ucd::ispunct
  - ucd::isspace
  - ucd::isupper
  - ucd::isxdigit
  - ucd::toupper
  - ucd::tolower
  - ucd::totitle
  source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
  types:
    enum:
    - enumerators:
      - name: UCD_CATEGORY_GROUP_C
      - name: UCD_CATEGORY_GROUP_I
      - name: UCD_CATEGORY_GROUP_M
      - name: UCD_CATEGORY_GROUP_L
      - name: UCD_CATEGORY_GROUP_N
      - name: UCD_CATEGORY_GROUP_P
      - name: UCD_CATEGORY_GROUP_S
      - name: UCD_CATEGORY_GROUP_Z
      item_type: enum
      name: ucd_category_group_
      pos:
        line_end: 47
        line_start: 37
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: UCD_CATEGORY_Pi
      - name: UCD_CATEGORY_Ps
      - name: UCD_CATEGORY_Zs
      - name: UCD_CATEGORY_Cf
      - name: UCD_CATEGORY_Co
      - name: UCD_CATEGORY_Ii
      - name: UCD_CATEGORY_Lm
      - name: UCD_CATEGORY_Lt
      - name: UCD_CATEGORY_Mc
      - name: UCD_CATEGORY_Pc
      - name: UCD_CATEGORY_Mn
      - name: UCD_CATEGORY_Nl
      - name: UCD_CATEGORY_Pe
      - name: UCD_CATEGORY_Zl
      - name: UCD_CATEGORY_Sc
      - name: UCD_CATEGORY_Sm
      - name: UCD_CATEGORY_Po
      - name: UCD_CATEGORY_Zp
      - name: UCD_CATEGORY_Pf
      - name: UCD_CATEGORY_Cc
      - name: UCD_CATEGORY_Cs
      - name: UCD_CATEGORY_Cn
      - name: UCD_CATEGORY_Ll
      - name: UCD_CATEGORY_Lo
      - name: UCD_CATEGORY_No
      - name: UCD_CATEGORY_Me
      - name: UCD_CATEGORY_Pd
      - name: UCD_CATEGORY_Nd
      - name: UCD_CATEGORY_Lu
      - name: UCD_CATEGORY_So
      - name: UCD_CATEGORY_Sk
      item_type: enum
      name: ucd_category_
      pos:
        line_end: 100
        line_start: 60
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: UCD_SCRIPT_Adlm
      - name: UCD_SCRIPT_Bali
      - name: UCD_SCRIPT_Brah
      - name: UCD_SCRIPT_Cher
      - name: UCD_SCRIPT_Jpan
      - name: UCD_SCRIPT_Geor
      - name: UCD_SCRIPT_Hira
      - name: UCD_SCRIPT_Dsrt
      - name: UCD_SCRIPT_Guru
      - name: UCD_SCRIPT_Khmr
      - name: UCD_SCRIPT_Nkgb
      - name: UCD_SCRIPT_Roro
      - name: UCD_SCRIPT_Tagb
      - name: UCD_SCRIPT_Xpeo
      - name: UCD_SCRIPT_Lydi
      - name: UCD_SCRIPT_Wole
      - name: UCD_SCRIPT_Taml
      - name: UCD_SCRIPT_Medf
      - name: UCD_SCRIPT_Zsym
      - name: UCD_SCRIPT_Osge
      - name: UCD_SCRIPT_Shaw
      - name: UCD_SCRIPT_Moon
      - name: UCD_SCRIPT_Phlp
      - name: UCD_SCRIPT_Sora
      - name: UCD_SCRIPT_Egyh
      - name: UCD_SCRIPT_Hano
      - name: UCD_SCRIPT_Kore
      - name: UCD_SCRIPT_Cprt
      - name: UCD_SCRIPT_Ahom
      - name: UCD_SCRIPT_Batk
      - name: UCD_SCRIPT_Buhd
      - name: UCD_SCRIPT_Kana
      - name: UCD_SCRIPT_Gonm
      - name: UCD_SCRIPT_Hrkt
      - name: UCD_SCRIPT_Syrn
      - name: UCD_SCRIPT_Latn
      - name: UCD_SCRIPT_Thaa
      - name: UCD_SCRIPT_Lyci
      - name: UCD_SCRIPT_Wara
      - name: UCD_SCRIPT_Newa
      - name: UCD_SCRIPT_Rohg
      - name: UCD_SCRIPT_Maya
      - name: UCD_SCRIPT_Zmth
      - name: UCD_SCRIPT_Orya
      - name: UCD_SCRIPT_Sgnw
      - name: UCD_SCRIPT_Sogo
      - name: UCD_SCRIPT_Talu
      - name: UCD_SCRIPT_Armn
      - name: UCD_SCRIPT_Blis
      - name: UCD_SCRIPT_Grek
      - name: UCD_SCRIPT_Cari
      - name: UCD_SCRIPT_Ital
      - name: UCD_SCRIPT_Ethi
      - name: UCD_SCRIPT_Hatr
      - name: UCD_SCRIPT_Lana
      - name: UCD_SCRIPT_Deva
      - name: UCD_SCRIPT_Latg
      - name: UCD_SCRIPT_Tglg
      - name: UCD_SCRIPT_Mong
      - name: UCD_SCRIPT_Phli
      - name: UCD_SCRIPT_Loma
      - name: UCD_SCRIPT_Visp
      - name: UCD_SCRIPT_Nbat
      - name: UCD_SCRIPT_Rjng
      - name: UCD_SCRIPT_Syrj
      - name: UCD_SCRIPT_Saur
      - name: UCD_SCRIPT_Tale
      - name: UCD_SCRIPT_Marc
      - name: UCD_SCRIPT_Zinh
      - name: UCD_SCRIPT_Orkh
      - name: UCD_SCRIPT_Hluw
      - name: UCD_SCRIPT_Dupl
      - name: UCD_SCRIPT_Hang
      - name: UCD_SCRIPT_Khoj
      - name: UCD_SCRIPT_Afak
      - name: UCD_SCRIPT_Bamu
      - name: UCD_SCRIPT_Brai
      - name: UCD_SCRIPT_Cirt
      - name: UCD_SCRIPT_Jurc
      - name: UCD_SCRIPT_Glag
      - name: UCD_SCRIPT_Latf
      - name: UCD_SCRIPT_Modi
      - name: UCD_SCRIPT_Phag
      - name: UCD_SCRIPT_Sogd
      - name: UCD_SCRIPT_Qaak
      - name: UCD_SCRIPT_Syre
      - name: UCD_SCRIPT_Vaii
      - name: UCD_SCRIPT_Narb
      - name: UCD_SCRIPT_Takr
      - name: UCD_SCRIPT_Mani
      - name: UCD_SCRIPT_Zanb
      - name: UCD_SCRIPT_Olck
      - name: UCD_SCRIPT_Sarb
      - name: UCD_SCRIPT_Arab
      - name: UCD_SCRIPT_Beng
      - name: UCD_SCRIPT_Khar
      - name: UCD_SCRIPT_Goth
      - name: UCD_SCRIPT_Cakm
      - name: UCD_SCRIPT_Hung
      - name: UCD_SCRIPT_Egyp
      - name: UCD_SCRIPT_Hans
      - name: UCD_SCRIPT_Kpel
      - name: UCD_SCRIPT_Cyrl
      - name: UCD_SCRIPT_Perm
      - name: UCD_SCRIPT_Sinh
      - name: UCD_SCRIPT_Tfng
      - name: UCD_SCRIPT_Syrc
      - name: UCD_SCRIPT_Teng
      - name: UCD_SCRIPT_Mlym
      - name: UCD_SCRIPT_Linb
      - name: UCD_SCRIPT_Ugar
      - name: UCD_SCRIPT_Mymr
      - name: UCD_SCRIPT_Prti
      - name: UCD_SCRIPT_Ogam
      - name: UCD_SCRIPT_Sara
      - name: UCD_SCRIPT_Hebr
      - name: UCD_SCRIPT_Laoo
      - name: UCD_SCRIPT_Dogr
      - name: UCD_SCRIPT_Avst
      - name: UCD_SCRIPT_Bopo
      - name: UCD_SCRIPT_Gujr
      - name: UCD_SCRIPT_Cham
      - name: UCD_SCRIPT_Java
      - name: UCD_SCRIPT_Geok
      - name: UCD_SCRIPT_Lisu
      - name: UCD_SCRIPT_Sind
      - name: UCD_SCRIPT_Mand
      - name: UCD_SCRIPT_Yiii
      - name: UCD_SCRIPT_Telu
      - name: UCD_SCRIPT_Mero
      - name: UCD_SCRIPT_Zzzz
      - name: UCD_SCRIPT_Pauc
      - name: UCD_SCRIPT_Mult
      - name: UCD_SCRIPT_Plrd
      - name: UCD_SCRIPT_Sylo
      - name: UCD_SCRIPT_Samr
      - name: UCD_SCRIPT_Tirh
      - name: UCD_SCRIPT_Aghb
      - name: UCD_SCRIPT_Bass
      - name: UCD_SCRIPT_Bugi
      - name: UCD_SCRIPT_Copt
      - name: UCD_SCRIPT_Kali
      - name: UCD_SCRIPT_Gong
      - name: UCD_SCRIPT_Hmng
      - name: UCD_SCRIPT_Knda
      - name: UCD_SCRIPT_Egyd
      - name: UCD_SCRIPT_Hani
      - name: UCD_SCRIPT_Maka
      - name: UCD_SCRIPT_Xsux
      - name: UCD_SCRIPT_Nshu
      - name: UCD_SCRIPT_Merc
      - name: UCD_SCRIPT_Zyyy
      - name: UCD_SCRIPT_Palm
      - name: UCD_SCRIPT_Sidd
      - name: UCD_SCRIPT_Phnx
      - name: UCD_SCRIPT_Sund
      - name: UCD_SCRIPT_Tavt
      - name: UCD_SCRIPT_Limb
      - name: UCD_SCRIPT_Tibt
      - name: UCD_SCRIPT_Mtei
      - name: UCD_SCRIPT_Elba
      - name: UCD_SCRIPT_Hant
      - name: UCD_SCRIPT_Kthi
      - name: UCD_SCRIPT_Cyrs
      - name: UCD_SCRIPT_Armi
      - name: UCD_SCRIPT_Bhks
      - name: UCD_SCRIPT_Gran
      - name: UCD_SCRIPT_Cans
      - name: UCD_SCRIPT_Inds
      - name: UCD_SCRIPT_Lina
      - name: UCD_SCRIPT_Mahj
      - name: UCD_SCRIPT_Nkoo
      - name: UCD_SCRIPT_Runr
      - name: UCD_SCRIPT_Osma
      - name: UCD_SCRIPT_Shrd
      - name: UCD_SCRIPT_Tang
      - name: UCD_SCRIPT_Mend
      - name: UCD_SCRIPT_Zxxx
      - name: UCD_SCRIPT_Lepc
      - name: UCD_SCRIPT_Thai
      - name: UCD_SCRIPT_Mroo
      - name: UCD_SCRIPT_Phlv
      - name: UCD_SCRIPT_Soyo
      item_type: enum
      name: ucd_script_
      pos:
        line_end: 320
        line_start: 135
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: C
        value: UCD_CATEGORY_GROUP_C
      - name: I
        value: UCD_CATEGORY_GROUP_I
      - name: L
        value: UCD_CATEGORY_GROUP_L
      - name: N
        value: UCD_CATEGORY_GROUP_N
      - name: M
        value: UCD_CATEGORY_GROUP_M
      - name: P
        value: UCD_CATEGORY_GROUP_P
      - name: S
        value: UCD_CATEGORY_GROUP_S
      - name: Z
        value: UCD_CATEGORY_GROUP_Z
      item_type: enum
      name: category_group
      pos:
        line_end: 548
        line_start: 538
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: Cc
        value: UCD_CATEGORY_Cc
      - name: Cn
        value: UCD_CATEGORY_Cn
      - name: Cs
        value: UCD_CATEGORY_Cs
      - name: Ll
        value: UCD_CATEGORY_Ll
      - name: Lo
        value: UCD_CATEGORY_Lo
      - name: Nd
        value: UCD_CATEGORY_Nd
      - name: Pd
        value: UCD_CATEGORY_Pd
      - name: Lu
        value: UCD_CATEGORY_Lu
      - name: 'No'
        value: UCD_CATEGORY_No
      - name: Me
        value: UCD_CATEGORY_Me
      - name: Sk
        value: UCD_CATEGORY_Sk
      - name: Pi
        value: UCD_CATEGORY_Pi
      - name: Ps
        value: UCD_CATEGORY_Ps
      - name: Zs
        value: UCD_CATEGORY_Zs
      - name: Sm
        value: UCD_CATEGORY_Sm
      - name: Zl
        value: UCD_CATEGORY_Zl
      - name: Cf
        value: UCD_CATEGORY_Cf
      - name: Co
        value: UCD_CATEGORY_Co
      - name: Ii
        value: UCD_CATEGORY_Ii
      - name: Lm
        value: UCD_CATEGORY_Lm
      - name: Lt
        value: UCD_CATEGORY_Lt
      - name: Mn
        value: UCD_CATEGORY_Mn
      - name: Nl
        value: UCD_CATEGORY_Nl
      - name: Mc
        value: UCD_CATEGORY_Mc
      - name: Pc
        value: UCD_CATEGORY_Pc
      - name: Pe
        value: UCD_CATEGORY_Pe
      - name: Sc
        value: UCD_CATEGORY_Sc
      - name: Po
        value: UCD_CATEGORY_Po
      - name: Zp
        value: UCD_CATEGORY_Zp
      - name: Pf
        value: UCD_CATEGORY_Pf
      - name: So
        value: UCD_CATEGORY_So
      item_type: enum
      name: category
      pos:
        line_end: 604
        line_start: 564
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: Ahom
        value: UCD_SCRIPT_Ahom
      - name: Batk
        value: UCD_SCRIPT_Batk
      - name: Buhd
        value: UCD_SCRIPT_Buhd
      - name: Hrkt
        value: UCD_SCRIPT_Hrkt
      - name: Lana
        value: UCD_SCRIPT_Lana
      - name: Egyh
        value: UCD_SCRIPT_Egyh
      - name: Hano
        value: UCD_SCRIPT_Hano
      - name: Cprt
        value: UCD_SCRIPT_Cprt
      - name: Gonm
        value: UCD_SCRIPT_Gonm
      - name: Kana
        value: UCD_SCRIPT_Kana
      - name: Lydi
        value: UCD_SCRIPT_Lydi
      - name: Syre
        value: UCD_SCRIPT_Syre
      - name: Wole
        value: UCD_SCRIPT_Wole
      - name: Narb
        value: UCD_SCRIPT_Narb
      - name: Mani
        value: UCD_SCRIPT_Mani
      - name: Zanb
        value: UCD_SCRIPT_Zanb
      - name: Olck
        value: UCD_SCRIPT_Olck
      - name: Sarb
        value: UCD_SCRIPT_Sarb
      - name: Taml
        value: UCD_SCRIPT_Taml
      - name: Perm
        value: UCD_SCRIPT_Perm
      - name: Sinh
        value: UCD_SCRIPT_Sinh
      - name: Latn
        value: UCD_SCRIPT_Latn
      - name: Thaa
        value: UCD_SCRIPT_Thaa
      - name: Hatr
        value: UCD_SCRIPT_Hatr
      - name: Deva
        value: UCD_SCRIPT_Deva
      - name: Khoj
        value: UCD_SCRIPT_Khoj
      - name: Grek
        value: UCD_SCRIPT_Grek
      - name: Afak
        value: UCD_SCRIPT_Afak
      - name: Armn
        value: UCD_SCRIPT_Armn
      - name: Blis
        value: UCD_SCRIPT_Blis
      - name: Cari
        value: UCD_SCRIPT_Cari
      - name: Ital
        value: UCD_SCRIPT_Ital
      - name: Ethi
        value: UCD_SCRIPT_Ethi
      - name: Lyci
        value: UCD_SCRIPT_Lyci
      - name: Wara
        value: UCD_SCRIPT_Wara
      - name: Mlym
        value: UCD_SCRIPT_Mlym
      - name: Mymr
        value: UCD_SCRIPT_Mymr
      - name: Prti
        value: UCD_SCRIPT_Prti
      - name: Syrc
        value: UCD_SCRIPT_Syrc
      - name: Ogam
        value: UCD_SCRIPT_Ogam
      - name: Sara
        value: UCD_SCRIPT_Sara
      - name: Talu
        value: UCD_SCRIPT_Talu
      - name: Latg
        value: UCD_SCRIPT_Latg
      - name: Tglg
        value: UCD_SCRIPT_Tglg
      - name: Mand
        value: UCD_SCRIPT_Mand
      - name: Yiii
        value: UCD_SCRIPT_Yiii
      - name: Bamu
        value: UCD_SCRIPT_Bamu
      - name: Brai
        value: UCD_SCRIPT_Brai
      - name: Jurc
        value: UCD_SCRIPT_Jurc
      - name: Glag
        value: UCD_SCRIPT_Glag
      - name: Hluw
        value: UCD_SCRIPT_Hluw
      - name: Dupl
        value: UCD_SCRIPT_Dupl
      - name: Kpel
        value: UCD_SCRIPT_Kpel
      - name: Hang
        value: UCD_SCRIPT_Hang
      - name: Cirt
        value: UCD_SCRIPT_Cirt
      - name: Limb
        value: UCD_SCRIPT_Limb
      - name: Mero
        value: UCD_SCRIPT_Mero
      - name: Pauc
        value: UCD_SCRIPT_Pauc
      - name: Zzzz
        value: UCD_SCRIPT_Zzzz
      - name: Sind
        value: UCD_SCRIPT_Sind
      - name: Mult
        value: UCD_SCRIPT_Mult
      - name: Plrd
        value: UCD_SCRIPT_Plrd
      - name: Sylo
        value: UCD_SCRIPT_Sylo
      - name: Loma
        value: UCD_SCRIPT_Loma
      - name: Visp
        value: UCD_SCRIPT_Visp
      - name: Tale
        value: UCD_SCRIPT_Tale
      - name: Maka
        value: UCD_SCRIPT_Maka
      - name: Xsux
        value: UCD_SCRIPT_Xsux
      - name: Nshu
        value: UCD_SCRIPT_Nshu
      - name: Samr
        value: UCD_SCRIPT_Samr
      - name: Laoo
        value: UCD_SCRIPT_Laoo
      - name: Hans
        value: UCD_SCRIPT_Hans
      - name: Cyrl
        value: UCD_SCRIPT_Cyrl
      - name: Khar
        value: UCD_SCRIPT_Khar
      - name: Arab
        value: UCD_SCRIPT_Arab
      - name: Beng
        value: UCD_SCRIPT_Beng
      - name: Cakm
        value: UCD_SCRIPT_Cakm
      - name: Goth
        value: UCD_SCRIPT_Goth
      - name: Hung
        value: UCD_SCRIPT_Hung
      - name: Egyp
        value: UCD_SCRIPT_Egyp
      - name: Merc
        value: UCD_SCRIPT_Merc
      - name: Palm
        value: UCD_SCRIPT_Palm
      - name: Sidd
        value: UCD_SCRIPT_Sidd
      - name: Latf
        value: UCD_SCRIPT_Latf
      - name: Tfng
        value: UCD_SCRIPT_Tfng
      - name: Sund
        value: UCD_SCRIPT_Sund
      - name: Lisu
        value: UCD_SCRIPT_Lisu
      - name: Vaii
        value: UCD_SCRIPT_Vaii
      - name: Mtei
        value: UCD_SCRIPT_Mtei
      - name: Phnx
        value: UCD_SCRIPT_Phnx
      - name: Mahj
        value: UCD_SCRIPT_Mahj
      - name: Xpeo
        value: UCD_SCRIPT_Xpeo
      - name: Nkoo
        value: UCD_SCRIPT_Nkoo
      - name: Runr
        value: UCD_SCRIPT_Runr
      - name: Takr
        value: UCD_SCRIPT_Takr
      - name: Aghb
        value: UCD_SCRIPT_Aghb
      - name: Avst
        value: UCD_SCRIPT_Avst
      - name: Bopo
        value: UCD_SCRIPT_Bopo
      - name: Cham
        value: UCD_SCRIPT_Cham
      - name: Java
        value: UCD_SCRIPT_Java
      - name: Geok
        value: UCD_SCRIPT_Geok
      - name: Hebr
        value: UCD_SCRIPT_Hebr
      - name: Dogr
        value: UCD_SCRIPT_Dogr
      - name: Knda
        value: UCD_SCRIPT_Knda
      - name: Gujr
        value: UCD_SCRIPT_Gujr
      - name: Shrd
        value: UCD_SCRIPT_Shrd
      - name: Teng
        value: UCD_SCRIPT_Teng
      - name: Linb
        value: UCD_SCRIPT_Linb
      - name: Ugar
        value: UCD_SCRIPT_Ugar
      - name: Mend
        value: UCD_SCRIPT_Mend
      - name: Zxxx
        value: UCD_SCRIPT_Zxxx
      - name: Osma
        value: UCD_SCRIPT_Osma
      - name: Mroo
        value: UCD_SCRIPT_Mroo
      - name: Phlv
        value: UCD_SCRIPT_Phlv
      - name: Soyo
        value: UCD_SCRIPT_Soyo
      - name: Roro
        value: UCD_SCRIPT_Roro
      - name: Tagb
        value: UCD_SCRIPT_Tagb
      - name: Egyd
        value: UCD_SCRIPT_Egyd
      - name: Kthi
        value: UCD_SCRIPT_Kthi
      - name: Hani
        value: UCD_SCRIPT_Hani
      - name: Copt
        value: UCD_SCRIPT_Copt
      - name: Bugi
        value: UCD_SCRIPT_Bugi
      - name: Bass
        value: UCD_SCRIPT_Bass
      - name: Kali
        value: UCD_SCRIPT_Kali
      - name: Gong
        value: UCD_SCRIPT_Gong
      - name: Hmng
        value: UCD_SCRIPT_Hmng
      - name: Lina
        value: UCD_SCRIPT_Lina
      - name: Telu
        value: UCD_SCRIPT_Telu
      - name: Nkgb
        value: UCD_SCRIPT_Nkgb
      - name: Medf
        value: UCD_SCRIPT_Medf
      - name: Zsym
        value: UCD_SCRIPT_Zsym
      - name: Osge
        value: UCD_SCRIPT_Osge
      - name: Shaw
        value: UCD_SCRIPT_Shaw
      - name: Phlp
        value: UCD_SCRIPT_Phlp
      - name: Sora
        value: UCD_SCRIPT_Sora
      - name: Tirh
        value: UCD_SCRIPT_Tirh
      - name: Zyyy
        value: UCD_SCRIPT_Zyyy
      - name: Syrn
        value: UCD_SCRIPT_Syrn
      - name: Moon
        value: UCD_SCRIPT_Moon
      - name: Adlm
        value: UCD_SCRIPT_Adlm
      - name: Armi
        value: UCD_SCRIPT_Armi
      - name: Bhks
        value: UCD_SCRIPT_Bhks
      - name: Gran
        value: UCD_SCRIPT_Gran
      - name: Cans
        value: UCD_SCRIPT_Cans
      - name: Inds
        value: UCD_SCRIPT_Inds
      - name: Elba
        value: UCD_SCRIPT_Elba
      - name: Hant
        value: UCD_SCRIPT_Hant
      - name: Cyrs
        value: UCD_SCRIPT_Cyrs
      - name: Khmr
        value: UCD_SCRIPT_Khmr
      - name: Newa
        value: UCD_SCRIPT_Newa
      - name: Rohg
        value: UCD_SCRIPT_Rohg
      - name: Orya
        value: UCD_SCRIPT_Orya
      - name: Sgnw
        value: UCD_SCRIPT_Sgnw
      - name: Tavt
        value: UCD_SCRIPT_Tavt
      - name: Sogo
        value: UCD_SCRIPT_Sogo
      - name: Tibt
        value: UCD_SCRIPT_Tibt
      - name: Maya
        value: UCD_SCRIPT_Maya
      - name: Zmth
        value: UCD_SCRIPT_Zmth
      - name: Mong
        value: UCD_SCRIPT_Mong
      - name: Phli
        value: UCD_SCRIPT_Phli
      - name: Hira
        value: UCD_SCRIPT_Hira
      - name: Dsrt
        value: UCD_SCRIPT_Dsrt
      - name: Kore
        value: UCD_SCRIPT_Kore
      - name: Guru
        value: UCD_SCRIPT_Guru
      - name: Bali
        value: UCD_SCRIPT_Bali
      - name: Brah
        value: UCD_SCRIPT_Brah
      - name: Cher
        value: UCD_SCRIPT_Cher
      - name: Jpan
        value: UCD_SCRIPT_Jpan
      - name: Geor
        value: UCD_SCRIPT_Geor
      - name: Lepc
        value: UCD_SCRIPT_Lepc
      - name: Nbat
        value: UCD_SCRIPT_Nbat
      - name: Qaak
        value: UCD_SCRIPT_Qaak
      - name: Rjng
        value: UCD_SCRIPT_Rjng
      - name: Syrj
        value: UCD_SCRIPT_Syrj
      - name: Saur
        value: UCD_SCRIPT_Saur
      - name: Tang
        value: UCD_SCRIPT_Tang
      - name: Marc
        value: UCD_SCRIPT_Marc
      - name: Zinh
        value: UCD_SCRIPT_Zinh
      - name: Orkh
        value: UCD_SCRIPT_Orkh
      - name: Modi
        value: UCD_SCRIPT_Modi
      - name: Phag
        value: UCD_SCRIPT_Phag
      - name: Sogd
        value: UCD_SCRIPT_Sogd
      - name: Thai
        value: UCD_SCRIPT_Thai
      item_type: enum
      name: script
      pos:
        line_end: 836
        line_start: 651
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: C
        value: UCD_CATEGORY_GROUP_C
      - name: I
        value: UCD_CATEGORY_GROUP_I
      - name: L
        value: UCD_CATEGORY_GROUP_L
      - name: N
        value: UCD_CATEGORY_GROUP_N
      - name: M
        value: UCD_CATEGORY_GROUP_M
      - name: P
        value: UCD_CATEGORY_GROUP_P
      - name: S
        value: UCD_CATEGORY_GROUP_S
      - name: Z
        value: UCD_CATEGORY_GROUP_Z
      item_type: enum
      name: category_group
      pos:
        line_end: 548
        line_start: 538
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: Cc
        value: UCD_CATEGORY_Cc
      - name: Cn
        value: UCD_CATEGORY_Cn
      - name: Cs
        value: UCD_CATEGORY_Cs
      - name: Ll
        value: UCD_CATEGORY_Ll
      - name: Lo
        value: UCD_CATEGORY_Lo
      - name: Nd
        value: UCD_CATEGORY_Nd
      - name: Pd
        value: UCD_CATEGORY_Pd
      - name: Lu
        value: UCD_CATEGORY_Lu
      - name: 'No'
        value: UCD_CATEGORY_No
      - name: Me
        value: UCD_CATEGORY_Me
      - name: Sk
        value: UCD_CATEGORY_Sk
      - name: Pi
        value: UCD_CATEGORY_Pi
      - name: Ps
        value: UCD_CATEGORY_Ps
      - name: Zs
        value: UCD_CATEGORY_Zs
      - name: Sm
        value: UCD_CATEGORY_Sm
      - name: Zl
        value: UCD_CATEGORY_Zl
      - name: Cf
        value: UCD_CATEGORY_Cf
      - name: Co
        value: UCD_CATEGORY_Co
      - name: Ii
        value: UCD_CATEGORY_Ii
      - name: Lm
        value: UCD_CATEGORY_Lm
      - name: Lt
        value: UCD_CATEGORY_Lt
      - name: Mn
        value: UCD_CATEGORY_Mn
      - name: Nl
        value: UCD_CATEGORY_Nl
      - name: Mc
        value: UCD_CATEGORY_Mc
      - name: Pc
        value: UCD_CATEGORY_Pc
      - name: Pe
        value: UCD_CATEGORY_Pe
      - name: Sc
        value: UCD_CATEGORY_Sc
      - name: Po
        value: UCD_CATEGORY_Po
      - name: Zp
        value: UCD_CATEGORY_Zp
      - name: Pf
        value: UCD_CATEGORY_Pf
      - name: So
        value: UCD_CATEGORY_So
      item_type: enum
      name: category
      pos:
        line_end: 604
        line_start: 564
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    - enumerators:
      - name: Ahom
        value: UCD_SCRIPT_Ahom
      - name: Batk
        value: UCD_SCRIPT_Batk
      - name: Buhd
        value: UCD_SCRIPT_Buhd
      - name: Hrkt
        value: UCD_SCRIPT_Hrkt
      - name: Lana
        value: UCD_SCRIPT_Lana
      - name: Egyh
        value: UCD_SCRIPT_Egyh
      - name: Hano
        value: UCD_SCRIPT_Hano
      - name: Cprt
        value: UCD_SCRIPT_Cprt
      - name: Gonm
        value: UCD_SCRIPT_Gonm
      - name: Kana
        value: UCD_SCRIPT_Kana
      - name: Lydi
        value: UCD_SCRIPT_Lydi
      - name: Syre
        value: UCD_SCRIPT_Syre
      - name: Wole
        value: UCD_SCRIPT_Wole
      - name: Narb
        value: UCD_SCRIPT_Narb
      - name: Mani
        value: UCD_SCRIPT_Mani
      - name: Zanb
        value: UCD_SCRIPT_Zanb
      - name: Olck
        value: UCD_SCRIPT_Olck
      - name: Sarb
        value: UCD_SCRIPT_Sarb
      - name: Taml
        value: UCD_SCRIPT_Taml
      - name: Perm
        value: UCD_SCRIPT_Perm
      - name: Sinh
        value: UCD_SCRIPT_Sinh
      - name: Latn
        value: UCD_SCRIPT_Latn
      - name: Thaa
        value: UCD_SCRIPT_Thaa
      - name: Hatr
        value: UCD_SCRIPT_Hatr
      - name: Deva
        value: UCD_SCRIPT_Deva
      - name: Khoj
        value: UCD_SCRIPT_Khoj
      - name: Grek
        value: UCD_SCRIPT_Grek
      - name: Afak
        value: UCD_SCRIPT_Afak
      - name: Armn
        value: UCD_SCRIPT_Armn
      - name: Blis
        value: UCD_SCRIPT_Blis
      - name: Cari
        value: UCD_SCRIPT_Cari
      - name: Ital
        value: UCD_SCRIPT_Ital
      - name: Ethi
        value: UCD_SCRIPT_Ethi
      - name: Lyci
        value: UCD_SCRIPT_Lyci
      - name: Wara
        value: UCD_SCRIPT_Wara
      - name: Mlym
        value: UCD_SCRIPT_Mlym
      - name: Mymr
        value: UCD_SCRIPT_Mymr
      - name: Prti
        value: UCD_SCRIPT_Prti
      - name: Syrc
        value: UCD_SCRIPT_Syrc
      - name: Ogam
        value: UCD_SCRIPT_Ogam
      - name: Sara
        value: UCD_SCRIPT_Sara
      - name: Talu
        value: UCD_SCRIPT_Talu
      - name: Latg
        value: UCD_SCRIPT_Latg
      - name: Tglg
        value: UCD_SCRIPT_Tglg
      - name: Mand
        value: UCD_SCRIPT_Mand
      - name: Yiii
        value: UCD_SCRIPT_Yiii
      - name: Bamu
        value: UCD_SCRIPT_Bamu
      - name: Brai
        value: UCD_SCRIPT_Brai
      - name: Jurc
        value: UCD_SCRIPT_Jurc
      - name: Glag
        value: UCD_SCRIPT_Glag
      - name: Hluw
        value: UCD_SCRIPT_Hluw
      - name: Dupl
        value: UCD_SCRIPT_Dupl
      - name: Kpel
        value: UCD_SCRIPT_Kpel
      - name: Hang
        value: UCD_SCRIPT_Hang
      - name: Cirt
        value: UCD_SCRIPT_Cirt
      - name: Limb
        value: UCD_SCRIPT_Limb
      - name: Mero
        value: UCD_SCRIPT_Mero
      - name: Pauc
        value: UCD_SCRIPT_Pauc
      - name: Zzzz
        value: UCD_SCRIPT_Zzzz
      - name: Sind
        value: UCD_SCRIPT_Sind
      - name: Mult
        value: UCD_SCRIPT_Mult
      - name: Plrd
        value: UCD_SCRIPT_Plrd
      - name: Sylo
        value: UCD_SCRIPT_Sylo
      - name: Loma
        value: UCD_SCRIPT_Loma
      - name: Visp
        value: UCD_SCRIPT_Visp
      - name: Tale
        value: UCD_SCRIPT_Tale
      - name: Maka
        value: UCD_SCRIPT_Maka
      - name: Xsux
        value: UCD_SCRIPT_Xsux
      - name: Nshu
        value: UCD_SCRIPT_Nshu
      - name: Samr
        value: UCD_SCRIPT_Samr
      - name: Laoo
        value: UCD_SCRIPT_Laoo
      - name: Hans
        value: UCD_SCRIPT_Hans
      - name: Cyrl
        value: UCD_SCRIPT_Cyrl
      - name: Khar
        value: UCD_SCRIPT_Khar
      - name: Arab
        value: UCD_SCRIPT_Arab
      - name: Beng
        value: UCD_SCRIPT_Beng
      - name: Cakm
        value: UCD_SCRIPT_Cakm
      - name: Goth
        value: UCD_SCRIPT_Goth
      - name: Hung
        value: UCD_SCRIPT_Hung
      - name: Egyp
        value: UCD_SCRIPT_Egyp
      - name: Merc
        value: UCD_SCRIPT_Merc
      - name: Palm
        value: UCD_SCRIPT_Palm
      - name: Sidd
        value: UCD_SCRIPT_Sidd
      - name: Latf
        value: UCD_SCRIPT_Latf
      - name: Tfng
        value: UCD_SCRIPT_Tfng
      - name: Sund
        value: UCD_SCRIPT_Sund
      - name: Lisu
        value: UCD_SCRIPT_Lisu
      - name: Vaii
        value: UCD_SCRIPT_Vaii
      - name: Mtei
        value: UCD_SCRIPT_Mtei
      - name: Phnx
        value: UCD_SCRIPT_Phnx
      - name: Mahj
        value: UCD_SCRIPT_Mahj
      - name: Xpeo
        value: UCD_SCRIPT_Xpeo
      - name: Nkoo
        value: UCD_SCRIPT_Nkoo
      - name: Runr
        value: UCD_SCRIPT_Runr
      - name: Takr
        value: UCD_SCRIPT_Takr
      - name: Aghb
        value: UCD_SCRIPT_Aghb
      - name: Avst
        value: UCD_SCRIPT_Avst
      - name: Bopo
        value: UCD_SCRIPT_Bopo
      - name: Cham
        value: UCD_SCRIPT_Cham
      - name: Java
        value: UCD_SCRIPT_Java
      - name: Geok
        value: UCD_SCRIPT_Geok
      - name: Hebr
        value: UCD_SCRIPT_Hebr
      - name: Dogr
        value: UCD_SCRIPT_Dogr
      - name: Knda
        value: UCD_SCRIPT_Knda
      - name: Gujr
        value: UCD_SCRIPT_Gujr
      - name: Shrd
        value: UCD_SCRIPT_Shrd
      - name: Teng
        value: UCD_SCRIPT_Teng
      - name: Linb
        value: UCD_SCRIPT_Linb
      - name: Ugar
        value: UCD_SCRIPT_Ugar
      - name: Mend
        value: UCD_SCRIPT_Mend
      - name: Zxxx
        value: UCD_SCRIPT_Zxxx
      - name: Osma
        value: UCD_SCRIPT_Osma
      - name: Mroo
        value: UCD_SCRIPT_Mroo
      - name: Phlv
        value: UCD_SCRIPT_Phlv
      - name: Soyo
        value: UCD_SCRIPT_Soyo
      - name: Roro
        value: UCD_SCRIPT_Roro
      - name: Tagb
        value: UCD_SCRIPT_Tagb
      - name: Egyd
        value: UCD_SCRIPT_Egyd
      - name: Kthi
        value: UCD_SCRIPT_Kthi
      - name: Hani
        value: UCD_SCRIPT_Hani
      - name: Copt
        value: UCD_SCRIPT_Copt
      - name: Bugi
        value: UCD_SCRIPT_Bugi
      - name: Bass
        value: UCD_SCRIPT_Bass
      - name: Kali
        value: UCD_SCRIPT_Kali
      - name: Gong
        value: UCD_SCRIPT_Gong
      - name: Hmng
        value: UCD_SCRIPT_Hmng
      - name: Lina
        value: UCD_SCRIPT_Lina
      - name: Telu
        value: UCD_SCRIPT_Telu
      - name: Nkgb
        value: UCD_SCRIPT_Nkgb
      - name: Medf
        value: UCD_SCRIPT_Medf
      - name: Zsym
        value: UCD_SCRIPT_Zsym
      - name: Osge
        value: UCD_SCRIPT_Osge
      - name: Shaw
        value: UCD_SCRIPT_Shaw
      - name: Phlp
        value: UCD_SCRIPT_Phlp
      - name: Sora
        value: UCD_SCRIPT_Sora
      - name: Tirh
        value: UCD_SCRIPT_Tirh
      - name: Zyyy
        value: UCD_SCRIPT_Zyyy
      - name: Syrn
        value: UCD_SCRIPT_Syrn
      - name: Moon
        value: UCD_SCRIPT_Moon
      - name: Adlm
        value: UCD_SCRIPT_Adlm
      - name: Armi
        value: UCD_SCRIPT_Armi
      - name: Bhks
        value: UCD_SCRIPT_Bhks
      - name: Gran
        value: UCD_SCRIPT_Gran
      - name: Cans
        value: UCD_SCRIPT_Cans
      - name: Inds
        value: UCD_SCRIPT_Inds
      - name: Elba
        value: UCD_SCRIPT_Elba
      - name: Hant
        value: UCD_SCRIPT_Hant
      - name: Cyrs
        value: UCD_SCRIPT_Cyrs
      - name: Khmr
        value: UCD_SCRIPT_Khmr
      - name: Newa
        value: UCD_SCRIPT_Newa
      - name: Rohg
        value: UCD_SCRIPT_Rohg
      - name: Orya
        value: UCD_SCRIPT_Orya
      - name: Sgnw
        value: UCD_SCRIPT_Sgnw
      - name: Tavt
        value: UCD_SCRIPT_Tavt
      - name: Sogo
        value: UCD_SCRIPT_Sogo
      - name: Tibt
        value: UCD_SCRIPT_Tibt
      - name: Maya
        value: UCD_SCRIPT_Maya
      - name: Zmth
        value: UCD_SCRIPT_Zmth
      - name: Mong
        value: UCD_SCRIPT_Mong
      - name: Phli
        value: UCD_SCRIPT_Phli
      - name: Hira
        value: UCD_SCRIPT_Hira
      - name: Dsrt
        value: UCD_SCRIPT_Dsrt
      - name: Kore
        value: UCD_SCRIPT_Kore
      - name: Guru
        value: UCD_SCRIPT_Guru
      - name: Bali
        value: UCD_SCRIPT_Bali
      - name: Brah
        value: UCD_SCRIPT_Brah
      - name: Cher
        value: UCD_SCRIPT_Cher
      - name: Jpan
        value: UCD_SCRIPT_Jpan
      - name: Geor
        value: UCD_SCRIPT_Geor
      - name: Lepc
        value: UCD_SCRIPT_Lepc
      - name: Nbat
        value: UCD_SCRIPT_Nbat
      - name: Qaak
        value: UCD_SCRIPT_Qaak
      - name: Rjng
        value: UCD_SCRIPT_Rjng
      - name: Syrj
        value: UCD_SCRIPT_Syrj
      - name: Saur
        value: UCD_SCRIPT_Saur
      - name: Tang
        value: UCD_SCRIPT_Tang
      - name: Marc
        value: UCD_SCRIPT_Marc
      - name: Zinh
        value: UCD_SCRIPT_Zinh
      - name: Orkh
        value: UCD_SCRIPT_Orkh
      - name: Modi
        value: UCD_SCRIPT_Modi
      - name: Phag
        value: UCD_SCRIPT_Phag
      - name: Sogd
        value: UCD_SCRIPT_Sogd
      - name: Thai
        value: UCD_SCRIPT_Thai
      item_type: enum
      name: script
      pos:
        line_end: 836
        line_start: 651
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
    preproc_defs:
    - item_type: preproc_def
      name: UCD_PROPERTY_WHITE_SPACE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000001ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_BIDI_CONTROL
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000002ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_JOIN_CONTROL
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000004ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_DASH
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000008ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_HYPHEN
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000010ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_QUOTATION_MARK
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000020ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_TERMINAL_PUNCTUATION
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000040ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_MATH
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000080ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_HEX_DIGIT
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000100ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_ASCII_HEX_DIGIT
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000200ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_ALPHABETIC
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000400ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_IDEOGRAPHIC
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000000800ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_DIACRITIC
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000001000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EXTENDER
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000002000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_LOWERCASE
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000004000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_UPPERCASE
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000008000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_NONCHARACTER_CODE_POINT
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000010000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_GRAPHEME_EXTEND
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000020000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_IDS_BINARY_OPERATOR
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000040000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_IDS_TRINARY_OPERATOR
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000080000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_RADICAL
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000100000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_UNIFIED_IDEOGRAPH
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000200000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000400000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_DEPRECATED
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000000800000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_SOFT_DOTTED
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000001000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_LOGICAL_ORDER_EXCEPTION
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000002000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_ID_START
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000004000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_OTHER_ID_CONTINUE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000008000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_SENTENCE_TERMINAL
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000010000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_VARIATION_SELECTOR
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000020000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_PATTERN_WHITE_SPACE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000040000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_PATTERN_SYNTAX
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000080000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_PREPENDED_CONCATENATION_MARK
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000100000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EMOJI
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000200000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EMOJI_PRESENTATION
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000400000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EMOJI_MODIFIER
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000000800000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EMOJI_MODIFIER_BASE
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000001000000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_REGIONAL_INDICATOR
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000002000000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EMOJI_COMPONENT
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000004000000000ull '
    - item_type: preproc_def
      name: UCD_PROPERTY_EXTENDED_PICTOGRAPHIC
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0000008000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_INVERTED_TERMINAL_PUNCTUATION
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0010000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_PUNCTUATION_IN_WORD
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0020000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_OPTIONAL_SPACE_AFTER
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0040000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_EXTENDED_DASH
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0080000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_PARAGRAPH_SEPARATOR
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0100000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_ELLIPSIS
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0200000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_SEMI_COLON
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0400000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_COLON
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x0800000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_COMMA
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x1000000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_EXCLAMATION_MARK
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x2000000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_QUESTION_MARK
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x4000000000000000ull '
    - item_type: preproc_def
      name: ESPEAKNG_PROPERTY_FULL_STOP
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type_or_value: '0x8000000000000000ull '
    structs: []
    typedefs:
    - item_type: typedef
      name: codepoint_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type: uint32_t
    - item_type: typedef
      name: ucd_property
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type: uint64_t
    - item_type: typedef
      name: property
      pos:
        line_end: 861
        line_start: 861
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type: ucd_property
    - item_type: typedef
      name: property
      pos:
        line_end: 861
        line_start: 861
        source_file: /src/espeak-ng/src/ucd-tools/src/include/ucd/ucd.h
      type: ucd_property
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/speechPlayer/src/speechPlayer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '* speechPlayer_handle_t'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/espeak-ng/src/speechPlayer/src/speechPlayer.h
      type: void
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/speechPlayer/src/sample.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: value
        type: sampleVal
      item_type: struct
      name: sample
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/espeak-ng/src/speechPlayer/src/sample.h
    typedefs:
    - item_type: typedef
      name: sampleVal
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/espeak-ng/src/speechPlayer/src/sample.h
      type: short
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/speechPlayer/src/waveGenerator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MAX
  - MIN
  - ISNAN
  - calculateValueAtFadePosition
  source_file: /src/espeak-ng/src/speechPlayer/src/utils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M_PI
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/espeak-ng/src/speechPlayer/src/utils.h
      type_or_value: '3.14159265358979323846'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~SpeechWaveGenerator()
  source_file: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NoiseGenerator::NoiseGenerator
  - NoiseGenerator::getNext
  - FrequencyGenerator::FrequencyGenerator
  - FrequencyGenerator::getNext
  - VoiceGenerator::VoiceGenerator
  - VoiceGenerator::getNext
  - Resonator::Resonator
  - Resonator::setParams
  - Resonator::resonate
  - CascadeFormantGenerator::CascadeFormantGenerator
  - CascadeFormantGenerator::getNext
  - ParallelFormantGenerator::ParallelFormantGenerator
  - ParallelFormantGenerator::getNext
  - SpeechWaveGeneratorImpl::SpeechWaveGeneratorImpl
  - SpeechWaveGeneratorImpl::generate
  - SpeechWaveGeneratorImpl::setFrameManager
  - SpeechWaveGenerator::create
  source_file: /src/espeak-ng/src/speechPlayer/src/speechWaveGenerator.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FrameManagerImpl::updateCurrentFrame
  - FrameManagerImpl::FrameManagerImpl
  - FrameManagerImpl::queueFrame
  - FrameManagerImpl::getLastIndex
  - FrameManagerImpl::getCurrentFrame
  - ~FrameManagerImpl()
  - FrameManager::create
  source_file: /src/espeak-ng/src/speechPlayer/src/frame.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: minNumSamples
        type: unsigned int
      - name: numFadeSamples
        type: unsigned int
      - name: NULLFrame
        type: bool
      - name: frame
        type: speechPlayer_frame_t
      - name: voicePitchInc
        type: double
      - name: userIndex
        type: int
      item_type: struct
      name: frameRequest_t
      pos:
        line_end: 29
        line_start: 22
        source_file: /src/espeak-ng/src/speechPlayer/src/frame.cpp
    typedefs: []
    union: []
- function_names:
  - speechPlayer_initialize
  - speechPlayer_queueFrame
  - speechPlayer_synthesize
  - speechPlayer_getLastIndex
  - speechPlayer_terminate
  source_file: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sampleRate
        type: int
      - name: '* frameManager'
        type: FrameManager
      - name: '* waveGenerator'
        type: SpeechWaveGenerator
      item_type: struct
      name: speechPlayer_handleInfo_t
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/espeak-ng/src/speechPlayer/src/speechPlayer.cpp
    typedefs: []
    union: []
- function_names:
  - ~FrameManager()
  source_file: /src/espeak-ng/src/speechPlayer/src/frame.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: voicePitch
        type: speechPlayer_frameParam_t
      - name: vibratoPitchOffset
        type: speechPlayer_frameParam_t
      - name: vibratoSpeed
        type: speechPlayer_frameParam_t
      - name: voiceTurbulenceAmplitude
        type: speechPlayer_frameParam_t
      - name: glottalOpenQuotient
        type: speechPlayer_frameParam_t
      - name: voiceAmplitude
        type: speechPlayer_frameParam_t
      - name: aspirationAmplitude
        type: speechPlayer_frameParam_t
      - name: cf1
        type: speechPlayer_frameParam_t
      - name: cb1
        type: speechPlayer_frameParam_t
      - name: caNP
        type: speechPlayer_frameParam_t
      - name: fricationAmplitude
        type: speechPlayer_frameParam_t
      - name: pf1
        type: speechPlayer_frameParam_t
      - name: pb1
        type: speechPlayer_frameParam_t
      - name: pa1
        type: speechPlayer_frameParam_t
      - name: parallelBypass
        type: speechPlayer_frameParam_t
      - name: preFormantGain
        type: speechPlayer_frameParam_t
      - name: outputGain
        type: speechPlayer_frameParam_t
      - name: endVoicePitch
        type: speechPlayer_frameParam_t
      item_type: struct
      name: speechPlayer_frame_t
      pos:
        line_end: 43
        line_start: 22
        source_file: /src/espeak-ng/src/speechPlayer/src/frame.h
    typedefs:
    - item_type: typedef
      name: speechPlayer_frameParam_t
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/espeak-ng/src/speechPlayer/src/frame.h
      type: double
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/speechPlayer/include/speechPlayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: voicePitch
        type: speechPlayer_frameParam_t
      - name: vibratoPitchOffset
        type: speechPlayer_frameParam_t
      - name: vibratoSpeed
        type: speechPlayer_frameParam_t
      - name: voiceTurbulenceAmplitude
        type: speechPlayer_frameParam_t
      - name: glottalOpenQuotient
        type: speechPlayer_frameParam_t
      - name: voiceAmplitude
        type: speechPlayer_frameParam_t
      - name: aspirationAmplitude
        type: speechPlayer_frameParam_t
      - name: cf1
        type: speechPlayer_frameParam_t
      - name: cb1
        type: speechPlayer_frameParam_t
      - name: caNP
        type: speechPlayer_frameParam_t
      - name: fricationAmplitude
        type: speechPlayer_frameParam_t
      - name: pf1
        type: speechPlayer_frameParam_t
      - name: pb1
        type: speechPlayer_frameParam_t
      - name: pa1
        type: speechPlayer_frameParam_t
      - name: parallelBypass
        type: speechPlayer_frameParam_t
      - name: preFormantGain
        type: speechPlayer_frameParam_t
      - name: outputGain
        type: speechPlayer_frameParam_t
      - name: endVoicePitch
        type: speechPlayer_frameParam_t
      item_type: struct
      name: speechPlayer_frame_t
      pos:
        line_end: 47
        line_start: 26
        source_file: /src/espeak-ng/src/speechPlayer/include/speechPlayer.h
    - fields:
      - name: value
        type: sampleVal
      item_type: struct
      name: sample
      pos:
        line_end: 53
        line_start: 51
        source_file: /src/espeak-ng/src/speechPlayer/include/speechPlayer.h
    typedefs:
    - item_type: typedef
      name: speechPlayer_frameParam_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/espeak-ng/src/speechPlayer/include/speechPlayer.h
      type: double
    - item_type: typedef
      name: sampleVal
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/espeak-ng/src/speechPlayer/include/speechPlayer.h
      type: short
    - item_type: typedef
      name: '* speechPlayer_handle_t'
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/espeak-ng/src/speechPlayer/include/speechPlayer.h
      type: void
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/windows/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE_VERSION
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/espeak-ng/src/windows/config.h
      type_or_value: '"1.52.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ClassFactory_AddRef
  - ClassFactory_Release
  - ClassFactory_QueryInterface
  - ClassFactory_LockServer
  - DllGetClassObject
  - DllCanUnloadNow
  source_file: /src/espeak-ng/src/windows/com/comentrypoints.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espeak_status_to_hresult
  - espeak_callback
  - TtsEngine::TtsEngine
  - TtsEngine::~TtsEngine()
  - TtsEngine::AddRef
  - TtsEngine::Release
  - TtsEngine::QueryInterface
  - TtsEngine::GetObjectToken
  - TtsEngine::SetObjectToken
  - TtsEngine::Speak
  - TtsEngine::GetOutputFormat
  - TtsEngine::OnEvent
  - TtsEngine::GetStringValue
  - TtsEngine_CreateInstance
  source_file: /src/espeak-ng/src/windows/com/ttsengine.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: AddRef()
        type: ULONG
      - name: Release()
        type: ULONG
      - name: QueryInterface(REFIID iid, void **object)
        type: HRESULT
      - name: GetObjectToken(ISpObjectToken **token)
        type: HRESULT
      - name: SetObjectToken(ISpObjectToken *token)
        type: HRESULT
      - name: "Speak(DWORD flags,\n\t      REFGUID formatId,\n\t      const WAVEFORMATEX
          *format,\n\t      const SPVTEXTFRAG *textFragList,\n\t      ISpTTSEngineSite
          *site)"
        type: HRESULT
      - name: "GetOutputFormat(const GUID *targetFormatId,\n\t                const
          WAVEFORMATEX *targetFormat,\n\t                GUID *formatId,\n\t                WAVEFORMATEX
          **format)"
        type: HRESULT
      - name: OnEvent(short *data, int samples, espeak_EVENT *events)
        type: int
      - name: GetStringValue(LPCWSTR key, char *&value)
        type: HRESULT
      - name: refCount
        type: ULONG
      - name: '*objectToken'
        type: ISpObjectToken
      - name: '*site'
        type: ISpTTSEngineSite
      item_type: struct
      name: TtsEngine
      pos:
        line_end: 85
        line_start: 44
        source_file: /src/espeak-ng/src/windows/com/ttsengine.cpp
    typedefs: []
    union: []
- function_names:
  - espeak_ng_EncodingFromName
  - string_decoder_getc_us_ascii
  - string_decoder_getc_codepage
  - string_decoder_getc_utf_8
  - string_decoder_getc_iso_10646_ucs_2
  - string_decoder_getc_wchar
  - string_decoder_getc_auto
  - null_decoder_getc
  - create_text_decoder
  - destroy_text_decoder
  - text_decoder_decode_string
  - text_decoder_decode_string_auto
  - text_decoder_decode_wstring
  - text_decoder_decode_string_multibyte
  - text_decoder_eof
  - text_decoder_getc
  - text_decoder_peekc
  - text_decoder_get_buffer
  source_file: /src/espeak-ng/src/libespeak-ng/encoding.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*current'
        type: uint8_t
      - name: '*end'
        type: uint8_t
      - name: (*get)(espeak_ng_TEXT_DECODER *decoder)
        type: uint32_t
      - name: '*codepage'
        type: uint16_t
      item_type: struct
      name: espeak_ng_TEXT_DECODER_
      pos:
        line_end: 168
        line_start: 161
        source_file: /src/espeak-ng/src/libespeak-ng/encoding.c
    - fields:
      - name: (*get)(espeak_ng_TEXT_DECODER *decoder)
        type: uint32_t
      - name: '*codepage'
        type: uint16_t
      item_type: struct
      name: encoding_t
      pos:
        line_end: 632
        line_start: 628
        source_file: /src/espeak-ng/src/libespeak-ng/encoding.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/setlengths.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - clean_context
  - error
  - error_from_status
  - ReadPhondataManifest
  - ReservePhCodes
  - LookupPhoneme
  - get_char
  - unget_char
  - CheckNextChar
  - NextItem
  - NextItemMax
  - NextItemBrackets
  - UngetItem
  - Range
  - CompileVowelTransition
  - LoadSpect
  - LoadWavefile
  - LoadEnvelope
  - Hash8
  - LoadEnvelope2
  - LoadDataFile
  - CompileToneSpec
  - CompileSound
  - CompileIf
  - FillThen
  - CompileElse
  - CompileElif
  - CompileEndif
  - CompileSwitch
  - FindPhonemeTable
  - FindPhoneme
  - ImportPhoneme
  - CallPhoneme
  - DecThenCount
  - CompilePhoneme
  - WritePhonemeTables
  - EndPhonemeTable
  - StartPhonemeTable
  - CompilePhonemeFiles
  - espeak_ng_CompilePhonemeData
  - espeak_ng_CompilePhonemeDataPath
  - LookupEnvelopeName
  - espeak_ng_CompileIntonation
  - espeak_ng_CompileIntonationPath
  - CalculateSample
  source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_ITEM_STRING
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '256'
    - item_type: preproc_def
      name: k_AND
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '1'
    - item_type: preproc_def
      name: k_OR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '2'
    - item_type: preproc_def
      name: k_THEN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '3'
    - item_type: preproc_def
      name: k_NOT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '4'
    - item_type: preproc_def
      name: kTHISSTRESS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '0x800'
    - item_type: preproc_def
      name: N_PROCS
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_PROG_BUF
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '2000'
    - item_type: preproc_def
      name: N_STACK
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '12'
    - item_type: preproc_def
      name: N_IF_STACK
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '12'
    - item_type: preproc_def
      name: MIN_FACTOR
      pos:
        line_end: 1132
        line_start: 1131
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: -1 // was 6, disable use of 16 bit samples
    - item_type: preproc_def
      name: N_TUNE_NAMES
      pos:
        line_end: 2495
        line_start: 2494
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
      type_or_value: '100'
    structs:
    - fields:
      - name: value
        type: unsigned int
      - name: '*name'
        type: char
      item_type: struct
      name: NAMETAB
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    - fields:
      - name: '*mnem'
        type: char
      - name: type
        type: int
      - name: data
        type: int
      item_type: struct
      name: keywtab_t
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    - fields:
      - name: '*link'
        type: void
      - name: value
        type: int
      - name: ph_mnemonic
        type: int
      - name: ph_table
        type: short
      - name: string[1]
        type: char
      item_type: struct
      name: REF_HASH_TAB
      pos:
        line_end: 321
        line_start: 315
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    - fields:
      - name: '*file'
        type: FILE
      - name: linenum
        type: int
      - name: fname[80]
        type: char
      item_type: struct
      name: STACK
      pos:
        line_end: 327
        line_start: 323
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    - fields:
      - name: '*p_then'
        type: unsigned short
      - name: '*p_else'
        type: unsigned short
      - name: returned
        type: bool
      item_type: struct
      name: IF_STACK
      pos:
        line_end: 333
        line_start: 329
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    - fields:
      - name: '*phoneme_out'
        type: PHONEME_TAB
      - name: n_phcodes_list[N_PHONEME_TABS]
        type: int
      - name: phoneme_tab_list2[N_PHONEME_TABS]
        type: PHONEME_TAB_LIST
      - name: '*phoneme_tab2'
        type: PHONEME_TAB
      - name: phoneme_flags
        type: int
      - name: n_procs
        type: int
      - name: proc_addr[N_PROCS]
        type: int
      - name: proc_names[N_ITEM_STRING+1][N_PROCS]
        type: char
      - name: '*prog_out'
        type: unsigned short
      - name: '*prog_out_max'
        type: unsigned short
      - name: prog_buf[MAX_PROG_BUF+20]
        type: unsigned short
      - name: n_phoneme_tabs
        type: int
      - name: n_phcodes
        type: int
      - name: '*f_phdata'
        type: FILE
      - name: '*f_phindex'
        type: FILE
      - name: '*f_phtab'
        type: FILE
      - name: '*f_phcontents'
        type: FILE
      - name: '*f_errors'
        type: FILE
      - name: '*f_prog_log'
        type: FILE
      - name: '*f_in'
        type: FILE
      - name: f_in_linenum
        type: int
      - name: f_in_displ
        type: int
      - name: linenum
        type: int
      - name: count_references
        type: int
      - name: duplicate_references
        type: int
      - name: count_frames
        type: int
      - name: error_count
        type: int
      - name: then_count
        type: int
      - name: after_if
        type: bool
      - name: current_fname[80]
        type: char
      - name: '*ref_hash_tab[256]'
        type: REF_HASH_TAB
      - name: stack_ix
        type: int
      - name: stack[N_STACK]
        type: STACK
      - name: if_level
        type: int
      - name: if_stack[N_IF_STACK]
        type: IF_STACK
      - name: item_type
        type: int
      - name: item_terminator
        type: int
      - name: item_string[N_ITEM_STRING]
        type: char
      - name: '*manifest'
        type: NAMETAB
      - name: n_manifest
        type: int
      - name: phsrc[sizeof(path_home)+40]
        type: char
      item_type: struct
      name: CompileContext
      pos:
        line_end: 408
        line_start: 348
        source_file: /src/espeak-ng/src/libespeak-ng/compiledata.c
    typedefs: []
    union: []
- function_names:
  - phoneme_feature_from_string
  - phoneme_add_feature
  source_file: /src/espeak-ng/src/libespeak-ng/phoneme.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_PARAM_STACK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '20'
    - item_type: preproc_def
      name: SSML_SPEAK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSML_VOICE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SSML_PROSODY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SSML_SAYAS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SSML_MARK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SSML_SENTENCE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '6'
    - item_type: preproc_def
      name: SSML_PARAGRAPH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '7'
    - item_type: preproc_def
      name: SSML_PHONEME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SSML_SUB
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '9'
    - item_type: preproc_def
      name: SSML_STYLE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '10'
    - item_type: preproc_def
      name: SSML_AUDIO
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '11'
    - item_type: preproc_def
      name: SSML_EMPHASIS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '12'
    - item_type: preproc_def
      name: SSML_BREAK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '13'
    - item_type: preproc_def
      name: SSML_IGNORE_TEXT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '14'
    - item_type: preproc_def
      name: HTML_BREAK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: '15'
    - item_type: preproc_def
      name: HTML_NOSPACE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: 16   // don't insert a space for this element, so it doesn't
        break a word
    - item_type: preproc_def
      name: SSML_CLOSE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
      type_or_value: 0x20 // for a closing tag, OR this with the tag type
    structs:
    - fields:
      - name: tag_type
        type: int
      - name: voice_variant_number
        type: int
      - name: voice_gender
        type: int
      - name: voice_age
        type: int
      - name: voice_name[40]
        type: char
      - name: language[20]
        type: char
      item_type: struct
      name: SSML_STACK
      pos:
        line_end: 42
        line_start: 35
        source_file: /src/espeak-ng/src/libespeak-ng/ssml.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/sintab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TranslateWord3
  - ApplySpecialAttribute2
  - ChangeWordStress
  - SpeakIndividualLetters
  - TranslateLetter
  - addPluralSuffixes
  - CheckDottedAbbrev
  - NonAsciiNumber
  - Unpronouncable
  - Unpronouncable2
  source_file: /src/espeak-ng/src/libespeak-ng/translateword.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/ieee80.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_file_error_context
  - create_version_mismatch_error_context
  - espeak_ng_ClearErrorContext
  - espeak_ng_GetStatusCodeMessage
  - espeak_ng_PrintStatusCodeMessage
  source_file: /src/espeak-ng/src/libespeak-ng/error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fgets_strip
  - SetToneAdjust
  - ReadTonePoints
  - ReadVoiceFile
  - VoiceReset
  - VoiceFormant
  - PhonemeReplacement
  - Read8Numbers
  - ReadNumbers
  - LoadVoice
  - ExtractVoiceVariantName
  - LoadVoiceVariant
  - VoiceNameSorter
  - VoiceScoreSorter
  - ScoreVoice
  - SetVoiceScores
  - SelectVoiceByName
  - SelectVoice
  - GetVoices
  - espeak_ng_STATUS::espeak_ng_SetVoiceByFile
  - espeak_ng_STATUS::espeak_ng_SetVoiceByName
  - espeak_ng_STATUS::espeak_ng_SetVoiceByProperties
  - FreeVoiceList
  - espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
  - espeak_VOICE *espeak_GetCurrentVoice(void)
  - AddToVoicesList
  source_file: /src/espeak-ng/src/libespeak-ng/voices.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_LANGUAGE_PRIORITY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/espeak-ng/src/libespeak-ng/voices.c
      type_or_value: '5'
    - item_type: preproc_def
      name: N_VOICES_LIST
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/espeak-ng/src/libespeak-ng/voices.c
      type_or_value: '350'
    - item_type: preproc_def
      name: N_VOICE_VARIANTS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/espeak-ng/src/libespeak-ng/voices.c
      type_or_value: '12'
    - item_type: preproc_def
      name: MB_PREFIX
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/espeak-ng/src/libespeak-ng/voices.c
      type_or_value: '"mb\\"'
    - item_type: preproc_def
      name: MB_PREFIX
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/espeak-ng/src/libespeak-ng/voices.c
      type_or_value: '"mb/"'
    - item_type: preproc_def
      name: AGE_OLD
      pos:
        line_end: 1143
        line_start: 1142
        source_file: /src/espeak-ng/src/libespeak-ng/voices.c
      type_or_value: '60'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CASCADE_PARALLEL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '1         '
    - item_type: preproc_def
      name: ALL_PARALLEL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IMPULSIVE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '1         '
    - item_type: preproc_def
      name: NATURAL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SAMPLED
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SAMPLED2
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '4'
    - item_type: preproc_def
      name: N_RSN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '20'
    - item_type: preproc_def
      name: Rnz
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: 0   // nasal zero, anti-resonator
    - item_type: preproc_def
      name: R1c
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: R2c
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: R3c
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '3'
    - item_type: preproc_def
      name: R4c
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '4'
    - item_type: preproc_def
      name: R5c
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '5'
    - item_type: preproc_def
      name: R6c
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '6'
    - item_type: preproc_def
      name: R7c
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '7'
    - item_type: preproc_def
      name: R8c
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '8'
    - item_type: preproc_def
      name: Rnpc
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: 9   // nasal pole
    - item_type: preproc_def
      name: Rparallel
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '10'
    - item_type: preproc_def
      name: Rnpp
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '10'
    - item_type: preproc_def
      name: R1p
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '11'
    - item_type: preproc_def
      name: R2p
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '12'
    - item_type: preproc_def
      name: R6p
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RGL
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '17'
    - item_type: preproc_def
      name: RLP
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '18'
    - item_type: preproc_def
      name: Rout
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '19'
    - item_type: preproc_def
      name: F_NZ
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: 0  // nasal zero formant
    - item_type: preproc_def
      name: F1
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: F2
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '2'
    - item_type: preproc_def
      name: F3
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '3'
    - item_type: preproc_def
      name: F4
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '4'
    - item_type: preproc_def
      name: F5
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '5'
    - item_type: preproc_def
      name: F6
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: '6'
    - item_type: preproc_def
      name: F_NP
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type_or_value: 9  // nasal pole formant
    structs:
    - fields:
      - name: a
        type: double
      - name: b
        type: double
      - name: c
        type: double
      - name: p1
        type: double
      - name: p2
        type: double
      - name: a_inc
        type: double
      - name: b_inc
        type: double
      - name: c_inc
        type: double
      item_type: struct
      name: resonator_t
      pos:
        line_end: 57
        line_start: 48
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
    - fields:
      - name: synthesis_model
        type: flag
      - name: outsl
        type: flag
      - name: samrate
        type: long
      - name: FLPhz
        type: long
      - name: BLPhz
        type: long
      - name: glsource
        type: flag
      - name: f0_flutter
        type: int
      - name: nspfr
        type: long
      - name: nper
        type: long
      - name: ns
        type: long
      - name: T0
        type: long
      - name: nopen
        type: long
      - name: nmod
        type: long
      - name: nrand
        type: long
      - name: pulse_shape_a
        type: double
      - name: pulse_shape_b
        type: double
      - name: minus_pi_t
        type: double
      - name: two_pi_t
        type: double
      - name: onemd
        type: double
      - name: decay
        type: double
      - name: amp_bypas
        type: double
      - name: amp_voice
        type: double
      - name: par_amp_voice
        type: double
      - name: amp_aspir
        type: double
      - name: amp_frica
        type: double
      - name: amp_breth
        type: double
      - name: amp_gain0
        type: double
      - name: num_samples
        type: int
      - name: sample_factor
        type: double
      - name: '*natural_samples'
        type: short
      - name: original_f0
        type: long
      - name: fadein
        type: int
      - name: fadeout
        type: int
      - name: scale_wav
        type: int
      - name: rsn[N_RSN]
        type: resonator_t
      - name: rsn_next[N_RSN]
        type: resonator_t
      item_type: struct
      name: klatt_global_t
      pos:
        line_end: 123
        line_start: 61
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
    - fields:
      - name: F0hz10
        type: int
      - name: AVdb
        type: int
      - name: Fhz[10]
        type: int
      - name: Bhz[10]
        type: int
      - name: Ap[10]
        type: int
      - name: Bphz[10]
        type: int
      - name: ASP
        type: int
      - name: Kopen
        type: int
      - name: Aturb
        type: int
      - name: TLTdb
        type: int
      - name: AF
        type: int
      - name: Kskew
        type: int
      - name: AB
        type: int
      - name: AVpdb
        type: int
      - name: Gain0
        type: int
      - name: AVdb_tmp
        type: int
      - name: Fhz_next[10]
        type: int
      - name: Bhz_next[10]
        type: int
      item_type: struct
      name: klatt_frame_t
      pos:
        line_end: 159
        line_start: 137
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
    - fields:
      - name: freq
        type: int
      - name: bw
        type: int
      - name: ap
        type: int
      - name: bp
        type: int
      - name: freq1
        type: double
      - name: bw1
        type: double
      - name: ap1
        type: double
      - name: bp1
        type: double
      - name: freq_inc
        type: double
      - name: bw_inc
        type: double
      - name: ap_inc
        type: double
      - name: bp_inc
        type: double
      item_type: struct
      name: klatt_peaks_t
      pos:
        line_end: 175
        line_start: 162
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
    typedefs:
    - item_type: typedef
      name: flag
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.h
      type: long
    union: []
- function_names:
  - AlphabetFromChar
  - SetLetterVowel
  - ResetLetterBits
  - SetLetterBits
  - SetLetterBitsRange
  - SetLetterBitsUTF8
  - NewTranslator
  - SetArabicLetters
  - SetCyrillicLetters
  - SetIndicLetters
  - SetupTranslator
  - SelectTranslator
  - ProcessLanguageOptions
  - Translator_Russian
  source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OFFSET_GREEK
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x380'
    - item_type: preproc_def
      name: OFFSET_CYRILLIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x420'
    - item_type: preproc_def
      name: OFFSET_ARMENIAN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x530'
    - item_type: preproc_def
      name: OFFSET_HEBREW
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x590'
    - item_type: preproc_def
      name: OFFSET_ARABIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x600'
    - item_type: preproc_def
      name: OFFSET_SYRIAC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x700'
    - item_type: preproc_def
      name: OFFSET_DEVANAGARI
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x900'
    - item_type: preproc_def
      name: OFFSET_BENGALI
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x980'
    - item_type: preproc_def
      name: OFFSET_GURMUKHI
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xa00'
    - item_type: preproc_def
      name: OFFSET_GUJARATI
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xa80'
    - item_type: preproc_def
      name: OFFSET_ORIYA
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xb00'
    - item_type: preproc_def
      name: OFFSET_TAMIL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xb80'
    - item_type: preproc_def
      name: OFFSET_TELUGU
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xc00'
    - item_type: preproc_def
      name: OFFSET_KANNADA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xc80'
    - item_type: preproc_def
      name: OFFSET_MALAYALAM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0xd00'
    - item_type: preproc_def
      name: OFFSET_SINHALA
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x0d80'
    - item_type: preproc_def
      name: OFFSET_THAI
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x0e00'
    - item_type: preproc_def
      name: OFFSET_LAO
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x0e80'
    - item_type: preproc_def
      name: OFFSET_TIBET
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x0f00'
    - item_type: preproc_def
      name: OFFSET_MYANMAR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: OFFSET_GEORGIAN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x10a0'
    - item_type: preproc_def
      name: OFFSET_KOREAN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x1100'
    - item_type: preproc_def
      name: OFFSET_ETHIOPIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x1200'
    - item_type: preproc_def
      name: OFFSET_SHAVIAN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/espeak-ng/src/libespeak-ng/tr_languages.c
      type_or_value: '0x10450'
    structs: []
    typedefs: []
    union: []
- function_names:
  - GetFileLength
  - strncpy0
  - utf8_in
  - utf8_out
  - utf8_in2
  - IsAlpha
  - IsBracket
  - IsDigit09
  - IsDigit
  - IsSpace
  - isspace2
  - is_str_totally_null
  - Read4Bytes
  - StringToWord
  - towlower2
  - espeak_rand
  - espeak_srand
  - espeak_ng_STATUS::espeak_ng_SetRandSeed
  source_file: /src/espeak-ng/src/libespeak-ng/common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/mnemonics.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mnem'
        type: char
      - name: value
        type: int
      item_type: struct
      name: MNEM_TAB
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/espeak-ng/src/libespeak-ng/mnemonics.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/intonation.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SetSpeed
  - SetSpeedMultiplier
  - SetSpeedFactors
  - SetSpeedMods
  - SetParameter
  - DoEmbedded2
  - CalcLengths
  - SetLengthMods
  source_file: /src/espeak-ng/src/libespeak-ng/setlengths.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - clean_context
  - print_dictionary_flags
  - DecodeRule
  - compile_line
  - compile_dictlist_start
  - compile_dictlist_end
  - compile_dictlist_file
  - isHexDigit
  - copy_rule_string
  - compile_rule
  - string_sorter
  - rgroup_sorter
  - output_rule_group
  - compile_lettergroup
  - free_rules
  - compile_dictrules
  - espeak_ng_STATUS::espeak_ng_CompileDictionary
  source_file: /src/espeak-ng/src/libespeak-ng/compiledict.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEN_GROUP_NAME
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/espeak-ng/src/libespeak-ng/compiledict.c
      type_or_value: '12'
    - item_type: preproc_def
      name: N_RULES
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/espeak-ng/src/libespeak-ng/compiledict.c
      type_or_value: 3000 // max rules for each group
    - item_type: preproc_def
      name: N_LETTERGP_ITEMS
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/espeak-ng/src/libespeak-ng/compiledict.c
      type_or_value: '200'
    structs:
    - fields:
      - name: name[LEN_GROUP_NAME+1]
        type: char
      - name: '*start'
        type: void
      - name: length
        type: size_t
      - name: group3_ix
        type: int
      - name: index
        type: int
      item_type: struct
      name: RGROUP
      pos:
        line_end: 151
        line_start: 145
        source_file: /src/espeak-ng/src/libespeak-ng/compiledict.c
    - fields:
      - name: '*f_log'
        type: FILE
      - name: word_phonemes[N_WORD_PHONEMES]
        type: char
      - name: linenum
        type: int
      - name: error_count
        type: int
      - name: text_mode
        type: bool
      - name: debug_flag
        type: int
      - name: error_need_dictionary
        type: int
      - name: '*hash_chains[N_HASH_DICT]'
        type: char
      - name: letterGroupsDefined[N_LETTER_GROUPS]
        type: char
      - name: rule_cond[80]
        type: char
      - name: rule_pre[80]
        type: char
      - name: rule_post[80]
        type: char
      - name: rule_match[80]
        type: char
      - name: rule_phonemes[80]
        type: char
      - name: group_name[LEN_GROUP_NAME+1]
        type: char
      - name: group3_ix
        type: int
      item_type: struct
      name: CompileContext
      pos:
        line_end: 192
        line_start: 163
        source_file: /src/espeak-ng/src/libespeak-ng/compiledict.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/readclause.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: int
      - name: parameter[N_SPEECH_PARAM]
        type: int
      item_type: struct
      name: PARAM_STACK
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/espeak-ng/src/libespeak-ng/readclause.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/compiledict.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LookupMnem
  - LookupMnemName
  source_file: /src/espeak-ng/src/libespeak-ng/mnemonics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LoadSoundFile
  - LookupSoundicon
  - LoadSoundFile2
  source_file: /src/espeak-ng/src/libespeak-ng/soundicon.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: unique_identifier
        type: unsigned int
      - name: '*text'
        type: void
      - name: position
        type: unsigned int
      - name: position_type
        type: espeak_POSITION_TYPE
      - name: end_position
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: '*user_data'
        type: void
      item_type: struct
      name: t_espeak_text
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    - fields:
      - name: unique_identifier
        type: unsigned int
      - name: '*text'
        type: void
      - name: '*index_mark'
        type: char
      - name: end_position
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: '*user_data'
        type: void
      item_type: struct
      name: t_espeak_mark
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    - fields:
      - name: unique_identifier
        type: unsigned int
      - name: '*user_data'
        type: void
      - name: character
        type: wchar_t
      item_type: struct
      name: t_espeak_character
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    - fields:
      - name: unique_identifier
        type: unsigned int
      - name: '*user_data'
        type: void
      - name: '*key_name'
        type: char
      item_type: struct
      name: t_espeak_key
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    - fields:
      - name: unique_identifier
        type: unsigned int
      - name: '*user_data'
        type: void
      item_type: struct
      name: t_espeak_terminated_msg
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    - fields:
      - name: parameter
        type: espeak_PARAMETER
      - name: value
        type: int
      - name: relative
        type: int
      item_type: struct
      name: t_espeak_parameter
      pos:
        line_end: 82
        line_start: 78
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    - fields:
      - name: type
        type: t_espeak_type
      - name: state
        type: t_command_state
      - name: u
        type: "union command {\n\t\tt_espeak_text my_text;\n\t\tt_espeak_mark my_mark;\n\t\tt_espeak_key
          my_key;\n\t\tt_espeak_character my_char;\n\t\tt_espeak_parameter my_param;\n\t\tconst
          wchar_t *my_punctuation_list;\n\t\tconst char *my_voice_name;\n\t\tespeak_VOICE
          my_voice_spec;\n\t\tt_espeak_terminated_msg my_terminated_msg;\n\t}"
      item_type: struct
      name: t_espeak_command
      pos:
        line_end: 105
        line_start: 90
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
    typedefs: []
    union:
    - fields:
      - name: my_text
        type: t_espeak_text
      - name: my_mark
        type: t_espeak_mark
      - name: my_key
        type: t_espeak_key
      - name: my_char
        type: t_espeak_character
      - name: my_param
        type: t_espeak_parameter
      - name: '*my_punctuation_list'
        type: wchar_t
      - name: '*my_voice_name'
        type: char
      - name: my_voice_spec
        type: espeak_VOICE
      - name: my_terminated_msg
        type: t_espeak_terminated_msg
      item_type: union
      name: command
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.h
- function_names:
  - PhonemeCode2
  source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: phPAUSE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '0'
    - item_type: preproc_def
      name: phSTRESS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: phVOWEL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '2'
    - item_type: preproc_def
      name: phLIQUID
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '3'
    - item_type: preproc_def
      name: phSTOP
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '4'
    - item_type: preproc_def
      name: phVSTOP
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '5'
    - item_type: preproc_def
      name: phFRICATIVE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '6'
    - item_type: preproc_def
      name: phVFRICATIVE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '7'
    - item_type: preproc_def
      name: phNASAL
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '8'
    - item_type: preproc_def
      name: phVIRTUAL
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '9'
    - item_type: preproc_def
      name: phDELETED
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '14'
    - item_type: preproc_def
      name: phINVALID
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '15'
    - item_type: preproc_def
      name: phPLACE_BILABIAL
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: phPLACE_LABIODENTAL
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '2'
    - item_type: preproc_def
      name: phPLACE_DENTAL
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '3'
    - item_type: preproc_def
      name: phPLACE_ALVEOLAR
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '4'
    - item_type: preproc_def
      name: phPLACE_RETROFLEX
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '5'
    - item_type: preproc_def
      name: phPLACE_PALATO_ALVEOLAR
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '6'
    - item_type: preproc_def
      name: phPLACE_PALATAL
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '7'
    - item_type: preproc_def
      name: phPLACE_VELAR
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '8'
    - item_type: preproc_def
      name: phPLACE_LABIO_VELAR
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '9'
    - item_type: preproc_def
      name: phPLACE_UVULAR
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '10'
    - item_type: preproc_def
      name: phPLACE_PHARYNGEAL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '11'
    - item_type: preproc_def
      name: phPLACE_GLOTTAL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '12'
    - item_type: preproc_def
      name: phFLAGBIT_UNSTRESSED
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: phFLAGBIT_VOICELESS
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '3'
    - item_type: preproc_def
      name: phFLAGBIT_VOICED
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '4'
    - item_type: preproc_def
      name: phFLAGBIT_SIBILANT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '5'
    - item_type: preproc_def
      name: phFLAGBIT_NOLINK
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '6'
    - item_type: preproc_def
      name: phFLAGBIT_TRILL
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '7'
    - item_type: preproc_def
      name: phFLAGBIT_PALATAL
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '9'
    - item_type: preproc_def
      name: phFLAGBIT_BRKAFTER
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 14 // [*] add a post-pause
    - item_type: preproc_def
      name: phARTICULATION
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 0xf0000 // bits 16-19
    - item_type: preproc_def
      name: phFLAGBIT_NONSYLLABIC
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 20 // don't count this vowel as a syllable when finding the stress
        position
    - item_type: preproc_def
      name: phFLAGBIT_LONG
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '21'
    - item_type: preproc_def
      name: phFLAGBIT_LENGTHENSTOP
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 22 // make the pre-pause slightly longer
    - item_type: preproc_def
      name: phFLAGBIT_RHOTIC
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '23'
    - item_type: preproc_def
      name: phFLAGBIT_NOPAUSE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '24'
    - item_type: preproc_def
      name: phFLAGBIT_PREVOICE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 25 // for voiced stops
    - item_type: preproc_def
      name: phFLAGBIT_FLAG1
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '28'
    - item_type: preproc_def
      name: phFLAGBIT_FLAG2
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '29'
    - item_type: preproc_def
      name: phFLAGBIT_LOCAL
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 31 // used during compilation
    - item_type: preproc_def
      name: phUNSTRESSED
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_UNSTRESSED)
    - item_type: preproc_def
      name: phVOICELESS
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_VOICELESS)
    - item_type: preproc_def
      name: phVOICED
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_VOICED)
    - item_type: preproc_def
      name: phSIBILANT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_SIBILANT)
    - item_type: preproc_def
      name: phNOLINK
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_NOLINK)
    - item_type: preproc_def
      name: phTRILL
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_TRILL)
    - item_type: preproc_def
      name: phPALATAL
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_PALATAL)
    - item_type: preproc_def
      name: phBRKAFTER
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_BRKAFTER)
    - item_type: preproc_def
      name: phNONSYLLABIC
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_NONSYLLABIC)
    - item_type: preproc_def
      name: phLONG
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_LONG)
    - item_type: preproc_def
      name: phLENGTHENSTOP
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_LENGTHENSTOP)
    - item_type: preproc_def
      name: phRHOTIC
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_RHOTIC)
    - item_type: preproc_def
      name: phNOPAUSE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_NOPAUSE)
    - item_type: preproc_def
      name: phPREVOICE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_PREVOICE)
    - item_type: preproc_def
      name: phFLAG1
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_FLAG1)
    - item_type: preproc_def
      name: phFLAG2
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_FLAG2)
    - item_type: preproc_def
      name: phLOCAL
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: (1U << phFLAGBIT_LOCAL)
    - item_type: preproc_def
      name: phonCONTROL
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '1'
    - item_type: preproc_def
      name: phonSTRESS_U
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '2'
    - item_type: preproc_def
      name: phonSTRESS_D
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '3'
    - item_type: preproc_def
      name: phonSTRESS_2
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '4'
    - item_type: preproc_def
      name: phonSTRESS_3
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '5'
    - item_type: preproc_def
      name: phonSTRESS_P
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '6'
    - item_type: preproc_def
      name: phonSTRESS_P2
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 7    // priority stress within a word
    - item_type: preproc_def
      name: phonSTRESS_PREV
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '8'
    - item_type: preproc_def
      name: phonPAUSE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '9'
    - item_type: preproc_def
      name: phonPAUSE_SHORT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '10'
    - item_type: preproc_def
      name: phonPAUSE_NOLINK
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '11'
    - item_type: preproc_def
      name: phonLENGTHEN
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '12'
    - item_type: preproc_def
      name: phonSCHWA
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '13'
    - item_type: preproc_def
      name: phonSCHWA_SHORT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '14'
    - item_type: preproc_def
      name: phonEND_WORD
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '15'
    - item_type: preproc_def
      name: phonDEFAULTTONE
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '17'
    - item_type: preproc_def
      name: phonCAPITAL
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '18'
    - item_type: preproc_def
      name: phonGLOTTALSTOP
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '19'
    - item_type: preproc_def
      name: phonSYLLABIC
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '20'
    - item_type: preproc_def
      name: phonSWITCH
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '21'
    - item_type: preproc_def
      name: phonX1
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 22      // a language specific action
    - item_type: preproc_def
      name: phonPAUSE_VSHORT
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '23'
    - item_type: preproc_def
      name: phonPAUSE_LONG
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '24'
    - item_type: preproc_def
      name: phonT_REDUCED
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '25'
    - item_type: preproc_def
      name: phonSTRESS_TONIC
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '26'
    - item_type: preproc_def
      name: phonPAUSE_CLAUSE
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '27'
    - item_type: preproc_def
      name: phonVOWELTYPES
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 28  // 28 to 33
    - item_type: preproc_def
      name: N_PHONEME_TABS
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 150     // number of phoneme tables
    - item_type: preproc_def
      name: N_PHONEME_TAB
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 256     // max phonemes in a phoneme table
    - item_type: preproc_def
      name: N_PHONEME_TAB_NAME
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: 32     // must be multiple of 4
    - item_type: preproc_def
      name: N_REPLACE_PHONEMES
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
      type_or_value: '60'
    structs:
    - fields:
      - name: mnemonic
        type: unsigned int
      - name: phflags
        type: unsigned int
      - name: program
        type: unsigned short
      - name: code
        type: unsigned char
      - name: type
        type: unsigned char
      - name: start_type
        type: unsigned char
      - name: end_type
        type: unsigned char
      - name: std_length
        type: unsigned char
      - name: length_mod
        type: unsigned char
      item_type: struct
      name: PHONEME_TAB
      pos:
        line_end: 242
        line_start: 232
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
    - fields:
      - name: name[N_PHONEME_TAB_NAME]
        type: char
      - name: '*phoneme_tab_ptr'
        type: PHONEME_TAB
      - name: n_phonemes
        type: int
      - name: includes
        type: int
      item_type: struct
      name: PHONEME_TAB_LIST
      pos:
        line_end: 258
        line_start: 253
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
    - fields:
      - name: old_ph
        type: unsigned char
      - name: new_ph
        type: unsigned char
      - name: type
        type: char
      item_type: struct
      name: REPLACE_PHONEMES
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
    - fields:
      - name: addr
        type: unsigned int
      - name: length
        type: unsigned int
      item_type: struct
      name: PHONEME_PROG_LOG
      pos:
        line_end: 275
        line_start: 272
        source_file: /src/espeak-ng/src/libespeak-ng/phoneme.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/dictionary.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/translateword.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SubstitutePhonemes
  - MakePhonemeList
  - SetRegressiveVoicing
  - ReInterpretPhoneme
  source_file: /src/espeak-ng/src/libespeak-ng/phonemelist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MIN
  - needsMixWaveFile
  - mixWaveFile
  - isKlattFrameFollowing
  - fillSpeechPlayerFrame
  - KlattInitSP
  - KlattFiniSP
  - KlattResetSP
  - Wavegen_KlattSP
  source_file: /src/espeak-ng/src/libespeak-ng/sPlayer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LETTER
  - LIGATURE
  - LookupLetter2
  - LookupAccentedLetter
  - LookupLetter
  - IsSuperscript
  - SetSpellingStress
  - CheckDotOrdinal
  - hu_number_e
  - TranslateRoman
  - M_Variant
  - LookupThousands
  - LookupNum2
  - LookupNum3
  - CheckThousandsGroup
  - TranslateNumber_1
  - TranslateNumber
  source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M_LIGATURE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: M_NAME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '0'
    - item_type: preproc_def
      name: M_SMALLCAP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M_TURNED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '2'
    - item_type: preproc_def
      name: M_REVERSED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '3'
    - item_type: preproc_def
      name: M_CURL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '4'
    - item_type: preproc_def
      name: M_ACUTE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '5'
    - item_type: preproc_def
      name: M_BREVE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '6'
    - item_type: preproc_def
      name: M_CARON
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '7'
    - item_type: preproc_def
      name: M_CEDILLA
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '8'
    - item_type: preproc_def
      name: M_CIRCUMFLEX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '9'
    - item_type: preproc_def
      name: M_DIAERESIS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '10'
    - item_type: preproc_def
      name: M_DOUBLE_ACUTE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '11'
    - item_type: preproc_def
      name: M_DOT_ABOVE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '12'
    - item_type: preproc_def
      name: M_GRAVE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '13'
    - item_type: preproc_def
      name: M_MACRON
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '14'
    - item_type: preproc_def
      name: M_OGONEK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '15'
    - item_type: preproc_def
      name: M_RING
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '16'
    - item_type: preproc_def
      name: M_STROKE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '17'
    - item_type: preproc_def
      name: M_TILDE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '18'
    - item_type: preproc_def
      name: M_BAR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '19'
    - item_type: preproc_def
      name: M_RETROFLEX
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '20'
    - item_type: preproc_def
      name: M_HOOK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '21'
    - item_type: preproc_def
      name: M_MIDDLE_DOT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: M_DOT_ABOVE // duplicate of M_DOT_ABOVE
    - item_type: preproc_def
      name: M_IMPLOSIVE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: M_HOOK
    - item_type: preproc_def
      name: CAPITAL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: '0'
    - item_type: preproc_def
      name: L_ALPHA
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 60 // U+3B1
    - item_type: preproc_def
      name: L_SCHWA
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 61 // U+259
    - item_type: preproc_def
      name: L_OPEN_E
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 62 // U+25B
    - item_type: preproc_def
      name: L_GAMMA
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 63 // U+3B3
    - item_type: preproc_def
      name: L_IOTA
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 64 // U+3B9
    - item_type: preproc_def
      name: L_PHI
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 67 // U+3C6
    - item_type: preproc_def
      name: L_ESH
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 68 // U+283
    - item_type: preproc_def
      name: L_UPSILON
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 69 // U+3C5
    - item_type: preproc_def
      name: L_EZH
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 70 // U+292
    - item_type: preproc_def
      name: L_GLOTTAL
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 71 // U+294
    - item_type: preproc_def
      name: L_RTAP
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 72 // U+27E
    - item_type: preproc_def
      name: L_RLONG
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 73 // U+27C
    - item_type: preproc_def
      name: L_SUB
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 0x4000 // subscript
    - item_type: preproc_def
      name: L_SUP
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
      type_or_value: 0x8000 // superscript
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: accent_flags
        type: int
      item_type: struct
      name: ACCENTS
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/espeak-ng/src/libespeak-ng/numbers.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getrandom
  - resonator
  - antiresonator
  - flutter
  - sampled_source
  - parwave
  - KlattReset
  - KlattFini
  - frame_init
  - impulsive_source
  - natural_source
  - pitch_synch_par_reset
  - setabc
  - setzeroabc
  - gen_noise
  - DBtoLIN
  - Wavegen_Klatt
  - SetSynth_Klatt
  - KlattInit
  source_file: /src/espeak-ng/src/libespeak-ng/klatt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMBER_OF_SAMPLES
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/libespeak-ng/klatt.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: espeakINITIALIZE_PHONEME_IPA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x0002 // move this to speak_lib.h, after eSpeak version 1.46.02
    - item_type: preproc_def
      name: N_PHONEME_LIST
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 1000 // enough for source[N_TR_SOURCE] full of text, else it
        will truncate
    - item_type: preproc_def
      name: N_SEQ_FRAMES
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 25 // max frames in a spectrum sequence (real max is ablut 8)
    - item_type: preproc_def
      name: STEPSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 64 // 2.9mS at 22 kHz sample rate
    - item_type: preproc_def
      name: FRFLAG_KLATT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x01 // this frame includes extra data for Klatt synthesizer
    - item_type: preproc_def
      name: FRFLAG_VOWEL_CENTRE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x02 // centre point of vowel
    - item_type: preproc_def
      name: FRFLAG_LEN_MOD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x04 // reduce effect of length adjustment
    - item_type: preproc_def
      name: FRFLAG_BREAK_LF
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x08 // but keep f3 upwards
    - item_type: preproc_def
      name: FRFLAG_BREAK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x10 // don't merge with next frame
    - item_type: preproc_def
      name: FRFLAG_FORMANT_RATE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x20 // Flag5 allow increased rate of change of formant freq
    - item_type: preproc_def
      name: FRFLAG_MODULATE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x40 // Flag6 modulate amplitude of some cycles to give trill
    - item_type: preproc_def
      name: FRFLAG_DEFER_WAV
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x80 // Flag7 defer mixing WAV until the next frame
    - item_type: preproc_def
      name: FRFLAG_LEN_MOD2
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x4000 // reduce effect of length adjustment, used for the start
        of a vowel
    - item_type: preproc_def
      name: FRFLAG_COPIED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x8000 // This frame has been copied into temporary rw memory
    - item_type: preproc_def
      name: SFLAG_SEQCONTINUE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x01 // a liquid or nasal after a vowel, but not followed by
        a vowel
    - item_type: preproc_def
      name: SFLAG_EMBEDDED
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x02 // there are embedded commands before this phoneme
    - item_type: preproc_def
      name: SFLAG_SYLLABLE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x04 // vowel or syllabic consonant
    - item_type: preproc_def
      name: SFLAG_LENGTHEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x08 // lengthen symbol : included after this phoneme'
    - item_type: preproc_def
      name: SFLAG_DICTIONARY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x10 // the pronunciation of this word was listed in the xx_list
        dictionary
    - item_type: preproc_def
      name: SFLAG_SWITCHED_LANG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x20 // this word uses phonemes from a different language
    - item_type: preproc_def
      name: SFLAG_PROMOTE_STRESS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x40 // this unstressed word can be promoted to stressed
    - item_type: preproc_def
      name: SFLAG_NEXT_PAUSE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x2000 // consider next phoneme as pause
    - item_type: preproc_def
      name: EMBED_P
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 1 // pitch
    - item_type: preproc_def
      name: EMBED_S
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 2 // speed (used in setlengths)
    - item_type: preproc_def
      name: EMBED_A
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 3 // amplitude/volume
    - item_type: preproc_def
      name: EMBED_R
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 4 // pitch range/expression
    - item_type: preproc_def
      name: EMBED_H
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 5 // echo/reverberation
    - item_type: preproc_def
      name: EMBED_T
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 6 // different tone for announcing punctuation (not used)
    - item_type: preproc_def
      name: EMBED_I
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 7 // sound icon
    - item_type: preproc_def
      name: EMBED_S2
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 8 // speed (used in synthesize)
    - item_type: preproc_def
      name: EMBED_Y
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 9 // say-as commands
    - item_type: preproc_def
      name: EMBED_M
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 10 // mark name
    - item_type: preproc_def
      name: EMBED_U
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 11 // audio uri
    - item_type: preproc_def
      name: EMBED_B
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 12 // break
    - item_type: preproc_def
      name: EMBED_F
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 13 // emphasis
    - item_type: preproc_def
      name: N_EMBEDDED_VALUES
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '15'
    - item_type: preproc_def
      name: N_KLATTP
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 10 // this affects the phoneme data file format
    - item_type: preproc_def
      name: N_KLATTP2
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 14 // used in vowel files, with extra parameters for future extensions
    - item_type: preproc_def
      name: KLATT_AV
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KLATT_FNZ
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 1 // nasal zero freq
    - item_type: preproc_def
      name: KLATT_Tilt
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '2'
    - item_type: preproc_def
      name: KLATT_Aspr
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '3'
    - item_type: preproc_def
      name: KLATT_Skew
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '4'
    - item_type: preproc_def
      name: KLATT_Kopen
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '5'
    - item_type: preproc_def
      name: KLATT_AVp
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '6'
    - item_type: preproc_def
      name: KLATT_Fric
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '7'
    - item_type: preproc_def
      name: KLATT_FricBP
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '8'
    - item_type: preproc_def
      name: KLATT_Turb
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PHLIST_START_OF_WORD
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PHLIST_END_OF_CLAUSE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PHLIST_START_OF_SENTENCE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PHLIST_START_OF_CLAUSE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '8'
    - item_type: preproc_def
      name: pd_FMT
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0'
    - item_type: preproc_def
      name: pd_WAV
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '1'
    - item_type: preproc_def
      name: pd_VWLSTART
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '2'
    - item_type: preproc_def
      name: pd_VWLEND
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '3'
    - item_type: preproc_def
      name: pd_ADDWAV
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '4'
    - item_type: preproc_def
      name: N_PHONEME_DATA_PARAM
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '16'
    - item_type: preproc_def
      name: pd_INSERTPHONEME
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: i_INSERT_PHONEME
    - item_type: preproc_def
      name: pd_APPENDPHONEME
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: i_APPEND_PHONEME
    - item_type: preproc_def
      name: pd_CHANGEPHONEME
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: i_CHANGE_PHONEME
    - item_type: preproc_def
      name: pd_CHANGE_NEXTPHONEME
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: i_REPLACE_NEXT_PHONEME
    - item_type: preproc_def
      name: pd_LENGTHMOD
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: i_SET_LENGTH
    - item_type: preproc_def
      name: pd_FORNEXTPH
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: pd_DONTLENGTHEN
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: INSTN_RETURN
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: INSTN_CONTINUE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: i_CHANGE_PHONEME
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: i_REPLACE_NEXT_PHONEME
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: i_INSERT_PHONEME
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: i_APPEND_PHONEME
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: i_APPEND_IFNEXTVOWEL
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: i_VOICING_SWITCH
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: i_PAUSE_BEFORE
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: i_PAUSE_AFTER
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: i_LENGTH_MOD
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x09'
    - item_type: preproc_def
      name: i_SET_LENGTH
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: i_LONG_LENGTH
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: i_ADD_LENGTH
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: i_IPA_NAME
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: i_CHANGE_IF
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x10  // 0x10 to 0x14
    - item_type: preproc_def
      name: i_CONDITION
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: i_OR
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0x1000  // added to i_CONDITION
    - item_type: preproc_def
      name: i_NOT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: i_JUMP
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x6000'
    - item_type: preproc_def
      name: i_JUMP_FALSE
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x6800'
    - item_type: preproc_def
      name: i_SWITCH_NEXTVOWEL
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x6a00'
    - item_type: preproc_def
      name: i_SWITCH_PREVVOWEL
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x6c00'
    - item_type: preproc_def
      name: MAX_JUMP
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 255  // max jump distance
    - item_type: preproc_def
      name: i_CALLPH
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x9100'
    - item_type: preproc_def
      name: i_PITCHENV
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x9200'
    - item_type: preproc_def
      name: i_AMPENV
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x9300'
    - item_type: preproc_def
      name: i_VOWELIN
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xa100'
    - item_type: preproc_def
      name: i_VOWELOUT
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xa200'
    - item_type: preproc_def
      name: i_FMT
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xb000'
    - item_type: preproc_def
      name: i_WAV
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xc000'
    - item_type: preproc_def
      name: i_VWLSTART
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xd000'
    - item_type: preproc_def
      name: i_VWLENDING
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xe000'
    - item_type: preproc_def
      name: i_WAVADD
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0xf000'
    - item_type: preproc_def
      name: CONDITION_IS_PHONEME_TYPE
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: CONDITION_IS_PLACE_OF_ARTICULATION
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: CONDITION_IS_PHFLAG_SET
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: CONDITION_IS_OTHER
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: STRESS_IS_DIMINISHED
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0       // diminished, unstressed within a word
    - item_type: preproc_def
      name: STRESS_IS_UNSTRESSED
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 1       // unstressed, weak
    - item_type: preproc_def
      name: STRESS_IS_NOT_STRESSED
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 2       // default, not stressed
    - item_type: preproc_def
      name: STRESS_IS_SECONDARY
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 3       // secondary stress
    - item_type: preproc_def
      name: STRESS_IS_PRIMARY
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 4       // primary (main) stress
    - item_type: preproc_def
      name: STRESS_IS_PRIORITY
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 5       // replaces primary markers
    - item_type: preproc_def
      name: isAfterStress
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '9'
    - item_type: preproc_def
      name: isNotVowel
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '10'
    - item_type: preproc_def
      name: isFinalVowel
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '11'
    - item_type: preproc_def
      name: isVoiced
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 12 // voiced consonant, or vowel
    - item_type: preproc_def
      name: isFirstVowel
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '13'
    - item_type: preproc_def
      name: isSecondVowel
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '14'
    - item_type: preproc_def
      name: isTranslationGiven
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 16 // phoneme translation given in **_list or as [[...]]
    - item_type: preproc_def
      name: isBreak
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 17 // pause phoneme or (stop/vstop/vfric not followed by vowel
        or (liquid in same word))
    - item_type: preproc_def
      name: isWordStart
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '18'
    - item_type: preproc_def
      name: isWordEnd
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '19'
    - item_type: preproc_def
      name: i_StressLevel
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '0x800'
    - item_type: preproc_def
      name: LENGTH_MOD_LIMIT
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WCMD_KLATT
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WCMD_KLATT2
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WCMD_SPECT
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WCMD_SPECT2
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WCMD_PAUSE
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WCMD_WAVE
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WCMD_WAVE2
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WCMD_AMPLITUDE
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WCMD_PITCH
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WCMD_MARKER
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WCMD_VOICE
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WCMD_EMBEDDED
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WCMD_MBROLA_DATA
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WCMD_FMT_AMPLITUDE
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WCMD_SONIC_SPEED
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WCMD_PHONEME_ALIGNMENT
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '16'
    - item_type: preproc_def
      name: N_WCMDQ
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '170'
    - item_type: preproc_def
      name: MIN_WCMDQ
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 25   // need this many free entries before adding new phoneme
    - item_type: preproc_def
      name: N_ECHO_BUF
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 5500   // max of 250mS at 22050 Hz
    - item_type: preproc_def
      name: ENV_LEN
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 128    // length of pitch envelopes
    - item_type: preproc_def
      name: PITCHfall
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: 0  // standard pitch envelopes
    - item_type: preproc_def
      name: PITCHrise
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '2'
    - item_type: preproc_def
      name: N_ENVELOPE_DATA
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
      type_or_value: '20'
    structs:
    - fields:
      - name: frflags
        type: short
      - name: ffreq[7]
        type: short
      - name: length
        type: unsigned char
      - name: rms
        type: unsigned char
      - name: fheight[8]
        type: unsigned char
      - name: fwidth[6]
        type: unsigned char
      - name: fright[3]
        type: unsigned char
      - name: bw[4]
        type: unsigned char
      - name: klattp[5]
        type: unsigned char
      - name: klattp2[5]
        type: unsigned char
      - name: klatt_ap[7]
        type: unsigned char
      - name: klatt_bp[7]
        type: unsigned char
      - name: spare
        type: unsigned char
      item_type: struct
      name: frame_t
      pos:
        line_end: 109
        line_start: 95
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: frflags
        type: short
      - name: ffreq[7]
        type: short
      - name: length
        type: unsigned char
      - name: rms
        type: unsigned char
      - name: fheight[8]
        type: unsigned char
      - name: fwidth[6]
        type: unsigned char
      - name: fright[3]
        type: unsigned char
      - name: bw[4]
        type: unsigned char
      - name: klattp[5]
        type: unsigned char
      item_type: struct
      name: frame_t2
      pos:
        line_end: 121
        line_start: 111
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: '*pitch_env'
        type: unsigned char
      - name: pitch
        type: int
      - name: pitch_ix
        type: int
      - name: pitch_inc
        type: int
      - name: pitch_base
        type: int
      - name: pitch_range
        type: int
      - name: '*mix_wavefile'
        type: unsigned char
      - name: n_mix_wavefile
        type: int
      - name: mix_wave_scale
        type: int
      - name: mix_wave_amp
        type: int
      - name: mix_wavefile_ix
        type: int
      - name: mix_wavefile_max
        type: int
      - name: mix_wavefile_offset
        type: int
      - name: amplitude
        type: int
      - name: amplitude_v
        type: int
      - name: amplitude_fmt
        type: int
      item_type: struct
      name: WGEN_DATA
      pos:
        line_end: 142
        line_start: 123
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: a
        type: double
      - name: b
        type: double
      - name: c
        type: double
      - name: x1
        type: double
      - name: x2
        type: double
      item_type: struct
      name: RESONATOR
      pos:
        line_end: 150
        line_start: 144
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: length_total
        type: short
      - name: n_frames
        type: unsigned char
      - name: sqflags
        type: unsigned char
      - name: frame[N_SEQ_FRAMES]
        type: frame_t2
      item_type: struct
      name: SPECT_SEQ
      pos:
        line_end: 157
        line_start: 152
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: length_total
        type: short
      - name: n_frames
        type: unsigned char
      - name: sqflags
        type: unsigned char
      - name: frame[N_SEQ_FRAMES]
        type: frame_t
      item_type: struct
      name: SPECT_SEQK
      pos:
        line_end: 164
        line_start: 159
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: length
        type: short
      - name: frflags
        type: short
      - name: '*frame'
        type: frame_t
      item_type: struct
      name: frameref_t
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: synthflags
        type: unsigned short
      - name: phcode
        type: unsigned char
      - name: stresslevel
        type: unsigned char
      - name: sourceix
        type: unsigned short
      - name: wordstress
        type: unsigned char
      - name: tone_ph
        type: unsigned char
      item_type: struct
      name: PHONEME_LIST2
      pos:
        line_end: 180
        line_start: 173
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: synthflags
        type: unsigned short
      - name: phcode
        type: unsigned char
      - name: stresslevel
        type: unsigned char
      - name: sourceix
        type: unsigned short
      - name: wordstress
        type: unsigned char
      - name: tone_ph
        type: unsigned char
      - name: '*ph'
        type: PHONEME_TAB
      - name: length
        type: unsigned int
      - name: env
        type: unsigned char
      - name: type
        type: unsigned char
      - name: prepause
        type: unsigned char
      - name: amp
        type: unsigned char
      - name: newword
        type: unsigned char
      - name: pitch1
        type: unsigned char
      - name: pitch2
        type: unsigned char
      - name: std_length
        type: unsigned char
      - name: phontab_addr
        type: unsigned int
      - name: sound_param
        type: int
      item_type: struct
      name: PHONEME_LIST
      pos:
        line_end: 208
        line_start: 187
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: pd_control
        type: int
      - name: pd_param[N_PHONEME_DATA_PARAM]
        type: int
      - name: sound_addr[5]
        type: int
      - name: sound_param[5]
        type: int
      - name: vowel_transition[4]
        type: int
      - name: pitch_env
        type: int
      - name: amp_env
        type: int
      - name: ipa_string[18]
        type: char
      item_type: struct
      name: PHONEME_DATA
      pos:
        line_end: 235
        line_start: 226
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: fmt_control
        type: int
      - name: use_vowelin
        type: int
      - name: fmt_addr
        type: int
      - name: fmt_length
        type: int
      - name: fmt_amp
        type: int
      - name: fmt2_addr
        type: int
      - name: fmt2_lenadj
        type: int
      - name: wav_addr
        type: int
      - name: wav_amp
        type: int
      - name: transition0
        type: int
      - name: transition1
        type: int
      - name: std_length
        type: int
      item_type: struct
      name: FMT_PARAMS
      pos:
        line_end: 250
        line_start: 237
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: prev_vowel
        type: PHONEME_LIST
      item_type: struct
      name: WORD_PH_DATA
      pos:
        line_end: 254
        line_start: 252
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: pause_factor
        type: int
      - name: clause_pause_factor
        type: int
      - name: min_pause
        type: unsigned int
      - name: wav_factor
        type: int
      - name: lenmod_factor
        type: int
      - name: lenmod2_factor
        type: int
      - name: min_sample_len
        type: int
      - name: fast_settings
        type: int
      item_type: struct
      name: SPEED_FACTORS
      pos:
        line_end: 340
        line_start: 331
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    - fields:
      - name: name[12]
        type: char
      - name: flags[4]
        type: unsigned char
      - name: head_extend[8]
        type: signed char
      - name: prehead_start
        type: unsigned char
      - name: prehead_end
        type: unsigned char
      - name: stressed_env
        type: unsigned char
      - name: stressed_drop
        type: unsigned char
      - name: secondary_drop
        type: unsigned char
      - name: unstressed_shape
        type: unsigned char
      - name: onset
        type: unsigned char
      - name: head_start
        type: unsigned char
      - name: head_end
        type: unsigned char
      - name: head_last
        type: unsigned char
      - name: head_max_steps
        type: unsigned char
      - name: n_head_extend
        type: unsigned char
      - name: unstr_start[3]
        type: signed char
      - name: unstr_end[3]
        type: signed char
      - name: nucleus0_env
        type: unsigned char
      - name: nucleus0_max
        type: unsigned char
      - name: nucleus0_min
        type: unsigned char
      - name: nucleus1_env
        type: unsigned char
      - name: nucleus1_max
        type: unsigned char
      - name: nucleus1_min
        type: unsigned char
      - name: tail_start
        type: unsigned char
      - name: tail_end
        type: unsigned char
      - name: split_nucleus_env
        type: unsigned char
      - name: split_nucleus_max
        type: unsigned char
      - name: split_nucleus_min
        type: unsigned char
      - name: split_tail_start
        type: unsigned char
      - name: split_tail_end
        type: unsigned char
      - name: split_tune
        type: unsigned char
      - name: spare[8]
        type: unsigned char
      - name: spare2
        type: int
      item_type: struct
      name: TUNE
      pos:
        line_end: 384
        line_start: 342
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/error.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: espeak_ng_CONTEXT_TYPE
      - name: '*name'
        type: char
      - name: version
        type: int
      - name: expected_version
        type: int
      item_type: struct
      name: espeak_ng_ERROR_CONTEXT_
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/espeak-ng/src/libespeak-ng/error.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/fifo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - event_set_callback
  - event_init
  - event_copy
  - event_notify
  - event_delete
  - event_declare
  - event_clear_all
  - polling_thread
  - push
  - pop
  - init
  - event_terminate
  - clock_gettime2
  - add_time_in_ms
  source_file: /src/espeak-ng/src/libespeak-ng/event.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: void
      - name: '*next'
        type: struct t_node
      item_type: struct
      name: t_node
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/event.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/mbrowrap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: BOOL
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/espeak-ng/src/libespeak-ng/mbrowrap.h
      type: int
    union: []
- function_names:
  - count_pitch_vowels
  - count_increments
  - set_pitch
  - CountUnstressed
  - SetHeadIntonation
  - calc_pitch_segment
  - SetPitchGradient
  - calc_pitches2
  - calc_pitches
  - CalcPitches_Tone
  - CalcPitches
  source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYL_RISE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SYL_EMPHASIS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SYL_END_CLAUSE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PITCHfall
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PITCHrise
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PITCHfrise
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: 4 // and 3 must be for the variant preceded by 'r'
    - item_type: preproc_def
      name: PITCHfrise2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: 6 // and 5 must be the 'r' variant
    - item_type: preproc_def
      name: N_TONE_HEAD_TABLE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '13'
    - item_type: preproc_def
      name: N_TONE_NUCLEUS_TABLE
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '13'
    - item_type: preproc_def
      name: T_EMPH
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SECONDARY
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PRIMARY
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PRIMARY_STRESSED
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PRIMARY_LAST
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
      type_or_value: '7'
    structs:
    - fields:
      - name: stress
        type: char
      - name: env
        type: char
      - name: flags
        type: char
      - name: nextph_type
        type: char
      - name: pitch1
        type: unsigned char
      - name: pitch2
        type: unsigned char
      item_type: struct
      name: SYLLABLE
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
    - fields:
      - name: pre_start
        type: unsigned char
      - name: pre_end
        type: unsigned char
      - name: body_start
        type: unsigned char
      - name: body_end
        type: unsigned char
      - name: '*body_drops'
        type: int
      - name: body_max_steps
        type: unsigned char
      - name: body_lower_u
        type: char
      - name: n_overflow
        type: unsigned char
      - name: '*overflow'
        type: signed char
      item_type: struct
      name: TONE_HEAD
      pos:
        line_end: 237
        line_start: 224
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
    - fields:
      - name: pitch_env0
        type: unsigned char
      - name: tonic_max0
        type: unsigned char
      - name: tonic_min0
        type: unsigned char
      - name: pitch_env1
        type: unsigned char
      - name: tonic_max1
        type: unsigned char
      - name: tonic_min1
        type: unsigned char
      - name: '*backwards'
        type: short
      - name: tail_start
        type: unsigned char
      - name: tail_end
        type: unsigned char
      - name: flags
        type: unsigned char
      item_type: struct
      name: TONE_NUCLEUS
      pos:
        line_end: 253
        line_start: 239
        source_file: /src/espeak-ng/src/libespeak-ng/intonation.c
    typedefs: []
    union: []
- function_names:
  - clause_type_from_codepoint
  - IsRomanU
  - Eof
  - GetC
  - UngetC
  - WordToString2
  - LookupSpecial
  - LookupCharName
  - AnnouncePunctuation
  - AddNameData
  - SetVoiceStack
  - RemoveChar
  - lookupwchar2
  - IgnoreOrReplaceChar
  - CheckPhonemeMode
  - ReadClause
  - InitNamedata
  - InitText2
  - TerminateBufWithSpaceAndZero
  - DecodeWithPhonemeMode
  source_file: /src/espeak-ng/src/libespeak-ng/readclause.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_XML_BUF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/espeak-ng/src/libespeak-ng/readclause.c
      type_or_value: '500'
    - item_type: preproc_def
      name: N_SSML_STACK
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/espeak-ng/src/libespeak-ng/readclause.c
      type_or_value: '20'
    - item_type: preproc_def
      name: ESPEAKNG_CLAUSE_TYPE_PROPERTY_MASK
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/espeak-ng/src/libespeak-ng/readclause.c
      type_or_value: 0xFFF0000000000000ull
    - item_type: preproc_def
      name: N_XML_BUF2
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/espeak-ng/src/libespeak-ng/readclause.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/mbrola.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: name
        type: int
      - name: next_phoneme
        type: unsigned int
      - name: mbr_name
        type: int
      - name: mbr_name2
        type: int
      - name: percent
        type: int
      - name: control
        type: int
      item_type: struct
      name: MBROLA_TAB
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/espeak-ng/src/libespeak-ng/mbrola.h
    typedefs: []
    union: []
- function_names:
  - Reverse4Bytes
  - InitGroups
  - LoadDictionary
  - HashDictionary
  - EncodePhonemes
  - DecodePhonemes
  - WritePhMnemonic
  - WritePhMnemonicWithStress
  - GetTranslatedPhonemeString
  - LetterGroupNo
  - IsLetterGroup
  - IsLetter
  - IsVowel
  - GetVowelStress
  - SetWordStress
  - AppendPhonemes
  - MatchRule
  - TranslateRules
  - TransposeAlphabet
  - LookupDict2
  - utf8_nbytes
  - LookupDictList
  - Lookup
  - LookupFlags
  - RemoveEnding
  - DollarRule
  source_file: /src/espeak-ng/src/libespeak-ng/dictionary.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_REMOVE_ACCENT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/libespeak-ng/dictionary.c
      type_or_value: '0x25e'
    - item_type: preproc_def
      name: N_PHON_OUT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/espeak-ng/src/libespeak-ng/dictionary.c
      type_or_value: 500  // realloc increment
    structs:
    - fields:
      - name: points
        type: int
      - name: '*phonemes'
        type: char
      - name: end_type
        type: int
      - name: '*del_fwd'
        type: char
      item_type: struct
      name: MatchRecord
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/espeak-ng/src/libespeak-ng/dictionary.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/phonemelist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WordToString
  - SynthesizeInit
  - EndAmplitude
  - EndPitch
  - DoAmplitude
  - DoPhonemeAlignment
  - DoPitch
  - PauseLength
  - DoPause
  - DoSample2
  - DoSample3
  - AllocFrame
  - set_frame_rms
  - formants_reduce_hf
  - CopyFrame
  - DuplicateLastFrame
  - AdjustFormants
  - VowelCloseness
  - FormantTransition2
  - SmoothSpect
  - StartSyllable
  - DoSpect2
  - DoMarker
  - DoPhonemeMarker
  - DoSonicSpeed
  - DoVoiceChange
  - DoEmbedded
  - Generate
  - SpeakNextClause
  - espeak_SetPhonemeCallback
  source_file: /src/espeak-ng/src/libespeak-ng/synthesize.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RMS_GLOTTAL1
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.c
      type_or_value: 35   // vowel before glottal stop
    - item_type: preproc_def
      name: RMS_START
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.c
      type_or_value: 28  // 28
    - item_type: preproc_def
      name: VOWEL_FRONT_LENGTH
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.c
      type_or_value: '50'
    - item_type: preproc_def
      name: N_FRAME_POOL
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.c
      type_or_value: N_WCMDQ
    - item_type: preproc_def
      name: N_VCOLOUR
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/espeak-ng/src/libespeak-ng/synthesize.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/voice.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_PEAKS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/espeak-ng/src/libespeak-ng/voice.h
      type_or_value: '9'
    - item_type: preproc_def
      name: N_TONE_ADJUST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/espeak-ng/src/libespeak-ng/voice.h
      type_or_value: '1000'
    structs:
    - fields:
      - name: v_name[40]
        type: char
      - name: language_name[20]
        type: char
      - name: phoneme_tab_ix
        type: int
      - name: pitch_base
        type: int
      - name: pitch_range
        type: int
      - name: speedf1
        type: int
      - name: speedf2
        type: int
      - name: speedf3
        type: int
      - name: speed_percent
        type: int
      - name: flutter
        type: int
      - name: roughness
        type: int
      - name: echo_delay
        type: int
      - name: echo_amp
        type: int
      - name: n_harmonic_peaks
        type: int
      - name: peak_shape
        type: int
      - name: voicing
        type: int
      - name: formant_factor
        type: int
      - name: consonant_amp
        type: int
      - name: consonant_ampv
        type: int
      - name: samplerate
        type: int
      - name: klattv[8]
        type: int
      - name: freq[N_PEAKS]
        type: short
      - name: height[N_PEAKS]
        type: short
      - name: width[N_PEAKS]
        type: short
      - name: freqadd[N_PEAKS]
        type: short
      - name: freq2[N_PEAKS]
        type: short
      - name: height2[N_PEAKS]
        type: short
      - name: breath[N_PEAKS]
        type: int
      - name: breathw[N_PEAKS]
        type: int
      - name: tone_adjust[N_TONE_ADJUST]
        type: unsigned char
      item_type: struct
      name: voice_t
      pos:
        line_end: 79
        line_start: 34
        source_file: /src/espeak-ng/src/libespeak-ng/voice.h
    typedefs: []
    union: []
- function_names:
  - fifo_init
  - fifo_add_command
  - fifo_add_commands
  - fifo_stop
  - fifo_is_busy
  - sleep_until_start_request_or_inactivity
  - close_stream
  - say_thread
  - fifo_is_command_enabled
  - push
  - pop
  - init
  - fifo_terminate
  source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: t_espeak_command
      - name: '*next'
        type: struct t_node
      item_type: struct
      name: t_node
      pos:
        line_end: 390
        line_start: 387
        source_file: /src/espeak-ng/src/libespeak-ng/fifo.c
    typedefs: []
    union: []
- function_names:
  - DeleteTranslator
  - lookupwchar
  - strchr_w
  - TranslateWord
  - SetPlist2
  - CountSyllables
  - Word_EmbeddedCmd
  - SetAlternateTranslator
  - SetTranslator2
  - SetTranslator3
  - TranslateWord2
  - EmbeddedCommand
  - FindReplacementChars
  - SubstituteChar
  - TranslateChar
  - UpperCaseInWord
  - TranslateClauseWithTerminator
  - TranslateClause
  - CalcWordLength
  - CombineFlag
  - SwitchLanguage
  - InitText
  source_file: /src/espeak-ng/src/libespeak-ng/translate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_EMBEDDED_LIST
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/espeak-ng/src/libespeak-ng/translate.c
      type_or_value: '250'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/soundicon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_SOUNDICON_TAB
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/libespeak-ng/soundicon.h
      type_or_value: 80   // total entries for dynamic loading of audio files
    structs:
    - fields:
      - name: name
        type: int
      - name: length
        type: int
      - name: '*data'
        type: char
      - name: '*filename'
        type: char
      item_type: struct
      name: SOUND_ICON
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/espeak-ng/src/libespeak-ng/soundicon.h
    typedefs: []
    union: []
- function_names:
  - LoadLanguageOptions
  - LoadConfig
  - LookupTune
  - CheckTranslator
  source_file: /src/espeak-ng/src/libespeak-ng/langopts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/langopts.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/synthdata.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WcmdqStop
  - WcmdqFree
  - WcmdqUsed
  - WcmdqInc
  - WcmdqIncHead
  - WavegenInit
  - WavegenFini
  - GetAmplitude
  - WavegenSetEcho
  - PeaksToHarmspect
  - AdvanceParameters
  - resonator
  - setresonator
  - InitBreath
  - SetBreath
  - ApplyBreath
  - Wavegen
  - PlaySilence
  - PlayWave
  - SetWithRange0
  - SetPitchFormants
  - SetEmbedded
  - WavegenSetVoice
  - SetAmplitude
  - SetPitch2
  - SetPitch
  - SetSynth
  - Write4Bytes
  - WavegenFill2
  - SpeedUp
  - WavegenFill
  - espeak_ng_STATUS::espeak_ng_SetOutputHooks
  - espeak_ng_STATUS::espeak_ng_SetConstF0
  source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_LOWHARM
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: '30'
    - item_type: preproc_def
      name: MAX_HARMONIC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: 400 // 400 * 50Hz = 20 kHz, more than enough
    - item_type: preproc_def
      name: N_ROUGHNESS
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: '8'
    - item_type: preproc_def
      name: N_FLUTTER
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: '0x170'
    - item_type: preproc_def
      name: N_WAVEMULT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_PITCH_VALUE
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: '101'
    - item_type: preproc_def
      name: PEAKSHAPEW
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cancel_audio
  - dispatch_audio
  - create_events
  - sync_espeak_terminated_msg
  - check_data_path
  - espeak_ng_STATUS::espeak_ng_InitializeOutput
  - espeak_ng_InitializePath
  - espeak_ng_STATUS::espeak_ng_Initialize
  - espeak_ng_STATUS::espeak_ng_SetPhonemeEvents
  - espeak_ng_GetSampleRate
  - Synthesize
  - MarkerEvent
  - sync_espeak_Synth
  - sync_espeak_Synth_Mark
  - sync_espeak_Key
  - sync_espeak_Char
  - sync_espeak_SetPunctuationList
  - espeak_SetSynthCallback
  - espeak_ng_STATUS::espeak_ng_Synthesize
  - espeak_ng_STATUS::espeak_ng_SynthesizeMark
  - espeak_ng_STATUS::espeak_ng_SpeakKeyName
  - espeak_ng_STATUS::espeak_ng_SpeakCharacter
  - espeak_GetParameter
  - espeak_ng_STATUS::espeak_ng_SetParameter
  - espeak_ng_STATUS::espeak_ng_SetPunctuationList
  - espeak_SetPhonemeTrace
  - espeak_TextToPhonemesWithTerminator
  - espeak_TextToPhonemes
  - espeak_ng_STATUS::espeak_ng_Cancel
  - espeak_IsPlaying
  - espeak_ng_STATUS::espeak_ng_Synchronize
  - espeak_ng_STATUS::espeak_ng_Terminate
  - espeak_Info
  source_file: /src/espeak-ng/src/libespeak-ng/speech.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/spect.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FRAME_WIDTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: 1000  // max width for 8000kHz frame
    - item_type: preproc_def
      name: MAX_DISPLAY_FREQ
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: '9500'
    - item_type: preproc_def
      name: T_AMPLITUDE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: '308'
    - item_type: preproc_def
      name: T_AV
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: '312'
    - item_type: preproc_def
      name: T_FNZ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: '321'
    - item_type: preproc_def
      name: FILEID1_SPECTSEQ
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: '0x43455053'
    - item_type: preproc_def
      name: FILEID2_SPECTSEQ
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: 0x51455354  // for eSpeak sequence
    - item_type: preproc_def
      name: FILEID2_SPECTSEK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: 0x4b455354  // for Klatt sequence
    - item_type: preproc_def
      name: FILEID2_SPECTSQ2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
      type_or_value: 0x32515354  // with Klatt data
    structs:
    - fields:
      - name: pitch1
        type: unsigned short
      - name: pitch2
        type: unsigned short
      - name: env[128]
        type: unsigned char
      item_type: struct
      name: PitchEnvelope
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
    - fields:
      - name: freq
        type: short
      - name: bandw
        type: short
      item_type: struct
      name: formant_t
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
    - fields:
      - name: pkfreq
        type: short
      - name: pkheight
        type: short
      - name: pkwidth
        type: short
      - name: pkright
        type: short
      - name: klt_bw
        type: short
      - name: klt_ap
        type: short
      - name: klt_bp
        type: short
      item_type: struct
      name: peak_t
      pos:
        line_end: 64
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
    - fields:
      - name: keyframe
        type: int
      - name: amp_adjust
        type: short
      - name: length_adjust
        type: float
      - name: rms
        type: double
      - name: time
        type: float
      - name: pitch
        type: float
      - name: length
        type: float
      - name: dx
        type: float
      - name: nx
        type: unsigned short
      - name: markers
        type: short
      - name: max_y
        type: int
      - name: '*spect'
        type: unsigned short
      - name: klatt_param[N_KLATTP2]
        type: short
      - name: formants[N_PEAKS]
        type: formant_t
      - name: peaks[N_PEAKS]
        type: peak_t
      item_type: struct
      name: SpectFrame
      pos:
        line_end: 85
        line_start: 66
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
    - fields:
      - name: numframes
        type: int
      - name: amplitude
        type: short
      - name: spare
        type: int
      - name: '*name'
        type: char
      - name: '**frames'
        type: SpectFrame
      - name: pitchenv
        type: PitchEnvelope
      - name: pitch1
        type: int
      - name: pitch2
        type: int
      - name: duration
        type: int
      - name: grid
        type: int
      - name: bass_reduction
        type: int
      - name: max_x
        type: int
      - name: max_y
        type: short
      - name: file_format
        type: int
      item_type: struct
      name: SpectSeq
      pos:
        line_end: 105
        line_start: 89
        source_file: /src/espeak-ng/src/libespeak-ng/spect.h
    typedefs: []
    union: []
- function_names:
  - attrcmp
  - attrlookup
  - attrnumber
  - attrcopy_utf8
  - attr_prosody_value
  - VoiceFromStack
  - GetSsmlAttribute
  - GetVoiceAttributes
  - ProcessParamStack
  - PushParamStack
  - PopParamStack
  - ReplaceKeyName
  - SetProsodyParameter
  - ProcessSsmlTag
  - espeak_SetUriCallback
  - ParseSsmlReference
  source_file: /src/espeak-ng/src/libespeak-ng/ssml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee_extended_to_double
  source_file: /src/espeak-ng/src/libespeak-ng/ieee80.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INFINITY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/espeak-ng/src/libespeak-ng/ieee80.c
      type_or_value: '0.'
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/espeak-ng/src/libespeak-ng/ieee80.c
      type_or_value: '0.'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/event.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_espeak_text
  - create_espeak_terminated_msg
  - create_espeak_mark
  - create_espeak_key
  - create_espeak_char
  - create_espeak_parameter
  - create_espeak_punctuation_list
  - create_espeak_voice_name
  - create_espeak_voice_spec
  - delete_espeak_command
  - process_espeak_command
  source_file: /src/espeak-ng/src/libespeak-ng/espeak_command.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/wavegen.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: freq
        type: int
      - name: height
        type: int
      - name: left
        type: int
      - name: right
        type: int
      - name: freq1
        type: double
      - name: height1
        type: double
      - name: left1
        type: double
      - name: right1
        type: double
      - name: freq_inc
        type: double
      - name: height_inc
        type: double
      - name: left_inc
        type: double
      - name: right_inc
        type: double
      item_type: struct
      name: wavegen_peaks_t
      pos:
        line_end: 43
        line_start: 30
        source_file: /src/espeak-ng/src/libespeak-ng/wavegen.h
    typedefs: []
    union: []
- function_names:
  - system_data_dirs
  - LoadMbrolaTable
  - GetMbrName
  - WritePitch
  - MbrolaTranslate
  - MbrolaGenerate
  - MbrolaFill
  - MbrolaReset
  - LoadMbrolaTable
  - MbrolaGenerate
  - MbrolaFill
  - MbrolaReset
  source_file: /src/espeak-ng/src/libespeak-ng/synth_mbrola.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - status_to_espeak_error
  - espeak_Initialize
  - espeak_ERROR::espeak_Synth
  - espeak_ERROR::espeak_Synth_Mark
  - espeak_ERROR::espeak_Key
  - espeak_ERROR::espeak_Char
  - espeak_ERROR::espeak_SetParameter
  - espeak_ERROR::espeak_SetPunctuationList
  - espeak_ERROR::espeak_SetVoiceByName
  - espeak_ERROR::espeak_SetVoiceByFile
  - espeak_ERROR::espeak_SetVoiceByProperties
  - espeak_ERROR::espeak_Cancel
  - espeak_ERROR::espeak_Synchronize
  - espeak_ERROR::espeak_Terminate
  - espeak_CompileDictionary
  source_file: /src/espeak-ng/src/libespeak-ng/espeak_api.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/sPlayer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_double
  - polint
  - SpectFrameCreate
  - SpectFrameDestroy
  - LoadFrame
  - GetFrameRms
  - SpectSeqCreate
  - SpectSeqDestroy
  - GetFrameLength
  - LoadSpectSeq
  source_file: /src/espeak-ng/src/libespeak-ng/spect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - L
  - L3
  - L4
  source_file: /src/espeak-ng/src/libespeak-ng/translate.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTRL_EMBEDDED
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x01 // control character at the start of an embedded command
    - item_type: preproc_def
      name: REPLACED_E
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '''E'' // ''e'' replaced by silent e'
    - item_type: preproc_def
      name: N_WORD_PHONEMES
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 200 // max phonemes in a word
    - item_type: preproc_def
      name: N_WORD_BYTES
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 160 // max bytes for the UTF8 characters in a word
    - item_type: preproc_def
      name: N_PHONEME_BYTES
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 160 // max bytes for a phoneme
    - item_type: preproc_def
      name: N_CLAUSE_WORDS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 300 // max words in a clause
    - item_type: preproc_def
      name: N_TR_SOURCE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 800 // the source text of a single clause (UTF8 bytes)
    - item_type: preproc_def
      name: N_RULE_GROUP2
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 120 // max num of two-letter rule chains
    - item_type: preproc_def
      name: N_HASH_DICT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: N_LETTER_GROUPS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 95 // maximum is 127-32
    - item_type: preproc_def
      name: FLAG_SKIPWORDS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: FLAG_PREPAUSE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: FLAG_STRESS_END
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x200 // full stress if at end of clause
    - item_type: preproc_def
      name: FLAG_STRESS_END2
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x400 // full stress if at end of clause, or only followed by
        unstressed
    - item_type: preproc_def
      name: FLAG_UNSTRESS_END
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x800 // reduce stress at end of clause
    - item_type: preproc_def
      name: FLAG_SPELLWORD
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x1000 // re-translate the word as individual letters, separated
        by spaces
    - item_type: preproc_def
      name: FLAG_ACCENT_BEFORE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x1000 // say this accent name before the letter name
    - item_type: preproc_def
      name: FLAG_ABBREV
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x2000 // spell as letters, even with a vowel, OR use specified
        pronunciation rather than split into letters
    - item_type: preproc_def
      name: FLAG_DOUBLING
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x4000 // doubles the following consonant
    - item_type: preproc_def
      name: BITNUM_FLAG_ALT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 14 // bit number of FLAG_ALT_TRANS - 1
    - item_type: preproc_def
      name: FLAG_ALT_TRANS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x8000 // language specific
    - item_type: preproc_def
      name: FLAG_ALT2_TRANS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000 // language specific
    - item_type: preproc_def
      name: FLAG_ALT3_TRANS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x20000 // language specific
    - item_type: preproc_def
      name: FLAG_ALT7_TRANS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x200000 // language specific
    - item_type: preproc_def
      name: FLAG_COMBINE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x800000 // combine with the next word
    - item_type: preproc_def
      name: FLAG_ALLOW_DOT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x01000000 // ignore '.' after word (abbreviation)
    - item_type: preproc_def
      name: FLAG_NEEDS_DOT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x02000000 // only if the word is followed by a dot
    - item_type: preproc_def
      name: FLAG_WAS_UNPRONOUNCABLE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x04000000  // the unpronounceable routine was used
    - item_type: preproc_def
      name: FLAG_MAX3
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x08000000 // limit to 3 repeats
    - item_type: preproc_def
      name: FLAG_PAUSE1
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000000 // shorter prepause
    - item_type: preproc_def
      name: FLAG_TEXTMODE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x20000000 // word translates to replacement text, not phonemes
    - item_type: preproc_def
      name: BITNUM_FLAG_TEXTMODE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '29'
    - item_type: preproc_def
      name: FLAG_FOUND_ATTRIBUTES
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40000000 // word was found in the dictionary list (has attributes)
    - item_type: preproc_def
      name: FLAG_FOUND
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x80000000 // pronunciation was found in the dictionary list
    - item_type: preproc_def
      name: FLAG_VERBF
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x1 // verb follows
    - item_type: preproc_def
      name: FLAG_VERBSF
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x2 // verb follows, may have -s suffix
    - item_type: preproc_def
      name: FLAG_NOUNF
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x4 // noun follows
    - item_type: preproc_def
      name: FLAG_PASTF
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x8 // past tense follows
    - item_type: preproc_def
      name: FLAG_VERB
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10 // pronunciation for verb
    - item_type: preproc_def
      name: FLAG_NOUN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x20 // pronunciation for noun
    - item_type: preproc_def
      name: FLAG_PAST
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40 // pronunciation for past tense
    - item_type: preproc_def
      name: FLAG_VERB_EXT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x100 // extend the 'verb follows'
    - item_type: preproc_def
      name: FLAG_CAPITAL
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x200 // pronunciation if initial letter is upper case
    - item_type: preproc_def
      name: FLAG_ALLCAPS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x400 // only if the word is all capitals
    - item_type: preproc_def
      name: FLAG_ACCENT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x800 // character name is base-character name + accent name
    - item_type: preproc_def
      name: FLAG_SENTENCE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x2000 // only if the clause is a sentence
    - item_type: preproc_def
      name: FLAG_ONLY
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: FLAG_ONLY_S
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: FLAG_STEM
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000 // must have a suffix
    - item_type: preproc_def
      name: FLAG_ATEND
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x20000 // use this pronunciation if at end of clause
    - item_type: preproc_def
      name: FLAG_ATSTART
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40000 // use this pronunciation if at start of clause
    - item_type: preproc_def
      name: FLAG_NATIVE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x80000 // not if we've switched translators
    - item_type: preproc_def
      name: FLAG_LOOKUP_SYMBOL
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40000000 // to indicate called from Lookup()
    - item_type: preproc_def
      name: BITNUM_FLAG_ALLCAPS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x2a'
    - item_type: preproc_def
      name: BITNUM_FLAG_HYPHENATED
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x2c'
    - item_type: preproc_def
      name: BITNUM_FLAG_ONLY
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x2e'
    - item_type: preproc_def
      name: BITNUM_FLAG_ONLY_S
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x2f'
    - item_type: preproc_def
      name: FLAG_ALL_UPPER
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x1   // no lower case letters in the word
    - item_type: preproc_def
      name: FLAG_FIRST_UPPER
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x2   // first letter is upper case
    - item_type: preproc_def
      name: FLAG_UPPERS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x3   // FLAG_ALL_UPPER | FLAG_FIRST_UPPER
    - item_type: preproc_def
      name: FLAG_HAS_PLURAL
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x4   // upper-case word with s or 's lower-case ending
    - item_type: preproc_def
      name: FLAG_PHONEMES
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x8   // word is phonemes
    - item_type: preproc_def
      name: FLAG_LAST_WORD
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10  // last word in clause
    - item_type: preproc_def
      name: FLAG_EMBEDDED
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40  // word is preceded by embedded commands
    - item_type: preproc_def
      name: FLAG_HYPHEN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: FLAG_NOSPACE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x100 // word is not separated from previous word by a space
    - item_type: preproc_def
      name: FLAG_FIRST_WORD
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x200 // first word in clause
    - item_type: preproc_def
      name: FLAG_FOCUS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x400 // the focus word of a clause
    - item_type: preproc_def
      name: FLAG_EMPHASIZED
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x800'
    - item_type: preproc_def
      name: FLAG_EMPHASIZED2
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0xc00 // FLAG_FOCUS | FLAG_EMPHASIZED
    - item_type: preproc_def
      name: FLAG_DONT_SWITCH_TRANSLATOR
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: FLAG_SUFFIX_REMOVED
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: FLAG_HYPHEN_AFTER
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: FLAG_ORDINAL
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x8000   // passed to TranslateNumber() to indicate an ordinal
        number
    - item_type: preproc_def
      name: FLAG_HAS_DOT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000  // dot after this word
    - item_type: preproc_def
      name: FLAG_COMMA_AFTER
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x20000  // comma after this word
    - item_type: preproc_def
      name: FLAG_MULTIPLE_SPACES
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40000  // word is preceded by multiple spaces, newline, or
        tab
    - item_type: preproc_def
      name: FLAG_INDIVIDUAL_DIGITS
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x80000  // speak number as individual digits
    - item_type: preproc_def
      name: FLAG_DELETE_WORD
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x100000   // don't speak this word, it has been spoken as part
        of the previous word
    - item_type: preproc_def
      name: FLAG_CHAR_REPLACED
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x200000   // characters have been replaced by .replace in the
        *_rules
    - item_type: preproc_def
      name: FLAG_TRANSLATOR2
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x400000   // retranslating using a different language
    - item_type: preproc_def
      name: FLAG_PREFIX_REMOVED
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x800000   // a prefix has been removed from this word
    - item_type: preproc_def
      name: FLAG_SUFFIX_VOWEL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x08000000 // remember an initial vowel from the suffix
    - item_type: preproc_def
      name: FLAG_NO_TRACE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000000 // passed to TranslateRules() to suppress dictionary
        lookup printout
    - item_type: preproc_def
      name: FLAG_NO_PREFIX
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x20000000'
    - item_type: preproc_def
      name: FLAG_UNPRON_TEST
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x80000000 // do unpronounability test on the beginning of the
        word
    - item_type: preproc_def
      name: SUFX_E
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0100   // e may have been added
    - item_type: preproc_def
      name: SUFX_I
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0200   // y may have been changed to i
    - item_type: preproc_def
      name: SUFX_P
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0400   // prefix
    - item_type: preproc_def
      name: SUFX_V
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0800   // suffix means use the verb form pronunciation
    - item_type: preproc_def
      name: SUFX_D
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x1000   // previous letter may have been doubled
    - item_type: preproc_def
      name: SUFX_F
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x2000   // verb follows
    - item_type: preproc_def
      name: SUFX_Q
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x4000   // don't retranslate
    - item_type: preproc_def
      name: SUFX_T
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000   // don't affect the stress position in the stem
    - item_type: preproc_def
      name: SUFX_B
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x20000  // break, this character breaks the word into stem and
        suffix (used with SUFX_P)
    - item_type: preproc_def
      name: SUFX_A
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40000  // remember that the suffix starts with a vowel
    - item_type: preproc_def
      name: SUFX_M
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x80000  // bit 19, allow multiple suffixes
    - item_type: preproc_def
      name: SUFX_UNPRON
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x8000   // used to return $unpron flag from *_rules
    - item_type: preproc_def
      name: FLAG_ALLOW_TEXTMODE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x02  // allow dictionary to translate to text rather than phonemes
    - item_type: preproc_def
      name: FLAG_SUFX
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: FLAG_SUFX_S
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: FLAG_SUFX_E_ADDED
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RULE_PRE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RULE_POST
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RULE_PHONEMES
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RULE_PH_COMMON
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 4 // At start of rule. Its phoneme string is used by subsequent
        rules
    - item_type: preproc_def
      name: RULE_CONDITION
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 5 // followed by condition number (byte)
    - item_type: preproc_def
      name: RULE_GROUP_START
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '6'
    - item_type: preproc_def
      name: RULE_GROUP_END
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RULE_PRE_ATSTART
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 8 // as RULE_PRE but also match with 'start of word'
    - item_type: preproc_def
      name: RULE_LINENUM
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 9 // next 2 bytes give a line number, for debugging purposes
    - item_type: preproc_def
      name: RULE_STRESSED
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 10 // &
    - item_type: preproc_def
      name: RULE_DOUBLE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 11 // %
    - item_type: preproc_def
      name: RULE_INC_SCORE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 12 // +
    - item_type: preproc_def
      name: RULE_DEL_FWD
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '13 // #'
    - item_type: preproc_def
      name: RULE_ENDING
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 14 // S
    - item_type: preproc_def
      name: RULE_DIGIT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 15 // D digit
    - item_type: preproc_def
      name: RULE_NONALPHA
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 16 // Z non-alpha
    - item_type: preproc_def
      name: RULE_LETTERGP
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 17 // A B C H F G Y   letter group number
    - item_type: preproc_def
      name: RULE_LETTERGP2
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 18 // L + letter group number
    - item_type: preproc_def
      name: RULE_CAPITAL
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 19 // !   word starts with a capital letter
    - item_type: preproc_def
      name: RULE_REPLACEMENTS
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 20 // section for character replacements
    - item_type: preproc_def
      name: RULE_SYLLABLE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 21 // @
    - item_type: preproc_def
      name: RULE_SKIPCHARS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 23 // J
    - item_type: preproc_def
      name: RULE_NO_SUFFIX
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 24 // N
    - item_type: preproc_def
      name: RULE_NOTVOWEL
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 25 // K
    - item_type: preproc_def
      name: RULE_IFVERB
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 26 // V
    - item_type: preproc_def
      name: RULE_DOLLAR
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 28 // $ commands
    - item_type: preproc_def
      name: RULE_NOVOWELS
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 29 // X no vowels up to word boundary
    - item_type: preproc_def
      name: RULE_SPELLING
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 31 // W while spelling letter-by-letter
    - item_type: preproc_def
      name: RULE_LAST_RULE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '31'
    - item_type: preproc_def
      name: RULE_SPACE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 32 // ascii space
    - item_type: preproc_def
      name: RULE_DEC_SCORE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 60 // <
    - item_type: preproc_def
      name: DOLLAR_UNPR
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DOLLAR_NOPREFIX
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DOLLAR_LIST
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LETTERGP_A
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LETTERGP_B
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LETTERGP_C
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '2'
    - item_type: preproc_def
      name: LETTERGP_H
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LETTERGP_F
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LETTERGP_G
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '5'
    - item_type: preproc_def
      name: LETTERGP_Y
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '6'
    - item_type: preproc_def
      name: LETTERGP_VOWEL2
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '7'
    - item_type: preproc_def
      name: CLAUSE_PAUSE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000FFF // pause (x 10mS)
    - item_type: preproc_def
      name: CLAUSE_INTONATION_TYPE
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00007000 // intonation type
    - item_type: preproc_def
      name: CLAUSE_OPTIONAL_SPACE_AFTER
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00008000 // don't need space after the punctuation
    - item_type: preproc_def
      name: CLAUSE_TYPE
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x000F0000 // phrase type
    - item_type: preproc_def
      name: CLAUSE_PUNCTUATION_IN_WORD
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00100000 // punctuation character can be inside a word (Armenian)
    - item_type: preproc_def
      name: CLAUSE_SPEAK_PUNCTUATION_NAME
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00200000 // speak the name of the punctuation character
    - item_type: preproc_def
      name: CLAUSE_DOT_AFTER_LAST_WORD
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00400000 // dot after the last word
    - item_type: preproc_def
      name: CLAUSE_PAUSE_LONG
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00800000 // x 320mS to the CLAUSE_PAUSE value
    - item_type: preproc_def
      name: CLAUSE_INTONATION_FULL_STOP
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000000'
    - item_type: preproc_def
      name: CLAUSE_INTONATION_COMMA
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: CLAUSE_INTONATION_QUESTION
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: CLAUSE_INTONATION_EXCLAMATION
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00003000'
    - item_type: preproc_def
      name: CLAUSE_INTONATION_NONE
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00004000'
    - item_type: preproc_def
      name: CLAUSE_TYPE_NONE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000000'
    - item_type: preproc_def
      name: CLAUSE_TYPE_EOF
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: CLAUSE_TYPE_VOICE_CHANGE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00020000'
    - item_type: preproc_def
      name: CLAUSE_TYPE_CLAUSE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00040000'
    - item_type: preproc_def
      name: CLAUSE_TYPE_SENTENCE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00080000'
    - item_type: preproc_def
      name: CLAUSE_NONE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: ( 0 | CLAUSE_INTONATION_NONE        | CLAUSE_TYPE_NONE)
    - item_type: preproc_def
      name: CLAUSE_PARAGRAPH
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (70 | CLAUSE_INTONATION_FULL_STOP   | CLAUSE_TYPE_SENTENCE)
    - item_type: preproc_def
      name: CLAUSE_EOF
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (40 | CLAUSE_INTONATION_FULL_STOP   | CLAUSE_TYPE_SENTENCE |
        CLAUSE_TYPE_EOF)
    - item_type: preproc_def
      name: CLAUSE_VOICE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: ( 0 | CLAUSE_INTONATION_NONE        | CLAUSE_TYPE_VOICE_CHANGE)
    - item_type: preproc_def
      name: CLAUSE_PERIOD
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (40 | CLAUSE_INTONATION_FULL_STOP   | CLAUSE_TYPE_SENTENCE)
    - item_type: preproc_def
      name: CLAUSE_COMMA
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (20 | CLAUSE_INTONATION_COMMA       | CLAUSE_TYPE_CLAUSE)
    - item_type: preproc_def
      name: CLAUSE_SHORTCOMMA
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: ( 4 | CLAUSE_INTONATION_COMMA       | CLAUSE_TYPE_CLAUSE)
    - item_type: preproc_def
      name: CLAUSE_SHORTFALL
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: ( 4 | CLAUSE_INTONATION_FULL_STOP   | CLAUSE_TYPE_CLAUSE)
    - item_type: preproc_def
      name: CLAUSE_QUESTION
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (40 | CLAUSE_INTONATION_QUESTION    | CLAUSE_TYPE_SENTENCE)
    - item_type: preproc_def
      name: CLAUSE_EXCLAMATION
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (45 | CLAUSE_INTONATION_EXCLAMATION | CLAUSE_TYPE_SENTENCE)
    - item_type: preproc_def
      name: CLAUSE_COLON
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (30 | CLAUSE_INTONATION_FULL_STOP   | CLAUSE_TYPE_CLAUSE)
    - item_type: preproc_def
      name: CLAUSE_SEMICOLON
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: (30 | CLAUSE_INTONATION_COMMA       | CLAUSE_TYPE_CLAUSE)
    - item_type: preproc_def
      name: SAYAS_CHARS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x12'
    - item_type: preproc_def
      name: SAYAS_GLYPHS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x13'
    - item_type: preproc_def
      name: SAYAS_SINGLE_CHARS
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x14'
    - item_type: preproc_def
      name: SAYAS_KEY
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x24'
    - item_type: preproc_def
      name: SAYAS_DIGITS
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x40 // + number of digits
    - item_type: preproc_def
      name: SAYAS_DIGITS1
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0xc1'
    - item_type: preproc_def
      name: CHAR_EMPHASIS
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0530 // this is an unused character code
    - item_type: preproc_def
      name: CHAR_COMMA_BREAK
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0557 // unused character code
    - item_type: preproc_def
      name: AL_DONT_NAME
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x01 // don't speak the alphabet name
    - item_type: preproc_def
      name: AL_NOT_LETTERS
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x02 // don't use the language for speaking letters
    - item_type: preproc_def
      name: AL_WORDS
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x04 // use the language to speak words
    - item_type: preproc_def
      name: AL_NOT_CODE
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x08 // don't speak the character code
    - item_type: preproc_def
      name: AL_NO_SYMBOL
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10 // don't repeat "symbol" or "character"
    - item_type: preproc_def
      name: N_LOPTS
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '18'
    - item_type: preproc_def
      name: LOPT_DIERESES
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LOPT_IT_LENGTHEN
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LOPT_PREFIXES
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '2'
    - item_type: preproc_def
      name: LOPT_REGRESSIVE_VOICING
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LOPT_UNPRONOUNCABLE
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LOPT_SONORANT_MIN
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '5'
    - item_type: preproc_def
      name: LOPT_WORD_MERGE
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '6'
    - item_type: preproc_def
      name: LOPT_MAXAMP_EOC
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '7'
    - item_type: preproc_def
      name: LOPT_REDUCE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '8'
    - item_type: preproc_def
      name: LOPT_COMBINE_WORDS
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '9'
    - item_type: preproc_def
      name: LOPT_CAPS_IN_WORD
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '10'
    - item_type: preproc_def
      name: LOPT_ALT
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '11'
    - item_type: preproc_def
      name: LOPT_BRACKET_PAUSE
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '12'
    - item_type: preproc_def
      name: LOPT_ANNOUNCE_PUNCT
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '13'
    - item_type: preproc_def
      name: LOPT_LONG_VOWEL_THRESHOLD
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '14'
    - item_type: preproc_def
      name: LOPT_SUFFIX
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '15'
    - item_type: preproc_def
      name: LOPT_APOSTROPHE
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '16'
    - item_type: preproc_def
      name: LOPT_BRACKET_PAUSE_ANNOUNCED
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '17'
    - item_type: preproc_def
      name: STRESSPOSN_1L
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0 // 1st syllable
    - item_type: preproc_def
      name: STRESSPOSN_2L
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 1 // 2nd syllable
    - item_type: preproc_def
      name: STRESSPOSN_2R
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 2 // penultimate
    - item_type: preproc_def
      name: STRESSPOSN_1R
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 3 // final syllable
    - item_type: preproc_def
      name: STRESSPOSN_3R
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 4 // antipenultimate
    - item_type: preproc_def
      name: STRESSPOSN_SYLCOUNT
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 5 // stress depends on syllable count
    - item_type: preproc_def
      name: STRESSPOSN_1RH
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 6 // last heaviest syllable, excluding final syllable
    - item_type: preproc_def
      name: STRESSPOSN_1RU
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 7 // stress on the last syllable, before any explicitly unstressed
        syllable
    - item_type: preproc_def
      name: STRESSPOSN_2LLH
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 8 // first syllable, unless it is a light syllable followed by
        a heavy syllable
    - item_type: preproc_def
      name: STRESSPOSN_ALL
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 9 // mark all stressed
    - item_type: preproc_def
      name: STRESSPOSN_GREENLANDIC
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '12'
    - item_type: preproc_def
      name: STRESSPOSN_1SL
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 13 // 1st syllable, unless 1st vowel is short and 2nd is long
    - item_type: preproc_def
      name: STRESSPOSN_EU
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '15 // If more than 2 syllables: primary stress in second syllable
        and secondary on last.'
    - item_type: preproc_def
      name: S_NO_DIM
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: S_FINAL_DIM
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: S_FINAL_DIM_ONLY
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: S_FINAL_NO_2
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: S_NO_AUTO_2
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: S_2_TO_HEAVY
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: S_FIRST_PRIMARY
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: S_FINAL_VOWEL_UNSTRESSED
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: S_FINAL_SPANISH
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x200'
    - item_type: preproc_def
      name: S_2_SYL_2
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: S_INITIAL_2
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: S_MID_DIM
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: S_PRIORITY_STRESS
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x20000'
    - item_type: preproc_def
      name: S_EO_CLAUSE1
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x40000'
    - item_type: preproc_def
      name: S_FINAL_LONG
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x80000'
    - item_type: preproc_def
      name: S_HYPEN_UNSTRESS
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: S_NO_EOC_LENGTHEN
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x200000'
    - item_type: preproc_def
      name: NUM_DEFAULT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000001 // enable number processing; use if no other NUM_
        option is specified
    - item_type: preproc_def
      name: NUM_THOUS_SPACE
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000004 // thousands separator must be space
    - item_type: preproc_def
      name: NUM_DECIMAL_COMMA
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000008 // , decimal separator, not .
    - item_type: preproc_def
      name: NUM_SWAP_TENS
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000010 // use three-and-twenty rather than twenty-three
    - item_type: preproc_def
      name: NUM_AND_UNITS
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000020 // 'and' between tens and units
    - item_type: preproc_def
      name: NUM_HUNDRED_AND
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000040 // add "and" after hundred or thousand
    - item_type: preproc_def
      name: NUM_SINGLE_AND
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000080 // don't have "and" both after hundreds and also between
        tens and units
    - item_type: preproc_def
      name: NUM_SINGLE_STRESS
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000100 // only one primary stress in tens+units
    - item_type: preproc_def
      name: NUM_SINGLE_VOWEL
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000200 // only one vowel between tens and units
    - item_type: preproc_def
      name: NUM_OMIT_1_HUNDRED
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000400 // omit "one" before "hundred"
    - item_type: preproc_def
      name: NUM_1900
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000800 // say 19** as nineteen hundred
    - item_type: preproc_def
      name: NUM_ALLOW_SPACE
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00001000 // allow space as thousands separator (in addition
        to langopts.thousands_sep)
    - item_type: preproc_def
      name: NUM_DFRACTION_BITS
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0000e000 // post-decimal-digits 0=single digits, 1=(LANG=it)
        2=(LANG=pl) 3=(LANG=ro)
    - item_type: preproc_def
      name: NUM_ORDINAL_DOT
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00010000 // dot after number indicates ordinal
    - item_type: preproc_def
      name: NUM_NOPAUSE
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00020000 // don't add pause after a number
    - item_type: preproc_def
      name: NUM_AND_HUNDRED
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00040000 // 'and' before hundreds
    - item_type: preproc_def
      name: NUM_THOUSAND_AND
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00080000 // 'and' after thousands if there are no hundreds
    - item_type: preproc_def
      name: NUM_VIGESIMAL
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00100000 // vigesimal number, if tens are not found
    - item_type: preproc_def
      name: NUM_OMIT_1_THOUSAND
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00200000 // omit "one" before "thousand"
    - item_type: preproc_def
      name: NUM_ZERO_HUNDRED
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00400000 // say "zero" before hundred
    - item_type: preproc_def
      name: NUM_HUNDRED_AND_DIGIT
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00800000 // add "and" after hundreds and thousands, only if
        there are digits and no tens
    - item_type: preproc_def
      name: NUM_ROMAN
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x01000000 // recognize roman numbers
    - item_type: preproc_def
      name: NUM_ROMAN_CAPITALS
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x02000000 // Roman numbers only if upper case
    - item_type: preproc_def
      name: NUM_ROMAN_AFTER
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x04000000 // say "roman" after the number, not before
    - item_type: preproc_def
      name: NUM_ROMAN_ORDINAL
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x08000000 // Roman numbers are ordinal numbers
    - item_type: preproc_def
      name: NUM_SINGLE_STRESS_L
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x10000000 // only one primary stress in tens+units (on the tens)
    - item_type: preproc_def
      name: NUM_DFRACTION_1
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: NUM_DFRACTION_2
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00004000'
    - item_type: preproc_def
      name: NUM_DFRACTION_3
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00006000'
    - item_type: preproc_def
      name: NUM_DFRACTION_4
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: NUM_DFRACTION_5
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x0000a000'
    - item_type: preproc_def
      name: NUM_DFRACTION_6
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x0000c000'
    - item_type: preproc_def
      name: NUM_DFRACTION_7
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x0000e000    // lang=si, alternative form of number for decimal
        fraction digits (except the last)
    - item_type: preproc_def
      name: NUM2_THOUSANDS_VAR_BITS
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x000001c0 // use different forms of thousand, million, etc (M
        MA MB)
    - item_type: preproc_def
      name: NUM2_SWAP_THOUSANDS
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000200 // say "thousand" and "million" before its number,
        not after
    - item_type: preproc_def
      name: NUM2_ORDINAL_NO_AND
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000800 // don't say 'and' between tens and units for ordinal
        numbers
    - item_type: preproc_def
      name: NUM2_MULTIPLE_ORDINAL
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00001000 // use ordinal form of hundreds and tens as well as
        units
    - item_type: preproc_def
      name: NUM2_NO_TEEN_ORDINALS
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00002000 // don't use 11-19 numbers to make ordinals
    - item_type: preproc_def
      name: NUM2_MYRIADS
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00004000 // use myriads (groups of 4 digits) not thousands
        (groups of 3)
    - item_type: preproc_def
      name: NUM2_ENGLISH_NUMERALS
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00008000 // speak (non-replaced) English numerals in English
    - item_type: preproc_def
      name: NUM2_PERCENT_BEFORE
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00010000 // say "%" before the number
    - item_type: preproc_def
      name: NUM2_OMIT_1_HUNDRED_ONLY
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00020000 // omit "one" before hundred only if there are no
        previous digits
    - item_type: preproc_def
      name: NUM2_ORDINAL_AND_THOUSANDS
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00040000 // same variant for ordinals and thousands (#o =
        #a)'
    - item_type: preproc_def
      name: NUM2_ORDINAL_DROP_VOWEL
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00080000 // drop final vowel from cardial number before adding
        ordinal suffix (currently only tens and units)
    - item_type: preproc_def
      name: NUM2_ZERO_TENS
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00100000 // say zero tens
    - item_type: preproc_def
      name: NUM2_THOUSANDPLEX_VAR_THOUSANDS
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: NUM2_THOUSANDPLEX_VAR_MILLIARDS
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: NUM2_THOUSANDPLEX_VAR_ALL
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x0000001e'
    - item_type: preproc_def
      name: NUM2_THOUSANDS_VAR1
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: NUM2_THOUSANDS_VAR2
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000080'
    - item_type: preproc_def
      name: NUM2_THOUSANDS_VAR3
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x000000c0'
    - item_type: preproc_def
      name: NUM2_THOUSANDS_VAR4
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000100 // plural forms for millions, etc.
    - item_type: preproc_def
      name: NUM2_THOUSANDS_VAR5
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x00000140'
    - item_type: preproc_def
      name: BREAK_THOUSANDS
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x49249248 // b  b  b  b  b  b  b  b  b  b  b  // 10,000,000,000,000,000,000,000,000,000,000
    - item_type: preproc_def
      name: BREAK_MYRIADS
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x11111110 // b   b   b   b   b   b   b   b    // 1000,0000,0000,0000,0000,0000,0000,0000
    - item_type: preproc_def
      name: BREAK_LAKH
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0xaaaaaaa8 // b  b b b b b b b b b b b b b b b // 10,00,00,00,00,00,00,00,00,00,00,00,00,00,00,000
    - item_type: preproc_def
      name: BREAK_LAKH_BN
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x24924aa8 // b  b b b b b  b  b  b  b  b  b   // 100,000,000,000,000,000,000,00,00,00,00,000
    - item_type: preproc_def
      name: BREAK_LAKH_DV
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x000014a8 // b  b b b  b b                    // 100,00,000,00,00,000
    - item_type: preproc_def
      name: BREAK_LAKH_HI
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00014aa8 // b  b b b b b  b b                // 100,00,000,00,00,00,00,000
    - item_type: preproc_def
      name: BREAK_LAKH_UR
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x000052a8 // b  b b b b  b b                  // 100,00,000,00,00,00,000
    - item_type: preproc_def
      name: BREAK_INDIVIDUAL
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x00000018 // b  bb                            // 100,0,000
    - item_type: preproc_def
      name: INTONATION_TYPES
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PUNCT_INTONATIONS
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '6'
    - item_type: preproc_def
      name: OPTION_EMPHASIZE_ALLCAPS
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: OPTION_EMPHASIZE_PENULTIMATE
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '0x200'
    - item_type: preproc_def
      name: N_MARKER_LENGTH
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 50   // max.length of a mark name
    - item_type: preproc_def
      name: N_PUNCTLIST
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: '60'
    - item_type: preproc_def
      name: LEADING_2_BITS
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0xC0 // 0b11000000
    - item_type: preproc_def
      name: UTF8_TAIL_BITS
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
      type_or_value: 0x80 // 0b10000000
    structs:
    - fields:
      - name: flags
        type: unsigned int
      - name: start
        type: unsigned short
      - name: pre_pause
        type: unsigned char
      - name: sourceix
        type: unsigned short
      - name: length
        type: unsigned char
      item_type: struct
      name: WORD_TAB
      pos:
        line_end: 268
        line_start: 262
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
    - fields:
      - name: '*name'
        type: char
      - name: offset
        type: int
      - name: range_min
        type: unsigned int
      - name: language
        type: int
      - name: flags
        type: int
      item_type: struct
      name: ALPHABET
      pos:
        line_end: 276
        line_start: 270
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
    - fields:
      - name: word_gap
        type: int
      - name: vowel_pause
        type: int
      - name: stress_rule
        type: int
      - name: stress_flags
        type: int
      - name: unstressed_wd1
        type: int
      - name: unstressed_wd2
        type: int
      - name: param[N_LOPTS]
        type: int
      - name: '*length_mods'
        type: unsigned char
      - name: '*length_mods0'
        type: unsigned char
      - name: numbers
        type: int
      - name: numbers2
        type: int
      - name: break_numbers
        type: unsigned
      - name: max_roman
        type: int
      - name: min_roman
        type: int
      - name: thousands_sep
        type: int
      - name: decimal_sep
        type: int
      - name: max_digits
        type: int
      - name: '*ordinal_indicator'
        type: char
      - name: '*roman_suffix'
        type: unsigned char
      - name: accents
        type: int
      - name: tone_language
        type: int
      - name: intonation_group
        type: int
      - name: tunes[6]
        type: unsigned char
      - name: long_stop
        type: int
      - name: max_initial_consonants
        type: char
      - name: spelling_stress
        type: bool
      - name: tone_numbers
        type: char
      - name: ideographs
        type: char
      - name: textmode
        type: bool
      - name: dotless_i
        type: char
      - name: listx
        type: int
      - name: '*replace_chars'
        type: unsigned char
      - name: our_alphabet
        type: int
      - name: alt_alphabet
        type: int
      - name: alt_alphabet_lang
        type: int
      - name: max_lengthmod
        type: int
      - name: lengthen_tonic
        type: int
      - name: suffix_add_e
        type: int
      - name: lowercase_sentence
        type: bool
      item_type: struct
      name: LANGUAGE_OPTIONS
      pos:
        line_end: 541
        line_start: 367
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
    - fields:
      - name: langopts
        type: LANGUAGE_OPTIONS
      - name: translator_name
        type: int
      - name: transpose_max
        type: int
      - name: transpose_min
        type: int
      - name: '*transpose_map'
        type: char
      - name: dictionary_name[40]
        type: char
      - name: phonemes_repeat[20]
        type: char
      - name: phonemes_repeat_count
        type: int
      - name: phoneme_tab_ix
        type: int
      - name: stress_amps[8]
        type: unsigned char
      - name: stress_lengths[8]
        type: short
      - name: dict_condition
        type: int
      - name: dict_min_size
        type: int
      - name: encoding
        type: espeak_ng_ENCODING
      - name: '*char_plus_apostrophe'
        type: wchar_t
      - name: '*punct_within_word'
        type: wchar_t
      - name: '*chars_ignore'
        type: unsigned short
      - name: letter_bits[256]
        type: unsigned char
      - name: letter_bits_offset
        type: int
      - name: '*letter_groups[8]'
        type: wchar_t
      - name: punct_to_tone[INTONATION_TYPES][PUNCT_INTONATIONS]
        type: unsigned char
      - name: '*data_dictrules'
        type: char
      - name: '*data_dictlist'
        type: char
      - name: '*dict_hashtab[N_HASH_DICT]'
        type: char
      - name: '*letterGroups[N_LETTER_GROUPS]'
        type: char
      - name: '*groups1[256]'
        type: char
      - name: '*groups3[128]'
        type: char
      - name: '*groups2[N_RULE_GROUP2]'
        type: char
      - name: groups2_name[N_RULE_GROUP2]
        type: unsigned int
      - name: n_groups2
        type: int
      - name: groups2_count[256]
        type: unsigned char
      - name: groups2_start[256]
        type: unsigned char
      - name: '*frequent_pairs'
        type: short
      - name: expect_verb
        type: int
      - name: expect_past
        type: int
      - name: expect_verb_s
        type: int
      - name: expect_noun
        type: int
      - name: prev_last_stress
        type: int
      - name: '*clause_end'
        type: char
      - name: word_vowel_count
        type: int
      - name: word_stressed_count
        type: int
      - name: clause_upper_count
        type: int
      - name: clause_lower_count
        type: int
      - name: prepause_timeout
        type: int
      - name: end_stressed_vowel
        type: int
      - name: prev_dict_flags[2]
        type: int
      - name: clause_terminator
        type: int
      item_type: struct
      name: Translator
      pos:
        line_end: 610
        line_start: 543
        source_file: /src/espeak-ng/src/libespeak-ng/translate.h
    typedefs: []
    union: []
- function_names:
  - ReadPhFile
  - LoadPhData
  - FreePhData
  - PhonemeCode
  - LookupPhonemeString
  - LookupSpect
  - GetEnvelope
  - SetUpPhonemeTable
  - SelectPhonemeTable
  - LookupPhonemeTable
  - SelectPhonemeTableName
  - InvalidInstn
  - StressCondition
  - CountVowelPosition
  - InterpretCondition
  - SwitchOnVowelType
  - NumInstnWords
  - InterpretPhoneme
  - InterpretPhoneme2
  source_file: /src/espeak-ng/src/libespeak-ng/synthdata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_RETURN
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/espeak-ng/src/libespeak-ng/synthdata.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - load_MBR
  - unload_MBR
  - err
  - create_pipes
  - close_pipes
  - start_mbrola
  - stop_mbrola
  - free_pending_data
  - mbrola_died
  - mbrola_has_errors
  - send_to_mbrola
  - mbrola_is_idle
  - mbrola_is_idle
  - receive_from_mbrola
  - init_mbrola
  - close_mbrola
  - reset_mbrola
  - read_mbrola
  - write_mbrola
  - flush_mbrola
  - getFreq_mbrola
  - setVolumeRatio_mbrola
  - lastErrorStr_mbrola
  - setNoError_mbrola
  - load_MBR
  - unload_MBR
  source_file: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
  types:
    enum:
    - enumerators:
      - name: MBR_INACTIVE
        value: '0'
      - name: MBR_NEWDATA
      - name: MBR_IDLE
      - name: MBR_AUDIO
      - name: MBR_WEDGED
      item_type: enum
      name: mbr_state
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct datablock
      - name: done
        type: int
      - name: size
        type: int
      - name: buffer[1]
        type: char
      item_type: struct
      name: datablock
      pos:
        line_end: 115
        line_start: 110
        source_file: /src/espeak-ng/src/libespeak-ng/mbrowrap.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/espeak-ng/src/libespeak-ng/numbers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - basename
  - espeak_ng_CompileMbrolaVoice
  source_file: /src/espeak-ng/src/libespeak-ng/compilembrola.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MAKE_MEM_UNDEFINED
  - MAKE_MEM_UNDEFINED
  - MAKE_MEM_UNDEFINED
  source_file: /src/espeak-ng/src/libespeak-ng/speech.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM_WINDOWS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: N_PATH_HOME_DEF
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: '230'
    - item_type: preproc_def
      name: PLATFORM_POSIX
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: '''/'''
    - item_type: preproc_def
      name: N_PATH_HOME_DEF
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: PATH_MAX
    - item_type: preproc_def
      name: N_PATH_HOME_DEF
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: '160'
    - item_type: preproc_def
      name: N_PATH_HOME
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: N_PATH_HOME_DEF
    - item_type: preproc_def
      name: PATH_ESPEAK_DATA
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/espeak-ng/src/libespeak-ng/speech.h
      type_or_value: ("%cespeak-ng-data", PATHSEP)
    structs: []
    typedefs: []
    union: []
