skip to main content

kiesler.at

Random Guide to whatever
updated by rck, 2004-10-10

Another case of trying out the swallow hack 0.2. This time, I'm shuffling some sections around. Enjoy!

0 < n < 100

Seit ich das Inline-Assemblerkonzept kenne, habe ich mich immer wieder vor "purem" Assembler gedrückt. Bis jetzt jedes mal erfolgreich. Und die eingesparte Zeit kann man dann zB für das Schreiben solcher Tutorials verwenden... ;-)

Inline-Assembler spielt seine wahren Stärken bei Speicherzugriffen (Stichwort: Alignment) und Schleifen (Stichwort: Label) aus. Auch bei kleinen Aufgabenstellungen, für die ein "richtiges" Assemblerprogramm zu mühsam wäre, kann man mit Inline-Assembler Performance gewinnen (siehe asma).

100 < n < 200

1 /*                      scanner.lex
2                         (c) 2004 René C. Kiesler
3 
4                         please visit http://www.kiesler.at/
5                         for further informations & support.
6 */
7 
8                 
9                         #include <math.h>
10 
11                         int num_lines = 1;
12                         int last_open_sighting = -1;
13 
14 
15 KEYWORD                 func|where|end|if|then|else|not|hd|tl|islist|and
16 OPERATOR                \:|\;|\,|\=|\-|\+|\*|\<|\(|\)
17 LEXEM                   {KEYWORD}|{OPERATOR}
18 
19 HEXZAHL                 0x[0-9a-fA-F]+
20 DECZAHL                 [0-9]+
21 
22 IDENTIFIER              [a-zA-Z][0-9a-zA-Z]*
23 
24 WHITESPACE              [ \t]+
25 COMMENT_START           \(\*
26 COMMENT_END             \*\)
27 
28 NEWLINE                 \n
29 
30 ANYCHAR                 .
31 
32 
33 %x COMMENT
34 %%
35 
36 
37 {COMMENT_START}         {       BEGIN(COMMENT);
38                                 last_open_sighting = num_lines;
39                         }
40 <COMMENT>{COMMENT_END}  BEGIN(INITIAL);
41 <COMMENT><<EOF>>        {       fprintf(stderr,
42                                         "unmatched opening comment in line %d, %s\n",
43                                         last_open_sighting, "eof reached.");
44                                 exit(1);
45                         }
46 <COMMENT>\n             num_lines++;
47 <COMMENT>.              /* alles im Kommentar ignorieren */
48 
49 {WHITESPACE}            /* Whitespace, wird ignoriert */
50 {NEWLINE}               num_lines++;
51 
52 {LEXEM}                 printf("%s\n", yytext);
53 
54 {DECZAHL}               printf("num 0x%x\n", atoi(yytext));
55 {HEXZAHL}               printf("num 0x%x\n", strtol(yytext, 0, 16));
56 
57 {IDENTIFIER}            printf("ident %s\n", yytext);
58 
59 {ANYCHAR}               {       fprintf(stderr,
60                                         "unknown character '%s' in line %d.\n",
61                                         yytext, num_lines);
62                                 exit(1);
63                         }
64 
65 %%
66 
67 
68                         main(int argc, char **argv) {
69                                 yyin=argc>1 ? fopen(argv[1], "r") : stdin;
70                                 yylex();
71                                 exit(0);
72                         }
73 

200 < n < 300

Immer wieder liest man im Informatik Forum von Kollegen, deren Programm plötzlich hängt.

Beim einen System ginge es, beim nächsten wieder nicht. Kopiert man sich die Eingabedaten aus der Bewertung in eine Datei und führt sie dann aus, geht auf einmal alles.

Ich möchte versuchen, im Rahmen dieses Artikels diese Bibliothek genauer zu Beleuchten. Sollte etwas fehlen/ungenau/unpassend/unklar sein: Bitte als Kommentar anmerken!

here you can see some nonsense article. in case it makes sense, it's all fault of Swallow Hack 0.5 for Article Manager!



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004

What's Related

Article Manager

Hacks

Latest Updates

AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki

Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread

Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread

Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread


Zu den KO2100 Foren