match(pattern, source) in C

An example match(pattern, source) function written in C. It works like
FASM's match except that it uses the rarest ` symbol for literal match
("`name"), and =, are not special. Example:
[code]
[/code]

See attachment > MATCH.C/H. *.BAT requires TinyCC to compile and run.
Download TinyCC + Notepad (4mb): https://github.com/starpow3r/tcc
Click [<> Code] > Download .ZIP. Setup: Just copy /TCC/ folder to C:/.
Target: C:/TCC/TCC.EXE.

Any improvements, bug reports, or comments are welcome.

Example:
[code][/code]

Output:
[code][/code]

Helper code: #defines, typedefs, text, conversions.
[code][/code]

Is character of type?
[code][/code]

Get token from source, and advance: Return 0 if end: source=0,
*source=0, return, end of line, or if an error occurs. If success,
return token_type = T_NAME, T_NUMBER, T_SYMBOL.
[code][/code]

Match structure and array. 8 maximum. 1k each.
[code][/code]

Match function. Return 0 if no match. If success, return 1, and
matches[] contains the names and values.
[code][/code]