lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


|> Sorry, what I should have said to be precise is that the Lua grammar
|> does not include a syntactic category of constant.  The major
|> syntactic categories in Lua are 'stat' and 'exp', and introducing a
|> new one would be a significant addition to the cognitive 
|> complexity of
|> the grammar.

Yes, it is.
We think that the role of syntactic constructions in giving of sense to
categories. In reality the language gives significance to our thoughts. In
the categories of constants there is no language, and there is syntax of
working as the form of premature optimization. In the majority of the
compiling languages of constants is the variables, which can be changed with
viruses, craker, debuger, etc. And the creators of the Moon thought that
this category excess and after 4.0 they eradicated even CASE. But now with
the work on the interpreter I encountered the need for the introduction of
such construction for the subsequent optimization in C

|> 
|> In other words, right now you can explain Lua to newbies by saying
|> ``look, a Lua program is just a sequence of statements, and while
|> there are many different ways to form statements, the only 
|> potentially
|> complicated part of a statement is an expression, and the same kinds
|> of expressions are used everywhere.''
|> 
So now Lua use backtracking to recognize this sequences, as Prolog. Yes, a
bytecode was work more straight. So why not use meta-lua syntax for
if-match-try statements? Is it not will to newbies?

... "if" general_expression_sequence_with_comma "=>"
        statement_sequence
    ( "|||" general_expression_sequence_with_comma "=>"
        statement_sequence )*
    ("end" | "else" statement_sequence)
... "match" general_expression
    "with"
           general_expression_sequence_with_comma "=>"
                 statement_sequence
   ( "|||" general_expression_sequence_with_comma "=>"
                 statement_sequence )*
   ("end" | "else" statement_sequence)

... "try" statement_sequence
    "with"
           general_expression_sequence_with_comma "=>"
                 statement_sequence
   ( "|||" general_expression_sequence_with_comma "=>"
                 statement_sequence )*
   ("end" | "else" statement_sequence)


Why not? Yes, a [general_expression] use only as constatn, and Lua now can`t
interpret as [expression] hash-index, so may be release this idea.
Above was saying, what may by release trimed [\match\]? (to Nemerly To go
and to go)