{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T11:18:42Z","timestamp":1775819922403,"version":"3.50.1"},"reference-count":63,"publisher":"MDPI AG","issue":"7","license":[{"start":{"date-parts":[[2018,7,15]],"date-time":"2018-07-15T00:00:00Z","timestamp":1531612800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Symmetry"],"abstract":"<jats:p>In this paper, we propose a methodology for the step-by-step solution of problems, which can be incorporated into a computer algebra system. Our main aim is to show all the intermediate evaluation steps of mathematical expressions from the start to the end of the solution. The first stage of the methodology covers the development of a formal grammar that describes the syntax and semantics of mathematical expressions. Using a compiler generation tool, the second stage produces a parser from the grammar description. The parser is used to convert a particular mathematical expression into an Abstract Syntax Tree (AST), which is evaluated in the third stage by traversing al its nodes. After every evaluation of some nodes, which corresponds to an intermediate solution step of the related expression, the resulting AST is transformed into the corresponding mathematical expression and then displayed. Many other algebra-related issues such as simplification, factorization, distribution and substitution can be covered by the solution methodology. We currently focuses on the solutions of various problems associated with the subject of derivative, equations, single variable polynomials, and operations on functions. However, it can easily be extended to cover the other subjects of general mathematics.<\/jats:p>","DOI":"10.3390\/sym10070285","type":"journal-article","created":{"date-parts":[[2018,7,16]],"date-time":"2018-07-16T04:05:33Z","timestamp":1531713933000},"page":"285","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["A Step-by-Step Solution Methodology for Mathematical Expressions"],"prefix":"10.3390","volume":"10","author":[{"given":"Sahereh","family":"Hosseinpour","sequence":"first","affiliation":[{"name":"Department of Computer Engineering, Ataturk University, Erzurum 25240, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mir Mohammad Reza","family":"Alavi Milani","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering, Ataturk University, Erzurum 25240, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0672-9009","authenticated-orcid":false,"given":"H\u00fcseyin","family":"Pehlivan","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering, Karadeniz Technical University, Trabzon 61080, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2018,7,15]]},"reference":[{"key":"ref_1","unstructured":"Finkel, R.A., and Finkel, R.A. (1996). Advanced Programming Language Design, Addison-Wesley Reading."},{"key":"ref_2","unstructured":"Watt, D.A., Findlay, W., and Hughes, J. (1990). Programming Language Concepts and Paradigms, Prentice Hall Englewood Cliffs."},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Thisted, R.A. (2017). Elements of Statistical Computing: Numerical Computation, Routledge.","DOI":"10.1201\/9780203758212"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Van Hulzen, J., and Calmet, J. (1983). Computer algebra systems. Computer Algebra, Springer.","DOI":"10.1007\/3-540-12868-9"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"440","DOI":"10.5951\/MT.87.6.0440","article-title":"Research on graphing calculators","volume":"87","author":"Dunham","year":"1994","journal-title":"Math. Teach."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"151","DOI":"10.2307\/749591","article-title":"Effects of computer algebra systems on concept and skill acquisition in calculus","volume":"22","author":"Palmiter","year":"1991","journal-title":"J. Res. Math. Educ."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"245","DOI":"10.1023\/A:1022103903080","article-title":"Learning mathematics in a cas environment: The genesis of a reflection about instrumentation and the dialectics between technical and conceptual work","volume":"7","author":"Artigue","year":"2002","journal-title":"Int. J. Comput. Math. Learn."},{"key":"ref_8","unstructured":"Pfister, G.-M.G.G., and Schonemann, H. (2001). Singular\u2014A Computer Algebra System for Polynomial Computations. Symbolic Computation and Automated Reasoning: The CALCULEMUS-2000 Symposium, AK Peters\/CRC Press."},{"key":"ref_9","unstructured":"Peeters, K. (arXiv, 2007). Introducing cadabra: A symbolic computer algebra system for field theory problems, arXiv."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Kajler, N. (1992, January 27\u201329). Cas\/pi: A Portable and Extensible Interface for Computer Algebra Systems. Proceedings of the Papers from the International Symposium on Symbolic and Algebraic Computation, Berkeley, CA, USA.","DOI":"10.1145\/143242.143359"},{"key":"ref_11","first-page":"27","article-title":"A grammar-based methodology for producing mathematical expressions","volume":"3","author":"Hosseinpour","year":"2017","journal-title":"Int. J. Innov. Stud. Sci. Eng. Technol."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Gulwani, S., Korthikanti, V.A., and Tiwari, A. (2011). Synthesizing Geometry Constructions, ACM. ACM SIGPLAN Notices.","DOI":"10.1145\/1993498.1993505"},{"key":"ref_13","unstructured":"Singh, R., Gulwani, S., and Rajamani, S.K. (2012). Automatically Generating Algebra Problems, AAAI."},{"key":"ref_14","unstructured":"Rasila, A., Harjula, M., and Zenger, K. (2007, January 3\u20134). Automatic Assessment of Mathematics Exercises: Experiences and Future Prospects. Proceedings of the ReflekTori 2007 Symposium of Engineering Education, Espoo, Finland."},{"key":"ref_15","unstructured":"Rasila, A., Havola, L., Majander, H., and Malinen, J. (2010, January 9\u201310). Automatic assessment in engineering mathematics: Evaluation of the impact. Proceedings of the ReflekTori 2010 Symposium of Engineering Education, Espoo, Finland."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Cohen, J.S. (2003). Computer Algebra and Symbolic Computation: Mathematical Methods, Universities Press.","DOI":"10.1201\/9781439863701"},{"key":"ref_17","unstructured":"Von zur Gathen, J., and Gerhard, J. (2003). Modern Computer Algebra, Cambridge University Press."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Buchberger, B., and Loos, R. (1982). Algebraic simplification. Computer Algebra, Springer.","DOI":"10.1007\/978-3-7091-3406-1"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Moses, J. (1971, January 23\u201325). Algebraic Simplification A Guide for the Perplexed. Proceedings of the Second ACM Symposium on Symbolic and Algebraic Manipulation, Los Angeles, CA, USA.","DOI":"10.1145\/800204.806298"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Shatnawi, M., and Youssef, A. (2007, January 28\u201331). Equivalence Detection Using Parse-Tree Normalization for Math Search. Proceedings of the 2nd International Conference on Digital Information Management, Lyon, France.","DOI":"10.1109\/ICDIM.2007.4444297"},{"key":"ref_21","unstructured":"Youssef, A., and Shatnawi, M. (2006, January 23\u201324). Math search with equivalence detection using parse-tree normalization. Proceedings of the 4th International Conference on Computer Science and Information Technology, Yangon, Myanmar."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Apostolico, G. (1997). Pattern Matching Algorithms, Oxford University Press on Demand.","DOI":"10.1093\/oso\/9780195113679.001.0001"},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"1245","DOI":"10.1137\/0218082","article-title":"Simple fast algorithms for the editing distance between trees and related problems","volume":"18","author":"Zhang","year":"1989","journal-title":"SIAM J. Comput."},{"key":"ref_24","unstructured":"Demana, F., and Waits, B.K. (2000). Calculators in mathematics teaching and learning. Past, present, and future. Learning Mathematics for a New Century, National Concil of Teachers of Mathematics."},{"key":"ref_25","unstructured":"Judson, P.T. (1988). Effects of Modified Sequencing of Skills and Applications in Introductory Calculus, University of Texas at Austin."},{"key":"ref_26","unstructured":"Runde, D.C. (1997). The Effect of Using the ti-92 on Basic College Algebra Students\u2019 Ability to Solve Word Problems, Manatee Community College. ERIC Document Reproduction Service No. ED409046."},{"key":"ref_27","unstructured":"Brown, R. (1998, January 14\u201317). Computer Algebra Systems in the Junior High School. Proceedings of the 3rd International Derive\/TI-92 Conference, Gettysburg, PA, USA."},{"key":"ref_28","first-page":"81","article-title":"Assessment and new technologies: Different policies in different countries","volume":"5","author":"Drijvers","year":"1998","journal-title":"Int. J. Comput. Algebra Math. Educ."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"3","DOI":"10.5951\/jresematheduc.19.1.0003","article-title":"Resequencing skills and concepts in applied calculus using the computer as a tool","volume":"1","author":"Heid","year":"1988","journal-title":"J. For Res. Math. Educ."},{"key":"ref_30","first-page":"8","article-title":"Indispensable Manual Calculation Skills in a Cas Environment","volume":"16","author":"Herget","year":"2000","journal-title":"Micromath"},{"key":"ref_31","first-page":"3","article-title":"Calculus for general education in a computer classroom","volume":"2","author":"Bennett","year":"1995","journal-title":"Int. Derive J."},{"key":"ref_32","first-page":"29","article-title":"Algebra and technology","volume":"12","author":"Day","year":"1993","journal-title":"J. Comput. Math. Sci. Teach."},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Tall, D. (1996). Functions and calculus. International Handbook of Mathematics Education, Springer.","DOI":"10.1007\/978-94-009-1465-0_10"},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1086\/444175","article-title":"The technological revolution and the reform of school mathematics","volume":"106","author":"Heid","year":"1997","journal-title":"Am. J. Educ."},{"key":"ref_35","first-page":"97","article-title":"Understanding and reflective abstraction: Learning the concept of derivative in a computer environment","volume":"1","author":"Repo","year":"1994","journal-title":"Int. Derive J."},{"key":"ref_36","unstructured":"Small, D.B., and Hosack, J.M. (1986). Computer algebra system, tools for reforming calculus instruction. Toward a Lean and Lively Calculus, Tulane University."},{"key":"ref_37","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1109\/5254.889104","article-title":"The debate on automated essay grading","volume":"15","author":"Hearst","year":"2000","journal-title":"IEEE Intell. Syst. Their Appl."},{"key":"ref_38","unstructured":"Mohler, M., Bunescu, R., and Mihalcea, R. (2011, January 19\u201324). Learning to grade short answer questions using semantic similarity measures and dependency graph alignments. Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies\u2014Volume 1, Portland, OR, USA."},{"key":"ref_39","unstructured":"Farnsworth, C.C. (1994, January 15\u201319). Using computer simulations in problem-based learning. Proceedings of the Thirty-Fifth ADCIS Conference, Nashville, TN, USA."},{"key":"ref_40","doi-asserted-by":"crossref","first-page":"1124","DOI":"10.1119\/1.17307","article-title":"Capa\u2014An integrated computer-assisted personalized assignment system","volume":"61","author":"Kashy","year":"1993","journal-title":"Am. J. Phys."},{"key":"ref_41","doi-asserted-by":"crossref","first-page":"197","DOI":"10.1109\/TLT.2013.4","article-title":"Metafora: A web-based platform for learning to learn together in science and mathematics","volume":"6","author":"Dragon","year":"2013","journal-title":"IEEE Trans. Learn. Technol."},{"key":"ref_42","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1109\/TLT.2012.19","article-title":"Design of teacher assistance tools in an exploratory learning environment for algebraic generalization","volume":"5","author":"Geraniou","year":"2012","journal-title":"IEEE Trans. Learn. Technol."},{"key":"ref_43","unstructured":"Barker, D.S. (1997, January 5\u20138). Charlie: A Computer-managed homework, assignment and response, learning and instruction environment. Proceedings of the Frontiers in Education 1997 27th Annual Conference, Teaching and Learning in an Era of Change, Pittsburgh, PA, USA."},{"key":"ref_44","doi-asserted-by":"crossref","unstructured":"Baldwin, D. (1996). Three Years\u2019 Experience with Gateway Labs, ACM SIGCSE Bulletin.","DOI":"10.1145\/237477.237479"},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Bridgeman, S., Goodrich, M.T., Kobourov, S.G., and Tamassia, R. (2000). Pilot: An Interactive Tool for Learning and Grading, ACM SIGCSE Bulletin.","DOI":"10.1145\/330908.331843"},{"key":"ref_46","doi-asserted-by":"crossref","unstructured":"Brooker, R. (1952). The Solution of Algebraic Equations on the Edsac, Cambridge University Press. Mathematical Proceedings of the Cambridge Philosophical Society.","DOI":"10.1017\/S0305004100027614"},{"key":"ref_47","doi-asserted-by":"crossref","first-page":"260","DOI":"10.1007\/BF01600333","article-title":"Zur iterativen aufl\u00f6sung algebraischer gleichungen","volume":"5","author":"Maehly","year":"1954","journal-title":"Zeitschrift f\u00fcr Angewandte Mathematik und Physik ZAMP"},{"key":"ref_48","unstructured":"Butler, G., and Cannon, J. (1993, January 15\u201317). The Design of Cayley\u2014A Language for Modern Algebra. Proceedings of the International Symposium on Design and Implementation of Symbolic Computation Systems, Gmunden, Austria."},{"key":"ref_49","unstructured":"Sch\u00f6nert, M., Besche, H.U., Breuer, T., Celler, F., Eick, B., Felsch, V., Hulpke, A., Mnich, J., Nickel, W., and Pfeiffer, G. (1994). Groups Algorithms and Programming, Lehrshuhl D fur Mathematik, RWTH Aachen."},{"key":"ref_50","unstructured":"Capani, A., and Niesi, G. (1996). Cocoa User\u2019s Manual (v. 3.0 b), Department of Mathematics, University of Genova."},{"key":"ref_51","first-page":"83","article-title":"L\u0131e, a software package for lie group computations","volume":"1","year":"1994","journal-title":"Euromath. Bull."},{"key":"ref_52","first-page":"123","article-title":"A taxonomy of technological tools for mathematics instruction","volume":"5","author":"Kurz","year":"2005","journal-title":"Contemp. Issues Technol. Teach. Educ."},{"key":"ref_53","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1007\/BF03217369","article-title":"Mathematics teachers\u2019 beliefs and curriculum reform","volume":"15","author":"Handal","year":"2003","journal-title":"Math. Educ. Res. J."},{"key":"ref_54","unstructured":"Johnson, S.C. (1975). Yacc: Yet Another Compiler-Compiler, Bell Laboratories."},{"key":"ref_55","unstructured":"Levine, J.R., Levine, J.R., Mason, T., and Brown, D. (1992). Lex & Yacc, O\u2019Reilly Media, Inc."},{"key":"ref_56","doi-asserted-by":"crossref","first-page":"70","DOI":"10.1109\/MS.2004.16","article-title":"Incorporating language processing into java applications: A javacc tutorial","volume":"21","author":"Kodaganallur","year":"2004","journal-title":"IEEE Softw."},{"key":"ref_57","unstructured":"Viswanadha, S. (2018, April 15). Java Compiler Compiler (javacc)\u2014The Java Parser Generator. Available online: https:\/\/javacc.org\/."},{"key":"ref_58","unstructured":"Ryan, C., O\u2019Neill, M., and Collins, J. (1998, January 24\u201326). Grammatical Evolution: Solving Trigonometric Identities. Proceedings of the Mendel, Brno, Czech Republic."},{"key":"ref_59","unstructured":"Donnelly, C., and Stallmen, R. (2004). The Bison Manual: Using the Yacc-Compatible Parser Generator, for Bison Version 1.875, GNU Press."},{"key":"ref_60","doi-asserted-by":"crossref","first-page":"94","DOI":"10.1145\/362007.362035","article-title":"An efficient context-free parsing algorithm","volume":"13","author":"Earley","year":"1970","journal-title":"Commun. ACM"},{"key":"ref_61","unstructured":"Gill, A., and Marlow, S. (1995). Happy: The Parser Generator for Haskell, University of Glasgow."},{"key":"ref_62","doi-asserted-by":"crossref","first-page":"519","DOI":"10.1002\/spe.4380220703","article-title":"The evolution of an object-oriented compiler framework","volume":"22","author":"Graver","year":"1992","journal-title":"Softw. Pract. Exp."},{"key":"ref_63","unstructured":"Hudson, S. (1996). Javacup: Lalr Parser Generator for Java, GVU Center, Georgia Institute of Technology."}],"container-title":["Symmetry"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-8994\/10\/7\/285\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T15:12:15Z","timestamp":1760195535000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-8994\/10\/7\/285"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,7,15]]},"references-count":63,"journal-issue":{"issue":"7","published-online":{"date-parts":[[2018,7]]}},"alternative-id":["sym10070285"],"URL":"https:\/\/doi.org\/10.3390\/sym10070285","relation":{},"ISSN":["2073-8994"],"issn-type":[{"value":"2073-8994","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,7,15]]}}}