示例#1
0
		public virtual object VisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) {
			Debug.Assert((optionDeclaration != null));
			return null;
		}
		public virtual object VisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) {
			throw new global::System.NotImplementedException("OptionDeclaration");
		}
		public sealed override object VisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) {
			this.BeginVisit(optionDeclaration);
			object result = this.TrackedVisitOptionDeclaration(optionDeclaration, data);
			this.EndVisit(optionDeclaration);
			return result;
		}
示例#4
0
	void OptionStmt() {
		INode node = null; bool val = true;
		Expect(173);
		Location startPos = t.Location;
		if (la.kind == 121) {
			Get();
			if (la.kind == 170 || la.kind == 171) {
				OptionValue(ref val);
			}
			node = new OptionDeclaration(OptionType.Explicit, val);
		} else if (la.kind == 207) {
			Get();
			if (la.kind == 170 || la.kind == 171) {
				OptionValue(ref val);
			}
			node = new OptionDeclaration(OptionType.Strict, val);
		} else if (la.kind == 87) {
			Get();
			if (la.kind == 67) {
				Get();
				node = new OptionDeclaration(OptionType.CompareBinary, val);
			} else if (la.kind == 213) {
				Get();
				node = new OptionDeclaration(OptionType.CompareText, val);
			} else SynErr(241);
		} else if (la.kind == 139) {
			Get();
			if (la.kind == 170 || la.kind == 171) {
				OptionValue(ref val);
			}
			node = new OptionDeclaration(OptionType.Infer, val);
		} else SynErr(242);
		EndOfStmt();
		if (node != null) {
				node.StartLocation = startPos;
				node.EndLocation   = t.Location;
				AddChild(node);
			}

	}
		public virtual object TrackedVisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) {
			return base.VisitOptionDeclaration(optionDeclaration, data);
		}