<mangled-name> ::= <template-prefix> @ <qualified-name> <sem-unq2f> <function-section> <sem-end>
<template-prefix> ::= 
<template-section> ::= % <name-element> $ t <sem-begintempl> <sem-beginbsub> <type> <type-more-template> %
<qualified-name> ::= <name-element> <name-element-more>
<name-element-more> ::= 
<name-element-more> ::= @ <name-element> <name-element-more>
<name-element> ::= @ <name-element> #double @ for __linksys__ - ignore that for now and just use qualified name
<name-element> ::= $ <op>
<name-element> ::= <template-section>
<name-element> ::= <name-char> <name-char-more>
<name-char-more> ::= <sem-storename> #no more characters in name, store the name
<name-char-more> ::= <name-char> <name-char-more>
<name-char> ::= <sem-addchartoname> _
<name-char> ::= <sem-addchartoname> a
<name-char> ::= <sem-addchartoname> b
<name-char> ::= <sem-addchartoname> c
<name-char> ::= <sem-addchartoname> d
<name-char> ::= <sem-addchartoname> e
<name-char> ::= <sem-addchartoname> f
<name-char> ::= <sem-addchartoname> g
<name-char> ::= <sem-addchartoname> h
<name-char> ::= <sem-addchartoname> i
<name-char> ::= <sem-addchartoname> j
<name-char> ::= <sem-addchartoname> k
<name-char> ::= <sem-addchartoname> l
<name-char> ::= <sem-addchartoname> m
<name-char> ::= <sem-addchartoname> n
<name-char> ::= <sem-addchartoname> o
<name-char> ::= <sem-addchartoname> p
<name-char> ::= <sem-addchartoname> q
<name-char> ::= <sem-addchartoname> r
<name-char> ::= <sem-addchartoname> s
<name-char> ::= <sem-addchartoname> t
<name-char> ::= <sem-addchartoname> u
<name-char> ::= <sem-addchartoname> v
<name-char> ::= <sem-addchartoname> w
<name-char> ::= <sem-addchartoname> x
<name-char> ::= <sem-addchartoname> y
<name-char> ::= <sem-addchartoname> z
<name-char> ::= <sem-addchartoname> A
<name-char> ::= <sem-addchartoname> B
<name-char> ::= <sem-addchartoname> C
<name-char> ::= <sem-addchartoname> D
<name-char> ::= <sem-addchartoname> E
<name-char> ::= <sem-addchartoname> F
<name-char> ::= <sem-addchartoname> G
<name-char> ::= <sem-addchartoname> H
<name-char> ::= <sem-addchartoname> I
<name-char> ::= <sem-addchartoname> J
<name-char> ::= <sem-addchartoname> K
<name-char> ::= <sem-addchartoname> L
<name-char> ::= <sem-addchartoname> M
<name-char> ::= <sem-addchartoname> N
<name-char> ::= <sem-addchartoname> O
<name-char> ::= <sem-addchartoname> P
<name-char> ::= <sem-addchartoname> Q
<name-char> ::= <sem-addchartoname> R
<name-char> ::= <sem-addchartoname> S
<name-char> ::= <sem-addchartoname> T
<name-char> ::= <sem-addchartoname> U
<name-char> ::= <sem-addchartoname> V
<name-char> ::= <sem-addchartoname> W
<name-char> ::= <sem-addchartoname> X
<name-char> ::= <sem-addchartoname> Y
<name-char> ::= <sem-addchartoname> Z
<name-char> ::= <sem-addchartoname> 0
<name-char> ::= <sem-addchartoname> 1
<name-char> ::= <sem-addchartoname> 2
<name-char> ::= <sem-addchartoname> 3
<name-char> ::= <sem-addchartoname> 4
<name-char> ::= <sem-addchartoname> 5
<name-char> ::= <sem-addchartoname> 6
<name-char> ::= <sem-addchartoname> 7
<name-char> ::= <sem-addchartoname> 8
<name-char> ::= <sem-addchartoname> 9
<function-section> ::= <sem-setnamex>
<function-section> ::= $ <const-vol> q <calling-convention> <parameters>
<const-vol> ::= 
<const-vol> ::= <sem-addmconst> x <const-vol>
<const-vol> ::= <sem-addmvol> w <const-vol>
<calling-convention> ::= 
<calling-convention> ::= <sem-setfpascal> Q
<calling-convention> ::= q <calling-convention-q>
<calling-convention-q> ::= <sem-setffortran> f
<calling-convention-q> ::= <sem-setfstdcall> s
<calling-convention-q> ::= <sem-setffastcall> r
<calling-convention-q> ::= <sem-setfinterrupt> i
<parameters> ::= <sem-beginbsub> <type> <type-more>
<type-more> ::= <sem-par2f>
<type-more> ::= <sem-storepar> <sem-beginbsub> <type> <type-more>
<type-more-template> ::= <sem-storetemplate>
<type-more-template> ::= <sem-storetemparg> <sem-beginbsub> <type> <type-more-template>
<type> ::= <sem-settypev> v #void
<type> ::= <sem-settypec> c #char
<type> ::= <sem-settypes> s #short int
<type> ::= <sem-settypei> i #int
<type> ::= <sem-settypex> j #__int64
<type> ::= <sem-settypel> l #long int
<type> ::= <sem-settypew> b #wchar_t
<type> ::= <sem-settypef> f #float
<type> ::= <sem-settyped> d #double
<type> ::= <sem-settypee> g #long double
<type> ::= <sem-settypeb> o #bool
<type> ::= z <type-z>
<type> ::= u <type-u>
<type> ::= x <sem-setconst> <type>
<type> ::= p <sem-setptr> <type>
<type> ::= w <sem-setvolatile> <type>
<type> ::= r <sem-setref> <type>
<type> ::= t <typesub>
<type> ::= a <array-number> $ <type>
<array-number> ::= <sem-borlandarr> <number>
<type> ::= <source-name>
<type-z> ::= <sem-settypea> c #signed char
<type-u> ::= <sem-settypeh> c #unsigned char
<type-u> ::= <sem-settypet> s #unsigned short int
<type-u> ::= <sem-settypej> i #unsigned int
<type-u> ::= <sem-settypem> l #unsigned long int
<typesub> ::= <sem-loadborlandsub> 1
<typesub> ::= <sem-loadborlandsub> 2
<typesub> ::= <sem-loadborlandsub> 3
<typesub> ::= <sem-loadborlandsub> 4
<typesub> ::= <sem-loadborlandsub> 5
<typesub> ::= <sem-loadborlandsub> 6
<typesub> ::= <sem-loadborlandsub> 7
<typesub> ::= <sem-loadborlandsub> 8
<typesub> ::= <sem-loadborlandsub> 9
<typesub> ::= <sem-loadborlandsub> a
<typesub> ::= <sem-loadborlandsub> b
<typesub> ::= <sem-loadborlandsub> c
<typesub> ::= <sem-loadborlandsub> d
<typesub> ::= <sem-loadborlandsub> e
<typesub> ::= <sem-loadborlandsub> f
<typesub> ::= <sem-loadborlandsub> g
<typesub> ::= <sem-loadborlandsub> h
<typesub> ::= <sem-loadborlandsub> i
<typesub> ::= <sem-loadborlandsub> j
<typesub> ::= <sem-loadborlandsub> k
<typesub> ::= <sem-loadborlandsub> l
<typesub> ::= <sem-loadborlandsub> m
<typesub> ::= <sem-loadborlandsub> n
<typesub> ::= <sem-loadborlandsub> o
<typesub> ::= <sem-loadborlandsub> p
<typesub> ::= <sem-loadborlandsub> q
<typesub> ::= <sem-loadborlandsub> r
<typesub> ::= <sem-loadborlandsub> s
<typesub> ::= <sem-loadborlandsub> t
<typesub> ::= <sem-loadborlandsub> u
<typesub> ::= <sem-loadborlandsub> v
<typesub> ::= <sem-loadborlandsub> w
<typesub> ::= <sem-loadborlandsub> x
<typesub> ::= <sem-loadborlandsub> y
<typesub> ::= <sem-loadborlandsub> z
<source-name> ::= <source-number>
<source-number> ::= <sem-borlandid> <number> <qualified-name> <sem-unq2p> | 
<number> ::= 0
<number> ::= 1
<number> ::= 2
<number> ::= 3
<number> ::= 4
<number> ::= 5
<number> ::= 6
<number> ::= 7
<number> ::= 8
<number> ::= 9
<op> ::= b <op-b>
<op-b> ::= a <op-ba>
<op-ba> ::= d <op-bad>
<op-bad> ::= <sem-setnameo> <sem-setoppl> d #operator +
<op-bad> ::= <sem-setnameo> <sem-setopad> r #operator & (unary)
<op-ba> ::= n <op-ban>
<op-ban> ::= <sem-setnameo> <sem-setopan> d #operator &
<op-ba> ::= r <op-bar>
<op-bar> ::= o <op-baro>
<op-baro> ::= <sem-setnameo> <sem-setoppt> w #operator ->
<op-bar> ::= w <op-barw>
<op-barw> ::= <sem-setnameo> <sem-setoppm> m #operator ->*
<op-ba> ::= s <op-bas>
<op-bas> ::= <sem-setnameo> <sem-setopass> g #operator =
<op-b> ::= c <op-bc>
<op-bc> ::= a <op-bca>
<op-bca> ::= l <op-bcal>
<op-bcal> ::= <sem-setnameo> <sem-setopcl> l #operator ()
<op-bc> ::= m <op-bcm>
<op-bcm> ::= <sem-setnameo> <sem-setopco> p #operator ~
<op-bc> ::= o <op-bco>
<op-bco> ::= m <op-bcom>
<op-bcom> ::= <sem-setnameo> <sem-setopcm> a #operator ,
<op-bc> ::= t <op-bct>
<op-bct> ::= <sem-setnamec> r #constructor
<op-b> ::= d <op-bd>
<op-bd> ::= e <op-bde>
<op-bde> ::= <sem-setnameo> <sem-setopmm> c #operator --
<op-bde> ::= l <op-bdel>
<op-bdel> ::= <sem-setnameo> <sem-setopdl> e #operator delete
<op-bd> ::= i <op-bdi>
<op-bdi> ::= <sem-setnameo> <sem-setopdv> v #operator /
<op-bd> ::= l <op-bdl>
<op-bdl> ::= <sem-setnameo> <sem-setopda> a #operator delete[]
<op-bd> ::= t <op-bdt>
<op-bdt> ::= <sem-setnamed> r #destructor
<op-b> ::= e <op-be>
<op-be> ::= q <op-beq>
<op-beq> ::= <sem-setnameo> <sem-setopeq> l #operator ==
<op-b> ::= g <op-bg>
<op-bg> ::= e <op-bge>
<op-bge> ::= <sem-setnameo> <sem-setopge> q #operator >=
<op-bg> ::= t <op-bgt>
<op-bgt> ::= <sem-setnameo> <sem-setopgt> r #operator >
<op-b> ::= i <op-bi>
<op-bi> ::= n <op-bin>
<op-bin> ::= <sem-setnameo> <sem-setoppp> c #operator ++
<op-bin> ::= <sem-setnameo> <sem-setopde> d #operator * (unary)
<op-b> ::= l <op-bl>
<op-bl> ::= a <op-bla>
<op-bla> ::= n <op-blan>
<op-blan> ::= <sem-setnameo> <sem-setopaa> d #operator &&
<op-bl> ::= e <op-ble>
<op-ble> ::= <sem-setnameo> <sem-setople> q #operator <=
<op-bl> ::= o <op-blo>
<op-blo> ::= <sem-setnameo> <sem-setopoo> r #operator ||
<op-bl> ::= s <op-bls>
<op-bls> ::= <sem-setnameo> <sem-setopls> h #operator <<
<op-bls> ::= <sem-setnameo> <sem-setoplt> s #operator <
<op-b> ::= m <op-bm>
<op-bm> ::= o <op-bmo>
<op-bmo> ::= <sem-setnameo> <sem-setoprm> d #operator %
<op-bm> ::= u <op-bmu>
<op-bmu> ::= <sem-setnameo> <sem-setopml> l #operator *
<op-b> ::= n <op-bn>
<op-bn> ::= e <op-bne>
<op-bne> ::= <sem-setnameo> <sem-setopne> q #operator !=
<op-bne> ::= <sem-setnameo> <sem-setopnw> w #operator new
<op-bn> ::= o <op-bno>
<op-bno> ::= <sem-setnameo> <sem-setopnt> t #operator !
<op-bn> ::= w <op-bnw>
<op-bnw> ::= <sem-setnameo> <sem-setopna> a #operator new[]
<op-b> ::= o <op-bo>
<op-bo> ::= <sem-setnameo> <sem-setopor> r #operator |
<op-b> ::= r <op-br>
<op-br> ::= a <op-bra>
<op-bra> ::= n <op-bran>
<op-bran> ::= <sem-setnameo> <sem-setopann> d #operator &=
<op-br> ::= d <op-brd>
<op-brd> ::= i <op-brdi>
<op-brdi> ::= <sem-setnameo> <sem-setopdvv> v #operator /=
<op-br> ::= l <op-brl>
<op-brl> ::= s <op-brls>
<op-brls> ::= <sem-setnameo> <sem-setoplss> h #operator <<=
<op-br> ::= m <op-brm>
<op-brm> ::= i <op-brmi>
<op-brmi> ::= <sem-setnameo> <sem-setopmii> n #operator -=
<op-brm> ::= o <op-brmo>
<op-brmo> ::= <sem-setnameo> <sem-setoprmm> d #operator %=
<op-brm> ::= u <op-brmu>
<op-brmu> ::= <sem-setnameo> <sem-setopmll> l #operator *=
<op-br> ::= o <op-bro>
<op-bro> ::= <sem-setnameo> <sem-setoporr> r #operator |=
<op-br> ::= p <op-brp>
<op-brp> ::= l <op-brpl>
<op-brpl> ::= <sem-setnameo> <sem-setoppll> u #operator +=
<op-br> ::= r <op-brr>
<op-brr> ::= s <op-brrs>
<op-brrs> ::= <sem-setnameo> <sem-setoprss> h #operator >>=
<op-br> ::= s <op-brs>
<op-brs> ::= <sem-setnameo> <sem-setoprs> h #operator >>
<op-br> ::= x <op-brx>
<op-brx> ::= o <op-brxo>
<op-brxo> ::= <sem-setnameo> <sem-setopeoo> r #operator ^=
<op-b> ::= s <op-bs>
<op-bs> ::= u <op-bsu>
<op-bsu> ::= b <op-bsub>
<op-bsub> ::= <sem-setnameo> <sem-setopmi> #operator -
<op-bsub> ::= <sem-setnameo> <sem-setopix> s #operator []
<op-b> ::= x <op-bx>
<op-bx> ::= o <op-bxo>
<op-bxo> ::= <sem-setnameo> <sem-setopeo> r #operator ^
<sem-addchartoname> ::= 
<sem-storename> ::= 
<sem-loadid> ::= 
<sem-loadarr> ::= 
<sem-ssno> ::= 
<sem-ssnest> ::= 
<sem-stunq> ::= 
<sem-loadtsub> ::= 
<sem-type2expr> ::= 
<sem-exprval> ::= 
<sem-beginexpr> ::= 
<sem-storeexpr> ::= 
<sem-copyexpr> ::= 
<sem-storepar> ::= 
<sem-begintempl> ::= 
<sem-skiptempl> ::= 
<sem-storetemparg> ::= 
<sem-storetemplate> ::= 
<sem-setnametf> ::= 
<sem-par2f> ::= 
<sem-unq2f> ::= 
<sem-unq2p> ::= 
<sem-setnamex> ::= 
<sem-setnameo> ::= 
<sem-par2spec> ::= 
<sem-par2ret> ::=
<sem-settypev> ::= 
<sem-settypew> ::= 
<sem-settypeb> ::= 
<sem-settypec> ::= 
<sem-settypea> ::= 
<sem-settypeh> ::= 
<sem-settypes> ::= 
<sem-settypet> ::= 
<sem-settypei> ::= 
<sem-settypej> ::= 
<sem-settypel> ::= 
<sem-settypem> ::= 
<sem-settypex> ::= 
<sem-settypey> ::= 
<sem-settypen> ::= 
<sem-settypeo> ::= 
<sem-settypef> ::= 
<sem-settyped> ::= 
<sem-settypee> ::= 
<sem-settypeg> ::= 
<sem-settypez> ::= 
<sem-setrestrict> ::= 
<sem-setvolatile> ::= 
<sem-setconst> ::= 
<sem-setptr> ::= 
<sem-setref> ::= 
<sem-setrval> ::= 
<sem-setcpair> ::= 
<sem-setim> ::= 
<sem-substd> ::= 
<sem-subalc> ::= 
<sem-substr> ::= 
<sem-substrs> ::= 
<sem-subistr> ::= 
<sem-subostr> ::= 
<sem-subiostr> ::= 
<sem-loadsub> ::= 
<sem-setnamec> ::= 
<sem-setnamed> ::= 
<sem-setopnw> ::= 
<sem-setopna> ::= 
<sem-setopdl> ::= 
<sem-setopda> ::= 
<sem-setopps> ::= 
<sem-setopng> ::= 
<sem-setopad> ::= 
<sem-setopde> ::= 
<sem-setopco> ::= 
<sem-setoppl> ::= 
<sem-setopmi> ::= 
<sem-setopml> ::= 
<sem-setopdv> ::= 
<sem-setoprm> ::= 
<sem-setopan> ::= 
<sem-setopor> ::= 
<sem-setopeo> ::= 
<sem-setopass> ::= 
<sem-setoppll> ::= 
<sem-setopmii> ::= 
<sem-setopmll> ::= 
<sem-setopdvv> ::= 
<sem-setoprmm> ::= 
<sem-setopann> ::= 
<sem-setoporr> ::= 
<sem-setopeoo> ::= 
<sem-setopls> ::= 
<sem-setoprs> ::= 
<sem-setoplss> ::= 
<sem-setoprss> ::= 
<sem-setopeq> ::= 
<sem-setopne> ::= 
<sem-setoplt> ::= 
<sem-setopgt> ::= 
<sem-setople> ::= 
<sem-setopnt> ::= 
<sem-setopaa> ::= 
<sem-setopoo> ::= 
<sem-setoppp> ::= 
<sem-setopmm> ::= 
<sem-setopcm> ::= 
<sem-setoppm> ::= 
<sem-setoppt> ::= 
<sem-setopcl> ::= 
<sem-setopix> ::= 
<sem-setopge> ::=
<sem-setopqu> ::= 
<sem-setopst> ::= 
<sem-setopsz> ::= 
<sem-setopat> ::= 
<sem-setopaz> ::= 
<sem-setopcv> ::= 
<sem-setopxx> ::= 
<sem-setnamef> ::= 
<sem-setnamevt> ::= 
<sem-reversename> ::= 
<sem-setprivate> ::= 
<sem-setpublic> ::= 
<sem-setprotected> ::= 
<sem-setfcdecl> ::= 
<sem-setfpascal> ::= 
<sem-setffortran> ::= 
<sem-setfthiscall> ::= 
<sem-setfstdcall> ::= 
<sem-setffastcall> ::= 
<sem-setfinterrupt> ::= 
<sem-setunion> ::= 
<sem-setstruct> ::= 
<sem-setclass> ::= 
<sem-setenum> ::= 
<sem-setstatic> ::= 
<sem-setvirtual> ::= 
<sem-stclconst> ::= 
<sem-stclvol> ::= 
<sem-stclfar> ::= 
<sem-stclhuge> ::= 
<sem-savenamesub> ::= 
<sem-loadnamesub> ::= 
<sem-mstemplsub> ::= 
<sem-setnamer0> ::= 
<sem-setnamer1> ::= 
<sem-setnamer2> ::= 
<sem-setnamer3> ::= 
<sem-setnamer4> ::= 
<sem-setname_a> ::= 
<sem-setname_b> ::= 
<sem-setname_c> ::= 
<sem-setname_d> ::= 
<sem-setname_e> ::= 
<sem-setname_f> ::= 
<sem-setname_g> ::= 
<sem-setname_h> ::= 
<sem-setname_i> ::= 
<sem-setname_j> ::= 
<sem-setname_k> ::= 
<sem-setname_l> ::= 
<sem-setname_m> ::= 
<sem-setname_n> ::= 
<sem-setname_o> ::= 
<sem-setname_p> ::= 
<sem-setname_q> ::= 
<sem-setname_r> ::= 
<sem-setname_s> ::= 
<sem-setname_t> ::= 
<sem-setname_u> ::= 
<sem-setname_v> ::= 
<sem-setname_w> ::= 
<sem-setname_x> ::= 
<sem-setname_y> ::= 
<sem-setname_z> ::= 
<sem-templ2tftpl> ::= 
<sem-beginbsub> ::= #begin built-in substitution
<sem-loadbsub> ::= 
<sem-addmconst> ::= 
<sem-addmvol> ::= 
<sem-addmfar> ::= 
<sem-addmhuge> ::= 
<sem-loadmsnum> ::= 
<sem-numtorttibcd> ::= 
<sem-numtotype> ::= 
<sem-normalizeparname> ::= 
<sem-borlandid> ::= 
<sem-loadborlandsub> ::=
<sem-borlandarr> ::=
<sem-end> ::= 