MightyPork

SDSCP huge tree

Aug 3rd, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.99 KB | None | 0 0
  1.  
  2. :::::::::::::::::::::::::::::::::: SDS-C Plus ::::::::::::::::::::::::::::::::::
  3.  
  4. Source: test/macros.c
  5. Resolving #directives...
  6.  
  7. -------------------------------- Cleaned source --------------------------------
  8.  
  9. main()
  10. {
  11. var a = ADD(12, 13);
  12. var b = Q(a > 13, ADD(ADD(Inner1, Inner2), Outer), 456+15);
  13. }
  14.  
  15.  
  16. --------------------------------- MACROS FOUND ---------------------------------
  17.  
  18. MACRO: ADD, args = ['a', 'b'], replacement = ((a) + (b))
  19. MACRO: Q, args = ['_if', '_true', '_false'], replacement = ( (_if)*(_true) + (1 - (_if)) * (_false) )
  20. Applying macro replacements...
  21.  
  22. ------------------------------------ OUTPUT ------------------------------------
  23.  
  24. main()
  25. {
  26. var a = ((12) + (13));
  27. var b = ( (a > 13)*(((((Inner1) + (Inner2))) + (Outer))) + (1 - (a > 13)) * (456+15) );
  28. }
  29.  
  30. Experimental tokenization...
  31.  
  32. ---------------------------------- TOKEN TREE ----------------------------------
  33.  
  34. !!! EXPERIMENTAL !!!
  35.  
  36. T_Identifier main
  37. T_Paren: Type = ParenType.UNKNOWN, ()
  38. T_CodeBlock { var a = ((12) + (13)); var b = ( (a > 13)*(((((Inner1) + (Inner2))) + (Outer))) + (1 - (a > 13)) * (456+15) ); }
  39. T_Identifier var
  40. T_Identifier a
  41. T_Rvalue = ((12) + (13))
  42. T_AssignmentOperator =
  43. T_Expression ((12) + (13))
  44. T_Paren: Type = ParenType.EXPR, ((12) + (13))
  45. T_Expression (12) + (13)
  46. T_Paren: Type = ParenType.EXPR, (12)
  47. T_Expression 12
  48. T_Number 12
  49. T_Operator +
  50. T_Paren: Type = ParenType.EXPR, (13)
  51. T_Expression 13
  52. T_Number 13
  53. T_StatementEnd ;
  54. T_Identifier var
  55. T_Identifier b
  56. T_Rvalue = ( (a > 13)*(((((Inner1) + (Inner2))) + (Outer))) + (1 - (a > 13)) * (456+15) )
  57. T_AssignmentOperator =
  58. T_Expression ( (a > 13)*(((((Inner1) + (Inner2))) + (Outer))) + (1 - (a > 13)) * (456+15) )
  59. T_Paren: Type = ParenType.EXPR, ( (a > 13)*(((((Inner1) + (Inner2))) + (Outer))) + (1 - (a > 13)) * (456+15) )
  60. T_Expression (a > 13)*(((((Inner1) + (Inner2))) + (Outer))) + (1 - (a > 13)) * (456+15)
  61. T_Paren: Type = ParenType.EXPR, (a > 13)
  62. T_Expression a > 13
  63. T_Identifier a
  64. T_Operator >
  65. T_Number 13
  66. T_Operator *
  67. T_Paren: Type = ParenType.EXPR, (((((Inner1) + (Inner2))) + (Outer)))
  68. T_Expression ((((Inner1) + (Inner2))) + (Outer))
  69. T_Paren: Type = ParenType.EXPR, ((((Inner1) + (Inner2))) + (Outer))
  70. T_Expression (((Inner1) + (Inner2))) + (Outer)
  71. T_Paren: Type = ParenType.EXPR, (((Inner1) + (Inner2)))
  72. T_Expression ((Inner1) + (Inner2))
  73. T_Paren: Type = ParenType.EXPR, ((Inner1) + (Inner2))
  74. T_Expression (Inner1) + (Inner2)
  75. T_Paren: Type = ParenType.EXPR, (Inner1)
  76. T_Expression Inner1
  77. T_Identifier Inner1
  78. T_Operator +
  79. T_Paren: Type = ParenType.EXPR, (Inner2)
  80. T_Expression Inner2
  81. T_Identifier Inner2
  82. T_Operator +
  83. T_Paren: Type = ParenType.EXPR, (Outer)
  84. T_Expression Outer
  85. T_Identifier Outer
  86. T_Operator +
  87. T_Paren: Type = ParenType.EXPR, (1 - (a > 13))
  88. T_Expression 1 - (a > 13)
  89. T_Number 1
  90. T_Operator -
  91. T_Paren: Type = ParenType.EXPR, (a > 13)
  92. T_Expression a > 13
  93. T_Identifier a
  94. T_Operator >
  95. T_Number 13
  96. T_Operator *
  97. T_Paren: Type = ParenType.EXPR, (456+15)
  98. T_Expression 456+15
  99. T_Number 456
  100. T_Operator +
  101. T_Number 15
  102. T_StatementEnd ;
Advertisement
Add Comment
Please, Sign In to add comment