-
-
-
-
-
-
-
-
-
-
-#if 0
-/*******************/
-pCode *parseLineNode(char *ln)
-{
- char buffer[50], *s;
- int state=0; //0 label, 1 mnemonic, 2 operand, 3 operand, 4 comment
- int var;
- pCode *pc = NULL;
- // pCodeLabel *pcl = NULL;
-
- if(!ln || !*ln)
- return pc;
-
- s = buffer;
- *s = 0;
-
- while(*ln) {
-
- /* skip white space */
- while (isspace (*ln))
- ln++;
-
- switch(state) {
-
- case 0: // look for a label
- case 1: // look for mnemonic
-
- if(*ln == '%') {
-
- // Wild
-
- ln++;
- if(!isdigit(*ln) )
- break;
- //goto next_state;
-
- var = strtol(ln, &ln, 10);
- if(*ln == ':') {
- // valid wild card label
- fprintf(stderr, " wildcard label: %d\n",var);
- ln++;
- } else
- fprintf(stderr, " wild opcode: %d\n",var), state++;
-
- } else {
- // not wild
- // Extract the label/mnemonic from the line
-
- s = buffer;
- while(*ln && !(isspace(*ln) || *ln == ':'))
- *s++ = *ln++;
-
- *s = 0;
- if(*ln == ':')
- fprintf(stderr," regular label: %s\n",buffer), ln++;
- else
- fprintf(stderr," regular mnem: %s\n",buffer), state++;
- }
- state++;
- break;
-
- default:
- ln++;
-
- }
- }
-
- return pc;
-
-}
-#endif