📄 new-load
字号:
This is a brief discussion on a new load parser.The current load parser is kind of a hodge podge and a mess. Plus, it'spretty slow, and it has a few annoying limitations (such as the maximumline length.) I endevor to write a new load parser that fixes as manyof these problems as possible.The new load parser will be a combination of a lexer and a parser, wherethe lexer will remove tokens from the load parser, and the parser willdecide what to do with them. Here are a sample of the possible tokensyou might find in a loaded file: # The hash character (HASH) /* The slash-star sequence (SLASH-STAR) */ The star-slash sequence (STAR-SLASH) ; The semicolon character (SEMICOLON) \n The newline character (NEWLINE) { The opening brace (LBRACE) } The closing brace (RBRACE) \ The backslash character (BACKSLASH) ... The literal string (STRING)The lexer will submit each special token from the file one at a time tothe parser for consideration. The parser will decide whether to acceptthe token, or whether to reject it. Rejected special tokens are acceptedas literal text strings. The format of an input file looks roughly likethis: FILE := <LINE>* LINE := <C-COMMENT> | <HASH-COMMENT> | <COMMAND> | <EMPTY> C-COMMENT := <SLASH-STAR> <TEXT> <STAR-SLASH> HASH-COMMENT := <HASH> <STRING> <NEWLINE> COMMAND := <TEXT> <COMMAND-SEP> COMMAND-SEP := <NEWLINE> !<BLOCK> BLOCK := <LBRACE> <COMMAND>* <RBRACE> EMPTY := <NEWLINE> TEXT := (<STRING>|<NEWLINE>)* STRING := (<NON-SPECIAL-CHAR>|<BACKSLASH> <ANY>)*A "command" is some literal text, followed by some number of blocks.The text may be seperated from the blocks by a newline and whitespace,and blocks may be seperated from each other by a newline and whitespace.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -