def setUp(self): self._engine = MagicMock() self._macros = MacroFactory(self._engine) self._symbols = SymbolTable.default() self._tokens = TokenFactory(self._symbols) self._factory = Factory(self._symbols) self._environment = Context(definitions=self._macros.all())
def _rewrite(self, text, source, symbol_table=None): character_table = symbol_table or self._character_table factory = Factory(character_table) macros = MacroFactory(self) parser = Parser(factory.as_tokens(text, source), factory, Context(definitions=macros.all())) return parser.process()
# Flap is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Flap. If not, see <http://www.gnu.org/licenses/>. # from flap import logger from flap.latex.macros.commons import Macro, UserDefinedMacro from flap.latex.errors import UnknownSymbol from flap.latex.symbols import SymbolTable from flap.latex.parser import Factory factory = Factory(SymbolTable.default()) class CatCode(Macro): def __init__(self, flap): super().__init__(flap, "catcode", factory.as_list("#1=#2\n"), None) def _execute(self, parser, invocation): logger.debug("Invocation: " + invocation.as_text) character = "".join( str(each_token) for each_token in invocation.argument("#1")) if character[0] == "`": if character[1] == "\\": character = character[2] else:
def _rewrite(self, text, source, symbol_table=SymbolTable.default()): factory = Factory(symbol_table) macros = MacroFactory(self) parser = Parser(factory.as_tokens(text, source), factory, Context(definitions=macros.all())) return parser.rewrite()