public ParsingPage copyForNamedPage(SourcePage namedPage) { return new ParsingPage( this.page, namedPage, this.variableSource, this.cache); }
@Override public SymbolType isApplicable(Translator translator){ Maybe<String> testSystem = Maybe.noString; if(translator instanceof HtmlTranslator){ testSystem = ((HtmlTranslator) translator).getParsingPage().findVariable("TEST_SYSTEM"); } if(testSystem.isNothing() || !"slim".equals(testSystem.getValue())) { return baseSymbolType; } return this; } }
SourcePage sourcePage = parser.getPage().getNamedPage(); ParsingPage included = option.equals("-setup") || option.equals("-teardown") ? parser.getPage() : parser.getPage().copyForNamedPage(includedPage.getValue()); current.add("").add(Parser.make( included,
public static Parser make(ParsingPage currentPage, CharSequence input, SymbolProvider provider) { ParseSpecification specification = new ParseSpecification().provider(provider); return new Parser(null, currentPage, new Scanner(new TextMaker(currentPage, currentPage.getNamedPage()), input), specification); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { if (!parser.isMoveNext(SymbolType.Whitespace)) return Symbol.nothing; Maybe<String> name = parser.parseToAsString(SymbolType.Whitespace); if (name.isNothing()) return Symbol.nothing; String variableName = name.getValue(); if (!ScanString.isVariableName(variableName)) return Symbol.nothing; Symbol next = parser.moveNext(1); Maybe<String> valueString = (next.isType(SymbolType.Text)) ? copyVariableValue(parser, next) : parseVariableValue(parser, next); if (valueString.isNothing()) return Symbol.nothing; String variableValue = valueString.getValue(); parser.getPage().putVariable(variableName, variableValue); return new Maybe<>(current.add(variableName).add(variableValue)); }
SourcePage sourcePage = parser.getPage().getNamedPage(); ParsingPage included = option.equals("-setup") || option.equals("-teardown") ? parser.getPage() : parser.getPage().copyForNamedPage(includedPage.getValue()); current.add("").add(Parser.make( included,
public static Parser make(ParsingPage currentPage, CharSequence input, SymbolProvider provider) { ParseSpecification specification = new ParseSpecification().provider(provider); return new Parser(null, currentPage, new Scanner(new TextMaker(currentPage, currentPage.getNamedPage()), input), specification); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { if (!parser.isMoveNext(SymbolType.Whitespace)) return Symbol.nothing; Maybe<String> name = parser.parseToAsString(SymbolType.Whitespace); if (name.isNothing()) return Symbol.nothing; String variableName = name.getValue(); if (!ScanString.isVariableName(variableName)) return Symbol.nothing; Symbol next = parser.moveNext(1); Maybe<String> valueString = (next.isType(SymbolType.Text)) ? copyVariableValue(parser, next) : parseVariableValue(parser, next); if (valueString.isNothing()) return Symbol.nothing; String variableValue = valueString.getValue(); parser.getPage().putVariable(variableName, variableValue); return new Maybe<>(current.add(variableName).add(variableValue)); }
public ParsingPage copyForNamedPage(SourcePage namedPage) { return new ParsingPage( this.page, namedPage, this.variableSource, this.cache); }
@Override public SymbolType isApplicable(Translator translator){ Maybe<String> testSystem = Maybe.noString; if(translator instanceof HtmlTranslator){ testSystem = ((HtmlTranslator) translator).getParsingPage().findVariable("TEST_SYSTEM"); } if(testSystem.isNothing() || !"slim".equals(testSystem.getValue())) { return baseSymbolType; } return this; } }
public Symbol parseWithParent(String input, Parser parent) { return new Parser(parent, currentPage, new Scanner(new TextMaker(currentPage, currentPage.getNamedPage()), input), new ParseSpecification().provider(specification)).parse(); }
String getHtmlFor(String input) { SourcePage page = new DummySourcePage(); Symbol list = Parser.make(new ParsingPage(page), input).parse(); return new HtmlTranslator(page, new ParsingPage(page)).translateTree(list); }
@Override public Maybe<String> findVariable(String name) { if (page.isRoot()) { // Get variable from return Maybe.noString; } WikiPage parentPage = page.getParent(); if (parentPage instanceof WikitextPage) { return ((WikitextPage) parentPage).getParsingPage().findVariable(name); } else { String value = parentPage.getVariable(name); return value != null ? new Maybe<>(value) : Maybe.noString; } } }
public Symbol parseWithParent(String input, Parser parent) { return new Parser(parent, currentPage, new Scanner(new TextMaker(currentPage, currentPage.getNamedPage()), input), new ParseSpecification().provider(specification)).parse(); }
String getHtmlFor(String input) { SourcePage page = new DummySourcePage(); Symbol list = Parser.make(new ParsingPage(page), input).parse(); return new HtmlTranslator(page, new ParsingPage(page)).translateTree(list); }
@Override public Maybe<String> findVariable(String name) { if (page.isRoot()) { // Get variable from return Maybe.noString; } WikiPage parentPage = page.getParent(); if (parentPage instanceof WikitextPage) { return ((WikitextPage) parentPage).getParsingPage().findVariable(name); } else { String value = parentPage.getVariable(name); return value != null ? new Maybe<>(value) : Maybe.noString; } } }
@Override public void process(WikiPage currentPage) { this.currentPage = currentPage; String content = currentPage.getData().getContent(); Symbol syntaxTree = Parser.make( new ParsingPage(new WikiSourcePage(currentPage)), content, SymbolProvider.refactoringProvider) .parse(); syntaxTree.walkPreOrder(this); }
@Override public String getVariable(String name) { ParsingPage parsingPage = getParsingPage(); Maybe<String> variable = parsingPage.findVariable(name); if (variable.isNothing()) return null; Parser parser = Parser.make(parsingPage, "", SymbolProvider.variableDefinitionSymbolProvider); return new HtmlTranslator(null, parsingPage).translate(parser.parseWithParent(variable.getValue(), null)); }
@Override public void process(WikiPage currentPage) { this.currentPage = currentPage; String content = currentPage.getData().getContent(); Symbol syntaxTree = Parser.make( new ParsingPage(new WikiSourcePage(currentPage)), content, SymbolProvider.refactoringProvider) .parse(); syntaxTree.walkPreOrder(this); }
@Override public String getVariable(String name) { ParsingPage parsingPage = getParsingPage(); Maybe<String> variable = parsingPage.findVariable(name); if (variable.isNothing()) return null; Parser parser = Parser.make(parsingPage, "", SymbolProvider.variableDefinitionSymbolProvider); return new HtmlTranslator(null, parsingPage).translate(parser.parseWithParent(variable.getValue(), null)); }