public static LocalDefinition DefineLocal(Syntax.IdentifierSyntax pNode, SmallType pType) { var ld = LocalDefinition.Create(pNode, pNode.Value, pType); _locals[_locals.Count - 1].Add(pNode.Value, ld); return(ld); }
public DeclarationStatementSyntax(IdentifierSyntax pLeft, ExpressionSyntax pRight) { Identifier = pLeft; Value = pRight; if (Identifier != null) { Identifier.Parent = this; } if (Value != null) { Value.Parent = this; } }
internal static ExpressionSyntax AssignmentExpression(TokenType pToken, IdentifierSyntax pName, ExpressionSyntax pValue) { switch (pToken) { case TokenType.PlusEquals: return(new AddAssignmentExpressionSyntax(0, pName, pValue)); case TokenType.PeriodPeriodEquals: return(new CatAssignmentExpressionSyntax(0, pName, pValue)); case TokenType.SlashEquals: return(new DivAssignmentExpressionSyntax(0, pName, pValue)); case TokenType.StarEquals: return(new MulAssignmentExpressionSyntax(0, pName, pValue)); case TokenType.MinusEquals: return(new SubAssignmentExpressionSyntax(0, pName, pValue)); default: throw new Exception("Unknown assignment " + pToken.ToString()); } }
public virtual void Visit(IdentifierSyntax pNode) { }
public static LocalDefinition DefineField(Syntax.IdentifierSyntax pNode, SmallType pType, SmallType pStructType) { return(LocalDefinition.CreateAsField(pNode, pNode.Value, pType, pStructType)); }
public LengthQueryExpressionSyntax(IdentifierSyntax pValue) : base("len") { Array = pValue; }
public virtual SyntaxNode Visit(IdentifierSyntax pNode) { return(pNode); }
public static ConstSyntax Const(IdentifierSyntax pIdentifier, IdentifierSyntax pValue) { return(new ConstSyntax(pIdentifier, pValue)); }
public static LengthQueryExpressionSyntax LengthQueryExpression(IdentifierSyntax pValue) { return(new LengthQueryExpressionSyntax(pValue)); }
public static MemberAccessSyntax MemberAccess(IdentifierSyntax pName, IdentifierSyntax pValue) { return(new MemberAccessSyntax(pName, pValue)); }
public static AssignmentStatementSyntax AssignmentStatement(IdentifierSyntax pLeft, ExpressionSyntax pRight) { return(new AssignmentStatementSyntax(pLeft, pRight)); }
public static DeclarationStatementSyntax DeclarationStatement(IdentifierSyntax pLeft, ExpressionSyntax pRight) { return(new DeclarationStatementSyntax(pLeft, pRight)); }
public static ArrayAccessExpressionSyntax ArrayAccessExpression(IdentifierSyntax pValue, ExpressionSyntax pIndex) { return(new ArrayAccessExpressionSyntax(pValue, pIndex)); }
public static SubAssignmentExpressionSyntax SubAssignmentExpression(IdentifierSyntax pLeft, ExpressionSyntax pRight) { return(new SubAssignmentExpressionSyntax(0, pLeft, pRight)); }