private void TranslateParenthesisContent(TranslationData data, TempDataBlock dataBlock) { TranslationDataIterator iterator = data.GetIterator(); Token token; int level = 0; while (iterator.Next(out token)) { var segment = new TempDataSegment(); switch (token.Term.Type) { case TermType.IdentifierKey: { segment.Key = (int)this.GetTermKey(token); break; } case TermType.Key: { JavaTermKey key = this.GetTermKey(token); segment.Key = (int)key; switch (key) { case JavaTermKey.ParenthesisLeft: { level++; break; } case JavaTermKey.ParenthesisRight: { level--; if (level <= 0) { return; } break; } } break; } } if (segment.Key == null) { segment.Contents = token.Contents; } dataBlock.AddContent(segment); } }
private void TranslateStatementContent(TranslationData data, TempDataBlock dataBlock) { TranslationDataIterator iterator = data.GetIterator(); Token token; while (iterator.Next(out token)) { var segment = new TempDataSegment(); switch (token.Term.Type) { case TermType.IdentifierKey: { segment.Key = (int)this.GetTermKey(token); break; } case TermType.Key: { JavaTermKey key = this.GetTermKey(token); segment.Key = (int)key; switch (key) { case JavaTermKey.Semicolon: { return; } } break; } } if (segment.Key == null) { segment.Contents = token.Contents; } dataBlock.AddContent(segment); } }
private void TranslateBraceContent(TranslationData data, TempDataBlock dataBlock) { TranslationDataIterator iterator = data.GetIterator(); Token token; while (iterator.Next(out token)) { var segment = new TempDataSegment(); switch (token.Term.Type) { case TermType.IdentifierKey: { segment.Key = (int)this.GetTermKey(token); break; } case TermType.Key: { JavaTermKey key = this.GetTermKey(token); segment.Key = (int)key; switch (key) { case JavaTermKey.BraceLeft: { segment.Key = null; segment.BlockContents = new TempDataBlock(); this.TranslateBraceContent(data, segment.BlockContents); dataBlock.AddContent(segment); continue; } case JavaTermKey.BraceRight: { return; } } break; } } // Only need the content if we don't know what this token is if (segment.Key == null) { segment.Contents = token.Contents; } dataBlock.AddContent(segment); } }