public HeaderLine() { super("HeaderLine"); wikiMatcher(new Matcher().startLineOrCell().string("!1")); wikiMatcher(new Matcher().startLineOrCell().string("!2")); wikiMatcher(new Matcher().startLineOrCell().string("!3")); wikiMatcher(new Matcher().startLineOrCell().string("!4")); wikiMatcher(new Matcher().startLineOrCell().string("!5")); wikiMatcher(new Matcher().startLineOrCell().string("!6")); wikiRule(new LineRule()); htmlTranslation(this); }
public Matcher digits() { firstIsDigit('0'); matches.add(new ScanMatch() { @Override public Maybe<Integer> match(ScanString input, SymbolStream symbols, int offset) { int size = 0; while (isDigitInput('0', input, offset + size)) size++; return size > 0 ? new Maybe<>(size) : Maybe.noInteger; } }); return this; }
public See() { super("See"); wikiMatcher(new Matcher().startLineOrCell().string("!see").whitespace()); wikiRule(this); htmlTranslation(new HtmlBuilder("b").body(0, "See: ").inline()); }
public SymbolProvider add(SymbolType symbolType) { if (matchesFor(symbolType)) return this; symbolTypes.add(symbolType); for (Matcher matcher: symbolType.getWikiMatchers()) { for (char first: matcher.getFirsts()) { if (!currentDispatch.containsKey(first)) currentDispatch.put(first, new ArrayList<Matchable>()); currentDispatch.get(first).add(symbolType); } } return this; }
@Override public SymbolMatch makeMatch(ScanString input, SymbolStream symbols) { for (Matcher matcher: getWikiMatchers()) { Maybe<Integer> matchLength = matcher.makeMatch(input, symbols); if (!matchLength.isNothing()) return new SymbolMatch(this, input, matchLength.getValue()); } return SymbolMatch.noMatch; }
public See() { super("See"); wikiMatcher(new Matcher().startLineOrCell().string("!see").whitespace()); wikiRule(this); htmlTranslation(new HtmlBuilder("b").body(0, "See: ").inline()); }
public SymbolProvider add(SymbolType symbolType) { if (matchesFor(symbolType)) return this; symbolTypes.add(symbolType); for (Matcher matcher: symbolType.getWikiMatchers()) { for (char first: matcher.getFirsts()) { if (!currentDispatch.containsKey(first)) currentDispatch.put(first, new ArrayList<Matchable>()); currentDispatch.get(first).add(symbolType); } } return this; }
@Override public SymbolMatch makeMatch(ScanString input, SymbolStream symbols) { for (Matcher matcher: getWikiMatchers()) { Maybe<Integer> matchLength = matcher.makeMatch(input, symbols); if (!matchLength.isNothing()) return new SymbolMatch(this, input, matchLength.getValue()); } return SymbolMatch.noMatch; }
public HeaderLine() { super("HeaderLine"); wikiMatcher(new Matcher().startLineOrCell().string("!1")); wikiMatcher(new Matcher().startLineOrCell().string("!2")); wikiMatcher(new Matcher().startLineOrCell().string("!3")); wikiMatcher(new Matcher().startLineOrCell().string("!4")); wikiMatcher(new Matcher().startLineOrCell().string("!5")); wikiMatcher(new Matcher().startLineOrCell().string("!6")); wikiRule(new LineRule()); htmlTranslation(this); }
public Matcher listDigit() { firstIsDigit('1'); matches.add(new ScanMatch() { @Override public Maybe<Integer> match(ScanString input, SymbolStream symbols, int offset) { return isDigitInput('1', input, offset) ? new Maybe<>(1) : Maybe.noInteger; } }); return this; }