📄 html.atg
字号:
COMPILER HTML
(* Attempt to describe a fairly large subset of HTML (HyperText Markup Language)
This is incomplete, and parts are not properly described anyway!
P.D. Terry and P.D. Koeslag, Rhodes University, 1995 *)
IGNORE CASE
IGNORE CHR(1) .. CHR(13)
CHARACTERS
eol = CHR(13) .
Special = '<>&"=' .
Letter = CHR(33) .. CHR(255) - Special.
Noquote = ANY - '"' - eol.
TOKENS
Word = Letter { Letter } .
String = '"' { Noquote } '"' .
PRODUCTIONS
HTML = ( "<HTML>" HeadPart BodyPart "</HTML>"
| HeadPart BodyPart ) EOF .
HeadPart = "<HEAD>" TitleField "</HEAD>" | TitleField .
BodyPart = "<BODY>" { Field } "</BODY>" | { Field } .
TitleField = "<TITLE>" { TextOrImage } "</TITLE>" .
(* Or should this be simply
TitleField = "<TITLE>" { InlineText } "</TITLE>" .
*)
Field = Heading | Anchor | UnNumList | NumList | Address |
Paragraph | DefList | PreFormatted | TextOrImage .
Heading = ("<H1" Alignment ">" { TextOrImage } "</H1>") |
("<H2" Alignment ">" { TextOrImage } "</H2>") |
("<H3" Alignment ">" { TextOrImage } "</H3>") |
("<H4" Alignment ">" { TextOrImage } "</H4>") .
Alignment = [ "ALIGN" "=" ( "TOP" | "MIDDLE" | "CENTER" ) ] .
Anchor = "<A" ( "HREF" | "NAME" ) "=" FilePath ">"
TextOrImage { TextOrImage } "</A>" .
FilePath = Word | String .
TextOrImage = InlineText | Image .
UnNumList = "<UL>" { ListElement } "</UL>" .
NumList = "<OL>" { ListElement } "</OL>" .
ListElement = "<LI>" { Field } .
Address = "<ADDRESS>" InlineText { InlineText } "</ADDRESS>" .
Format = "<DFN>" { InlineText } "</DFN>"
| "<EM>" { InlineText } "</EM>"
| "<CITE>" { InlineText } "</CITE>"
| "<CODE>" { InlineText } "</CODE>"
| "<STRONG>" { InlineText } "</STRONG>" .
Paragraph = "<P" Alignment ">" .
DefList = "<DL>" DefListElement { DefListElement } "</DL>" .
DefListElement = "<DT>" { Field } "<DD>" { Field } .
PreFormatted = "<PRE>" { InlineText } "</PRE>" .
Image = "<IMG" Alignment "SRC" "=" FilePath Alignment
[ "ALT" "=" String ] ">" .
InlineText = Word | String | Escape | Control | Format .
Escape = "<" | ">" | "&" | """ .
Control = "</P>" | "<BR>" | "<HR>" | "=" |
"ALIGN" | "HREF" | "NAME" | "TOP" | "MIDDLE" | "CENTER" .
END HTML.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -