# Maven build folders
target/

# IntelliJ project files
*.iml
*.ipr
*.iws
.idea/

# Eclipse project files
.project
.classpath
.settings/

# NetBeans user configuration
nbactions.xml
nb-configuration.xml

# Python runtime files
*.py[co]

# ANTLR C# target build folders
/runtime/CSharp3/Sources/Antlr3.Runtime/bin/
/runtime/CSharp3/Sources/Antlr3.Runtime/obj/
/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/bin/
/runtime/CSharp3/Sources/Antlr3.Runtime.Debug/obj/
/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/bin/
/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/obj/
/runtime/CSharp3/Sources/Antlr3.Runtime.Test/bin/
/runtime/CSharp3/Sources/Antlr3.Runtime.Test/obj/
