wiki:SyntaxTree

Version 1 (modified by dozzie, 6 years ago) (diff)

--

Struktura drzewa wyprowadzenia

Table of Contents

  1. typy węzłów

typy węzłów

  • document -- korzeń całego drzewa (odpowiednik <body>...</body>)
    • heading_paragraph -- nagłówek (<h1>...</h1>)
      • pierwszym dzieckiem jest HEADER_S, ostatnim HEADER_E, a wszystko co pomiędzy -- to formatowany tekst
      • długość HEADER_S wskazuje poziom nagłówka (np. <h3>)
    • text_paragraph -- zwykły paragraf (<p>...</p>)
      • jedno lub więcej dzieci, każde to formatowany tekst
      • dzieci należy połączyć w paragraf wstawiając między nie znacznik <br/>
  • tekst formatowany
    • jedno lub więcej dzieci, które same też są tekstem formatowanym
    • bold_text -- <b>...</b>
    • italics_text -- <i>...</i>
    • strike_text -- <strike>...</strike>
    • tt_text -- <tt>...</tt>
    • link -- <a href="...">...</a>
      • jedno lub dwoje dzieci
        • link_target -- obowiązkowe, URL docelowy
          • jedno dziecko: tekst prosty (nieformatowany)
        • link_description -- opcjonalne, opis linka (jeśli brak, opisem powinien być link_target)
          • jedno lub więcej dzieci, każde to tekst formatowany
    • MACRO_VALUE -- odwołanie do wywołanego już makra w bieżącym bloku
      • na etapie konwersji drzewa wyprowadzenia na HTML nie powinno w ogóle występować
  • macro_call -- wywołanie makra
    • na etapie konwersji drzewa wyprowadzenia na HTML nie powinno w ogóle występować
    • pierwsze dziecko to zawsze nazwa makra
    • zero lub więcej dalszych dzieci
      • NUMBER -- liczba (int, float)
      • STRING -- ciąg znaków
      • MACRO_VALUE -- odwołanie do wywołanego już makra w bieżącym bloku