context-2012-lexing-sources.tex /size: 2745 b    last modification: 2020-07-01 14:35
1\usemodule[present-stepwise,present-bars,abr-01]
2
3\definecolor[verydark][s=.2]
4
5\startdocument
6  [title=Lexing sources,
7   color=verydark]
8
9\StartSteps
10
11\startsubject[title=What is lexing]
12
13    \startitemize[packed]
14    \startitem Computer languages have mandate structure. \stopitem \FlushStep
15    \startitem You can avoid errors by checking the input. \stopitem \FlushStep
16    \startitem Editors can help by coloring reserved words, concept etc. \stopitem \FlushStep
17    \startitem Consistency in coloring different languages makes sense. \stopitem \FlushStep
18    \stopitemize
19
20\stopsubject
21
22\startsubject[title=When did we start]
23
24    \startitemize[packed]
25    \startitem We wrote our first editor begin 90's. \stopitem \FlushStep
26    \startitem An extension quickly followed when we moved to \TEX: \TEXEDIT. \stopitem \FlushStep
27    \startitem When \MODULA\ was no longer fashion we moved on to \PERL: \TEXWORK\ (quick demo) \stopitem \FlushStep
28    \startitem When we ran into \SCITE\ we start using that. \stopitem \FlushStep
29    \startitem I provided syntax highlighting for \TEX\ and \METAPOST\ (support for multiple formats etc.). \stopitem \FlushStep
30    \stopitemize
31
32\stopsubject
33
34\StopSteps
35
36\page
37
38\StartSteps
39
40\startsubject[title=Side effect of \MKIV]
41
42    \startitemize[packed]
43    \startitem \SCITE\ got \LPEG\ based lexing (external lexing). \stopitem \FlushStep
44    \startitem I already had already written some lexers for the pretty printers. \stopitem \FlushStep
45    \startitem So I gave it a go and made some more advanced lexers. \stopitem \FlushStep
46    \startitem These ship with \CONTEXT: \TEX, \XML, \PDF, \LUA, \CLD, \METAPOST, text. \stopitem \FlushStep
47    \stopitemize
48
49\stopsubject
50
51\startsubject[title=Characteristics]
52
53    \startitemize[packed]
54    \startitem The \TEX\ lexer supports nested lexing of \LUA\ and \METAPOST. \stopitem \FlushStep
55    \startitem Integrated spell checking is provided. \stopitem \FlushStep
56    \startitem Unfortunately there is no lexing for \SCITE\ on \MACOSX\ (not that I care too much nowadays). \stopitem \FlushStep
57    \startitem It is a pitty that we have no access to \SCITE\ internal as with the regular \LUA\ interface. \stopitem \FlushStep
58    \startitem On my good old machine huge files lex somewhat slow (at the end). \stopitem \FlushStep
59    \stopitemize
60
61\stopsubject
62
63\StopSteps
64
65\page
66
67\StartSteps
68
69\startsubject[title=The future]
70
71    \startitemize[packed]
72    \startitem I will improve the current lexers. \stopitem \FlushStep
73    \startitem An \SQL\ lexer will be added at some point \stopitem \FlushStep
74    \startitem I might make an \HTML/\CSS\ variant that supports nexted \LMX. \stopitem \FlushStep
75    \stopitemize
76
77\stopsubject
78
79\StopSteps
80
81\stopdocument
82