Lex program for Decimal to Hexadecimal Conversion Last Updated : 30 Apr, 2019 Improve Improve Like Article Like Save Share Report Problem: Write a Lex program for Decimal to Hexadecimal conversion. Explanation: Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lexer in the C programming language. The function yylex() is the main flex function which runs the Rule Section. Prerequisite: Flex (Fast lexical Analyzer Generator) Examples: Input: 12 Output: C Input: 116 Output: 74 Input: 55 Output: 37 Input: 212 Output: D4 Implementation: /* Lex program for decimal to hexadecimal conversion */ %{ /* Definition section */ #include<stdio.h> int num, r, digit=0, count, pcount=0, i; char a[20]; %} DIGIT [0-9] /* Rule Section */ %% {DIGIT}+ { num=atoi(yytext); while(num!=0) { r=num%16; digit='0'+r; if(digit>'9') digit+=7; a[count++]=digit; num=num/16; } for(i=count-1;i>=pcount;--i) printf("%c", a[i]); pcount=count; } .|\n ECHO; %% // driver code int main() { yylex(); return 0; } Output: Like Article Suggest improvement Next C Program For Decimal to Hexadecimal Conversion Share your thoughts in the comments Add Your Comment Please Login to comment... Similar Reads Lex program for Decimal to Binary Conversion C Program For Hexadecimal to Decimal Conversion C Program For Decimal to Hexadecimal Conversion Lex Program to remove comments from C program YACC program for Binary to Decimal Conversion C Program For Octal to Decimal Conversion LEX program to add line numbers to a given file Lex Program to Identify and Count Positive and Negative Numbers Lex Program to count number of words Lex Program For checking a valid URL Like thakur_aman Follow Article Tags : Lex program C Programs Compiler Design