CLanguage by praeclarum

<PackageReference Include="CLanguage" Version="0.18.43" />

.NET API 204,288 bytes

 Expression

public abstract class Expression
public virtual bool CanEmitPointer { get; }

public Location EndLocation { get; protected set; }

public bool HasError { get; set; }

public Location Location { get; protected set; }

protected Expression()

protected static CType GetArithmeticType(Expression leftExpr, Expression rightExpr, string op, EmitContext ec)

protected static CType GetPromotedType(Expression expr, string op, EmitContext ec)

protected abstract void DoEmit(EmitContext ec)

protected virtual void DoEmitPointer(EmitContext ec)

public void Emit(EmitContext ec)

public void EmitPointer(EmitContext ec)

public virtual Value EvalConstant(EmitContext ec)

public abstract CType GetEvaluatedCType(EmitContext ec)