User:CRGreathouse

From Rosetta Code
Revision as of 19:54, 11 October 2013 by rosettacode>CRGreathouse (format)
My Favorite Languages
Language Proficiency
C advanced
Go beginner
JavaScript advanced
LaTeX advanced
Mathematica beginner
MySQL intemediate
PARI/GP advanced
Perl intermediate
PHP beginner
Ruby beginner
Scheme beginner
UNIX Shell intermediate


My Favorite Languages
Language Proficiency
BASIC out of practice
C# out of practice
Forth out of practice
Java out of practice
LabVIEW out of practice
MATLAB out of practice
VBScript out of practice
Visual Basic out of practice

My tasks

I occasionally create tasks, usually with some reference implementation in a reasonably-common language like C, Perl, or JavaScript.

GeSHi tester

As of 2011-08-05, the highlighting works essentially correctly. Remaining issues:

  • Types don't work. gp2c types (e.g., :mp) are highlighted as though they were commands, and GP types (e.g., "t_INT") are not highlighted at all.
  • Escapes in strings are not highlighted, though they are properly detected in terms of ending strings.
  • Defaults that conflict with keywords (simplify and log) are highlighted wrong; not a big deal.
  • Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
  • Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.
  • New functions, defaults, constants, etc. from 2.6 need to be added

<lang parigp>x:real -> x^2 x->x^2 /* lambdas */ a += b <<= c >>= d -= e *= f /= g \= h \/= i %= j Pi + Catalan + Euler \\ Is the new 2.6.0 constant highlighted? func26 = [ellheegner,cmp,getenv] \\ Are the new 2.6.x functions working? default(linewrap, 0) \\ Is the new 2.6.0 default working? myFunc(x:real, y:mp, z:int)=[x,y,z]; \\ gp2c types, including one that conflicts with a function realprecision=mp+7; \\ should not be highlighted whatType(x)=if(type(x)=="t_INT", "integer", "something else") \\ GP types default(realprecision, 29); \\ defaults default(simplify, 1) \\ default that conflicts with a function trap(gdiver, "tried to divide by 0", 1/0) \\ error type "this is a string with embedded \"quotes\" and "a_variable" in the middle" \\ string context, embedded " "another string, this one with a \\ in the middle, the rest shouldn't be a comment" 'this is all a giant literal_variable \\ not a quote, not an error -- though if only the first part is treated as a variable that would be fine (x^2+1)'+1 \\ derivative of x^2+1, plus one -- nothing funny should happen to the +1 100 \ 9 *4 / 3 + 1 - 2 \\ are operators highlighted equally, even integer division? 100\9\/3 \/ 1 \\ what about without spaces, or the unusual \/ operator? n=[1,2][9^9%2+1] \\ other operators (a && b) || (c && d) == e++ === f-- != g; !#[]~ \\ operators sum(i=1,9,variable_with_underscore); Mod(3,9).mod \\ member function quadgen(5).disc \\ another member function Fibonacci=7 \\ should not be highlighted</lang>