public void ReadHeader(DfmObject dfmObject) { _dfmLexer.CheckToken(DfmTokens.Symbol); var className = _dfmLexer.TokenString(); var objectName = string.Empty; if (_dfmLexer.NextToken() == ':') { _dfmLexer.NextToken(); _dfmLexer.CheckToken(DfmTokens.Symbol); objectName = className; className = _dfmLexer.TokenString(); _dfmLexer.NextToken(); } if (_dfmLexer.Token == '[') { _dfmLexer.NextTokenUntil(']'); _dfmLexer.NextToken(); } dfmObject.ClassName = className; dfmObject.ObjectName = objectName; }
public DfmObject ReadObject() { var result = new DfmObject(); // Inherited, Inline, Object _dfmLexer.CheckToken(DfmTokens.Symbol); _dfmLexer.NextToken(); ReadHeader(result); while (!_dfmLexer.TokenSymbolIs("END") && !_dfmLexer.TokenSymbolIs("OBJECT") && !_dfmLexer.TokenSymbolIs("INHERITED") && !_dfmLexer.TokenSymbolIs("INLINE")) { result.Properties.Add(ReadProperty()); } while (!_dfmLexer.TokenSymbolIs("END")) { result.Children.Add(ReadObject()); } _dfmLexer.NextToken(); return(result); }