[Skip Navigation] [CSUSB] >> [CNS] >> [Comp Sci ] >> [R J Botting] >> [MATHS] >> notn_dlex.d
[Contents] || [Source] || [Notation] || [Copyright] || [Contact] [Search ]
Tue Apr 12 08:13:58 PDT 2005

Contents


    Open dlex

    Requirements

    Several tools that help a programmer produce documentation need a lexical analyzer which consumes ASCII and produces tokens that represent the various lexical elements (lexemes)in the input text.

    the DFD(input=>dlex.i, output=>dlex.o, process=>dlex.p).

  1. dlex.i in #ASCII, dlex.o in #token

    .Data [ Design in notn_10_Lexicon ]

  2. token::=(punctuator | group | identifier | char_string | other_language_string | back_slashed_symbol) & (left|right|token~(left|right)).

    A token has five parts called tag, context,bracket, len, and s.

  3. token::=$ TAG,
  4. TAG::=Net{tag:{ p, g, i, c, o, b,...}, context: { paragraph, formula, other_language_string}, bracket:{l,r,n}, len:Nat, s:#char. len=|s|. if bracket<>n then (tag=p and len=1)}.

    When printing a token, put a tab character between each pair of components and an eoln at the end of the token.

    Structure

    token---lexeme

    dlex.i---dlex.o

    Operations

    Object'=Action
  5. When dlex.o
  6. $(TOKEN)!dlex.o end of token

    len'=0

  7. start of token len'=len+1
  8. end of char in token

    s'=""

  9. start of token s'=s?ch
  10. end of char in token

    tag'=p

  11. once during punctuator tag'=g
  12. once during group tag'=i
  13. once during identifier tag'=c
  14. once during character string tag'=o
  15. once during other language string tag'=b
  16. once during back slashed symbol

    ch'?dlex.i'=dlex.i

  17. end of char in dlex.i

    Design

    [ dlex.design.html ]

    Coding

    [ dlex.c ]

. . . . . . . . . ( end of section dlex) <<Contents | End>>

Notes on MATHS Notation

Special characters are defined in [ intro_characters.html ] that also outlines the syntax of expressions and a document.

Proofs follow a natural deduction style that start with assumptions ("Let") and continue to a consequence ("Close Let") and then discard the assumptions and deduce a conclusion. Look here [ Block%20Structure in logic_2_Proofs ] for more on the structure and rules.

The notation also allows you to create a new network of variables and constraints, and give them a name. The schema, formal system, or an elementary piece of documentation starts with "Net" and finishes "End of Net". For more, see [ notn_13_Docn_Syntax.html ] for these ways of defining and reusing pieces of logic and algebra in your documents.

End