using System; using System.Collections.Generic; using System.Text.RegularExpressions; namespace Generator { partial class CodeParser { public class Class { public string Name; public class Function { public string Name; public Dictionary Arguments = new Dictionary(); public string ReturnType; public string CallResult; } public List Functions = new List(); internal Function AddFunction( string funcName, string returnType, string args ) { var f = new Function { Name = funcName, ReturnType = returnType }; foreach ( var arg in args.Split( new[] { ',' }, StringSplitOptions.RemoveEmptyEntries ) ) { var m = Regex.Match( arg.Trim(), @"(.+?[ |\*])?([a-zA-Z0-9_]+?)( = (.+?))?$" ); var t = m.Groups[1].Value.Trim(); var n = m.Groups[2].Value.Trim(); f.Arguments.Add( n, t ); } Functions.Add( f ); return f; } } } }