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 setUp(self): self._engine = MagicMock() self._symbols = SymbolTable.default() self._tokens = TokenFactory(self._symbols) self._factory = Factory(self._symbols) self._environment = Context() self._lexer = None self._parser = None
def __init__(self, file_system, ui, root_tex_file, output): self._file_system = file_system self._display = ui self._root_tex_file = root_tex_file self._output = output self._count = 0 self._selected_for_inclusion = [] self._graphic_directories = [] self._analysed_dependencies = [] self._character_table = SymbolTable.default()
def relocate_dependency(self, dependency, invocation): if dependency not in self._analysed_dependencies: self._analysed_dependencies.append(dependency) try: file = self._find(dependency, [self.root_directory], ["sty", "cls"], TexFileNotFound(None)) self._file_system.copy(file, self.output_directory / file.fullname()) self._show_invocation(invocation) symbol_table = SymbolTable.default() symbol_table.CHARACTER += '@' self._rewrite(file.content(), file.fullname(), symbol_table) except TexFileNotFound: logger.debug("Could not find class or package '" + dependency + " locally")
def relocate_dependency(self, dependency, invocation): if dependency not in self._analysed_dependencies: self._analysed_dependencies.append(dependency) try: file = self._find(dependency, [self.root_directory], ["sty", "cls"], TexFileNotFound(None)) new_path = file._path.relative_to(self.root_directory._path) self._show_invocation(invocation) symbol_table = SymbolTable.default() symbol_table.CHARACTER += '@' tokens = self._rewrite(file.content(), file.fullname(), symbol_table) self._write( tokens, self.output_directory / self._as_file_name(new_path)) return self._as_file_name(new_path.without_extension()) except TexFileNotFound: log(invocation, "Could not find class or package '{path:s}' locally", path=dependency) return None
def setUp(self): self._symbols = SymbolTable.default() self._tokens = TokenFactory(self._symbols) self._text = None
# 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) parser = Parser(factory.as_tokens(text, source), factory, self, Context()) return parser.rewrite()
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()