diff options
author | Oleh Prypin <oleh@pryp.in> | 2021-01-20 10:48:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-20 10:48:45 +0100 |
commit | 6f4309217326430145564ae8b1bb393ea684f39f (patch) | |
tree | bf4025a5e709426dc927c4afc4fd2286f8450ed9 /tests/examplefiles/cpp/example.cpp.output | |
parent | f0445be718da83541ea3401aad882f3937147263 (diff) | |
download | pygments-git-6f4309217326430145564ae8b1bb393ea684f39f.tar.gz |
Also add auto-updatable output-based tests to examplefiles (#1689)
Co-authored-by: Georg Brandl <georg@python.org>
Diffstat (limited to 'tests/examplefiles/cpp/example.cpp.output')
-rw-r--r-- | tests/examplefiles/cpp/example.cpp.output | 17571 |
1 files changed, 17571 insertions, 0 deletions
diff --git a/tests/examplefiles/cpp/example.cpp.output b/tests/examplefiles/cpp/example.cpp.output new file mode 100644 index 00000000..2d6615f3 --- /dev/null +++ b/tests/examplefiles/cpp/example.cpp.output @@ -0,0 +1,17571 @@ +'/***************************************************************************\n ansigenerator.cpp - description\n -------------------\n begin : Jul 5 2004\n copyright : (C) 2004 by André Simon\n email : andre.simon1@gmx.de\n ***************************************************************************/' Comment.Multiline +'\n' Text + +'\n' Text + +'/***************************************************************************\n * *\n * This program is free software; you can redistribute it and/or modify *\n * it under the terms of the GNU General Public License as published by *\n * the Free Software Foundation; either version 2 of the License, or *\n * (at your option) any later version. *\n * *\n ***************************************************************************/' Comment.Multiline +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"ansigenerator.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'using' Keyword +' ' Text +'namespace' Keyword +' ' Text +'std' Name +';' Punctuation +'\n' Text + +'\n' Text + +'namespace' Keyword +' ' Text +'highlight' Name +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'string' Name +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'getOpenTag' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +'&' Operator +'font' Name +',' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +'&' Operator +'fgCol' Name +',' Punctuation +' ' Text +'const' Keyword +' ' Text +'string' Name +'&' Operator +'bgCol' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'ostringstream' Name +' ' Text +'s' Name +';' Punctuation +'\n' Text + +' ' Text +'s' Name +' ' Text +'<' Operator +'<' Operator +' ' Text +'"' Literal.String +'\\033' Literal.String.Escape +'[' Literal.String +'"' Literal.String +'<' Operator +'<' Operator +'font' Name +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'fgCol' Name +'.' Punctuation +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'s' Name +'<' Operator +'<' Operator +'"' Literal.String +';' Literal.String +'"' Literal.String +'<' Operator +'<' Operator +'fgCol' Name +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'bgCol' Name +'.' Punctuation +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'s' Name +'<' Operator +'<' Operator +'"' Literal.String +';' Literal.String +'"' Literal.String +'<' Operator +'<' Operator +'bgCol' Name +';' Punctuation +'\n' Text + +' ' Text +'s' Name +' ' Text +'<' Operator +'<' Operator +' ' Text +'"' Literal.String +'m' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'s' Name +'.' Punctuation +'str' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'AnsiGenerator' Name +':' Operator +':' Operator +'AnsiGenerator' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'colourTheme' Name +')' Punctuation +'\n' Text + +' ' Text +':' Operator +' ' Text +'CodeGenerator' Name +'(' Punctuation +'colourTheme' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'"' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'31' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +' ' Text +'//str\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'34' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//number\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'34' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//sl comment\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'34' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//ml comment\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'35' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//escapeChar\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'35' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//directive\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'01' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'31' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//directive string\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'30' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//linenum\n' Comment.Single + +' ' Text +'styleTagOpen' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'01' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'00' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'//symbol\n' Comment.Single + +'\n' Text + +' ' Text +'styleTagClose' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'"' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'int' Keyword.Type +' ' Text +'i' Name +'=' Operator +'1' Literal.Number.Integer +';' Punctuation +'i' Name +'<' Operator +'NUMBER_BUILTIN_STYLES' Name +';' Punctuation +' ' Text +'i' Name +'+' Operator +'+' Operator +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'styleTagClose' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'"' Literal.String +'\\033' Literal.String.Escape +'[m' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'newLineTag' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'\\n' Literal.String.Escape +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'spacer' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +' ' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'AnsiGenerator' Name +':' Operator +':' Operator +'AnsiGenerator' Name +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'AnsiGenerator' Name +':' Operator +':' Operator +'~' Operator +'AnsiGenerator' Name +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text + +'\n' Text + +'string' Name +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'getHeader' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +' ' Text +'title' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'string' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'void' Keyword.Type +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'printBody' Name +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'processRootState' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'string' Name +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'getFooter' Name +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'string' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'string' Name +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'maskCharacter' Name +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'char' Keyword.Type +' ' Text +'c' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'m' Name +';' Punctuation +'\n' Text + +' ' Text +'m' Name +'+' Operator +'=' Operator +'c' Name +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'m' Name +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'string' Name +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'getMatchingOpenTag' Name +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'styleID' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'styleID' Name +')' Punctuation +'?' Operator +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'01' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'32' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'"' Literal.String +')' Punctuation +':' Operator +'getOpenTag' Name +'(' Punctuation +'"' Literal.String +'00' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'33' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'string' Name +' ' Text +'AnsiGenerator' Name +':' Operator +':' Operator +'getMatchingCloseTag' Name +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'styleID' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'"' Literal.String +'\\033' Literal.String.Escape +'[m' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'}' Punctuation +'\n' Text + +'/***************************************************************************\n ansicode.h - description\n -------------------\n begin : Jul 5 2004\n copyright : (C) 2004 by Andre Simon\n email : andre.simon1@gmx.de\n ***************************************************************************/' Comment.Multiline +'\n' Text + +'\n' Text + +'/***************************************************************************\n * *\n * This program is free software; you can redistribute it and/or modify *\n * it under the terms of the GNU General Public License as published by *\n * the Free Software Foundation; either version 2 of the License, or *\n * (at your option) any later version. *\n * *\n ***************************************************************************/' Comment.Multiline +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'ifndef ANSIGENERATOR_H' Comment.Preproc +'\n' Comment.Preproc + +'#' Comment.Preproc +'define ANSIGENERATOR_H' Comment.Preproc +'\n' Comment.Preproc + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<iostream>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<fstream>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<string>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<sstream>' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"codegenerator.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"charcodes.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"version.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'namespace' Keyword +' ' Text +'highlight' Name +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +'/**\n \\brief This class generates ANSI escape sequences.\n\n It contains information about the resulting document structure (document\n header and footer), the colour system, white space handling and text\n formatting attributes.\n\n* @author Andre Simon\n*/' Comment.Multiline +'\n' Text + +'\n' Text + +'class' Keyword +' ' Text +'AnsiGenerator' Name.Class +' ' Text +':' Operator +' ' Text +'public' Keyword +' ' Text +'highlight' Name +':' Operator +':' Operator +'CodeGenerator' Name +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'public' Keyword +':' Operator +'\n' Text + +'\n' Text + +' ' Text +'/** Constructor\n \\param colourTheme Name of Colour theme to use\n */' Comment.Multiline +'\n' Text + +' ' Text +'AnsiGenerator' Name +'(' Punctuation +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'colourTheme' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'AnsiGenerator' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'~' Operator +'AnsiGenerator' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/** prints document header\n \\param title Title of the document\n */' Comment.Multiline +'\n' Text + +' ' Text +'string' Name +' ' Text +'getHeader' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +' ' Text +'title' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/** Prints document footer*/' Comment.Multiline +'\n' Text + +' ' Text +'string' Name +' ' Text +'getFooter' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/** Prints document body*/' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'printBody' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'private' Keyword +':' Operator +'\n' Text + +'\n' Text + +' ' Text +'/** \\return escaped character*/' Comment.Multiline +'\n' Text + +' ' Text +'virtual' Keyword +' ' Text +'string' Name +' ' Text +'maskCharacter' Name +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'char' Keyword.Type +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'/** gibt ANSI-"Tags" zurueck (Farbindex+bold+kursiv)*/' Comment.Multiline +'\n' Text + +' ' Text +'string' Name +' ' Text +'getOpenTag' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +'&' Operator +'font' Name +',' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +'&' Operator +'fgCol' Name +',' Punctuation +' ' Text +'const' Keyword +' ' Text +'string' Name +'&' Operator +'bgCol' Name +'=' Operator +'"' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'string' Name +' ' Text +'getMatchingOpenTag' Name.Function +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'styleID' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'getMatchingCloseTag' Name.Function +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'styleID' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'}' Punctuation +'\n' Text + +'#' Comment.Preproc +'endif' Comment.Preproc +'\n' Comment.Preproc + +'/*\n * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved.\n *\n * ASBeautifier.cpp\n * by Tal Davidson (davidsont@bigfoot.com)\n * This file is a part of "Artistic Style" - an indentater and reformatter\n * of C, C, C# and Java source files.\n *\n * The "Artistic Style" project, including all files needed to compile it,\n * is free software; you can redistribute it and/or use it and/or modify it\n * under the terms of the GNU General Public License as published \n * by the Free Software Foundation; either version 2 of the License, \n * or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n * You should have received a copy of the GNU General Public\n * License along with this program.\n *\n * Patches:\n * 18 March 1999 - Brian Rampel -\n * Fixed inverse insertion of spaces vs. tabs when in -t mode.\n * 08 may 2004 \n * applied ASBeautifier.cpp.BITFIELD.patch.bz2\n */' Comment.Multiline +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"compiler_defines.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"ASBeautifier.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<vector>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<string>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<cctype>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<algorithm>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<iostream>' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'define INIT_CONTAINER(container, value) {if ( (container) != NULL ) delete (container); (container) = (value); }' Comment.Preproc +'\n' Comment.Preproc + +'#' Comment.Preproc +'define DELETE_CONTAINER(container) {if ( (container) != NULL ) delete (container) ; }' Comment.Preproc +'\n' Comment.Preproc + +'\n' Text + +'#' Comment.Preproc +'ifdef USES_NAMESPACE' Comment.Preproc +'\n' Comment.Preproc + +'using' Keyword +' ' Text +'namespace' Keyword +' ' Text +'std' Name +';' Punctuation +'\n' Text + +'#' Comment.Preproc +'endif' Comment.Preproc +'\n' Comment.Preproc + +'\n' Text + +'\n' Text + +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'ifdef USES_NAMESPACE' Comment.Preproc +'\n' Comment.Preproc + +'namespace' Keyword +' ' Text +'astyle' Name +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +'#' Comment.Preproc +'endif' Comment.Preproc +'\n' Comment.Preproc + +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'calledInitStatic' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'headers' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'nonParenHeaders' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'preBlockStatements' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'assignmentOperators' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'nonAssignmentOperators' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/*\n * initialize the static vars\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'initStatic' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'calledInitStatic' Name +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'calledInitStatic' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_IF' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_ELSE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_FOR' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_WHILE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_DO' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_TRY' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CATCH' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_FINALLY' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_SYNCHRONIZED' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_SWITCH' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CASE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_DEFAULT' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_FOREACH' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_LOCK' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_UNSAFE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_FIXED' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GET' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_SET' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_ADD' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_REMOVE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'//headers.push_back(&AS_PUBLIC);\n' Comment.Single + +' ' Text +'//headers.push_back(&AS_PRIVATE);\n' Comment.Single + +' ' Text +'//headers.push_back(&AS_PROTECTED);\n' Comment.Single + +'\n' Text + +' ' Text +'//headers.push_back(&AS_OPERATOR);\n' Comment.Single + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_TEMPLATE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CONST' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'/**/' Comment.Multiline +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_STATIC' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headers' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_EXTERN' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_ELSE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_DO' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_TRY' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_FINALLY' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_STATIC' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CONST' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_EXTERN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CASE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_DEFAULT' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_UNSAFE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GET' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_SET' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_ADD' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_REMOVE' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_PUBLIC' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_PRIVATE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_PROTECTED' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_TEMPLATE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CONST' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'/// nonParenHeaders.push_back(&AS_ASM);\n' Comment.Single + +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_CLASS' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_STRUCT' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_UNION' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_INTERFACE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_NAMESPACE' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_THROWS' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'preBlockStatements' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_EXTERN' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_PLUS_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_MINUS_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_MULT_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_DIV_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_MOD_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_OR_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_AND_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_XOR_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GR_GR_GR_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GR_GR_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_LS_LS_LS_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_LS_LS_ASSIGN' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'assignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_RETURN' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_EQUAL' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_PLUS_PLUS' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_MINUS_MINUS' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_NOT_EQUAL' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GR_EQUAL' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GR_GR_GR' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_GR_GR' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_LS_EQUAL' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_LS_LS_LS' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_LS_LS' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_ARROW' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_AND' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'nonAssignmentOperators' Name +'.' Punctuation +'push_back' Name +'(' Punctuation +'&' Operator +'AS_OR' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"/**\n * ASBeautifier's constructor\n */" Comment.Multiline +'\n' Text + +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'ASBeautifier' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'initStatic' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'waitingBeautifierStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStackLengthStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStackLengthStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'headerStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'tempStacks' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'blockParenDepthStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'blockStatementStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'parenStatementStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bracketBlockStateStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'parenIndentStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'sourceIterator' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'isMinimalConditinalIndentSet' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'shouldForceTabIndentation' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'setSpaceIndentation' Name +'(' Punctuation +'4' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setMaxInStatementIndentLength' Name +'(' Punctuation +'40' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setClassIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setSwitchIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setCaseIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setBlockIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setBracketIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setNamespaceIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setLabelIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setEmptyLineFill' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setCStyle' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'setPreprocessorIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'ASBeautifier' Name +'(' Punctuation +'const' Keyword +' ' Text +'ASBeautifier' Name +' ' Text +'&' Operator +'other' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStackLengthStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStackLengthStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'headerStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'headerStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'headerStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'tempStacks' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +'*' Operator +' ' Text +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +'*' Operator +' ' Text +'>' Operator +':' Operator +':' Operator +'iterator' Name +' ' Text +'iter' Name +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'iter' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'tempStacks' Name +'-' Operator +'>' Operator +'begin' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'iter' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'tempStacks' Name +'-' Operator +'>' Operator +'end' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'iter' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'*' Operator +'newVec' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'newVec' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'*' Operator +'iter' Name +';' Punctuation +'\n' Text + +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'newVec' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'blockParenDepthStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'blockParenDepthStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'blockParenDepthStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'blockStatementStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'blockStatementStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'blockStatementStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'parenStatementStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'parenStatementStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'parenStatementStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'bracketBlockStateStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'bracketBlockStateStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'bracketBlockStateStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndentStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'inStatementIndentStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'inStatementIndentStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'inStatementIndentStackSizeStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'inStatementIndentStackSizeStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'parenIndentStack' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +';' Punctuation +'\n' Text + +' ' Text +'*' Operator +'parenIndentStack' Name +' ' Text +'=' Operator +' ' Text +'*' Operator +'other' Name +'.' Punctuation +'parenIndentStack' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'sourceIterator' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'sourceIterator' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'indentString' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'indentString' Name +';' Punctuation +'\n' Text + +' ' Text +'currentHeader' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'currentHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'previousLastLineHeader' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'previousLastLineHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'immediatelyPreviousAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'immediatelyPreviousAssignmentOp' Name +';' Punctuation +'\n' Text + +' ' Text +'isInQuote' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInQuote' Name +';' Punctuation +'\n' Text + +' ' Text +'isInComment' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInComment' Name +';' Punctuation +'\n' Text + +' ' Text +'isInCase' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInCase' Name +';' Punctuation +'\n' Text + +' ' Text +'isInQuestion' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInQuestion' Name +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +'other' Name +'.' Punctuation +' ' Text +'isInStatement' Name +';' Punctuation +'\n' Text + +' ' Text +'isInHeader' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'isCStyle' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isCStyle' Name +';' Punctuation +'\n' Text + +' ' Text +'isInOperator' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInOperator' Name +';' Punctuation +'\n' Text + +' ' Text +'isInTemplate' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInTemplate' Name +';' Punctuation +'\n' Text + +' ' Text +'isInConst' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInConst' Name +';' Punctuation +'\n' Text + +' ' Text +'classIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'classIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInClassHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'isInClassHeaderTab' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInClassHeaderTab' Name +';' Punctuation +'\n' Text + +' ' Text +'switchIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'switchIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'caseIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'caseIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'namespaceIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'namespaceIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bracketIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'bracketIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'blockIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'blockIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'labelIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'labelIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'preprocessorIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'preprocessorIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'parenDepth' Name +';' Punctuation +'\n' Text + +' ' Text +'indentLength' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'indentLength' Name +';' Punctuation +'\n' Text + +' ' Text +'blockTabCount' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'blockTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'leadingWhiteSpaces' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'leadingWhiteSpaces' Name +';' Punctuation +'\n' Text + +' ' Text +'maxInStatementIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'maxInStatementIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'templateDepth' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'templateDepth' Name +';' Punctuation +'\n' Text + +' ' Text +'quoteChar' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'quoteChar' Name +';' Punctuation +'\n' Text + +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'prevNonSpaceCh' Name +';' Punctuation +'\n' Text + +' ' Text +'currentNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'currentNonSpaceCh' Name +';' Punctuation +'\n' Text + +' ' Text +'currentNonLegalCh' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'currentNonLegalCh' Name +';' Punctuation +'\n' Text + +' ' Text +'prevNonLegalCh' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'prevNonLegalCh' Name +';' Punctuation +'\n' Text + +' ' Text +'isInConditional' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInConditional' Name +';' Punctuation +'\n' Text + +' ' Text +'minConditionalIndent' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'minConditionalIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'prevFinalLineSpaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'prevFinalLineSpaceTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'prevFinalLineTabCount' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'prevFinalLineTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'emptyLineFill' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'emptyLineFill' Name +';' Punctuation +'\n' Text + +' ' Text +'probationHeader' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'probationHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'isInDefine' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInDefine' Name +';' Punctuation +'\n' Text + +' ' Text +'isInDefineDefinition' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'isInDefineDefinition' Name +';' Punctuation +'\n' Text + +' ' Text +'backslashEndsPrevLine' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'backslashEndsPrevLine' Name +';' Punctuation +'\n' Text + +' ' Text +'defineTabCount' Name +' ' Text +'=' Operator +' ' Text +'other' Name +'.' Punctuation +'defineTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"/**\n * ASBeautifier's destructor\n */" Comment.Multiline +'\n' Text + +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'~' Operator +'ASBeautifier' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'headerStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'tempStacks' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'blockParenDepthStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'blockStatementStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'parenStatementStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'bracketBlockStateStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'inStatementIndentStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'inStatementIndentStackSizeStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'DELETE_CONTAINER' Name +'(' Punctuation +' ' Text +'parenIndentStack' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// DELETE_CONTAINER( sourceIterator );\n' Comment.Single + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"/**\n * initialize the ASBeautifier.\n *\n * init() should be called every time a ABeautifier object is to start\n * beautifying a NEW source file.\n * init() recieves a pointer to a DYNAMICALLY CREATED ASSourceIterator object\n * that will be used to iterate through the source code. This object will be\n * deleted during the ASBeautifier's destruction, and thus should not be\n * deleted elsewhere.\n *\n * @param iter a pointer to the DYNAMICALLY CREATED ASSourceIterator object.\n */" Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'init' Name +'(' Punctuation +'ASSourceIterator' Name +' ' Text +'*' Operator +'iter' Name +')' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'sourceIterator' Name +' ' Text +'=' Operator +' ' Text +'iter' Name +';' Punctuation +'\n' Text + +' ' Text +'init' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * initialize the ASBeautifier.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'init' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'waitingBeautifierStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'ASBeautifier' Name +'*' Operator +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'activeBeautifierStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'ASBeautifier' Name +'*' Operator +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'waitingBeautifierStackLengthStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'activeBeautifierStackLengthStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'headerStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'tempStacks' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +'*' Operator +' ' Text +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'blockParenDepthStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'blockStatementStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'parenStatementStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'bracketBlockStateStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'bracketBlockStateStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'true' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'inStatementIndentStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'inStatementIndentStackSizeStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'INIT_CONTAINER' Name +'(' Punctuation +' ' Text +'parenIndentStack' Name +',' Punctuation +' ' Text +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'immediatelyPreviousAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'previousLastLineHeader' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'isInQuote' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInComment' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInCase' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInQuestion' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInClassHeaderTab' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInOperator' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInTemplate' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInConst' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInConditional' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'templateDepth' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'blockTabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'leadingWhiteSpaces' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'currentNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'prevNonLegalCh' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'currentNonLegalCh' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'prevFinalLineSpaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'prevFinalLineTabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'probationHeader' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'backslashEndsPrevLine' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInDefine' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInDefineDefinition' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'defineTabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set indentation style to ANSI C/C++. \n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setCStyle' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isCStyle' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set indentation style to Java / K&R. \n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setJavaStyle' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isCStyle' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * indent using one tab per indentation\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setTabIndentation' Name +'(' Punctuation +'int' Keyword.Type +' ' Text +'length' Name +',' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'forceTabs' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'indentString' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'\\t' Literal.String.Escape +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'indentLength' Name +' ' Text +'=' Operator +' ' Text +'length' Name +';' Punctuation +'\n' Text + +' ' Text +'shouldForceTabIndentation' Name +' ' Text +'=' Operator +' ' Text +'forceTabs' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isMinimalConditinalIndentSet' Name +')' Punctuation +'\n' Text + +' ' Text +'minConditionalIndent' Name +' ' Text +'=' Operator +' ' Text +'indentLength' Name +' ' Text +'*' Operator +' ' Text +'2' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n \n * indent using a number of spaces per indentation.\n *\n * @param length number of spaces per indent.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setSpaceIndentation' Name +'(' Punctuation +'int' Keyword.Type +' ' Text +'length' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'indentString' Name +'=' Operator +'string' Name +'(' Punctuation +'length' Name +',' Punctuation +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'indentLength' Name +' ' Text +'=' Operator +' ' Text +'length' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isMinimalConditinalIndentSet' Name +')' Punctuation +'\n' Text + +' ' Text +'minConditionalIndent' Name +' ' Text +'=' Operator +' ' Text +'indentLength' Name +' ' Text +'*' Operator +' ' Text +'2' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the maximum indentation between two lines in a multi-line statement.\n *\n * @param max maximum indentation length.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setMaxInStatementIndentLength' Name +'(' Punctuation +'int' Keyword.Type +' ' Text +'max' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'maxInStatementIndent' Name +' ' Text +'=' Operator +' ' Text +'max' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the minimum indentation between two lines in a multi-line condition.\n *\n * @param min minimal indentation length.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setMinConditionalIndentLength' Name +'(' Punctuation +'int' Keyword.Type +' ' Text +'min' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'minConditionalIndent' Name +' ' Text +'=' Operator +' ' Text +'min' Name +';' Punctuation +'\n' Text + +' ' Text +'isMinimalConditinalIndentSet' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the state of the bracket indentation option. If true, brackets will \n * be indented one additional indent.\n *\n * @param state state of option.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setBracketIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'bracketIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the state of the block indentation option. If true, entire blocks \n * will be indented one additional indent, similar to the GNU indent style.\n *\n * @param state state of option.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setBlockIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'setBracketIndent' Name +'(' Punctuation +'false' Name.Builtin +')' Punctuation +';' Punctuation +' ' Text +"// so that we don't have both bracket and block indent\n" Comment.Single + +' ' Text +'blockIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the state of the class indentation option. If true, C++ class\n * definitions will be indented one additional indent.\n *\n * @param state state of option.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setClassIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'classIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"/**\n * set the state of the switch indentation option. If true, blocks of 'switch' \n * statements will be indented one additional indent.\n *\n * @param state state of option.\n */" Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setSwitchIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'switchIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"/**\n * set the state of the case indentation option. If true, lines of 'case' \n * statements will be indented one additional indent.\n *\n * @param state state of option.\n */" Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setCaseIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'caseIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +"/**\n * set the state of the namespace indentation option. \n * If true, blocks of 'namespace' statements will be indented one \n * additional indent. Otherwise, NO indentation will be added.\n *\n * @param state state of option.\n */" Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setNamespaceIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'namespaceIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the state of the label indentation option. \n * If true, labels will be indented one indent LESS than the\n * current indentation level.\n * If false, labels will be flushed to the left with NO\n * indent at all.\n *\n * @param state state of option.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setLabelIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'labelIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the state of the preprocessor indentation option. \n * If true, multiline #define statements will be indented.\n *\n * @param state state of option.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setPreprocessorIndent' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'preprocessorIndent' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * set the state of the empty line fill option. \n * If true, empty lines will be filled with the whitespace.\n * of their previous lines.\n * If false, these lines will remain empty.\n *\n * @param state state of option.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'setEmptyLineFill' Name +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'emptyLineFill' Name +' ' Text +'=' Operator +' ' Text +'state' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * check if there are any indented lines ready to be read by nextLine()\n *\n * @return are there any indented lines ready?\n */' Comment.Multiline +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'hasMoreLines' Name +'(' Punctuation +')' Punctuation +' ' Text +'const' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'sourceIterator' Name +'-' Operator +'>' Operator +'hasMoreLines' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * get the next indented line.\n *\n * @return indented line.\n */' Comment.Multiline +'\n' Text + +' ' Text +'string' Name +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'nextLine' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'beautify' Name.Function +'(' Punctuation +'sourceIterator' Name +'-' Operator +'>' Operator +'nextLine' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * beautify a line of source code.\n * every line of source code in a source code file should be sent\n * one after the other to the beautify method.\n *\n * @return the indented line.\n * @param originalLine the original unindented line.\n */' Comment.Multiline +'\n' Text + +' ' Text +'string' Name +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'beautify' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'originalLine' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'line' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInLineComment' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'lineStartsInComment' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInClass' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInSwitch' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isImmediatelyAfterConst' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isSpecialChar' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'prevCh' Name +';' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'outBuffer' Name +';' Punctuation +' ' Text +'// the newly idented line is bufferd here\n' Comment.Single + +' ' Text +'int' Keyword.Type +' ' Text +'tabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'lastLineHeader' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'closingBracketReached' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'spaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'tempCh' Name +';' Punctuation +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'headerStackSize' Name +' ' Text +'=' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'//bool isLineInStatement = isInStatement;\n' Comment.Single + +' ' Text +'bool' Keyword.Type +' ' Text +'shouldIndentBrackettedLine' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'lineOpeningBlocksNum' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'lineClosingBlocksNum' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'previousLineProbation' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +'probationHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'currentHeader' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'lineStartsInComment' Name +' ' Text +'=' Operator +' ' Text +'isInComment' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle and remove white spaces around the line:\n' Comment.Single + +' ' Text +'// If not in comment, first find out size of white space before line,\n' Comment.Single + +' ' Text +'// so that possible comments starting in the line continue in\n' Comment.Single + +' ' Text +'// relation to the preliminary white-space.\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isInComment' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'leadingWhiteSpaces' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'leadingWhiteSpaces' Name +'<' Operator +'originalLine' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'originalLine' Name +'[' Punctuation +'leadingWhiteSpaces' Name +']' Punctuation +' ' Text +'<' Operator +'=' Operator +' ' Text +'0x20' Literal.Number.Hex +')' Punctuation +'\n' Text + +' ' Text +'leadingWhiteSpaces' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'line' Name +' ' Text +'=' Operator +' ' Text +'trim' Name +'(' Punctuation +'originalLine' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'trimSize' Name +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'trimSize' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'trimSize' Name +' ' Text +'<' Operator +' ' Text +'originalLine' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'trimSize' Name +'<' Operator +'leadingWhiteSpaces' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'originalLine' Name +'[' Punctuation +'trimSize' Name +']' Punctuation +' ' Text +'<' Operator +'=' Operator +' ' Text +'0x20' Literal.Number.Hex +' ' Text +';' Punctuation +'\n' Text + +' ' Text +'trimSize' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +';' Punctuation +'\n' Text + +' ' Text +'line' Name +' ' Text +'=' Operator +' ' Text +'originalLine' Name +'.' Punctuation +'substr' Name +'(' Punctuation +'trimSize' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'emptyLineFill' Name +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'preLineWS' Name +'(' Punctuation +'prevFinalLineSpaceTabCount' Name +',' Punctuation +' ' Text +'prevFinalLineTabCount' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'line' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle preprocessor commands\n' Comment.Single + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isInComment' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'line' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'#' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'backslashEndsPrevLine' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'#' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'preproc' Name +' ' Text +'=' Operator +' ' Text +'trim' Name +'(' Punctuation +'string' Name +'(' Punctuation +'line' Name +'.' Punctuation +'c_str' Name +'(' Punctuation +')' Punctuation +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'// When finding a multi-lined #define statement, the original beautifier\n' Comment.Single + +' ' Text +'// 1. sets its isInDefineDefinition flag\n' Comment.Single + +' ' Text +'// 2. clones a new beautifier that will be used for the actual indentation\n' Comment.Single + +' ' Text +'// of the #define. This clone is put into the activeBeautifierStack in order\n' Comment.Single + +' ' Text +'// to be called for the actual indentation.\n' Comment.Single + +' ' Text +'// The original beautifier will have isInDefineDefinition = true, isInDefine = false\n' Comment.Single + +' ' Text +'// The cloned beautifier will have isInDefineDefinition = true, isInDefine = true\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'preprocessorIndent' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'preproc' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'6' Literal.Number.Integer +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'define' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'[' Punctuation +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'\\\\' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isInDefineDefinition' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'ASBeautifier' Name +' ' Text +'*' Operator +'defineBeautifier' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// this is the original beautifier\n' Comment.Single + +' ' Text +'isInDefineDefinition' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// push a new beautifier into the active stack\n' Comment.Single + +' ' Text +'// this breautifier will be used for the indentation of this define\n' Comment.Single + +' ' Text +'defineBeautifier' Name +' ' Text +'=' Operator +' ' Text +'new' Keyword +' ' Text +'ASBeautifier' Name +'(' Punctuation +'*' Operator +'this' Keyword +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'//defineBeautifier->init();\n' Comment.Single + +' ' Text +'//defineBeautifier->isInDefineDefinition = true;\n' Comment.Single + +' ' Text +'//defineBeautifier->beautify("");\n' Comment.Single + +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'defineBeautifier' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// the is the cloned beautifier that is in charge of indenting the #define.\n' Comment.Single + +' ' Text +'isInDefine' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'preproc' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'if' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// push a new beautifier into the stack\n' Comment.Single + +' ' Text +'waitingBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'new' Keyword +' ' Text +'ASBeautifier' Name +'(' Punctuation +'*' Operator +'this' Keyword +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'preproc' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'4' Literal.Number.Integer +'/*2*/' Comment.Multiline +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'else' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// MOVE current waiting beautifier to active stack.\n' Comment.Single + +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'preproc' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'4' Literal.Number.Integer +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'elif' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// append a COPY current waiting beautifier to active stack, WITHOUT deleting the original.\n' Comment.Single + +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +' ' Text +'new' Keyword +' ' Text +'ASBeautifier' Name +'(' Punctuation +' ' Text +'*' Operator +'(' Punctuation +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +' ' Text +')' Punctuation +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'preproc' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'5' Literal.Number.Integer +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'endif' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'stackLength' Name +';' Punctuation +'\n' Text + +' ' Text +'ASBeautifier' Name +' ' Text +'*' Operator +'beautifier' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'waitingBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'stackLength' Name +' ' Text +'=' Operator +' ' Text +'waitingBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'stackLength' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'beautifier' Name +' ' Text +'=' Operator +' ' Text +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'waitingBeautifierStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'delete' Keyword +' ' Text +'beautifier' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'activeBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'stackLength' Name +' ' Text +'=' Operator +' ' Text +'activeBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStackLengthStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'stackLength' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'beautifier' Name +' ' Text +'=' Operator +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'delete' Keyword +' ' Text +'beautifier' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// check if the last char is a backslash\n' Comment.Single + +' ' Text +'if' Keyword +'(' Punctuation +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'backslashEndsPrevLine' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +'line' Name +'[' Punctuation +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'\\\\' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'backslashEndsPrevLine' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// check if this line ends a multi-line #define\n' Comment.Single + +' ' Text +"// if so, use the #define's cloned beautifier for the line's indentation\n" Comment.Single + +' ' Text +'// and then remove it from the active beautifier stack and delete it.\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'backslashEndsPrevLine' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isInDefineDefinition' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isInDefine' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'beautifiedLine' Name +';' Punctuation +'\n' Text + +' ' Text +'ASBeautifier' Name +' ' Text +'*' Operator +'defineBeautifier' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'isInDefineDefinition' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'defineBeautifier' Name +' ' Text +'=' Operator +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'beautifiedLine' Name +' ' Text +'=' Operator +' ' Text +'defineBeautifier' Name +'-' Operator +'>' Operator +'beautify' Name +'(' Punctuation +'line' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'delete' Keyword +' ' Text +'defineBeautifier' Name +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'beautifiedLine' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// unless this is a multi-line #define, return this precompiler line as is.\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isInDefine' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isInDefineDefinition' Name +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'originalLine' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// if there exists any worker beautifier in the activeBeautifierStack,\n' Comment.Single + +' ' Text +'// then use it instead of me to indent the current line.\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isInDefine' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'activeBeautifierStack' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'activeBeautifierStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +'-' Operator +'>' Operator +'beautify' Name +'(' Punctuation +'line' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// calculate preliminary indentation based on data from past lines\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'spaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'i' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'i' Name +'<' Operator +'headerStackSize' Name +';' Punctuation +' ' Text +'i' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInClass' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'blockIndent' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'!' Operator +'(' Punctuation +'i' Name +'>' Operator +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +'-1' Literal.Number.Integer +']' Punctuation +' ' Text +'!' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'namespaceIndent' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'i' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +'-1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_NAMESPACE' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'i' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +'-1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CLASS' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'classIndent' Name +')' Punctuation +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'isInClass' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// is the switchIndent option is on, indent switch statements an additional indent.\n' Comment.Single + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'switchIndent' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'i' Name +' ' Text +'>' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +'\n' Text + +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +'-1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_SWITCH' Name +' ' Text +'&' Operator +'&' Operator +'\n' Text + +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'i' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +'\n' Text + +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'isInSwitch' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'lineStartsInComment' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'isCStyle' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'isInClass' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'classIndent' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'headerStackSize' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'2' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'headerStackSize' Name +'-2' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CLASS' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'headerStackSize' Name +'-1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Name.Function +' ' Text +'(' Punctuation +'!' Operator +'lineStartsInComment' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'isInSwitch' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'switchIndent' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'headerStackSize' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'2' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'headerStackSize' Name +'-2' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_SWITCH' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'headerStackSize' Name +'-1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInClassHeader' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInClassHeaderTab' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'2' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInConditional' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'// parse characters in the current line.\n' Comment.Single + +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'i' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'i' Name +'<' Operator +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +';' Punctuation +' ' Text +'i' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'tempCh' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'[' Punctuation +'i' Name +']' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'prevCh' Name +' ' Text +'=' Operator +' ' Text +'ch' Name +';' Punctuation +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +'tempCh' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'ch' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isWhiteSpace' Name +'(' Punctuation +'ch' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'// handle special characters (i.e. backslash+character such as \\n, \\t, ...)\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isSpecialChar' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isSpecialChar' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'(' Punctuation +'isInComment' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInLineComment' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'\\\\' Literal.String.Escape +'\\\\' Literal.String.Escape +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +"'" Literal.String.Char +'\\\\' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'(' Punctuation +'isInComment' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInLineComment' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +'\\\\' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isSpecialChar' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle quotes (such as \'x\' and "Hello Dolly")\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'(' Punctuation +'isInComment' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInLineComment' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +'"' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +"\\'" Literal.String.Char +"'" Literal.String.Char +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isInQuote' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'quoteChar' Name +' ' Text +'=' Operator +' ' Text +'ch' Name +';' Punctuation +'\n' Text + +' ' Text +'isInQuote' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'quoteChar' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'ch' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInQuote' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInQuote' Name +')' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle comments\n' Comment.Single + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +'(' Punctuation +'isInComment' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInLineComment' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_OPEN_LINE_COMMENT' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInLineComment' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +"'" Literal.String.Char +'/' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +'(' Punctuation +'isInComment' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInLineComment' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_OPEN_COMMENT' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInComment' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +"'" Literal.String.Char +'*' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'(' Punctuation +'isInComment' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInLineComment' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_CLOSE_COMMENT' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInComment' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +"'" Literal.String.Char +'/' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInComment' Name +'|' Operator +'|' Operator +'isInLineComment' Name +')' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// if we have reached this far then we are NOT in a comment or string of special character...\n' Comment.Single + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'probationHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'(' Punctuation +'(' Punctuation +'probationHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_STATIC' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'probationHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CONST' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'probationHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_SYNCHRONIZED' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'(' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// insert the probation header as a new header\n' Comment.Single + +' ' Text +'isInHeader' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'probationHeader' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle the specific probation header\n' Comment.Single + +' ' Text +'isInConditional' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +'probationHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_SYNCHRONIZED' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'probationHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CONST' Name +')' Punctuation +'\n' Text + +' ' Text +'isImmediatelyAfterConst' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'// isInConst = true;\n' Comment.Single + +' ' Text +'/* TODO:\n * There is actually no more need for the global isInConst variable.\n * The only reason for checking const is to see if there is a const\n * immediately before an open-bracket.\n * Since CONST is now put into probation and is checked during itspost-char,\n * isImmediatelyAfterConst can be set by its own...\n */' Comment.Multiline +'\n' Text + +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'// if the probation comes from the previous line, then indent by 1 tab count.\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'previousLineProbation' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'previousLineProbation' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// dismiss the probation header\n' Comment.Single + +' ' Text +'probationHeader' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +'currentNonSpaceCh' Name +';' Punctuation +'\n' Text + +' ' Text +'currentNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +'ch' Name +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isLegalNameChar' Name +'(' Punctuation +'ch' Name +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +',' Literal.String.Char +"'" Literal.String.Char +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'prevNonLegalCh' Name +' ' Text +'=' Operator +' ' Text +'currentNonLegalCh' Name +';' Punctuation +'\n' Text + +' ' Text +'currentNonLegalCh' Name +' ' Text +'=' Operator +' ' Text +'ch' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'//if (isInConst)\n' Comment.Single + +' ' Text +'//{\n' Comment.Single + +' ' Text +'// isInConst = false;\n' Comment.Single + +' ' Text +'// isImmediatelyAfterConst = true;\n' Comment.Single + +' ' Text +'//}\n' Comment.Single + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInHeader' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'currentHeader' Name +' ' Text +'=' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'currentHeader' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isInTemplate' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'<' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'>' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'findHeader' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'nonAssignmentOperators' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +' ' Text +'//;\n' Comment.Single + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'<' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'templateDepth' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'>' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'-' Operator +'-' Operator +'templateDepth' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInTemplate' Name +')' Punctuation +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +'t' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'isInTemplate' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'templateDepth' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle parenthesies\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'(' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'[' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +')' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +']' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'(' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'[' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'parenDepth' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'parenStatementStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'isInStatement' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'currentHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'registerInStatementIndent' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'spaceTabCount' Name +',' Punctuation +' ' Text +'minConditionalIndent' Name +'/*indentLength*2*/' Comment.Multiline +',' Punctuation +' ' Text +'true' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'registerInStatementIndent' Name.Function +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'spaceTabCount' Name +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'true' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +')' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +']' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +'-' Operator +'-' Operator +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'parenDepth' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'parenStatementStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'parenStatementStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'isInConditional' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'previousIndentStackSize' Name +' ' Text +'=' Operator +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'previousIndentStackSize' Name +' ' Text +'<' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'parenIndentStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'poppedIndent' Name +' ' Text +'=' Operator +' ' Text +'parenIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'parenIndentStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'spaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'poppedIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isBlockOpener' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"// first, check if '{' is a block-opener or an static-array opener\n" Comment.Single + +' ' Text +'isBlockOpener' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +' ' Text +'(' Punctuation +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +' ' Text +'&' Operator +'&' Operator +' ' Text +'bracketBlockStateStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +')' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'isInClassHeader' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'isBlockOpener' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'isImmediatelyAfterConst' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'isInDefine' Name +' ' Text +'&' Operator +'&' Operator +'\n' Text + +' ' Text +'(' Punctuation +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'(' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'_' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'isalnum' Name +'(' Punctuation +'prevNonSpaceCh' Name +')' Punctuation +')' Punctuation +')' Punctuation +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isBlockOpener' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'currentHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'n' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'n' Name +' ' Text +'<' Operator +' ' Text +'nonParenHeaders' Name +'.' Punctuation +'size' Name +'(' Punctuation +')' Punctuation +';' Punctuation +' ' Text +'n' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'currentHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'nonParenHeaders' Name +'[' Punctuation +'n' Name +']' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isBlockOpener' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'break' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'bracketBlockStateStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'isBlockOpener' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isBlockOpener' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'registerInStatementIndent' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'spaceTabCount' Name +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'true' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'shouldIndentBrackettedLine' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// this bracket is a block opener...\n' Comment.Single + +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'lineOpeningBlocksNum' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInClassHeader' Name +')' Punctuation +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInClassHeaderTab' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInClassHeaderTab' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'-' Operator +'=' Operator +' ' Text +'2' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'blockParenDepthStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'parenDepth' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'blockStatementStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'isInStatement' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'blockTabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'isInStatement' Name +'?' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +':' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'new' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'lastLineHeader' Name +' ' Text +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +';' Punctuation +' ' Text +'// <------\n' Comment.Single + +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'//check if a header has been reached\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'prevCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isIndentableHeader' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'newHeader' Name +' ' Text +'=' Operator +' ' Text +'findHeader' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'headers' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// if we reached here, then this is a header...\n' Comment.Single + +' ' Text +'isInHeader' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'*' Operator +'lastTempStack' Name +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'tempStacks' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'lastTempStack' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'lastTempStack' Name +' ' Text +'=' Operator +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// if a new block is opened, push a new stack into tempStacks to hold the\n' Comment.Single + +' ' Text +'// future list of headers in the new block.\n' Comment.Single + +'\n' Text + +' ' Text +"// take care of the special case: 'else if (...)'\n" Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_IF' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'lastLineHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_ELSE' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +"//spaceTabCount += indentLength; // to counter the opposite addition that occurs when the 'if' is registered below...\n" Comment.Single + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"// take care of 'else'\n" Comment.Single + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_ELSE' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'lastTempStack' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'indexOfIf' Name +' ' Text +'=' Operator +' ' Text +'indexOf' Name +'(' Punctuation +'*' Operator +'lastTempStack' Name +',' Punctuation +' ' Text +'&' Operator +'AS_IF' Name +')' Punctuation +';' Punctuation +' ' Text +'// <---\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'indexOfIf' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'-1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +"// recreate the header list in headerStack up to the previous 'if'\n" Comment.Single + +' ' Text +'// from the temporary snapshot stored in lastTempStack.\n' Comment.Single + +' ' Text +'int' Keyword.Type +' ' Text +'restackSize' Name +' ' Text +'=' Operator +' ' Text +'lastTempStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'indexOfIf' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'int' Keyword.Type +' ' Text +'r' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'r' Name +'<' Operator +'restackSize' Name +';' Punctuation +' ' Text +'r' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'lastTempStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'lastTempStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'closingBracketReached' Name +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'restackSize' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +"/*\n * If the above if is not true, i.e. no 'if' before the 'else',\n * then nothing beautiful will come out of this...\n * I should think about inserting an Exception here to notify the caller of this...\n */" Comment.Multiline +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"// check if 'while' closes a previous 'do'\n" Comment.Single + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_WHILE' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'lastTempStack' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'indexOfDo' Name +' ' Text +'=' Operator +' ' Text +'indexOf' Name +'(' Punctuation +'*' Operator +'lastTempStack' Name +',' Punctuation +' ' Text +'&' Operator +'AS_DO' Name +')' Punctuation +';' Punctuation +' ' Text +'// <---\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'indexOfDo' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'-1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +"// recreate the header list in headerStack up to the previous 'do'\n" Comment.Single + +' ' Text +'// from the temporary snapshot stored in lastTempStack.\n' Comment.Single + +' ' Text +'int' Keyword.Type +' ' Text +'restackSize' Name +' ' Text +'=' Operator +' ' Text +'lastTempStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'indexOfDo' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'int' Keyword.Type +' ' Text +'r' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'r' Name +'<' Operator +'restackSize' Name +';' Punctuation +' ' Text +'r' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'lastTempStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'lastTempStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'closingBracketReached' Name +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'restackSize' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +"// check if 'catch' closes a previous 'try' or 'catch'\n" Comment.Single + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CATCH' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_FINALLY' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'lastTempStack' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'indexOfTry' Name +' ' Text +'=' Operator +' ' Text +'indexOf' Name +'(' Punctuation +'*' Operator +'lastTempStack' Name +',' Punctuation +' ' Text +'&' Operator +'AS_TRY' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'indexOfTry' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'-1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'indexOfTry' Name +' ' Text +'=' Operator +' ' Text +'indexOf' Name +'(' Punctuation +'*' Operator +'lastTempStack' Name +',' Punctuation +' ' Text +'&' Operator +'AS_CATCH' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'indexOfTry' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'-1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +"// recreate the header list in headerStack up to the previous 'try'\n" Comment.Single + +' ' Text +'// from the temporary snapshot stored in lastTempStack.\n' Comment.Single + +' ' Text +'int' Keyword.Type +' ' Text +'restackSize' Name +' ' Text +'=' Operator +' ' Text +'lastTempStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'indexOfTry' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'int' Keyword.Type +' ' Text +'r' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'r' Name +'<' Operator +'restackSize' Name +';' Punctuation +' ' Text +'r' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'lastTempStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'lastTempStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'closingBracketReached' Name +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'restackSize' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CASE' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInCase' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'caseIndent' Name +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_DEFAULT' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInCase' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'caseIndent' Name +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_PUBLIC' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_PROTECTED' Name +' ' Text +'|' Operator +'|' Operator +' ' Text +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_PRIVATE' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isInClassHeader' Name +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'isIndentableHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'//else if ((newHeader == &STATIC || newHeader == &SYNCHRONIZED) &&\n' Comment.Single + +' ' Text +'// !headerStack->empty() &&\n' Comment.Single + +' ' Text +'// (headerStack->back() == &STATIC || headerStack->back() == &SYNCHRONIZED))\n' Comment.Single + +' ' Text +'//{\n' Comment.Single + +' ' Text +'// isIndentableHeader = false;\n' Comment.Single + +' ' Text +'//}\n' Comment.Single + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_STATIC' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_SYNCHRONIZED' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CONST' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isCStyle' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'headerStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +' ' Text +'&' Operator +'&' Operator +'\n' Text + +' ' Text +'(' Punctuation +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_STATIC' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_SYNCHRONIZED' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CONST' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isIndentableHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isIndentableHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'probationHeader' Name +' ' Text +'=' Operator +' ' Text +'newHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_CONST' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// this will be entered only if NOT in C style\n' Comment.Single + +' ' Text +'// since otherwise the CONST would be found to be a probstion header...\n' Comment.Single + +'\n' Text + +' ' Text +'//if (isCStyle)\n' Comment.Single + +' ' Text +'// isInConst = true;\n' Comment.Single + +' ' Text +'isIndentableHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'/*\n else if (newHeader == &OPERATOR)\n {\n if (isCStyle)\n isInOperator = true;\n isIndentableHeader = false;\n }\n */' Comment.Multiline +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_TEMPLATE' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +')' Punctuation +'\n' Text + +' ' Text +'isInTemplate' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'isIndentableHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isIndentableHeader' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// 3.2.99\n' Comment.Single + +' ' Text +'//spaceTabCount-=indentLength;\n' Comment.Single + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'newHeader' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'indexOf' Name +'(' Punctuation +'nonParenHeaders' Name +',' Punctuation +' ' Text +'newHeader' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'-1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInConditional' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'lastLineHeader' Name +' ' Text +'=' Operator +' ' Text +'newHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'isInHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'//lastLineHeader = newHeader;\n' Comment.Single + +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'newHeader' Name +'-' Operator +'>' Operator +'substr' Name +'(' Punctuation +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'newHeader' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isalpha' Name +'(' Punctuation +'prevCh' Name +')' Punctuation +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'8' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_OPERATOR' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isalnum' Name +'(' Punctuation +'line' Name +'[' Punctuation +'i' Name +'+' Operator +'8' Literal.Number.Integer +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInOperator' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'AS_OPERATOR' Name +'.' Punctuation +'substr' Name +'(' Punctuation +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'7' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'?' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'isInQuestion' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +"// special handling of 'case' statements\n" Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +':' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'i' Name +'+' Operator +'1' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'line' Name +'[' Punctuation +'i' Name +'+' Operator +'1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +':' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +' ' Text +'// look for ::\n' Comment.Single + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'i' Name +';' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +"'" Literal.String.Char +':' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isInClass' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'prevNonSpaceCh' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +')' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// BEGIN Content of ASBeautifier.cpp.BITFIELD.patch:\n' Comment.Single + +' \n ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'chIndex' Name +';' Punctuation +'\n' Text + +' \t\t\t ' Text +'char' Keyword.Type +' ' Text +'nextCh' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'chIndex' Name +' ' Text +'=' Operator +' ' Text +'i' Name +'+' Operator +'1' Literal.Number.Integer +';' Punctuation +' ' Text +'chIndex' Name +' ' Text +'<' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +';' Punctuation +' ' Text +'chIndex' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' \t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isWhiteSpace' Name +'(' Punctuation +'line' Name +'[' Punctuation +'chIndex' Name +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'break' Keyword +';' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'chIndex' Name +'<' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' \t\t\t\t\t' Text +'nextCh' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'[' Punctuation +'chIndex' Name +']' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t\t' Text +'int' Keyword.Type +' ' Text +'nWord' Name +' ' Text +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' \t\t\t' Text +'for' Keyword +' ' Text +'(' Punctuation +'chIndex' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'chIndex' Name +' ' Text +'<' Operator +' ' Text +'i' Name +';' Punctuation +' ' Text +'chIndex' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isWhiteSpace' Name +'(' Punctuation +'line' Name +'[' Punctuation +'chIndex' Name +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'nWord' Name +' ' Text +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'while' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isWhiteSpace' Name +'(' Punctuation +'line' Name +'[' Punctuation +'+' Operator +'+' Operator +'chIndex' Name +']' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'}' Punctuation +'\t\t\t\t\t\t\t\t\t\n\t\t\t\t' Text +'}' Punctuation +'\n' Text + +'\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'(' Punctuation +'nextCh' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'0' Literal.String.Char +"'" Literal.String.Char +' ' Text +'&' Operator +'&' Operator +' ' Text +'nextCh' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'9' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'nWord' Name +' ' Text +'>' Operator +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'// END Content of ASBeautifier.cpp.BITFIELD.patch:\n' Comment.Single + +' \n ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +"// found a 'private:' or 'public:' inside a class definition\n" Comment.Single + +' ' Text +'// so do nothing special\n' Comment.Single + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isInClassHeader' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"// found a 'class A : public B' definition\n" Comment.Single + +' ' Text +'// so do nothing special\n' Comment.Single + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInQuestion' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInQuestion' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'prevNonSpaceCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +')' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +'=' Operator +'=' Operator +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'2' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'currentNonSpaceCh' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +' ' Text +"// so that brackets after the ':' will appear as block-openers\n" Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInCase' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInCase' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +' ' Text +"// from here on, treat char as ';'\n" Comment.Single + +' ' Text +'}' Punctuation +' \n ' Text +'// BEGIN content of ASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single + +' ' Text +'else' Keyword +' ' Text +'// bitfield or labels\n' Comment.Single + +'\t\t\t\t\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'chIndex' Name +';' Punctuation +'\n' Text + +'\t\t\t\t' Text +'char' Keyword.Type +' ' Text +'nextCh' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'(' Punctuation +'chIndex' Name +' ' Text +'=' Operator +' ' Text +'i' Name +'+' Operator +'1' Literal.Number.Integer +';' Punctuation +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'chIndex' Name +' ' Text +'<' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +' ' Text +'chIndex' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isWhiteSpace' Name +'(' Punctuation +'line' Name +'[' Punctuation +'chIndex' Name +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'break' Keyword +';' Punctuation +'\n' Text + +'\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'chIndex' Name +'<' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'nextCh' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'[' Punctuation +'chIndex' Name +']' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' \t\t\t' Text +'int' Keyword.Type +' ' Text +'nWord' Name +' ' Text +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' \t\t\t\t' Text +'for' Keyword +' ' Text +'(' Punctuation +'chIndex' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'chIndex' Name +' ' Text +'<' Operator +' ' Text +'i' Name +';' Punctuation +' ' Text +'chIndex' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isWhiteSpace' Name +'(' Punctuation +'line' Name +'[' Punctuation +'chIndex' Name +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'nWord' Name +' ' Text +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'while' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isWhiteSpace' Name +'(' Punctuation +'line' Name +'[' Punctuation +'+' Operator +'+' Operator +'chIndex' Name +']' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'}' Punctuation +'\t\t\t\t\t\t\t\t\t\n\t\t\t\t' Text +'}' Punctuation +'\n' Text + +' \t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'nextCh' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'0' Literal.String.Char +"'" Literal.String.Char +' ' Text +'&' Operator +'&' Operator +' ' Text +'nextCh' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'9' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'nWord' Name +' ' Text +'>' Operator +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'continue' Keyword +';' Punctuation +'\n' Text + +'\t\t\t\t' Text +'}' Punctuation +'\n' Text + +' ' Text +'// END content of ASASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +"// is in a label (e.g. 'label1:')\n" Comment.Single + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'labelIndent' Name +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +' ' Text +'// unindent label by one indent\n' Comment.Single + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'// completely flush indent to left\n' Comment.Single + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// BEGIN content of ASASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'// END content of ASASBeautifier.cpp.BITFIELD.patch.bz2\n' Comment.Single + +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'parenDepth' Name +'>' Operator +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +',' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'(' Punctuation +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +')' Punctuation +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +' ' Text +'+' Operator +' ' Text +'(' Punctuation +'parenDepth' Name +'>' Operator +'0' Literal.Number.Integer +' ' Text +'?' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +':' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +' ' Text +'<' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'// handle ends of statements\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +' ' Text +'&' Operator +'&' Operator +' ' Text +'parenDepth' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +"/* || (ch == ',' && parenDepth == 0)*/" Comment.Multiline +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +"// first check if this '}' closes a previous block, or a static array...\n" Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'bracketBlockStateStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'bracketBlockState' Name +' ' Text +'=' Operator +' ' Text +'bracketBlockStateStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'bracketBlockStateStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'bracketBlockState' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// this bracket is a static array\n' Comment.Single + +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'previousIndentStackSize' Name +' ' Text +'=' Operator +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'previousIndentStackSize' Name +' ' Text +'<' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +'-' Operator +'-' Operator +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'shouldIndentBrackettedLine' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'parenIndentStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'poppedIndent' Name +' ' Text +'=' Operator +' ' Text +'parenIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'parenIndentStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'spaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'poppedIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// this bracket is block closer...\n' Comment.Single + +'\n' Text + +' ' Text +'+' Operator +'+' Operator +'lineClosingBlocksNum' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +'(' Punctuation +'!' Operator +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndentStackSizeStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'blockParenDepthStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'parenDepth' Name +' ' Text +'=' Operator +' ' Text +'blockParenDepthStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'blockParenDepthStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'blockStatementStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'blockStatementStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInStatement' Name +')' Punctuation +'\n' Text + +' ' Text +'blockTabCount' Name +'-' Operator +'-' Operator +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'closingBracketReached' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'headerPlace' Name +' ' Text +'=' Operator +' ' Text +'indexOf' Name +'(' Punctuation +'*' Operator +'headerStack' Name +',' Punctuation +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +';' Punctuation +' ' Text +'// <---\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'headerPlace' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'-1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'popped' Name +' ' Text +'=' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'popped' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'popped' Name +' ' Text +'=' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'tempStacks' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'*' Operator +'temp' Name +' ' Text +'=' Operator +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'delete' Keyword +' ' Text +'temp' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +';' Punctuation +' ' Text +"// needed due to cases such as '}else{', so that headers ('else' tn tih case) will be identified...\n" Comment.Single + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"/*\n * Create a temporary snapshot of the current block's header-list in the\n * uppermost inner stack in tempStacks, and clear the headerStack up to\n * the begining of the block.\n * Thus, the next future statement will think it comes one indent past\n * the block's '{' unless it specifically checks for a companion-header\n * (such as a previous 'if' for an 'else' header) within the tempStacks,\n * and recreates the temporary snapshot by manipulating the tempStacks.\n */" Comment.Multiline +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'tempStacks' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'!' Operator +'tempStacks' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'!' Operator +'headerStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +' ' Text +'!' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'tempStacks' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'headerStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'pop_back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'parenDepth' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +';' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +'=' Operator +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'// check for preBlockStatements ONLY if not within parenthesies\n' Comment.Single + +' ' Text +"// (otherwise 'struct XXX' statements would be wrongly interpreted...)\n" Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'prevCh' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isInTemplate' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'parenDepth' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'newHeader' Name +' ' Text +'=' Operator +' ' Text +'findHeader' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'preBlockStatements' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'newHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'isInClassHeader' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'newHeader' Name +'-' Operator +'>' Operator +'substr' Name +'(' Punctuation +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'newHeader' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'//if (isCStyle)\n' Comment.Single + +' ' Text +'headerStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'newHeader' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// Handle operators\n' Comment.Single + +' ' Text +'//\n' Comment.Single + +'\n' Text + +' ' Text +"//// // PRECHECK if a '==' or '--' or '++' operator was reached.\n" Comment.Single + +' ' Text +'//// // If not, then register an indent IF an assignment operator was reached.\n' Comment.Single + +' ' Text +"//// // The precheck is important, so that statements such as 'i--==2' are not recognized\n" Comment.Single + +' ' Text +"//// // to have assignment operators (here, '-=') in them . . .\n" Comment.Single + +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'foundAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'foundNonAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'immediatelyPreviousAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// Check if an operator has been reached.\n' Comment.Single + +' ' Text +'foundAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'findHeader' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'assignmentOperators' Name +',' Punctuation +' ' Text +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'foundNonAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'findHeader' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'nonAssignmentOperators' Name +',' Punctuation +' ' Text +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +"// Since findHeader's boundry checking was not used above, it is possible\n" Comment.Single + +' ' Text +'// that both an assignment op and a non-assignment op where found,\n' Comment.Single + +' ' Text +"// e.g. '>>' and '>>='. If this is the case, treat the LONGER one as the\n" Comment.Single + +' ' Text +'// found operator.\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'foundAssignmentOp' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +' ' Text +'&' Operator +'&' Operator +' ' Text +'foundNonAssignmentOp' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'foundAssignmentOp' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'<' Operator +' ' Text +'foundNonAssignmentOp' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'foundAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'foundNonAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'foundNonAssignmentOp' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'foundNonAssignmentOp' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'foundNonAssignmentOp' Name +'-' Operator +'>' Operator +'substr' Name +'(' Punctuation +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'foundNonAssignmentOp' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'foundAssignmentOp' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'foundAssignmentOp' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'outBuffer' Name +'.' Punctuation +'append' Name +'(' Punctuation +'foundAssignmentOp' Name +'-' Operator +'>' Operator +'substr' Name +'(' Punctuation +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'i' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'foundAssignmentOp' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'isInOperator' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'isInTemplate' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'registerInStatementIndent' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +',' Punctuation +' ' Text +'spaceTabCount' Name +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'immediatelyPreviousAssignmentOp' Name +' ' Text +'=' Operator +' ' Text +'foundAssignmentOp' Name +';' Punctuation +'\n' Text + +' ' Text +'isInStatement' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/*\n immediatelyPreviousAssignmentOp = NULL;\n bool isNonAssingmentOperator = false;\n for (int n = 0; n < nonAssignmentOperators.size(); n++)\n if (line.COMPARE(i, nonAssignmentOperators[n]->length(), *(nonAssignmentOperators[n])) == 0)\n {\n if (nonAssignmentOperators[n]->length() > 1)\n {\n outBuffer.append(nonAssignmentOperators[n]->substr(1));\n i += nonAssignmentOperators[n]->length() - 1;\n }\n isNonAssingmentOperator = true;\n break;\n }\n if (!isNonAssingmentOperator)\n {\n for (int a = 0; a < assignmentOperators.size(); a++)\n if (line.COMPARE(i, assignmentOperators[a]->length(), *(assignmentOperators[a])) == 0)\n {\n if (assignmentOperators[a]->length() > 1)\n {\n outBuffer.append(assignmentOperators[a]->substr(1));\n i += assignmentOperators[a]->length() - 1;\n }\n \n if (!isInOperator && !isInTemplate)\n {\n registerInStatementIndent(line, i, spaceTabCount, 0, false);\n immediatelyPreviousAssignmentOp = assignmentOperators[a];\n isInStatement = true;\n }\n break;\n }\n }\n */' Comment.Multiline +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInOperator' Name +')' Punctuation +'\n' Text + +' ' Text +'isInOperator' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// handle special cases of unindentation:\n' Comment.Single + +'\n' Text + +' ' Text +'/*\n * if \'{\' doesn\'t follow an immediately previous \'{\' in the headerStack\n * (but rather another header such as "for" or "if", then unindent it\n * by one indentation relative to its block.\n */' Comment.Multiline +'\n' Text + +' ' Text +'// cerr << endl << lineOpeningBlocksNum << " " << lineClosingBlocksNum << " " << previousLastLineHeader << endl;\n' Comment.Single + +'\n' Text + +' ' Text +'// indent #define lines with one less tab\n' Comment.Single + +' ' Text +'//if (isInDefine)\n' Comment.Single + +' ' Text +'// tabCount -= defineTabCount-1;\n' Comment.Single + +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'lineStartsInComment' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'blockIndent' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'outBuffer' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +'>' Operator +'0' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'outBuffer' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +'=' Operator +'=' Operator +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'(' Punctuation +'lineOpeningBlocksNum' Name +' ' Text +'>' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'lineOpeningBlocksNum' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'lineClosingBlocksNum' Name +')' Punctuation +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'!' Operator +'(' Punctuation +'headerStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'(' Punctuation +'*' Operator +'headerStack' Name +')' Punctuation +'[' Punctuation +'headerStack' Name +'-' Operator +'>' Operator +'size' Name +'(' Punctuation +')' Punctuation +'-2' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'shouldIndentBrackettedLine' Name +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Name.Function +' ' Text +'(' Punctuation +'!' Operator +'lineStartsInComment' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'outBuffer' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +'>' Operator +'0' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'outBuffer' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +'=' Operator +'=' Operator +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'shouldIndentBrackettedLine' Name +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'-' Operator +'-' Operator +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// correctly indent one-line-blocks...\n' Comment.Single + +' ' Text +'else' Keyword +' ' Text +'if' Name.Function +' ' Text +'(' Punctuation +'!' Operator +'lineStartsInComment' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'outBuffer' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +'>' Operator +'0' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'lineOpeningBlocksNum' Name +' ' Text +'>' Operator +' ' Text +'0' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'lineOpeningBlocksNum' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'lineClosingBlocksNum' Name +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'previousLastLineHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'previousLastLineHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'&' Operator +'AS_OPEN_BRACKET' Name +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'-' Operator +'=' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +' ' Text +'//lineOpeningBlocksNum - (blockIndent ? 1 : 0);\n' Comment.Single + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'tabCount' Name +' ' Text +'<' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// take care of extra bracket indentatation option...\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'bracketIndent' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'outBuffer' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +'>' Operator +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'shouldIndentBrackettedLine' Name +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'outBuffer' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +'=' Operator +'=' Operator +"'" Literal.String.Char +'{' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'outBuffer' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +'=' Operator +'=' Operator +"'" Literal.String.Char +'}' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isInDefine' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'outBuffer' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'#' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'preproc' Name +' ' Text +'=' Operator +' ' Text +'trim' Name +'(' Punctuation +'string' Name +'(' Punctuation +'outBuffer' Name +'.' Punctuation +'c_str' Name +'(' Punctuation +')' Punctuation +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'preproc' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'6' Literal.Number.Integer +',' Punctuation +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +'define' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'defineTabCount' Name +' ' Text +'=' Operator +' ' Text +'tabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'defineTabCount' Name +' ' Text +'=' Operator +' ' Text +'tabCount' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +'-' Operator +'-' Operator +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'-' Operator +'=' Operator +' ' Text +'defineTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'tabCount' Name +' ' Text +'<' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'// finally, insert indentations into begining of line\n' Comment.Single + +'\n' Text + +' ' Text +'prevFinalLineSpaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'spaceTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'prevFinalLineTabCount' Name +' ' Text +'=' Operator +' ' Text +'tabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'shouldForceTabIndentation' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'tabCount' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'spaceTabCount' Name +' ' Text +'/' Operator +' ' Text +'indentLength' Name +';' Punctuation +'\n' Text + +' ' Text +'spaceTabCount' Name +' ' Text +'=' Operator +' ' Text +'spaceTabCount' Name +' ' Text +'%' Operator +' ' Text +'indentLength' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'outBuffer' Name +' ' Text +'=' Operator +' ' Text +'preLineWS' Name +'(' Punctuation +'spaceTabCount' Name +',' Punctuation +'tabCount' Name +')' Punctuation +' ' Text +'+' Operator +' ' Text +'outBuffer' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'lastLineHeader' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'NULL' Name.Builtin +')' Punctuation +'\n' Text + +' ' Text +'previousLastLineHeader' Name +' ' Text +'=' Operator +' ' Text +'lastLineHeader' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'outBuffer' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'string' Name +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'preLineWS' Name +'(' Punctuation +'int' Keyword.Type +' ' Text +'spaceTabCount' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'tabCount' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'ws' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'int' Keyword.Type +' ' Text +'i' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'i' Name +'<' Operator +'tabCount' Name +';' Punctuation +' ' Text +'i' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'ws' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'indentString' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'(' Punctuation +'spaceTabCount' Name +'-' Operator +'-' Operator +')' Punctuation +' ' Text +'>' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'ws' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'string' Name +'(' Punctuation +'"' Literal.String +' ' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'ws' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * register an in-statement indent.\n */' Comment.Multiline +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'registerInStatementIndent' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'spaceTabCount' Name +',' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'minIndent' Name +',' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'updateParenStack' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'inStatementIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'remainingCharNum' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'i' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'nextNonWSChar' Name +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'nextNonWSChar' Name +' ' Text +'=' Operator +' ' Text +'getNextProgramCharDistance' Name +'(' Punctuation +'line' Name +',' Punctuation +' ' Text +'i' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'// if indent is around the last char in the line, indent instead 2 spaces from the previous indent\n' Comment.Single + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'nextNonWSChar' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'remainingCharNum' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'previousIndent' Name +' ' Text +'=' Operator +' ' Text +'spaceTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'previousIndent' Name +' ' Text +'=' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'/*2*/' Comment.Multiline +' ' Text +'indentLength' Name +' ' Text +'+' Operator +' ' Text +'previousIndent' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'updateParenStack' Name +')' Punctuation +'\n' Text + +' ' Text +'parenIndentStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +' ' Text +'previousIndent' Name +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'updateParenStack' Name +')' Punctuation +'\n' Text + +' ' Text +'parenIndentStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'i' Name +'+' Operator +'spaceTabCount' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndent' Name +' ' Text +'=' Operator +' ' Text +'i' Name +' ' Text +'+' Operator +' ' Text +'nextNonWSChar' Name +' ' Text +'+' Operator +' ' Text +'spaceTabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'+' Operator +' ' Text +'nextNonWSChar' Name +' ' Text +'<' Operator +' ' Text +'minIndent' Name +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndent' Name +' ' Text +'=' Operator +' ' Text +'minIndent' Name +' ' Text +'+' Operator +' ' Text +'spaceTabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'+' Operator +' ' Text +'nextNonWSChar' Name +' ' Text +'>' Operator +' ' Text +'maxInStatementIndent' Name +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndent' Name +' ' Text +'=' Operator +' ' Text +'indentLength' Name +'*' Operator +'2' Literal.Number.Integer +' ' Text +'+' Operator +' ' Text +'spaceTabCount' Name +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'empty' Name +'(' Punctuation +')' Punctuation +' ' Text +'&' Operator +'&' Operator +'\n' Text + +' ' Text +'inStatementIndent' Name +' ' Text +'<' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'inStatementIndent' Name +' ' Text +'=' Operator +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'back' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'inStatementIndentStack' Name +'-' Operator +'>' Operator +'push_back' Name +'(' Punctuation +'inStatementIndent' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * get distance to the next non-white sspace, non-comment character in the line.\n * if no such character exists, return the length remaining to the end of the line.\n */' Comment.Multiline +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'getNextProgramCharDistance' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'inComment' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'remainingCharNum' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'i' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'charDistance' Name +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'ch' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'charDistance' Name +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +' ' Text +'charDistance' Name +' ' Text +'<' Operator +' ' Text +'remainingCharNum' Name +';' Punctuation +' ' Text +'charDistance' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'ch' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'[' Punctuation +'i' Name +' ' Text +'+' Operator +' ' Text +'charDistance' Name +']' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'inComment' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +' ' Text +'+' Operator +' ' Text +'charDistance' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_CLOSE_COMMENT' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'charDistance' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'inComment' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'isWhiteSpace' Name +'(' Punctuation +'ch' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'continue' Keyword +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Name.Function +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'/' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +' ' Text +'+' Operator +' ' Text +'charDistance' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_OPEN_LINE_COMMENT' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'remainingCharNum' Name +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +' ' Text +'+' Operator +' ' Text +'charDistance' Name +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'AS_OPEN_COMMENT' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'charDistance' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +' ' Text +'inComment' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'charDistance' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'charDistance' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'/**\n * check if a specific character can be used in a legal variable/method/class name\n *\n * @return legality of the char.\n * @param ch the character to be checked.\n */' Comment.Multiline +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'isLegalNameChar' Name +'(' Punctuation +'char' Keyword.Type +' ' Text +'ch' Name +')' Punctuation +' ' Text +'const' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'isalnum' Name +'(' Punctuation +'ch' Name +')' Punctuation +' ' Text +"//(ch>='a' && ch<='z') || (ch>='A' && ch<='Z') || (ch>='0' && ch<='9') ||\n" Comment.Single + +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +'.' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +'_' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'!' Operator +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +'$' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +' ' Text +'|' Operator +'|' Operator +' ' Text +'(' Punctuation +'isCStyle' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'ch' Name +'=' Operator +'=' Operator +"'" Literal.String.Char +'~' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'/**\n * check if a specific line position contains a header, out of several possible headers.\n *\n * @return a pointer to the found header. if no header was found then return NULL.\n */' Comment.Multiline +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'ASBeautifier' Name +':' Operator +':' Operator +'findHeader' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +',' Punctuation +' ' Text +'const' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'&' Operator +'possibleHeaders' Name +',' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'checkBoundry' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'maxHeaders' Name +' ' Text +'=' Operator +' ' Text +'possibleHeaders' Name +'.' Punctuation +'size' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'header' Name +' ' Text +'=' Operator +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'p' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'p' Name +'=' Operator +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'p' Name +' ' Text +'<' Operator +' ' Text +'maxHeaders' Name +';' Punctuation +' ' Text +'p' Name +'+' Operator +'+' Operator +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'header' Name +' ' Text +'=' Operator +' ' Text +'possibleHeaders' Name +'[' Punctuation +'p' Name +']' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'line' Name +'.' Punctuation +'COMPARE' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'header' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'*' Operator +'header' Name +')' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'// check that this is a header and not a part of a longer word\n' Comment.Single + +' ' Text +'// (e.g. not at its begining, not at its middle...)\n' Comment.Single + +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'lineLength' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'headerEnd' Name +' ' Text +'=' Operator +' ' Text +'i' Name +' ' Text +'+' Operator +' ' Text +'header' Name +'-' Operator +'>' Operator +'length' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'startCh' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +'*' Operator +'header' Name +')' Punctuation +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +';' Punctuation +' ' Text +'// first char of header\n' Comment.Single + +' ' Text +'char' Keyword.Type +' ' Text +'endCh' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'// char just after header\n' Comment.Single + +' ' Text +'char' Keyword.Type +' ' Text +'prevCh' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +' ' Text +'// char just before header\n' Comment.Single + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'headerEnd' Name +' ' Text +'<' Operator +' ' Text +'lineLength' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'endCh' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'[' Punctuation +'headerEnd' Name +']' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name +' ' Text +'>' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'prevCh' Name +' ' Text +'=' Operator +' ' Text +'line' Name +'[' Punctuation +'i' Name +'-1' Literal.Number.Integer +']' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'!' Operator +'checkBoundry' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'header' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'prevCh' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'isLegalNameChar' Name +'(' Punctuation +'startCh' Name +')' Punctuation +'\n' Text + +' ' Text +'&' Operator +'&' Operator +' ' Text +'isLegalNameChar' Name +'(' Punctuation +'prevCh' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'headerEnd' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'lineLength' Name +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'!' Operator +'isLegalNameChar' Name +'(' Punctuation +'startCh' Name +')' Punctuation +'\n' Text + +' ' Text +'|' Operator +'|' Operator +' ' Text +'!' Operator +'isLegalNameChar' Name +'(' Punctuation +'endCh' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'header' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'NULL' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'/**\n * check if a specific character can be used in a legal variable/method/class name\n *\n * @return legality of the char.\n * @param ch the character to be checked.\n */' Comment.Multiline +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'isWhiteSpace' Name +'(' Punctuation +'char' Keyword.Type +' ' Text +'ch' Name +')' Punctuation +' ' Text +'const' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +' ' Literal.String.Char +"'" Literal.String.Char +' ' Text +'|' Operator +'|' Operator +' ' Text +'ch' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +"'" Literal.String.Char +'\\t' Literal.String.Char +"'" Literal.String.Char +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * find the index number of a string element in a container of strings\n *\n * @return the index number of element in the ocntainer. -1 if element not found.\n * @param container a vector of strings.\n * @param element the element to find .\n */' Comment.Multiline +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'indexOf' Name +'(' Punctuation +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'&' Operator +'container' Name +',' Punctuation +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'element' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +':' Operator +':' Operator +'const_iterator' Name +' ' Text +'where' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'where' Name +'=' Operator +' ' Text +'find' Name +'(' Punctuation +'container' Name +'.' Punctuation +'begin' Name +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'container' Name +'.' Punctuation +'end' Name +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'element' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'where' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'container' Name +'.' Punctuation +'end' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'-1' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'where' Name +' ' Text +'-' Operator +' ' Text +'container' Name +'.' Punctuation +'begin' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'/**\n * trim removes the white space surrounding a line.\n *\n * @return the trimmed line.\n * @param str the line to trim.\n */' Comment.Multiline +'\n' Text + +' ' Text +'string' Name +' ' Text +'ASBeautifier' Name +':' Operator +':' Operator +'trim' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'str' Name +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'start' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'end' Name +' ' Text +'=' Operator +' ' Text +'str' Name +'.' Punctuation +'length' Name +'(' Punctuation +')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'start' Name +' ' Text +'<' Operator +' ' Text +'end' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isWhiteSpace' Name +'(' Punctuation +'str' Name +'[' Punctuation +'start' Name +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'start' Name +'+' Operator +'+' Operator +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +'start' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'end' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'isWhiteSpace' Name +'(' Punctuation +'str' Name +'[' Punctuation +'end' Name +']' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Name +'-' Operator +'-' Operator +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'string' Name +' ' Text +'returnStr' Name.Function +'(' Punctuation +'str' Name +',' Punctuation +' ' Text +'start' Name +',' Punctuation +' ' Text +'end' Name +'+' Operator +'1' Literal.Number.Integer +'-' Operator +'start' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'returnStr' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'ifdef USES_NAMESPACE' Comment.Preproc +'\n' Comment.Preproc + +'}' Punctuation +'\n' Text + +'#' Comment.Preproc +'endif' Comment.Preproc +'\n' Comment.Preproc + +'/*\n * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved.\n *\n * compiler_defines.h (1 January 1999)\n * by Tal Davidson (davidsont@bigfoot.com)\n * This file is a part of "Artistic Style" - an indentater and reformatter\n * of C, C++, C# and Java source files.\n *\n * The "Artistic Style" project, including all files needed to compile it,\n * is free software; you can redistribute it and/or use it and/or modify it\n * under the terms of the GNU General Public License as published \n * by the Free Software Foundation; either version 2 of the License, \n * or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n * You should have received a copy of the GNU General Public\n * License along with this program.\n */' Comment.Multiline +'\n' Text + +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'ifndef ASBEAUTIFIER_H' Comment.Preproc +'\n' Comment.Preproc + +'#' Comment.Preproc +'define ASBEAUTIFIER_H' Comment.Preproc +'\n' Comment.Preproc + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"ASResource.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"compiler_defines.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"ASSourceIterator.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<string>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<vector>' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'\n' Text + +'using' Keyword +' ' Text +'namespace' Keyword +' ' Text +'std' Name +';' Punctuation +'\n' Text + +'\n' Text + +'namespace' Keyword +' ' Text +'astyle' Name +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'enum' Keyword +' ' Text +'BracketMode' Name.Class +' ' Text +'{' Punctuation +' ' Text +'NONE_MODE' Name +',' Punctuation +' ' Text +'ATTACH_MODE' Name +',' Punctuation +' ' Text +'BREAK_MODE' Name +',' Punctuation +' ' Text +'BDAC_MODE' Name +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'enum' Keyword +' ' Text +'BracketType' Name.Class +' ' Text +'{' Punctuation +' ' Text +'NULL_TYPE' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +',' Punctuation +'\n' Text + +' ' Text +'DEFINITION_TYPE' Name +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +',' Punctuation +'\n' Text + +' ' Text +'COMMAND_TYPE' Name +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +',' Punctuation +'\n' Text + +' ' Text +'ARRAY_TYPE' Name +' ' Text +'=' Operator +' ' Text +'4' Literal.Number.Integer +',' Punctuation +'\n' Text + +' ' Text +'SINGLE_LINE_TYPE' Name +' ' Text +'=' Operator +' ' Text +'8' Literal.Number.Integer +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'class' Keyword +' ' Text +'ASBeautifier' Name.Class +' ' Text +':' Operator +' ' Text +'protected' Keyword +' ' Text +'ASResource' Name +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'public' Keyword +':' Operator +'\n' Text + +' ' Text +'ASBeautifier' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'virtual' Keyword +' ' Text +'~' Operator +'ASBeautifier' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'virtual' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'init' Name +'(' Punctuation +'ASSourceIterator' Name +'*' Operator +' ' Text +'iter' Name +')' Punctuation +';' Punctuation +' ' Text +'// pointer to dynamically created iterator.\n' Comment.Single + +' ' Text +'virtual' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'init' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'virtual' Keyword +' ' Text +'bool' Keyword.Type +' ' Text +'hasMoreLines' Name +'(' Punctuation +')' Punctuation +' ' Text +'const' Keyword +';' Punctuation +'\n' Text + +' ' Text +'virtual' Keyword +' ' Text +'string' Name +' ' Text +'nextLine' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'virtual' Keyword +' ' Text +'string' Name +' ' Text +'beautify' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setTabIndentation' Name.Function +'(' Punctuation +'int' Keyword.Type +' ' Text +'length' Name +' ' Text +'=' Operator +' ' Text +'4' Literal.Number.Integer +',' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'forceTabs' Name +' ' Text +'=' Operator +' ' Text +'false' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setSpaceIndentation' Name.Function +'(' Punctuation +'int' Keyword.Type +' ' Text +'length' Name +' ' Text +'=' Operator +' ' Text +'4' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setMaxInStatementIndentLength' Name.Function +'(' Punctuation +'int' Keyword.Type +' ' Text +'max' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setMinConditionalIndentLength' Name.Function +'(' Punctuation +'int' Keyword.Type +' ' Text +'min' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setClassIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setSwitchIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setCaseIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setBracketIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setBlockIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setNamespaceIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setLabelIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setCStyle' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setJavaStyle' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setEmptyLineFill' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'setPreprocessorIndent' Name.Function +'(' Punctuation +'bool' Keyword.Type +' ' Text +'state' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +' ' Text +'protected' Keyword +':' Operator +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'getNextProgramCharDistance' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isLegalNameChar' Name.Function +'(' Punctuation +'char' Keyword.Type +' ' Text +'ch' Name +')' Punctuation +' ' Text +'const' Keyword +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isWhiteSpace' Name.Function +'(' Punctuation +'char' Keyword.Type +' ' Text +'ch' Name +')' Punctuation +' ' Text +'const' Keyword +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'findHeader' Name +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +',' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'&' Operator +'possibleHeaders' Name +',' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'checkBoundry' Name +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'trim' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'str' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'indexOf' Name.Function +'(' Punctuation +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'&' Operator +'container' Name +',' Punctuation +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'element' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'private' Keyword +':' Operator +'\n' Text + +' ' Text +'ASBeautifier' Name +'(' Punctuation +'const' Keyword +' ' Text +'ASBeautifier' Name +' ' Text +'&' Operator +'copy' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'operator' Keyword +'=' Operator +'(' Punctuation +'ASBeautifier' Name +'&' Operator +')' Punctuation +';' Punctuation +' ' Text +'// not to be implemented\n' Comment.Single + +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'initStatic' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'void' Keyword.Type +' ' Text +'registerInStatementIndent' Name.Function +'(' Punctuation +'const' Keyword +' ' Text +'string' Name +' ' Text +'&' Operator +'line' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'i' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'spaceTabCount' Name +',' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'minIndent' Name +',' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'updateParenStack' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'preLineWS' Name.Function +'(' Punctuation +'int' Keyword.Type +' ' Text +'spaceTabCount' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'tabCount' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'headers' Name +';' Punctuation +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'nonParenHeaders' Name +';' Punctuation +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'preprocessorHeaders' Name +';' Punctuation +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'preBlockStatements' Name +';' Punctuation +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'assignmentOperators' Name +';' Punctuation +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'nonAssignmentOperators' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'static' Keyword +' ' Text +'bool' Keyword.Type +' ' Text +'calledInitStatic' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'ASSourceIterator' Name +' ' Text +'*' Operator +'sourceIterator' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'ASBeautifier' Name +'*' Operator +'>' Operator +' ' Text +'*' Operator +'waitingBeautifierStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'ASBeautifier' Name +'*' Operator +'>' Operator +' ' Text +'*' Operator +'activeBeautifierStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'waitingBeautifierStackLengthStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'activeBeautifierStackLengthStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +' ' Text +'*' Operator +'headerStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +' ' Text +'vector' Name +'<' Operator +'const' Keyword +' ' Text +'string' Name +'*' Operator +'>' Operator +'*' Operator +' ' Text +'>' Operator +' ' Text +'*' Operator +'tempStacks' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'blockParenDepthStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'blockStatementStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'parenStatementStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'inStatementIndentStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'inStatementIndentStackSizeStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'int' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'parenIndentStack' Name +';' Punctuation +'\n' Text + +' ' Text +'vector' Name +'<' Operator +'bool' Keyword.Type +'>' Operator +' ' Text +'*' Operator +'bracketBlockStateStack' Name +';' Punctuation +'\n' Text + +' ' Text +'string' Name +' ' Text +'indentString' Name +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'currentHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'previousLastLineHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'immediatelyPreviousAssignmentOp' Name +';' Punctuation +'\n' Text + +' ' Text +'const' Keyword +' ' Text +'string' Name +' ' Text +'*' Operator +'probationHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInQuote' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInComment' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInCase' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInQuestion' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInStatement' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isCStyle' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInOperator' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInTemplate' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInConst' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInDefine' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInDefineDefinition' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'classIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInClassHeader' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInClassHeaderTab' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'switchIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'caseIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'namespaceIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'bracketIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'blockIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'labelIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'preprocessorIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isInConditional' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'isMinimalConditinalIndentSet' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'shouldForceTabIndentation' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'minConditionalIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'parenDepth' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'indentLength' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'blockTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'unsigned' Keyword.Type +' ' Text +'int' Keyword.Type +' ' Text +'leadingWhiteSpaces' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'maxInStatementIndent' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'templateDepth' Name +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'quoteChar' Name +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'prevNonSpaceCh' Name +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'currentNonSpaceCh' Name +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'currentNonLegalCh' Name +';' Punctuation +'\n' Text + +' ' Text +'char' Keyword.Type +' ' Text +'prevNonLegalCh' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'prevFinalLineSpaceTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'prevFinalLineTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'emptyLineFill' Name +';' Punctuation +'\n' Text + +' ' Text +'bool' Keyword.Type +' ' Text +'backslashEndsPrevLine' Name +';' Punctuation +'\n' Text + +' ' Text +'int' Keyword.Type +' ' Text +'defineTabCount' Name +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'endif' Comment.Preproc +'\n' Comment.Preproc + +'/*\n * Copyright (c) 1998,1999,2000,2001,2002 Tal Davidson. All rights reserved.\n *\n * ASFormatter.cpp\n * by Tal Davidson (davidsont@bigfoot.com)\n * This file is a part of "Artistic Style" - an indentater and reformatter\n * of C, C++, C# and Java source files.\n *\n * The "Artistic Style" project, including all files needed to compile it,\n * is free software; you can redistribute it and/or use it and/or modify it\n * under the terms of the GNU General Public License as published \n * by the Free Software Foundation; either version 2 of the License, \n * or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n * You should have received a copy of the GNU General Public\n * License along with this program.\n *\n *\n * Patches:\n * 26 November 1998 - Richard Bullington -\n * A correction of line-breaking in headers following \'}\',\n \n * was created using a variation of a patch by Richard Bullington.\n * 08 May 2004\n * applied ASFormatter450670.patch.bz2, ASFormatter.cpp.patch.bz2,\n * patch1_ssvb_patch.tar.gz\n */' Comment.Multiline +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"compiler_defines.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"ASFormatter.h"' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<string>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<cctype>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<vector>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<algorithm>' Comment.PreprocFile +'\n' Comment.Preproc + +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'<iostream>' Comment.PreprocFile +'\n' Comment.Preproc + +'\n' Text + +'\n' Text + +'#' Comment.Preproc +'define INIT_CONTAINER(container, value) {if ( (container) != NULL ) delete (container); (container) = (value); }' Comment.Preproc +'\n' Comment.Preproc + +'#' Comment.Preproc +'define DELETE_CONTAINER(container) {if ( (container) != NULL ) delete (container) ; }' Comment.Preproc +'\n' Comment.Preproc + +'#' Comment.Preproc +'define IS_A(a,b) ( ((a) & (b)) == (b))' Comment.Preproc +'\n' Comment.Preproc + +'#' Comment.Preproc +'ifdef USES_NAMESPACE' Comment.Preproc +'\n' Comment.Preproc + +'using' Keyword +' ' Text +'namespace' Keyword +' ' Text +'std' Name +';' Punctuation +'\n' Text |