Skip to content

Instantly share code, notes, and snippets.

@antonijn
Created April 12, 2014 10:40
Show Gist options
  • Select an option

  • Save antonijn/10529342 to your computer and use it in GitHub Desktop.

Select an option

Save antonijn/10529342 to your computer and use it in GitHub Desktop.
Compiler Structure?
Expression
ConstantExpression
Literal
IntLiteral
LongLiteral
FloatLiteral
DoubleLiteral
BooleanLiteral
CharLiteral
StringLiteral
NullLiteral
DefaultExpression
VariableExpression
FunctionCall
NewExpression
Lambda
MethodCollection
TypeExpression
BinaryOperation
UnaryOperation
TernaryOperation
ExplicitCast
ImplicitCast
Statement
ExpressionStatement
ControlFlow
BreakStatement
ContinueStatement
ThrowStatement
ReturnStatement
ControlStructure
Loop
ForLoop
WhileLoop
DoLoop
IfStatement
SwitchStatement
VariableDeclaration
IClassMember
IInterfaceMember
IEnumMember
Method : IClassMember, IInterfaceMember
Indexer
Constructor
Enumerator : IEnumMember
GenericMethod : IClassMember
GenericType : IFileType
ConcreteType
UserType : IFileType
Class
Struct
Interface
Enum
Primitive
FunctionPtr
Directive
PackageDirective
ImportDirective
Modifiers
Variable
Field : IClassMember
Local
Parameter
ThisParam
SuperParam
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment