diff --git a/.gitignore b/.gitignore
index af9520e2cdaef62a4f3223d8ad9620d15ae14599..69e119b13c3a4684fae34e56b8eda332a0db3a30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -128,4 +128,9 @@ m4/lt~obsolete.m4
# (meta build system like autotools,
# can automatically generate from config.status script
# (which is called by configure script))
-Makefile
\ No newline at end of file
+Makefile
+
+*.ll
+*.bc
+*.s
+src/yacc_stuff/tokenizer.cpp
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000000000000000000000000000000000000..6feb2a46e3ba49c60586a39f70d4b8c891fd5f29
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,27 @@
+{
+ // 使用 IntelliSense 了解相关属性。
+ // 悬停以查看现有属性的描述。
+ // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "aloc启动",
+ "type": "cppdbg",
+ "request": "launch",
+ "program": "${workspaceFolder}/build/src/aloc",
+ "args": ["${workspaceFolder}/test/demoa+b.alo","--static","-L","${workspaceFolder}/build/src/lib"],
+ "stopAtEntry": false,
+ "cwd": "${workspaceFolder}/build",
+ "environment": [],
+ "externalConsole": false,
+ "MIMode": "gdb",
+ "setupCommands": [
+ {
+ "description": "为 gdb 启用整齐打印",
+ "text": "-enable-pretty-printing",
+ "ignoreFailures": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index cc67606f330b4e5b4d643ce3adadee13122a081c..6d68035cdb5a9faf5dc3959684e90bde661d692a 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,4 +1,23 @@
{
"python.linting.pylintEnabled": true,
- "python.linting.enabled": true
+ "python.linting.enabled": true,
+ "files.associations": {
+ "*.s": "asm-intel-x86-generic",
+ "*.tcc": "cpp",
+ "numeric": "cpp",
+ "fstream": "cpp",
+ "iostream": "cpp",
+ "istream": "cpp",
+ "ostream": "cpp",
+ "shared_mutex": "cpp",
+ "system_error": "cpp",
+ "regex": "cpp",
+ "typeindex": "cpp",
+ "typeinfo": "cpp",
+ "*.def": "cpp",
+ "*.inc": "cpp",
+ "deque": "cpp",
+ "string": "cpp",
+ "vector": "cpp"
+ }
}
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 1a8290500ce4a4654cba69de3f64b9fb51ed3a76..3b4eb5de4d6ea30227ff6fde4774f23030ea0f9d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_PREREQ([2.70])
+AC_PREREQ([2.69])
AC_INIT([AloLang Compiler], [Dev Beta], [https://github.com/XJTU-Youth/AloLang-Dev/issues])
AC_ARG_ENABLE([debug],
@@ -17,12 +17,14 @@ AC_PROG_CXX
AC_PROG_CC
AC_PROG_LEX(noyywrap)
AC_PROG_RANLIB
-
# Checks for libraries.
# FIXME: Replace 'main' with a function in '-lboost_program_options':
AC_CHECK_LIB([boost_program_options], [boost::program_options::strip_prefixes])
AC_CHECK_LIB([LLVM-11], [llvm::demangle])
+
+
+
# Checks for header files.
AC_CHECK_HEADERS([inttypes.h unistd.h])
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index 5a680f317a65b94323cc494175b1bdab7f961590..161185990276a5f88afa463df6c278c972d9bc80 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -1,7 +1,7 @@
* [AloLang语言参考文档](/index)
* [标准库](library/index)
- * [alolang库:图](library/graph/index)
- * [alolang库:math](library/math/index)
+ * [图](library/graph/index)
+ * [math](library/math/index)
* [语言](language/index)
* [预处理器](language/preprocessor/index)
* [条件包含](language/preprocessor/conditional/index)
@@ -11,52 +11,54 @@
* [TODO](language/initialization/index)
* [Alolang关键字](language/keyword/index)
* [类型关键字](language/keyword/type/index)
- * [alolang关键字:long](language/keyword/type/long/index)
- * [alolang关键字:anytype](language/keyword/type/anytype/index)
- * [alolang关键字:float](language/keyword/type/float/index)
- * [alolang关键字:enum](language/keyword/type/enum/index)
- * [alolang关键字:void](language/keyword/type/void/index)
- * [alolang关键字:char](language/keyword/type/char/index)
- * [alolang关键字:bool](language/keyword/type/bool/index)
- * [alolang关键字:struct](language/keyword/type/struct/index)
- * [alolang关键字:string](language/keyword/type/string/index)
- * [alolang关键字:signed](language/keyword/type/signed/index)
- * [alolang关键字:double](language/keyword/type/double/index)
- * [alolang关键字:int8_t](language/keyword/type/int8_t/index)
- * [alolang关键词:unsigned](language/keyword/type/unsigned/index)
- * [alolang关键字:int](language/keyword/type/int/index)
- * [alolang关键字:int16_t](language/keyword/type/int16_t/index)
- * [alolang关键字:array](language/keyword/type/array/index)
- * [alolang关键字:int32_t](language/keyword/type/int32_t/index)
- * [alolang关键词:auto](language/keyword/type/auto/index)
+ * [long](language/keyword/type/long/index)
+ * [anytype](language/keyword/type/anytype/index)
+ * [float](language/keyword/type/float/index)
+ * [enum](language/keyword/type/enum/index)
+ * [type](language/keyword/type/type/index)
+ * [void](language/keyword/type/void/index)
+ * [char](language/keyword/type/char/index)
+ * [bool](language/keyword/type/bool/index)
+ * [struct](language/keyword/type/struct/index)
+ * [string](language/keyword/type/string/index)
+ * [signed](language/keyword/type/signed/index)
+ * [double](language/keyword/type/double/index)
+ * [int8_t](language/keyword/type/int8_t/index)
+ * [unsigned](language/keyword/type/unsigned/index)
+ * [int](language/keyword/type/int/index)
+ * [int16_t](language/keyword/type/int16_t/index)
+ * [array](language/keyword/type/array/index)
+ * [int32_t](language/keyword/type/int32_t/index)
+ * [auto](language/keyword/type/auto/index)
+ * [空标识符 `_`](language/keyword/blank/index)
* [代用运算符的关键字](language/keyword/alternative/index)
- * [alolang关键字:and](language/keyword/alternative/and/index)
- * [alolang关键字:not](language/keyword/alternative/not/index)
- * [alolang关键字:xor](language/keyword/alternative/xor/index)
- * [alolang关键字:or](language/keyword/alternative/or/index)
+ * [and](language/keyword/alternative/and/index)
+ * [not](language/keyword/alternative/not/index)
+ * [xor](language/keyword/alternative/xor/index)
+ * [or](language/keyword/alternative/or/index)
* [运算符](language/keyword/operators/index)
* [自修改运算符](language/keyword/operators/self_change/index)
* [常量](language/keyword/literal/index)
- * [alolang关键字:EOF](language/keyword/literal/EOF/index)
- * [alolang关键字:false](language/keyword/literal/false/index)
- * [alolang关键字:true](language/keyword/literal/true/index)
+ * [EOF](language/keyword/literal/EOF/index)
+ * [false](language/keyword/literal/false/index)
+ * [true](language/keyword/literal/true/index)
* [语句声明关键字](language/keyword/statements/index)
- * [alolang关键字:if](language/keyword/statements/if/index)
- * [alolang关键字:for](language/keyword/statements/for/index)
- * [alolang关键字:while](language/keyword/statements/while/index)
- * [alolang关键字:do](language/keyword/statements/do/index)
- * [alolang关键字:extern](language/keyword/statements/extern/index)
- * [alolang关键字:else](language/keyword/statements/else/index)
- * [alolang关键字:break](language/keyword/statements/break/index)
- * [alolang关键字:goto](language/keyword/statements/goto/index)
- * [alolang关键字:case](language/keyword/statements/case/index)
- * [alolang关键字:foreach](language/keyword/statements/foreach/index)
- * [alolang关键字:continue](language/keyword/statements/continue/index)
- * [alolang关键字:export](language/keyword/statements/export/index)
- * [alolang关键字:return](language/keyword/statements/return/index)
- * [alolang关键字:catch](language/keyword/statements/catch/index)
- * [alolang关键字:switch](language/keyword/statements/switch/index)
- * [alolang关键字:try](language/keyword/statements/try/index)
+ * [if](language/keyword/statements/if/index)
+ * [for](language/keyword/statements/for/index)
+ * [while](language/keyword/statements/while/index)
+ * [do](language/keyword/statements/do/index)
+ * [extern](language/keyword/statements/extern/index)
+ * [else](language/keyword/statements/else/index)
+ * [break](language/keyword/statements/break/index)
+ * [goto](language/keyword/statements/goto/index)
+ * [case](language/keyword/statements/case/index)
+ * [foreach](language/keyword/statements/foreach/index)
+ * [continue](language/keyword/statements/continue/index)
+ * [export](language/keyword/statements/export/index)
+ * [return](language/keyword/statements/return/index)
+ * [catch](language/keyword/statements/catch/index)
+ * [switch](language/keyword/statements/switch/index)
+ * [try](language/keyword/statements/try/index)
* [TODO](language/translation_phases/index)
* [TODO](language/expressions/index)
* [TODO](language/declarations/index)
diff --git a/docs/index.html b/docs/index.html
index 30e018f007364814b54ccbc656cd0ee61ff62f24..38f223cd3a9c6cf09a2c77515dd2f093228c280a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -30,6 +30,8 @@
-
+
+
+