예제 #1
0
        public static ImmutableList <ParserChar> ToParserChar(this IEnumerable <char> input)
        {
            int line = 1;
            int col  = 1;

            var list = new List <ParserChar>();

            foreach (var c in input)
            {
                if (c == '\r')
                {
                    continue;
                }

                list.Add(new ParserChar(c, SrcLoc.Return(line, col)));

                if (c == '\n')
                {
                    line++;
                    col = 1;
                }
                col++;
            }

            return(new ImmutableList <ParserChar>(list));
        }
예제 #2
0
 public Extern(IdentifierToken id, Term args, SrcLoc location = null)
     :
     base(location)
 {
     Id   = id;
     Args = args as Arguments;
 }
 public void Log(SrcLoc location,
                 int level           = 1,
                 string formatString = "",
                 params object[] parameters)
 {
     string message = String.Format(formatString, parameters);
 }
예제 #4
0
 public Call(IdentifierToken name, Exprs args, SrcLoc location = null)
     :
     base(location)
 {
     Name = name;
     Args = args;
 }
예제 #5
0
 public ParserChar(char c, SrcLoc location = null)
 {
     Value    = c;
     Location = location == null
         ? SrcLoc.Null
         : location;
 }
예제 #6
0
 public BinaryOp(Token lhs, Token rhs, Token op, SrcLoc loc = null)
     :
     base(loc)
 {
     Lhs = lhs;
     Rhs = rhs;
     Op  = op;
 }
예제 #7
0
 public Function(IdentifierToken id, Term args, Token body, SrcLoc location = null)
     :
     base(location)
 {
     Id   = id;
     Args = args as Arguments;
     Body = body;
 }
예제 #8
0
 public ReservedOpToken(ImmutableList <ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }
예제 #9
0
 public BracketsToken(IEnumerable <Token> tokens, SrcLoc location = null)
     :
     base(tokens, location)
 {
 }
예제 #10
0
 public CharToken(ParserChar value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #11
0
 public ReservedOpToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }
예제 #12
0
 public BracketingToken(IEnumerable<Token> tokens, SrcLoc location = null)
     :
     base(location)
 {
     Tokens = tokens;
 }
예제 #13
0
 public CharToken(ParserChar value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #14
0
 public IdentifierToken(ImmutableList <ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }
예제 #15
0
 public NaturalOrFloatToken(double value, SrcLoc location = null)
     :
     base(location)
 {
     Value = new FloatToken(value, location);
 }
예제 #16
0
 public NaturalOrFloatToken(int value, SrcLoc location = null)
     :
     base(location)
 {
     Value = new IntegerToken(value, location);
 }
예제 #17
0
 public FloatToken(double value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #18
0
 public IntegerToken(int value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #19
0
 public Token(SrcLoc location)
 {
     Location = location;
 }
예제 #20
0
 public SymbolToken(ImmutableList <ParserChar> value, SrcLoc location = null)
     :
     base(value, location == null ? location = value.First().Location : location)
 {
 }
예제 #21
0
 public BracketingToken(IEnumerable <Token> tokens, SrcLoc location = null)
     :
     base(location)
 {
     Tokens = tokens;
 }
예제 #22
0
 public Arguments(IEnumerable <Token> args, SrcLoc location = null)
     :
     base(location)
 {
     Args = args;
 }
예제 #23
0
 public BracketsToken(IEnumerable<Token> tokens, SrcLoc location = null)
     :
     base(tokens, location)
 {
 }
예제 #24
0
 public OperatorToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }
예제 #25
0
 public IntegerToken(int value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #26
0
 public SymbolToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(value, location == null ? location = value.First().Location : location)
 {
 }
예제 #27
0
 public NaturalOrFloatToken(double value, SrcLoc location = null)
     :
     base(location)
 {
     Value = new FloatToken(value,location);
 }
예제 #28
0
 public AnglesToken(IEnumerable<Token> tokens, SrcLoc location = null)
     :
     base(tokens,location)
 {
 }
예제 #29
0
 public AnglesToken(IEnumerable <Token> tokens, SrcLoc location = null)
     :
     base(tokens, location)
 {
 }
예제 #30
0
 public Token(SrcLoc location)
 {
     Location = location;
 }
예제 #31
0
 public ReplParseObject(SrcLoc location) : base(location)
 {
 }
예제 #32
0
 public FloatToken(double value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #33
0
 public REPLDirectiveParsedObject(String option, ImmutableList <string> parameters, SrcLoc location) : base(location)
 {
     this.value      = option;
     this.parameters = parameters;
 }
예제 #34
0
 public NaturalOrFloatToken(int value, SrcLoc location = null)
     :
     base(location)
 {
     Value = new IntegerToken(value, location);
 }
예제 #35
0
 public Integer(IntegerToken t, SrcLoc location = null)
     :
     base(location)
 {
     Value = t;
 }
예제 #36
0
 public QueryContainer(Query query, SrcLoc location = null) : base(location)
 {
     Query = query;
 }
예제 #37
0
 public OperatorToken(ImmutableList <ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }
예제 #38
0
 public Term(SrcLoc location)
     :
     base(location)
 {
 }
예제 #39
0
 public CharLiteralToken(ParserChar value, SrcLoc location = null)
     :
     base(value,location)
 {
 }
예제 #40
0
 public Var(IdentifierToken id, SrcLoc location = null)
     :
     base(location)
 {
     Id = id;
 }
예제 #41
0
 public StringToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(location)
 {
     Value = value;
 }
예제 #42
0
 public WhiteSpaceToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(value,location)
 {
 }
예제 #43
0
 public StringLiteralToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }
예제 #44
0
 public Expression(Token expr, SrcLoc location = null)
     :
     base(location)
 {
     Expr = expr;
 }
예제 #45
0
 public IdentifierToken(ImmutableList<ParserChar> value, SrcLoc location = null)
     :
     base(value,location)
 {
 }
예제 #46
0
 public Exprs(IEnumerable <Token> exprs, SrcLoc location = null)
     :
     base(location)
 {
     List = exprs;
 }
예제 #47
0
 public StringLiteralToken(ImmutableList <ParserChar> value, SrcLoc location = null)
     :
     base(value, location)
 {
 }