@@ -3,23 +3,23 @@ beluga: a standard C compiler
3
3
4
4
` beluga ` is a standard C compiler being developed based on an earlier version
5
5
of [ ` lcc ` ] ( https://github.com/drh/lcc ) . It supports C90 (to be precise,
6
- [ ISO/IEC 9899:1990] ( http ://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=17782) )
6
+ [ ISO/IEC 9899:1990] ( https ://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=17782) )
7
7
as its ancestor does and is planned to extend the coverage to
8
- [ C99] ( http ://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=29237)
8
+ [ C99] ( https ://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=29237)
9
9
(and
10
- [ C11] ( http ://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=57853)
10
+ [ C11] ( https ://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=57853)
11
11
finally).
12
12
13
13
Compared to its parent, ` beluga ` carefully implements the language standard
14
14
and thus provides production-quality diagnostics including caret diagnostics,
15
15
range highlighting, ` typedef ` preservation and macro expansion tracking:
16
16
17
- ![ screenshot for enhanced front-end features] ( http ://code.woong.org/common/files/compiler-20171025.png)
17
+ ![ screenshot for enhanced front-end features] ( https ://code.woong.org/common/files/compiler-20171025.png)
18
18
19
19
The generated code is not highly optimized, but satisfactory enough for daily
20
20
use. (_ This is a hobby project; never easy for me alone to catch up production
21
21
compilers like [ gcc] ( https://gcc.gnu.org/ ) and
22
- [ clang+llvm] ( http ://clang.llvm.org/) _ .)
22
+ [ clang+llvm] ( https ://clang.llvm.org/) _ .)
23
23
24
24
` beluga ` currently produces assembly output for
25
25
[ x86] ( https://en.wikipedia.org/wiki/X86 ) only (and uses an assembler from the
@@ -54,17 +54,17 @@ evaluation order of the `##` operator like this:
54
54
and, due to the line mapper shared by the compiler, it pinpoints problematic
55
55
spots as precisely as possible:
56
56
57
- ![ range highlighting on sub-expression from macro expansion] ( http ://code.woong.org/common/files/pp-20171025.png)
57
+ ![ range highlighting on sub-expression from macro expansion] ( https ://code.woong.org/common/files/pp-20171025.png)
58
58
59
59
The current version conforms to C90, but supports features like empty arguments
60
- and [ variadic macros] ( http ://en.wikipedia.org/wiki/Variadic_macro) introduced
60
+ and [ variadic macros] ( https ://en.wikipedia.org/wiki/Variadic_macro) introduced
61
61
in C99 and widely used now.
62
62
63
63
64
64
#### Try it out
65
65
66
66
You can try them out on the ` beluga ` 's
67
- [ web page] ( http ://code.woong.org/beluga) .
67
+ [ web page] ( https ://code.woong.org/beluga) .
68
68
69
69
70
70
#### How to install
@@ -76,4 +76,4 @@ issues, see the accompanying `LICENSE.md` file.
76
76
#### Contact
77
77
78
78
If you have a question or suggestion, do not hesitate to contact me via email
79
- (woong.jun at gmail.com) or web (http ://code.woong.org/ ).
79
+ (woong.jun at gmail.com) or web (https ://code.woong.org/ ).
0 commit comments