CHDK_DE Vorschauversion  Trunk Rev. 5293
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
tokenizer.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Aufzählungen

enum  ubasic_token {
  TOKENIZER_ERROR, TOKENIZER_ENDOFINPUT, TOKENIZER_NUMBER, TOKENIZER_STRING,
  TOKENIZER_VARIABLE, TOKENIZER_LET, TOKENIZER_PRINT_SCREEN, TOKENIZER_PRINT,
  TOKENIZER_IF, TOKENIZER_THEN, TOKENIZER_ELSE, TOKENIZER_ENDIF,
  TOKENIZER_SELECT, TOKENIZER_CASE_ELSE, TOKENIZER_CASE, TOKENIZER_END_SELECT,
  TOKENIZER_FOR, TOKENIZER_TO, TOKENIZER_NEXT, TOKENIZER_STEP,
  TOKENIZER_GOTO, TOKENIZER_DO, TOKENIZER_UNTIL, TOKENIZER_WHILE,
  TOKENIZER_WEND, TOKENIZER_GOSUB, TOKENIZER_RETURN, TOKENIZER_REM,
  TOKENIZER_END, TOKENIZER_CLS, TOKENIZER_COMMA, TOKENIZER_SEMICOLON,
  TOKENIZER_PLUS, TOKENIZER_MINUS, TOKENIZER_AND, TOKENIZER_OR,
  TOKENIZER_XOR, TOKENIZER_ASTR, TOKENIZER_SLASH, TOKENIZER_MOD,
  TOKENIZER_LEFTPAREN, TOKENIZER_RIGHTPAREN, TOKENIZER_LT, TOKENIZER_GT,
  TOKENIZER_EQ, TOKENIZER_NE, TOKENIZER_LE, TOKENIZER_GE,
  TOKENIZER_LNOT, TOKENIZER_LAND, TOKENIZER_LOR, TOKENIZER_CR,
  TOKENIZER_LABEL, TOKENIZER_SLEEP, TOKENIZER_CLICK, TOKENIZER_PRESS,
  TOKENIZER_RELEASE, TOKENIZER_SHOOT, TOKENIZER_SET_CONSOLE_LAYOUT, TOKENIZER_SET_CONSOLE_AUTOREDRAW,
  TOKENIZER_CONSOLE_REDRAW, TOKENIZER_GET_TV96, TOKENIZER_GET_USER_TV96, TOKENIZER_GET_USER_TV_ID,
  TOKENIZER_SET_TV96_DIRECT, TOKENIZER_SET_TV96, TOKENIZER_SET_USER_TV96, TOKENIZER_SET_USER_TV_BY_ID,
  TOKENIZER_SET_USER_TV_BY_ID_REL, TOKENIZER_GET_AV96, TOKENIZER_GET_USER_AV96, TOKENIZER_GET_USER_AV_ID,
  TOKENIZER_SET_AV96_DIRECT, TOKENIZER_SET_AV96, TOKENIZER_SET_USER_AV96, TOKENIZER_SET_USER_AV_BY_ID,
  TOKENIZER_SET_USER_AV_BY_ID_REL, TOKENIZER_GET_DAY_SECONDS, TOKENIZER_GET_TICK_COUNT, TOKENIZER_GET_TIME,
  TOKENIZER_GET_ZOOM, TOKENIZER_SET_ZOOM, TOKENIZER_SET_ZOOM_REL, TOKENIZER_SET_ZOOM_SPEED,
  TOKENIZER_SET_RECORD, TOKENIZER_GET_FOCUS, TOKENIZER_SET_FOCUS, TOKENIZER_GET_NEAR_LIMIT,
  TOKENIZER_GET_FAR_LIMIT, TOKENIZER_GET_DOF, TOKENIZER_GET_HYPERFOCAL_DIST, TOKENIZER_GET_SD_OVER_MODES,
  TOKENIZER_GET_ISO_MARKET, TOKENIZER_GET_ISO_REAL, TOKENIZER_GET_BV96, TOKENIZER_GET_SV96,
  TOKENIZER_GET_ISO_MODE, TOKENIZER_SET_ISO_REAL, TOKENIZER_SET_ISO_MODE, TOKENIZER_SET_SV96,
  TOKENIZER_GET_PROP, TOKENIZER_SET_PROP, TOKENIZER_GET_VBATT, TOKENIZER_SET_LED,
  TOKENIZER_SET_ISO_DIRECT, TOKENIZER_WAIT_CLICK, TOKENIZER_IS_PRESSED, TOKENIZER_IS_KEY,
  TOKENIZER_SET_EXIT_KEY, TOKENIZER_WHEEL_LEFT, TOKENIZER_WHEEL_RIGHT, TOKENIZER_MD_DETECT_MOTION,
  TOKENIZER_MD_GET_CELL_DIFF, TOKENIZER_MD_GET_CELL_VAL, TOKENIZER_MD_AF_LED_CONTROL, TOKENIZER_MEM_DUMP,
  TOKENIZER_GET_RAW_SUPPORT, TOKENIZER_SET_RAW_NR, TOKENIZER_GET_RAW_NR, TOKENIZER_SET_RAW,
  TOKENIZER_GET_RAW, TOKENIZER_SCRIPT_AUTOSTARTED, TOKENIZER_GET_SCRIPT_AUTOSTART, TOKENIZER_SET_SCRIPT_AUTOSTART,
  TOKENIZER_GET_USB_POWER, TOKENIZER_SET_REMOTE_TIMING, TOKENIZER_FORCE_USB_PRESENT, TOKENIZER_USB_SYNC_WAIT,
  TOKENIZER_EXIT_ALT, TOKENIZER_ENTER_ALT, TOKENIZER_GET_ALT_MODE, TOKENIZER_SHUT_DOWN,
  TOKENIZER_SET_ND_FILTER, TOKENIZER_GET_DISK_SIZE, TOKENIZER_GET_FREE_DISK_SPACE, TOKENIZER_GET_JPG_COUNT,
  TOKENIZER_GET_RAW_COUNT, TOKENIZER_GET_VIDEO_BUTTON, TOKENIZER_RANDOM, TOKENIZER_GET_MOVIE_STATUS,
  TOKENIZER_GET_MODE, TOKENIZER_PLAY_SOUND, TOKENIZER_GET_DISPLAY_MODE, TOKENIZER_GET_EXP_COUNT,
  TOKENIZER_GET_DRIVE_MODE, TOKENIZER_GET_FOCUS_MODE, TOKENIZER_GET_FLASH_MODE, TOKENIZER_GET_SHOOTING,
  TOKENIZER_GET_FLASH_READY, TOKENIZER_GET_IS_MODE, TOKENIZER_SET_EV, TOKENIZER_GET_EV,
  TOKENIZER_GET_ORIENTATION_SENSOR, TOKENIZER_GET_ZOOM_STEPS, TOKENIZER_GET_ND_PRESENT, TOKENIZER_GET_PROPSET,
  TOKENIZER_SHOT_HISTO_ENABLE, TOKENIZER_GET_HISTO_RANGE, TOKENIZER_GET_TEMPERATURE, TOKENIZER_SET_MOVIE_STATUS,
  TOKENIZER_GET_RESOLUTION, TOKENIZER_GET_QUALITY, TOKENIZER_SET_RESOLUTION, TOKENIZER_SET_QUALITY,
  TOKENIZER_GET_PLATFORM_ID, TOKENIZER_SET_BACKLIGHT, TOKENIZER_SET_LCDDISPLAY, TOKENIZER_SET_DRAW_TITLE_LINE,
  TOKENIZER_GET_DRAW_TITLE_LINE, TOKENIZER_SET_AELOCK, TOKENIZER_SET_AFLOCK, TOKENIZER_SET_MF,
  TOKENIZER_GET_CAPTURE_MODE, TOKENIZER_SET_CAPTURE_MODE, TOKENIZER_SET_CAPTURE_MODE_CANON, TOKENIZER_IS_CAPTURE_MODE_VALID,
  TOKENIZER_REBOOT, TOKENIZER_GET_FOCAL_LENGTH, TOKENIZER_GET_FOCUS_STATE, TOKENIZER_GET_FOCUS_OK,
  TOKENIZER_GET_MIN_STACK_DIST, TOKENIZER_GET_CONFIG_VALUE, TOKENIZER_SET_CONFIG_VALUE, TOKENIZER_SET_YIELD,
  TOKENIZER_SWAP_PARTITIONS, TOKENIZER_ISO_TO_SV96, TOKENIZER_SV96_TO_ISO, TOKENIZER_ISO_REAL_TO_MARKET,
  TOKENIZER_ISO_MARKET_TO_REAL, TOKENIZER_SV96_REAL_TO_MARKET, TOKENIZER_SV96_MARKET_TO_REAL, TOKENIZER_APERTURE_TO_AV96,
  TOKENIZER_AV96_TO_APERTURE, TOKENIZER_USEC_TO_TV96, TOKENIZER_TV96_TO_USEC, TOKENIZER_SECONDS_TO_TV96,
  TOKENIZER_GET_VIDEO_RECORDING
}
 

Funktionen

void tokenizer_init (const char *program)
 
void tokenizer_next (void)
 
int tokenizer_token (void)
 
int tokenizer_num (void)
 
int tokenizer_variable_num (void)
 
void tokenizer_string (char *dest, int len)
 
void tokenizer_label (char *dest, int len)
 
int tokenizer_line_number (void)
 
int tokenizer_finished (void)
 
void tokenizer_error_print (void)
 

Dokumentation der Aufzählungstypen

Aufzählungswerte
TOKENIZER_ERROR 
TOKENIZER_ENDOFINPUT 
TOKENIZER_NUMBER 
TOKENIZER_STRING 
TOKENIZER_VARIABLE 
TOKENIZER_LET 
TOKENIZER_PRINT_SCREEN 
TOKENIZER_PRINT 
TOKENIZER_IF 
TOKENIZER_THEN 
TOKENIZER_ELSE 
TOKENIZER_ENDIF 
TOKENIZER_SELECT 
TOKENIZER_CASE_ELSE 
TOKENIZER_CASE 
TOKENIZER_END_SELECT 
TOKENIZER_FOR 
TOKENIZER_TO 
TOKENIZER_NEXT 
TOKENIZER_STEP 
TOKENIZER_GOTO 
TOKENIZER_DO 
TOKENIZER_UNTIL 
TOKENIZER_WHILE 
TOKENIZER_WEND 
TOKENIZER_GOSUB 
TOKENIZER_RETURN 
TOKENIZER_REM 
TOKENIZER_END 
TOKENIZER_CLS 
TOKENIZER_COMMA 
TOKENIZER_SEMICOLON 
TOKENIZER_PLUS 
TOKENIZER_MINUS 
TOKENIZER_AND 
TOKENIZER_OR 
TOKENIZER_XOR 
TOKENIZER_ASTR 
TOKENIZER_SLASH 
TOKENIZER_MOD 
TOKENIZER_LEFTPAREN 
TOKENIZER_RIGHTPAREN 
TOKENIZER_LT 
TOKENIZER_GT 
TOKENIZER_EQ 
TOKENIZER_NE 
TOKENIZER_LE 
TOKENIZER_GE 
TOKENIZER_LNOT 
TOKENIZER_LAND 
TOKENIZER_LOR 
TOKENIZER_CR 
TOKENIZER_LABEL 
TOKENIZER_SLEEP 
TOKENIZER_CLICK 
TOKENIZER_PRESS 
TOKENIZER_RELEASE 
TOKENIZER_SHOOT 
TOKENIZER_SET_CONSOLE_LAYOUT 
TOKENIZER_SET_CONSOLE_AUTOREDRAW 
TOKENIZER_CONSOLE_REDRAW 
TOKENIZER_GET_TV96 
TOKENIZER_GET_USER_TV96 
TOKENIZER_GET_USER_TV_ID 
TOKENIZER_SET_TV96_DIRECT 
TOKENIZER_SET_TV96 
TOKENIZER_SET_USER_TV96 
TOKENIZER_SET_USER_TV_BY_ID 
TOKENIZER_SET_USER_TV_BY_ID_REL 
TOKENIZER_GET_AV96 
TOKENIZER_GET_USER_AV96 
TOKENIZER_GET_USER_AV_ID 
TOKENIZER_SET_AV96_DIRECT 
TOKENIZER_SET_AV96 
TOKENIZER_SET_USER_AV96 
TOKENIZER_SET_USER_AV_BY_ID 
TOKENIZER_SET_USER_AV_BY_ID_REL 
TOKENIZER_GET_DAY_SECONDS 
TOKENIZER_GET_TICK_COUNT 
TOKENIZER_GET_TIME 
TOKENIZER_GET_ZOOM 
TOKENIZER_SET_ZOOM 
TOKENIZER_SET_ZOOM_REL 
TOKENIZER_SET_ZOOM_SPEED 
TOKENIZER_SET_RECORD 
TOKENIZER_GET_FOCUS 
TOKENIZER_SET_FOCUS 
TOKENIZER_GET_NEAR_LIMIT 
TOKENIZER_GET_FAR_LIMIT 
TOKENIZER_GET_DOF 
TOKENIZER_GET_HYPERFOCAL_DIST 
TOKENIZER_GET_SD_OVER_MODES 
TOKENIZER_GET_ISO_MARKET 
TOKENIZER_GET_ISO_REAL 
TOKENIZER_GET_BV96 
TOKENIZER_GET_SV96 
TOKENIZER_GET_ISO_MODE 
TOKENIZER_SET_ISO_REAL 
TOKENIZER_SET_ISO_MODE 
TOKENIZER_SET_SV96 
TOKENIZER_GET_PROP 
TOKENIZER_SET_PROP 
TOKENIZER_GET_VBATT 
TOKENIZER_SET_LED 
TOKENIZER_SET_ISO_DIRECT 
TOKENIZER_WAIT_CLICK 
TOKENIZER_IS_PRESSED 
TOKENIZER_IS_KEY 
TOKENIZER_SET_EXIT_KEY 
TOKENIZER_WHEEL_LEFT 
TOKENIZER_WHEEL_RIGHT 
TOKENIZER_MD_DETECT_MOTION 
TOKENIZER_MD_GET_CELL_DIFF 
TOKENIZER_MD_GET_CELL_VAL 
TOKENIZER_MD_AF_LED_CONTROL 
TOKENIZER_MEM_DUMP 
TOKENIZER_GET_RAW_SUPPORT 
TOKENIZER_SET_RAW_NR 
TOKENIZER_GET_RAW_NR 
TOKENIZER_SET_RAW 
TOKENIZER_GET_RAW 
TOKENIZER_SCRIPT_AUTOSTARTED 
TOKENIZER_GET_SCRIPT_AUTOSTART 
TOKENIZER_SET_SCRIPT_AUTOSTART 
TOKENIZER_GET_USB_POWER 
TOKENIZER_SET_REMOTE_TIMING 
TOKENIZER_FORCE_USB_PRESENT 
TOKENIZER_USB_SYNC_WAIT 
TOKENIZER_EXIT_ALT 
TOKENIZER_ENTER_ALT 
TOKENIZER_GET_ALT_MODE 
TOKENIZER_SHUT_DOWN 
TOKENIZER_SET_ND_FILTER 
TOKENIZER_GET_DISK_SIZE 
TOKENIZER_GET_FREE_DISK_SPACE 
TOKENIZER_GET_JPG_COUNT 
TOKENIZER_GET_RAW_COUNT 
TOKENIZER_GET_VIDEO_BUTTON 
TOKENIZER_RANDOM 
TOKENIZER_GET_MOVIE_STATUS 
TOKENIZER_GET_MODE 
TOKENIZER_PLAY_SOUND 
TOKENIZER_GET_DISPLAY_MODE 
TOKENIZER_GET_EXP_COUNT 
TOKENIZER_GET_DRIVE_MODE 
TOKENIZER_GET_FOCUS_MODE 
TOKENIZER_GET_FLASH_MODE 
TOKENIZER_GET_SHOOTING 
TOKENIZER_GET_FLASH_READY 
TOKENIZER_GET_IS_MODE 
TOKENIZER_SET_EV 
TOKENIZER_GET_EV 
TOKENIZER_GET_ORIENTATION_SENSOR 
TOKENIZER_GET_ZOOM_STEPS 
TOKENIZER_GET_ND_PRESENT 
TOKENIZER_GET_PROPSET 
TOKENIZER_SHOT_HISTO_ENABLE 
TOKENIZER_GET_HISTO_RANGE 
TOKENIZER_GET_TEMPERATURE 
TOKENIZER_SET_MOVIE_STATUS 
TOKENIZER_GET_RESOLUTION 
TOKENIZER_GET_QUALITY 
TOKENIZER_SET_RESOLUTION 
TOKENIZER_SET_QUALITY 
TOKENIZER_GET_PLATFORM_ID 
TOKENIZER_SET_BACKLIGHT 
TOKENIZER_SET_LCDDISPLAY 
TOKENIZER_SET_DRAW_TITLE_LINE 
TOKENIZER_GET_DRAW_TITLE_LINE 
TOKENIZER_SET_AELOCK 
TOKENIZER_SET_AFLOCK 
TOKENIZER_SET_MF 
TOKENIZER_GET_CAPTURE_MODE 
TOKENIZER_SET_CAPTURE_MODE 
TOKENIZER_SET_CAPTURE_MODE_CANON 
TOKENIZER_IS_CAPTURE_MODE_VALID 
TOKENIZER_REBOOT 
TOKENIZER_GET_FOCAL_LENGTH 
TOKENIZER_GET_FOCUS_STATE 
TOKENIZER_GET_FOCUS_OK 
TOKENIZER_GET_MIN_STACK_DIST 
TOKENIZER_GET_CONFIG_VALUE 
TOKENIZER_SET_CONFIG_VALUE 
TOKENIZER_SET_YIELD 
TOKENIZER_SWAP_PARTITIONS 
TOKENIZER_ISO_TO_SV96 
TOKENIZER_SV96_TO_ISO 
TOKENIZER_ISO_REAL_TO_MARKET 
TOKENIZER_ISO_MARKET_TO_REAL 
TOKENIZER_SV96_REAL_TO_MARKET 
TOKENIZER_SV96_MARKET_TO_REAL 
TOKENIZER_APERTURE_TO_AV96 
TOKENIZER_AV96_TO_APERTURE 
TOKENIZER_USEC_TO_TV96 
TOKENIZER_TV96_TO_USEC 
TOKENIZER_SECONDS_TO_TV96 
TOKENIZER_GET_VIDEO_RECORDING 

Definiert in Zeile 33 der Datei tokenizer.h.

33  {
100  //TOKENIZER_SET_SHUTTER_SPEED,
132  //TOKENIZER_SET_ISO_DL_F_B,
133  //TOKENIZER_SET_ISO_MARKET,
234 } ubasic_token;

Dokumentation der Funktionen

void tokenizer_error_print ( void  )

Definiert in Zeile 473 der Datei tokenizer.c.

474 {
475  DEBUG_PRINTF("tokenizer_error_print: '%s'\n", ptr);
476 }
int tokenizer_finished ( void  )

Definiert in Zeile 479 der Datei tokenizer.c.

480 {
481  return *ptr == 0 || current_token == TOKENIZER_ENDOFINPUT;
482 }
void tokenizer_init ( const char *  program)

Definiert in Zeile 390 der Datei tokenizer.c.

391 {
392  ptr = program;
393  current_line = 1;
396 }
void tokenizer_label ( char *  dest,
int  len 
)

Definiert in Zeile 450 der Datei tokenizer.c.

451 {
452  char *string_end;
453  int string_len;
454 
456  return;
457  }
458  // allow string \r, \n, tabulation and space to end labels
459  string_end = strpbrk(ptr + 1, " \t\r\n");
460 
461  if(string_end == NULL) {
462  return;
463  }
464  string_len = string_end - ptr - 1;
465  if(len < string_len) {
466  string_len = len;
467  }
468  memcpy(dest, ptr + 1, string_len);
469  dest[string_len] = 0;
470 }
int tokenizer_line_number ( void  )

Definiert in Zeile 490 der Datei tokenizer.c.

491 {
492  return current_line;
493 }
void tokenizer_next ( void  )

Definiert in Zeile 405 der Datei tokenizer.c.

406 {
407 
408  if(tokenizer_finished()) {
409  return;
410  }
411 
412  DEBUG_PRINTF("tokenizer_next: %p\n", nextptr);
413  ptr = nextptr;
414  while((*ptr == ' ') || (*ptr == '\t')) {
415  ++ptr;
416  }
418  DEBUG_PRINTF("tokenizer_next: '%s' %d\n", ptr, current_token);
419  return;
420 }
int tokenizer_num ( void  )

Definiert in Zeile 423 der Datei tokenizer.c.

424 {
425  return atoi(ptr);
426 }
void tokenizer_string ( char *  dest,
int  len 
)

Definiert in Zeile 429 der Datei tokenizer.c.

430 {
431  char *string_end;
432  int string_len;
433 
435  return;
436  }
437  string_end = strchr(ptr + 1, '"');
438  if(string_end == NULL) {
439  return;
440  }
441  string_len = string_end - ptr - 1;
442  if(len < string_len) {
443  string_len = len;
444  }
445  memcpy(dest, ptr + 1, string_len);
446  dest[string_len] = 0;
447 }
int tokenizer_token ( void  )

Definiert in Zeile 399 der Datei tokenizer.c.

400 {
401  return current_token;
402 }
int tokenizer_variable_num ( void  )

Definiert in Zeile 485 der Datei tokenizer.c.

486 {
487  return *ptr - (*ptr>='a'?'a':('A'-26));
488 }