Skip to content

Instantly share code, notes, and snippets.

@joseluisq
Last active September 14, 2020 14:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save joseluisq/575207cf453185c39520ebcf363b902e to your computer and use it in GitHub Desktop.
Save joseluisq/575207cf453185c39520ebcf363b902e to your computer and use it in GitHub Desktop.
JSON of programming languages and their keywords. Additionally it contains a summary and extensions. Originally adapted from https://github.com/leighmcculloch/keywords
{
"data": [
{
"name": "Lua",
"version": 5.3,
"summary": "Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming and data description.",
"extensions": [
"lua"
],
"keywords": [
"and",
"break",
"do",
"else",
"elseif",
"end",
"false",
"for",
"function",
"goto",
"if",
"in",
"local",
"nil",
"not",
"or",
"repeat",
"return",
"then",
"true",
"until",
"while"
],
"sources": [
"https://www.lua.org/manual/5.3/manual.html#3.1"
]
},
{
"name": "Go",
"version": 1.11,
"summary": "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.",
"extensions": [
"go"
],
"keywords": [
"break",
"case",
"chan",
"const",
"continue",
"default",
"defer",
"else",
"fallthrough",
"for",
"func",
"go",
"goto",
"if",
"import",
"interface",
"map",
"package",
"range",
"return",
"select",
"struct",
"switch",
"type",
"var"
],
"sources": [
"https://golang.org/ref/spec#Keywords"
]
},
{
"name": "C",
"version": "C18",
"summary": "C18 is the informal name for ISO/IEC 9899:2018, the most recent standard for the C programming language.",
"extensions": [
"c",
"h"
],
"keywords": [
"auto",
"break",
"case",
"char",
"const",
"continue",
"default",
"do",
"double",
"else",
"enum",
"extern",
"float",
"for",
"goto",
"if",
"inline",
"int",
"long",
"register",
"restrict",
"return",
"short",
"signed",
"sizeof",
"static",
"struct",
"switch",
"typedef",
"union",
"unsigned",
"void",
"volatile",
"while",
"_Alignas",
"_Alignof",
"_Atomic",
"_Bool",
"_Complex",
"_Generic",
"_Imaginary",
"_Noreturn",
"_Static_assert",
"_Thread_local"
],
"sources": [
"http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf"
]
},
{
"name": "Python",
"version": 2.7,
"summary": "Python is a programming language that lets you work quickly and integrate systems more effectively.",
"extensions": [
"py",
"pyi",
"pyc",
"pyd",
"pyo"
],
"keywords": [
"and",
"as",
"assert",
"break",
"class",
"continue",
"def",
"del",
"elif",
"else",
"except",
"exec",
"finally",
"for",
"from",
"global",
"if",
"import",
"in",
"is",
"lambda",
"not",
"or",
"pass",
"print",
"raise",
"return",
"try",
"while",
"with",
"yield"
],
"sources": [
"https://docs.python.org/2/reference/lexical_analysis.html#keywords"
]
},
{
"name": "Python",
"version": 3.7,
"summary": "Python is a programming language that lets you work quickly and integrate systems more effectively.",
"extensions": [
"py",
"pyi",
"pyc",
"pyd",
"pyw",
"pyz"
],
"keywords": [
"false",
"None",
"true",
"and",
"as",
"assert",
"async",
"await",
"break",
"class",
"continue",
"def",
"del",
"elif",
"else",
"except",
"finally",
"for",
"from",
"global",
"if",
"import",
"in",
"is",
"lambda",
"nonlocal",
"not",
"or",
"pass",
"raise",
"return",
"try",
"while",
"with",
"yield"
],
"sources": [
"https://docs.python.org/3.7/reference/lexical_analysis.html#keywords"
]
},
{
"name": "C",
"version": "ANSI",
"summary": "ANSI C, ISO C and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI).",
"extensions": [
"c",
"h"
],
"keywords": [
"auto",
"break",
"case",
"char",
"const",
"continue",
"default",
"do",
"double",
"else",
"enum",
"extern",
"float",
"for",
"goto",
"if",
"int",
"long",
"register",
"return",
"short",
"signed",
"sizeof",
"static",
"struct",
"switch",
"typedef",
"union",
"unsigned",
"void",
"volatile",
"while"
],
"sources": [
"http://port70.net/~nsz/c/c89/c89-draft.html#3.1.1"
]
},
{
"name": "Java",
"version": "SE 11",
"summary": "Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible.",
"extensions": [
"java",
"class",
"jar"
],
"keywords": [
"abstract",
"assert",
"boolean",
"break",
"byte",
"case",
"catch",
"char",
"class",
"const",
"continue",
"default",
"do",
"double",
"else",
"enum",
"extends",
"final",
"finally",
"float",
"for",
"if",
"goto",
"implements",
"import",
"instanceof",
"int",
"interface",
"long",
"native",
"new",
"package",
"private",
"protected",
"public",
"return",
"short",
"static",
"strictfp",
"super",
"switch",
"synchronized",
"this",
"throw",
"throws",
"transient",
"try",
"void",
"volatile",
"while",
"_"
],
"sources": [
"https://docs.oracle.com/javase/specs/jls/se11/html/jls-3.html#jls-3.9"
]
},
{
"name": "C++",
"version": "C++17",
"summary": "C++ is a general-purpose programming language created as an extension of the C programming language or \"C with Classes\".",
"extensions": [
"h",
"hh",
"hpp",
"hxx",
"h++",
"cc",
"cpp",
"cxx",
"c++"
],
"keywords": [
"alignas",
"alignof",
"asm",
"auto",
"bool",
"break",
"case",
"catch",
"char",
"char16_t",
"char32_t",
"class",
"const",
"constexpr",
"const_cast",
"continue",
"decltype",
"default",
"delete",
"do",
"double",
"dynamic_cast",
"else",
"enum",
"explicit",
"export",
"extern",
"false",
"float",
"for",
"friend",
"goto",
"if",
"inline",
"int",
"long",
"mutable",
"namespace",
"new",
"noexcept",
"nullptr",
"operator",
"private",
"protected",
"public",
"register",
"reinterpret_cast",
"return",
"short",
"signed",
"sizeof",
"static",
"static_assert",
"static_cast",
"struct",
"switch",
"template",
"this",
"thread_local",
"throw",
"true",
"try",
"typedef",
"typeid",
"typename",
"union",
"unsigned",
"using",
"virtual",
"void",
"volatile",
"wchar_t",
"while"
],
"sources": [
"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf"
]
},
{
"name": "C#",
"version": 5,
"summary": "C# is a general-purpose, multi-paradigm programming language encompassing strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines developed as part of .NET initiative.",
"extensions": [
"cs"
],
"keywords": [
"abstract",
"as",
"base",
"bool",
"break",
"byte",
"case",
"catch",
"char",
"checked",
"class",
"const",
"continue",
"decimal",
"default",
"delegate",
"do",
"double",
"else",
"enum",
"event",
"explicit",
"extern",
"false",
"finally",
"fixed",
"float",
"for",
"foreach",
"goto",
"if",
"implicit",
"in",
"int",
"interface",
"internal",
"is",
"lock",
"long",
"namespace",
"new",
"null",
"object",
"operator",
"out",
"override",
"params",
"private",
"protected",
"public",
"readonly",
"ref",
"return",
"sbyte",
"sealed",
"short",
"sizeof",
"stackalloc",
"static",
"string",
"struct",
"switch",
"this",
"throw",
"true",
"try",
"typeof",
"uint",
"ulong",
"unchecked",
"unsafe",
"ushort",
"using",
"virtual",
"void",
"volatile",
"while"
],
"sources": [
"https://download.microsoft.com/download/0/B/D/0BDA894F-2CCD-4C2C-B5A7-4EB1171962E5/CSharp%20Language%20Specification.docx"
]
},
{
"name": "PHP",
"version": 7,
"summary": "PHP is a \"Hypertext Preprocessor\" general-purpose scripting language that is especially suited for web development and can be embedded into HTML.",
"extensions": [
"php",
"phtml",
"php3",
"php4",
"php5",
"php7",
"phps",
"php-s",
"pht",
"phar"
],
"keywords": [
"__halt_compiler()",
"abstract",
"and",
"array()",
"as",
"break",
"callable",
"case",
"catch",
"class",
"clone",
"const",
"continue",
"declare",
"default",
"die()",
"do",
"echo",
"else",
"elseif",
"empty()",
"enddeclare",
"endfor",
"endforeach",
"endif",
"endswitch",
"endwhile",
"eval()",
"exit()",
"extends",
"final",
"finally",
"for",
"foreach",
"function",
"global",
"goto",
"if",
"implements",
"include",
"include_once",
"instanceof",
"insteadof",
"interface",
"isset()",
"list()",
"namespace",
"new",
"or",
"print",
"private",
"protected",
"public",
"require",
"require_once",
"return",
"static",
"switch",
"throw",
"trait",
"try",
"unset()",
"use",
"var",
"while",
"xor",
"yield"
],
"sources": [
"http://php.net/manual/en/reserved.keywords.php"
]
},
{
"name": "R",
"version": 3.5,
"summary": "R is a language and environment for statistical computing and graphics.",
"extensions": [
"r",
"rdata",
"rds",
"rda"
],
"keywords": [
"...",
"false",
"Inf",
"NA",
"NA_character_",
"NA_complex_",
"NA_integer_",
"NA_real_",
"NaN",
"NULL",
"true",
"break",
"else",
"for",
"function",
"if",
"in",
"next",
"repeat",
"while"
],
"sources": [
"https://cran.r-project.org/doc/manuals/r-release/R-lang.html#Reserved-words"
]
},
{
"name": "JS",
"version": "ES2018",
"summary": "Javascript is a high-level, just-in-time compiled, multi-paradigm programming language that conforms to the ECMAScript specification.",
"extensions": [
"js",
"mjs"
],
"keywords": [
"await",
"break",
"case",
"catch",
"class",
"const",
"continue",
"debugger",
"default",
"delete",
"do",
"else",
"export",
"extends",
"finally",
"for",
"function",
"if",
"import",
"in",
"instanceof",
"new",
"return",
"super",
"switch",
"this",
"throw",
"try",
"typeof",
"var",
"void",
"while",
"with",
"yield"
],
"sources": [
"https://www.ecma-international.org/ecma-262/9.0/index.html#sec-keywords"
]
},
{
"name": "Ruby",
"version": 2.5,
"summary": "Ruby is an high-level interpreted, dynamically typed and general-purpose programming language.",
"extensions": [
"rb",
"rbw"
],
"keywords": [
"_ENCODING_",
"_LINE_",
"_FILE_",
"BEGIN",
"END",
"alias",
"and",
"begin",
"break",
"case",
"class",
"def",
"defined?",
"do",
"else",
"elsif",
"end",
"ensure",
"false",
"for",
"if",
"in",
"module",
"next",
"nil",
"not",
"or",
"redo",
"rescue",
"retry",
"return",
"self",
"super",
"then",
"true",
"undef",
"unless",
"until",
"when",
"while",
"yield"
],
"sources": [
"https://docs.ruby-lang.org/en/2.5.0/keywords_rdoc.html"
]
},
{
"name": "Swift",
"version": 4.2,
"summary": "Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.",
"extensions": [
"swift"
],
"keywords": [
"associatedtype",
"class",
"deinit",
"enum",
"extension",
"fileprivate",
"func",
"import",
"init",
"inout",
"internal",
"let",
"open",
"operator",
"private",
"protocol",
"public",
"static",
"struct",
"subscript",
"typealias",
"var",
"break",
"case",
"continue",
"default",
"defer",
"do",
"else",
"fallthrough",
"for",
"guard",
"if",
"in",
"repeat",
"return",
"switch",
"where",
"while",
"as",
"Any",
"catch",
"false",
"is",
"nil",
"rethrows",
"super",
"self",
"Self",
"throw",
"throws",
"true",
"try",
"_",
"#available",
"#colorLiteral",
"#column",
"#else",
"#elseif",
"#endif",
"#error",
"#file",
"#fileLiteral",
"#function",
"#if",
"#imageLiteral",
"#line",
"#selector",
"#sourceLocation",
"#warning"
],
"sources": [
"https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html"
]
},
{
"name": "Scala",
"version": 2.12,
"summary": "Scala combines object-oriented and functional programming in one concise, high-level language supporting static types on top of JVM.",
"extensions": [
"scala",
"sc"
],
"keywords": [
"abstract",
"case",
"catch",
"class",
"def",
"do",
"else",
"extends",
"false",
"final",
"finally",
"for",
"forSome",
"if",
"implicit",
"import",
"lazy",
"macro",
"match",
"new",
"null",
"object",
"override",
"package",
"private",
"protected",
"return",
"sealed",
"super",
"this",
"throw",
"trait",
"try",
"true",
"type",
"val",
"var",
"while",
"with",
"yield"
],
"sources": [
"https://scala-lang.org/files/archive/spec/2.12/01-lexical-syntax.html"
]
},
{
"name": "Erlang",
"version": 21.2,
"summary": "Erlang is a general-purpose, concurrent, functional programming language, and a garbage-collected runtime system.",
"extensions": [
"erl",
"hrl"
],
"keywords": [
"after",
"and",
"andalso",
"band",
"begin",
"bnot",
"bor",
"bsl",
"bsr",
"bxor",
"case",
"catch",
"cond",
"div",
"end",
"fun",
"if",
"let",
"not",
"of",
"or",
"orelse",
"receive",
"rem",
"try",
"when",
"xor"
],
"sources": [
"http://erlang.org/doc/reference_manual/introduction.html#reserved-words"
]
},
{
"name": "Rust",
"version": 1.31,
"summary": "A programming language that empowers everyone to build reliable and efficient software.",
"extensions": [
"rs",
"rlib"
],
"keywords": [
"_",
"abstract",
"alignof",
"as",
"become",
"box",
"break",
"const",
"continue",
"crate",
"do",
"else",
"enum",
"extern",
"false",
"final",
"fn",
"for",
"if",
"impl",
"in",
"let",
"loop",
"macro",
"match",
"mod",
"move",
"mut",
"offsetof",
"override",
"priv",
"proc",
"pub",
"pure",
"ref",
"return",
"Self",
"self",
"sizeof",
"static",
"struct",
"super",
"trait",
"true",
"type",
"typeof",
"unsafe",
"unsized",
"use",
"virtual",
"where",
"while",
"yield"
],
"sources": [
"https://doc.rust-lang.org/grammar.html#keywords"
]
},
{
"name": "Kotlin",
"summary": "Kotlin is a cross-platform, statically typed, general-purpose programming language with type inference.",
"version": 1.3,
"extensions": [
"kt",
"kts"
],
"keywords": [
"as",
"as?",
"break",
"class",
"continue",
"do",
"else",
"false",
"for",
"fun",
"if",
"in",
"null",
"interface",
"is",
"null",
"null",
"object",
"package",
"return",
"super",
"this",
"throw",
"true",
"try",
"typealias",
"val",
"var",
"when",
"while"
],
"sources": [
"https://kotlinlang.org/docs/reference/keyword-reference.html"
]
},
{
"name": "Elixir",
"summary": "Elixir is a dynamic, functional language designed for building scalable and maintainable applications.",
"version": 1.7,
"extensions": [
"ex",
"exs"
],
"keywords": [
"true",
"false",
"nil",
"when",
"and",
"or",
"not",
"in",
"fn",
"do",
"end",
"catch",
"rescue",
"after",
"else"
],
"sources": [
"https://github.com/elixir-lang/elixir/blob/master/lib/elixir/pages/Syntax%20Reference.md"
]
},
{
"name": "Dart",
"version": 1,
"summary": "Dart is a client-optimized language for fast apps on any platform.",
"extensions": [
"dart"
],
"keywords": [
"assert",
"break",
"case",
"catch",
"class",
"const",
"continue",
"default",
"do",
"else",
"enum",
"extends",
"false",
"final",
"finally",
"for",
"if",
"in",
"is",
"new",
"null",
"rethrow",
"return",
"super",
"switch",
"this",
"throw",
"true",
"try",
"var",
"void",
"while",
"with"
],
"sources": [
"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-408.pdf"
]
},
{
"name": "Fortran",
"version": "Fortran 2008",
"summary": "One of the first high-level programming languages, designed to solve problems that can be expressed algebraically and used mainly in mathematics, science, and engineering.",
"extensions": [
"f",
"for",
"f90"
],
"keywords": [
"abstract",
"allocatable",
"allocate",
"assign",
"associate",
"asynchronous",
"backspace",
"bind",
"block",
"block data",
"call",
"case",
"class",
"close",
"codimension",
"common",
"contains",
"contiguous",
"continue",
"critical",
"cycle",
"data",
"deallocate",
"deferred",
"dimension",
"do",
"do concurrent",
"elemental",
"else",
"else if",
"elsewhere",
"end",
"endfile",
"endif",
"entry",
"enum",
"enumerator",
"equivalence",
"error stop",
"exit",
"extends",
"external",
"final",
"flush",
"forall",
"format",
"function",
"generic",
"goto",
"if",
"implicit",
"import",
"include",
"inquire",
"intent",
"interface",
"intrinsic",
"lock",
"module",
"namelist",
"non_overridable",
"nopass",
"nullify",
"only",
"open",
"operator",
"optional",
"parameter",
"pass",
"pause",
"pointer",
"print",
"private",
"procedure",
"program",
"protected",
"public",
"pure",
"read",
"recursive",
"result",
"return",
"rewind",
"rewrite",
"save",
"select",
"sequence",
"stop",
"submodule",
"subroutine",
"sync all",
"sync images",
"sync memory",
"target",
"then",
"unlock",
"use",
"value",
"volatile",
"wait",
"where",
"while",
"write"
],
"sources": [
"http://fortranwiki.org/fortran/show/Keywords"
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment