Ejemplo n.º 1
0
        List <IProduction> IProductionVisitor <List <IProduction>, List <IProduction> > .VisitEmpty <T>(EmptyProduction <T> emptyProduction, List <IProduction> Productions)
        {
            if (emptyProduction.Info != null)
            {
                return(Productions);
            }

            emptyProduction.Info            = new ProductionInfo();
            emptyProduction.Info.IsNullable = true;

            emptyProduction.Info.Index       = Productions.Count;
            emptyProduction.Info.SymbolCount = 0;
            Productions.Add(emptyProduction);

            return(Productions);
        }
Ejemplo n.º 2
0
 string IProductionVisitor <int, string> .VisitEmpty <T>(EmptyProduction <T> emptyProduction, int DotLocation)
 {
     return(emptyProduction.ToString() + '.');
 }
Ejemplo n.º 3
0
 IReadOnlyList <IProduction> IProductionVisitor <int, IReadOnlyList <IProduction> > .VisitEmpty <T>(EmptyProduction <T> emptyProduction, int DotLocation)
 {
     return(s_empty);
 }
Ejemplo n.º 4
0
 bool IProductionVisitor <Tuple <int, bool, ISet <LR0Item> >, bool> .VisitEmpty <T>(EmptyProduction <T> emptyProduction, Tuple <int, bool, ISet <LR0Item> > arg)
 {
     //do nothing, make set unchanged
     return(arg.Item2);
 }
Ejemplo n.º 5
0
 bool IProductionVisitor <bool, bool> .VisitEmpty <T>(EmptyProduction <T> emptyProduction, bool IsChanged)
 {
     return(IsChanged);
 }
Ejemplo n.º 6
0
 bool IProductionVisitor <ClosureInfo, bool> .VisitEmpty <T>(EmptyProduction <T> emptyProduction, ClosureInfo arg)
 {
     //do nothing, make set unchanged
     return(arg.IsChanged);
 }