Changeset 3853


Ignore:
Timestamp:
Jul 18, 2008, 5:33:35 PM (12 years ago)
Author:
yura
Message:
  • Simplification of Expression.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/doc/abstract_syntax_new.txt

    r3852 r3853  
    5454t.Format ::= (FORMAT t.Pragma e.HardExpression)
    5555
    56 e.HardExpression ::= e.HardTerms
    57                    | e.HardTerms t.EVar e.HardTerms
    58                    | e.HardTerms t.VVar e.HardTerms
    59 
    60 e.HardTerms ::= [Empty] | t.HardTerm e.HardTerms
    61 
    62 t.HardTerm ::= t.Symbol | (PAREN e.HardExpression) | t.SVar | t.TVar
    63 
    6456e.Sentence ::= [Empty] | t.Statement e.Sentence
    6557
     
    9789            | (RIGHT t.Pragma e.PatternExpression)
    9890
    99 e.PatternExpression ::= [Empty] | t.PatternTerm e.PatternExpression
    100 
    101 t.PatternTerm ::= t.Symbol | (PAREN e.PatternExpression) | t.Variable
    102 
    103 t.Variable ::= t.EVar | t.VVar | t.TVar | t.Svar
    104 
    105 t.EVar ::= (EVAR t.Pragma t.Name) | (EVAR)
    106 
    107 t.VVar ::= (VVAR t.Pragma t.Name) | (VVAR)
    108 
    109 t.TVar ::= (TVAR t.Pragma t.Name) | (TVAR)
    110 
    111 t.SVar ::= (SVAR t.Pragma t.Name) | (SVAR)
    112 
    11391t.Name ::= (e.QualifiedName)
    11492
     
    11694
    11795t.Result ::= (RESULT t.Pragma e.ResultExpression)
    118 
    119 e.ResultExpression ::= [Empty]
    120                      | t.ResultTerm e.ResultExpression
    121                   // | t.Alt e.ResultExpression
    122 
    123 t.ResultTerm ::= t.Symbol | (PAREN e.ResultExpression) | t.Variable
    124                | (CALL t.Pragma e.ResultExpression)
    125 
    126 t.Symbol ::= s.ObjectSymbol | (REF t.Name)
    12796
    12897s.ObjectSymbol ::= [Symbol]
     
    140109t.ConstName ::= t.Name
    141110
    142 e.ConstExpression ::= [Empty] | t.ConstTerm e.ConstExpression
    143111
    144 t.ConstTerm ::= t.Symbol | (PAREN e.ConstExpression)
    145112
     113
     114t.ConstExpression   ::= t.Expression  // without call, vars
     115t.HardExpression    ::= t.Expression  // without call and two or more soft variables on same level in one brackets
     116t.PatternExpression ::= t.Expression  // without call
     117t.ResultExpression  ::= t.Expression
     118
     119t.Expression ::= (EXPR t.Pragma e.Terms)
     120
     121e.Terms ::= [Empty] | t.Term e.Terms
     122
     123t.Term ::= t.Symbol | t.Paren | t.Variable | t.Call
     124
     125t.Paren ::= (PAREN t.Pragma e.Expression)
     126
     127t.Call ::= (CALL t.Pragma t.Name e.Expression)
     128
     129t.Symbol ::= (SYMBOL t.Pragma e.Data) | (REF t.Pragma t.Name)
     130
     131t.Variable ::= (VAR t.Pragma s.Type t.Name) | (VAR t.Pragma s.Type)
     132
     133s.Type ::= E | V | T | S
     134
     135t.Name ::= (NAME t.Pragma e.Name)
Note: See TracChangeset for help on using the changeset viewer.