summaryrefslogtreecommitdiff
path: root/doc/language.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/language.txt')
-rw-r--r--doc/language.txt128
1 files changed, 0 insertions, 128 deletions
diff --git a/doc/language.txt b/doc/language.txt
deleted file mode 100644
index e6c9161..0000000
--- a/doc/language.txt
+++ /dev/null
@@ -1,128 +0,0 @@
-Token types:
- keyword
- identifier
- punctuation (";" "{" "}" "(" ")" "," "|" "=" ":")
- cxx-path-literal ("c++:path", <c++:path>, "path", <path>)
- cli-path-literal ("cli:path", <cli:path>, "path.cli", <path.cli>)
- char-literal
- string-literal
- bool-literal
- int-literal
- float-literal
- call-expr (e.g., (a, 2))
- template-expr (e.g., <a, 2>)
- end-of-stream
-
-def-unit:
- include-decl-seq(opt) decl-seq(opt)
-
-include-decl-seq:
- source-decl
- include-decl
- include-decl-seq include-decl
-
-source-decl:
- "source" cli-path-literal ";"
-
-include-decl:
- "include" include-path ";"
-
-include-path:
- cxx-path-literal
- cli-path-literal
-
-decl-seq:
- decl
- decl-seq decl
-
-decl:
- source-decl
- scope-doc
- namespace-def
- class-def
-
-scope-doc:
- string-literal
- "{" doc-string-seq "}"
-
-namespace-def:
- "namespace" identifier "{" namespace-body "}"
-
-namespace-body:
- decl-seq(opt)
-
-class-def:
- "class" identifier inheritance-spec(opt) abstract-spec(opt) "{" class-decl-seq(opt) "};"
-
-inheritance-spec:
- ":" base-seq
-
-base-seq:
- qualified-name
- base-seq "," qualified-name
-
-abstract-spec:
- "=" "0"
-
-class-decl-seq:
- class-decl
- class-decl-seq class-decl
-
-class-decl
- scope-doc
- option-def
-
-option-def:
- type-spec option-name-seq initializer(opt) option-def-trailer
-
-type-spec:
- fundamental-type-spec
- qualified-name
-
-option-name-seq:
- option-name
- option-name-seq "|" option-name
-
-option-name:
- option-identifier
- string-literal
-
-initializer:
- "=" initializer-expr
- call-expr
-
-initializer-expr:
- bool-literal
- int-literal
- float-literal
- char-literal
- string-literal
- qualified-name
- call-expr
-
-option-def-trailer:
- ";"
- option-doc
-
-option-doc:
- "{" doc-string-seq "}"
-
-doc-string-seq:
- string-literal
- doc-string-seq "," string-literal
-
-qualified-name:
- "::" qualified-name-trailer
- qualified-name-trailer
-
-qualified-name-trailer:
- template-id
- qualified-name "::" template-id
-
-template-id:
- identifier template-expr(opt)
-
-fundamental-type-spec:
- "bool"
- ...
- "long double"