Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Ganz simpel könntest du erstmal ein Array dafür nehmen.hallo,
kannst du mir anhand eines Beispiels zeigen wie man eine tabelle anlegt, soweit bin ich noch nicht, hab gerade erst angefangen flex bison richtig anzuwenden kenne mich noch nicht so genau aus.Danke.
typedef struct { const char name[20];
LabelStmt* link;
} label_stmt;
label_stmt label_tab[100];
Was genau meinst du? Du erwartest doch wohl nicht das ich mir das alles durchlese, oder?!Hallo,
ich hab hier was gefunden, kann dies mir abhilfe schaffen. genauso kann ich doch auch für meinen JMP Befehl machen oder.
Kannst dir mal anschauen.Danke.
http://www.mikrocontroller.net/topic/126816
struct Command
{
const char* Keyword;
FktPtr Function;
};
#define MAX_COMMANDS 20
struct Command Commands[ MAX_COMMANDS ];
int NrCommands = 0;
unsigned char AddCommand( const char* Keyword, FktPtr Function )
{
if( NrCommands >= MAX_COMMANDS )
return FALSE;
Commands[NrCommands].Keyword = Keyword;
Commands[NrCommands].Function = Function;
NrCommands++;
return TRUE;
}
void TestFkt( int count, int* args )
{
}
void EchoFkt( int count, int* args )
{
int i;
for( i = 0; i < count; ++i )
printf( "%d\n", args[i] );
}
int main()
{
AddCommand( "test", TestFkt );
AddCommand( "echo", EchoFkt );
}
void Execute( const char* Input )
{
size_t i, j;
char Command[20];
// Whitespace am Anfang überlesen
while( Input[i] != '\0' && ( Input[i] == ' ' || Input[i] == '\t' ||
Input[i] == '\n' ) )
i++;
if( Input[i] == '\0' )
return
j = 0;
while( Input[i] != '\0' && !( Input[i] == ' ' || Input[i] == '\t' ||
Input[i] == '\n' ) ) {
Command[j++] = Input[i++];
for( i = 0; i < NrCommands; ++i ) {
if( stricmp( Commands[i].Keyword, Command ) == 0 ) {
(*Commands[i].Function)();
return;
}
}
printf( "Don't know how to \'%s\'\n", Command );
}
Wenn du damit meinst das dort auch eine Tabelle mit Zuordnungen von Namen und (in diesem Fall) Funktionen verwendet wird, dann ja.so ungefähr wäre das passabel zu meinem beispiel.Danke.
Hi.
Bitte verwende die Code-Tags!
Ein Label ist ein Nichtterminalsymbol und besteht aus einem Doppelpunkt und einem Bezeichner. Ein zusätzliches Token NAME ist somit überflüssig.
Gruß
label_stmt: ':' ID
{ $$ = newStmtNode(LabelK);
/*$$->child[0] = $2;*/
$$->attr.name = strdup($2);
}
jmp_stmt: JMP ID
{$$ = newStmtNode(JmpK);
/*$$->attr.name = strdup($2);*/
$$->child[0] = $2;
}
"label" {return NAME;}